1. Home
  2. Docs
  3. Kurikulum Flutter Mobile Apps
  4. Tugas Week 2
  5. Tugas list

Tugas list

List dan Maps

Pada tugas kali ini buatlah folder baru (Tugas 6 – ListMaps) yang berisikan file dengan nama list.dart . Simpan folder tugas ini di dalam folder repository project yang dikerjakan kemarin BootcampFlutter

Soal No. 1 (Range) 

Buatlah sebuah function dengan nama range() yang menerima dua parameter berupa number. Function mengembalikan sebuah list yang berisi angka-angka mulai dari angka parameter pertama hingga angka pada parameter kedua. Jika parameter pertama lebih besar dibandingkan parameter kedua maka angka-angka tersusun secara menurun (descending).

struktur fungsinya seperti berikut range(startNum, finishNum) {}

void main (){

print(range(1, 10));

}

//code disini

print(range(1, 10))//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

print(range(11,18)) // [11, 12, 13, 14, 15, 16, 17, 18]

print(range(54, 50)) // [54, 53, 52, 51, 50] 

Soal No. 2 (Range with Step)

Pada soal kali ini kamu diminta membuat function rangeWithStep yang mirip dengan function range di soal sebelumnya namun parameternya ditambah dengan parameter ketiga yaitu angka step yang menyatakan selisih atau beda dari setiap angka pada List. Jika parameter pertama lebih besar dibandingkan parameter kedua maka angka-angka tersusun secara menurun (descending) dengan step sebesar parameter ketiga.

struktur fungsinya seperti berikut rangeWithStep(startNum, finishNum, step) {}

void main (){

print(rangeWithStep(1, 10));

}

//code disini

rangeWithStep(startNum, finishNum, step) {}

print(rangeWithStep(1, 10, 2)) // [1, 3, 5, 7, 9]

print(rangeWithStep(11, 23, 3)) // [11, 14, 17, 20, 23]

print(rangeWithStep(5, 2, 1)) // [5, 4, 3, 2]

print(rangeWithStep(29, 2, 4)) // [29, 25, 21, 17, 13, 9, 5] 

Soal No. 3 (List Multidimensi)

Sering kali data yang diterima dari database adalah List yang multidimensi (List di dalam List). Sebagai developer, tugas kita adalah mengolah data tersebut agar dapat menampilkan informasi yang diinginkan.

Buatlah sebuah fungsi dengan nama dataHandling dengan sebuah parameter untuk menerima argumen. Argumen yang akan diterima adalah sebuah list yang berisi beberapa listsejumlah n. Contoh input dapat dilihat dibawah:

//contoh input
var input = [
                ["0001", "Roman Alamsyah", "Bandar Lampung", "21/05/1989", "Membaca"],
                ["0002", "Dika Sembiring", "Medan", "10/10/1992", "Bermain Gitar"],
                ["0003", "Winona", "Ambon", "25/12/1965", "Memasak"],
                ["0004", "Bintang Senjaya", "Martapura", "6/4/1970", "Berkebun"]
            ] 

Tugas kamu adalah mengimplementasikan fungsi dataHandling() agar dapat menampilkan data-data pada dari argumen seperti di bawah ini:

Nomor ID:  0001
Nama Lengkap:  Roman Alamsyah
TTL:  Bandar Lampung 21/05/1989
Hobi:  Membaca
 
Nomor ID:  0002
Nama Lengkap:  Dika Sembiring
TTL:  Medan 10/10/1992
Hobi:  Bermain Gitar
 
Nomor ID:  0003
Nama Lengkap:  Winona
TTL:  Ambon 25/12/1965
Hobi:  Memasak
 
Nomor ID:  0004
Nama Lengkap:  Bintang Senjaya
TTL:  Martapura 6/4/1970
Hobi:  Berkebun 

Soal No. 4 (Balik Kata)

Kamu telah mempelajari beberapa method yang dimiliki oleh String dan List. String sebetulnya adalah sebuah list karena kita dapat mengakses karakter karakter pada sebuah string layaknya mengakses elemen pada list.

Buatlah sebuah function balikKata() yang menerima sebuah parameter berupa string dan mengembalikan kebalikan dari string tersebut.

// Code di sini
 
print(balikKata("Kasur")) // rusaK
print(balikKata("SanberCode")) // edoCrebnaS
print(balikKata("Haji")) // hajI
print(balikKata("racecar")) // racecar
print(balikKata("Sanbers")) // srebnaS