Kamis, 02 Juni 2022

3.12.3 MEMBUAT KODE PROGRAM APLIKASI PBO YANG MENERAPKAN COLLECTION SEBAGAI PENYIMPANAN


  • List
    List variable mengandung beberapa item dan dideklarasikan menggunakan kurung siku. contoh : [. . .]
    - jika digunakan pada list kosong : def mobil []
    - jika digunakan pada list yang memiliki nilai awal : def mobil [5, 3, 10, 9]
    - jika sebelumnya digunakan pada “def mobil” hanya berupa angka, tapi list pada groovy mengandung sebuah tipe data campuran seperti :
    def violet= [5, true, ‘tire’, 5.12]
    println violet = [2]
    println violet = [-3] “FYI, program akan membaca dimulai dari kanan”
    println violet.get =(3)

Kurung siku ‘[]’ digunakan membuat list tapi digunakan juga untuk mengacu kepada indeks yang ada di dalam list misalnya (println violet = [2])-contoh ini sering disebut sebagai subscript notasi. Pada contoh diatas kalian akan melihat print out dari “violet = [2]”-daftar item dengan (subcript). pada hal ini menyebabkan sedikit kebingungan kenapa tire yang ditampilkan. Hal ini dikarenakan list berbasis nol ‘0’ dan item pertama di indeks ‘0’ tidak indeks ‘1’. Dimana kita menggunakan violet [2] kita meminta untuk list yang ada ketiga di dalam list.

Ini mungkin menjadi hal yang mengejutkan untuk programmer bahwa println violet [-3] valid. Ini sangat berguna untuk mengakses list item dari akhir yang ada di list. item -1 adalah yang terakhir dalam list, jadi violet[-3] akan menjadi ‘value’ yang memiliki nilai ‘benar’.

get() juga method yang digunakan untuk mengakses elemen list oleh indeks sebagai contoh : violet.get(3) memberi kita 5.12
berikut capture-nya :

berikut cara-nya jika menggunakan emulator

Didalam multiple indeks subscript notation dan ambil unsur-unsur tertentu. Contoh dibawah ini aku ambil element 0 dan 2 (temperatures[0, 2]) kemudian elemen 1, 3 dan 4 (temperatures[1, 3, 4]). menggunakan indeks dengan list :
def bilangan=[10, 5, 8, 3, 6]
assert bilangan [0,2] ==[10, 8]
assert bilangan [1, 3, 4] == [5, 3, 6]

Range juga dapat digunakan dalam subscript notasi dan seperti yang ditunjukkan pada contoh dibawah ini, mengembalikkan sebuah list yang berisi indeks item yang disertakan dalam range. menggunakan range dengan list :
def bilangan = [10, 5, 8, 3, 6]
assert bilangan = [1. .3] == [5, 8, 3]

Kita juga menggunakan indeks campuran individu dan range seperti yang kita lihat. Contoh indeks dan range dalam list :
def bilangan = [10, 5, 8, 3, 6]
assert bilangan = [0, . . 1, 3]==[10, 5, 3]
assert bilangan = [0, . . 1, 1 . . 3] ==[10, 5, 5, 8, 3]
assert bilangan = [0, . . 1, 1 . . 3, 4]==[10, 5, 5, 8, 3, 6]

Adding element
Menambahkan sebuah element kita menggunakan method ‘add()’ atau operator ‘<<’. contoh sebagai berikut :
deff violet = [1, true, ‘rabbit’, 5.12]
violet << ‘tire’
violed.add(222)
println violet

Sets
Set seperti list tapi setiap element dalam satu set unik. contoh :
def namaOrang = [‘mamad’, ‘yuli’, ‘endang’, ‘mamad’] as set
println namaOrang

Jika kalian mencoba code diatas, maka akan menampilkan [mamad, yuli, endang]. pengulangan tidak akan ditampilkan.

Usefull list methods
size()
adalah method pengembalian, berupa elementyang dijadikan dalam bentuk angka. contoh :
def belanja = [‘sayur’, ‘popok’, ‘beras’]
println belanja.size()

method first() dan last() returns dari elemen pertama dan terakhir didalam list. Untuk head() adalah sinonim dari first(). Contoh :
def belanja = [‘sayur’, ‘popok’, ‘beras’]
println belanja.first()
println belanja.head()
println belanja.last()
jika kalian jalankan code diatas, akan muncul “sayur, sayur, beras”

method tail() returns list tanpa element first(head) dan init() returns method tanpa element terakhir. Contoh :
def belanja = [‘sayur’, ‘popok’, ‘beras’]
println belanja.tail()
println belanja.init()

jika kalian menjalankan code diatas, maka pada tail akan menampilkan :
[popok, beras]
jika kalian menjalankan code diatas, pada ini akan menampilkan :
[sayur, popok]

Methode contains(), returns jika elemen true diminta terkandung dalam list. contoh :
def belanja= [‘sayur’, ‘popok’, ‘beras’]
println belanja.contains(‘popok’)

jika kalian menjalankan code diatas, maka akan menampilkan true, karena contains akan mencari apakah benar ‘popok’ ada pada list.

method revers() returns mirror di list. contoh :
def belanja = [‘sayur’, ‘popok’, ‘beras’]
println belanja.reverse()

jika kalian menjalankan code diatas akan menampilkan [beras, popok, sayur]. ini adalah method reverse.

sort() akan sortir elemen yang ada didalam order secara “natural”. pada dasarnya, hal ini bergantung pada halaman list yang sebanding dalam beberapa cara, method sort paling cocok digunakan ketika semua list content memiliki jenis yang sama (misalnya, string atau numbers). contoh :
def belanja = [‘sayur’, ‘popok’, ‘beras’]
belanja.sort()

jika kalian menjalankan code ini maka akan menampilkan [beras, popok, sayur]

2. Maps
Maps, memungkinkan membangun tipe look-up menggunakan tabel keys dan value. Bahasa lain menyebutnya kamus atau terkait array.
Maps kosong di deklarasikan menggunakan [:], dan contoh dibawah ini menunjukkan digunakan ketika mendeklarasikan variable periodik.
def periodik = [:]

Setiap key didalam map adalah unik dan point-point didalam map. dalam contoh dibawah ini kita mulai dari basic tabel periodic oleh deklarasi sebuah variable (periodic) dengan sebuah pasangan set key-value (key:value) masing-masing dipisahkan oleh koma (,) dan diselenggarakan dalam kurung ([]…):
contoh cara deklarasi dengan element
def belanja = [‘p’: ‘popok’,
‘sa’: ‘sayuran’,
‘be’: ‘beras’]

println belanja[‘p’]
println belanja.p
println belanja.get(‘be’)
jika kalian jalankan kode diatas, maka dengan singkatan p/sa/be, akan menampilkan dari singkatan yang di deklarasikan.

Kalian juga harus memperhatikan bahwa kita dapat mengakses item map menggunakan :
1. key dalam kurung siku ([])
— seperti yang kita lakukan dengan list : println belanja [‘p’]
— ini sering disebut sebagai subscript notasi
2. kita juga dapat menggunakan titik (.) dengan mengikuti key :
— seperti dalam println belanja.p
— ini sering disebut sebagai dot-point notation
3. terakhir yang get() method dilewatkan sebuah key dan pengembalian nilai associated.

Key dalam map dapatkan nama mereka disediakan untuk mematuhi aturan yang sama untuk kita ikut nama-nama variable. itu berarti bahwa keys dalam belanja tidak harus ditulis sebagai string :
def belanja = [p: ‘popok’,
be: ‘beras’,
sa: ‘sayuran’]

jika kalian coba code diatas maka akan menampilkan, {p=popok, be=beras, sa=sayuran}

Adding elements
untuk menambahkan sebuah element ke map kita dapat menggunakan kurung siku ( [] ), dot-point notation, atau put() method untuk menambahkan pada sebuah new key/value pair. contoh :
def belanja = [‘p’: ‘popok’,
‘sa’: ‘sayuran’,
‘be’: ‘beras’]

belanja[‘te’] = ‘terong’
belanja.b = ‘Boron’
belanja << [‘c’: ‘Carbon’]
belanja.put(’n’, ‘Nitrogen’)

jika kalian menjalankan code diatas maka akan menampilkan, {p=popok, sa=sayuran, be=beras, te=terong, b=Boron, c=Carbon, n=Nitrogen}

Keys
Map keys tidak harus string, mereka dapat menjadi perpaduan string, angka atau object lainnya. Coba kita lihat pada contoh berikut lalu kita lihat juga berbagai potongan-potongan dari kode :

sumber source : https://leanpub.com/groovytutorial/
  1. create new class (chicken)
    1…dan simpan new instance dari ‘chicken’ dalam variable ‘cluckers’
  2. kemudian buat sebuah map yang dapat dipanggil ‘mixed map’ dengan perbedaan tipe keys :
    1. 12 adalah nomor
    2. ‘chicken’ adalah string
    3. (cluckers) menunjukkan bahwa keys adalah value variabel
  3. gunakan notation kurung siku dan method ‘get’ untuk akses nilai yang sejajar yang keys 12.
    1. ‘mixedMap.12’ tidak akan berkerja
  4. gunakan kurung siku, dot-point dan method ‘get’ untuk akses value yang sejajar untuk key ‘chicken’.
  5. gunakan kurung siku notation dan method ‘get’ untuk akses value key (cluckers)
    1. mixedMap.cluckers
  6. println ‘mixedMap’ disebut untuk menampilkan konten map.

Useful map method
Seperti pada list, method size() pengembalian elemen didalam map
method ‘get’ dapat digunakan untuk mendapatkan value untuk permintaan key. Pilihan kedua parameter dapat menyediakan dan mengembalikkan jika map tidak dapat mengandung requested key. contoh ‘get’ methode :

contoh get method

Methode keySet() pengembalian semua list containing dari keys didalam map dan value pengembalian list value di dalam map. contoh ‘keySet’ :

contoh keySet

method containsKey() dan containsValue() berguna untuk mengecek pada isi map. contoh :

contoh containsKey dan containsValue

Sekian penjelasan singkat dari Java Collection. terima kasih.

0 komentar:

Posting Komentar