1 / 37 Algoritma dan Pemrograman Data Collection
1 / 37
Algoritma dan Pemrograman
Data Collection
2 / 37
Opening Keynote
A wise person never knows all, only fools know everything.
Existance is Pain , thus pain make us exist.
3 / 37
Subtopik
● Pengenalan apa itu data collection● Larik ( Array )● Hash● Record● Iterator
4 / 37
Capaian
● Anda mampu membuat suatu collection untuk penyelesaian masalah tertentu
● Anda mampu memahami dan mengunakan Array , Hash dan Record pada kasus tertentu.
5 / 37
Untuk mengikuti rangkaian materi pada slide ini ada prasyarat yang perlu dipenuhi :
● Interpreter Ruby pada media yang akan anda gunakan baik komputer , Handphone atau mengunakan situs daring.
● Saran, gunakan FOSS ( Free – Open Source Software ) / Perangkat Lunak Bebas Gratis.
Syarat Material
6 / 37
Syarat Mental
● Persiapkan mental anda , jadi pelajar yang proaktif bukan pengemis yang reaktif
● Gunakan Akal dan Daya Kritis anda● Berasa Ingin tahu dan eksplorasi● Hadapi masalah , pecahkan serta berani
mengotori tangan sendiri● Jadila penanya yang cerdas , karena belajar
dan pahami terlebih dahulu yang anda ingin tanyakan suatu kebermanfaatan.
7 / 37
Bacaan Lanjutan
● Berfikir Komputasional● Pseudo-Code dan UML● Clean Code : DRY , KISS , SOLID , dan lainya● Struktur Data● Pemrograman Berorientasi Objek
8 / 37
Pemrograman
9 / 37
Data Collection
● Merupakan tipe data yang dapat menampung lebih dari satu elemen nilai.
● Mengoleksi banyak elemen menjadi kumpulan nilai kedalam satu variable.
● Elemen dalam collection dapat diakses dengan index ataupun iterator.
10 / 37
Variable biasa dan Variable Collection
● Contoh :● Variable biasa
– nama_dia = “Elisabeth Kartini”
nama_dia ( Variable )
Elisabeth Kartini ( Nilai )
11 / 37
Variable biasa dan Variable Collection
● Contoh:● Variable Collection ( kasus larik )
– nama_buah = [“Arbei”,”Persik”,”Cempedak”]
nama_buah (Variable)
Arbei( nilai )
Persik( nilai )
Cempedak( nilai )
12 / 37
Larik ( Array )
● Kumpulan Elemen nilai yang diakses dengan index integer.
● Banyak elemen nilai menentukan ukuran larik.
● Index larik dimulai dari 0 sampai (ukuran larik – 1)
● Index lebih besar dari Ukuran Larik – 1 dan lebih kecil dari 0 akan menghasilkan error. Penyebabanya karena tak terdefinisi.
13 / 37
Bentuk Umum Larik
14 / 37
Mengakses Larik
● Bentuk larik :
● Kita dapat mengakses elemen dengan mengunakan :– <nama_larik>[<index>]
● Pengaksesan elemen memberikan kita sifat variable biasa pada elemen ( set dan get ) .
nama_buah (Variable)
Arbei( nilai )
Index : 0
Persik( nilai )
Index : 1
Cempedak( nilai )
Index : 2
15 / 37
Mengambil ( Get ) Nilai pada Elemen Larik
● mengambil elemen pada index 1 dari larik nama_buah.
nama_buah[1] #=> Persik
nama_buah (Variable)
Arbei( nilai )
Index : 0
Persik( nilai )
Index : 1
Cempedak( nilai )
Index : 2
Elemen yang diakses
16 / 37
Meletakan ( Set ) Nilai pada Elemen Larik
● Serupa dengan mengakses dengan get , namun di tambah dengan assignment.
nama_buah[2] = “Apel”
nama_buah (Variable)
Arbei( nilai )
Index : 0
Persik( nilai )
Index : 1
Apel( nilai )
Index : 2Elemen yang diaksesDan diubah nilainyaCempedak → Apel
17 / 37
Menambahkan ( Push ) Nilai pada Elemen Larik
● Kita dapat mengunakan push untuk menambahkan Elemen pada Larik.
nama_buah.push “Kelapa”●
nama_buah (Variable)
Arbei( nilai )
Index : 0
Persik( nilai )
Index : 1
Apel( nilai )
Index : 2
Kelapa( nilai )
Index : 3
Elemen yang ditambahkan nilainyaKelapa.Penambah dimulai pada belakang larik seperti mengantri
18 / 37
Menghapus Nilai pada Larik
● Ada 3 cara : POP , delete ,delete_at
– pop : mengambil elemen akhir seperti antrian untuk dihapus
– delete : mengapus bedasarkan nilai elemen
– delete_at : mengapus bedasarkan nilai index.
19 / 37
Contoh penghapusan larik.
20 / 37
Hash
● Hash : Larik memiliki index yang bisa diberi nama khusus.
21 / 37
Bentuk Umum dari Hash
22 / 37
Record
● Membentuk tipe data artifisial , yang terdiri atas kumpulan tipe data dengan simbol tersendiri.
● Contoh : Struct
23 / 37
Bentuk dan Pengaplikasian Struct
24 / 37
Pengambaran Contoh Struct pada Aplikasi
Hewan (Tipe data)
Nama( Simbol )
Kelas( Simbol )
Harapan Hidup ( Simbol )
Langka( Simbol )
Manusia(Tipe data : Hewan) &
(Elemen Hash)
Homo Sapein . sp( Nama )
Primata( Kelas )
70 ( Harapan Hidup )
false( langka )
Nama Index : Aku
Kucing(Tipe data : Hewan ) &
(Elemen Hash)Felicatus
Domestica .sp( Nama )
Mamalia( Kelas )
10 ( Harapan Hidup )
false( langka )
Nama Index : Pirin
hewan_dirumah ( Hash )
25 / 37
Iterator
● Iterator merupakan perulangan yang berlandasan dengan isi element pada suatu collection / jangkuan.
● Contoh Iterator ● FOR IN● EACH● MAP
26 / 37
Iterator FOR
27 / 37
Iterator EACH
28 / 37
Iterator MAP
29 / 37
Apa bedanya MAP, EACH dan FOR
MAP , melakukan enumerasi dan pengembalikan nilai termodifikasi pada koleksi , bila ada modifikasi.
FOR dan EACH ,memiliki kerja sama , dan mengembalikan nilai enumerasi tanpa ada modifikasi.
30 / 37
Algoritma
31 / 37
Pengaplikasian Collection
● Permasalahan– Risma belanja kewarung dan suka lupa dengan belanjaanya
namun tidak dengan Hpnya. Program bagaimana untuk menyelesaikan masalah Risma ?
● Definisi masalah
– Input : Belanjaan– Output : Daftar Belanjaan
●
32 / 37
33 / 37
Tampilan Program
34 / 37
Latihan
● Buatlah program gunakan mekanisme collection , records, perulangan dan percabangan untuk memenuhi kebutuhan kamu. ( Contoh : List Belanjaan )
35 / 37
Closing Keynote
“Copy Paste doesn’t make you great coder”
36 / 37
Terima Kasih
37 / 37
Dalam nama perjuangan
● Materi ini dibuat sebagai bentuk perlawanan terhadap komersialisasi pendidikan dan pengendalian informasi
● Menjunjung kebebasan informasi dan pencerdasan umum
● Hak cipta bebas merdeka , setiap orang dianjurkan dan dinasehatkan untuk mengopi ,mencetak , mengganda, menyebar isi serta materi – materi didalamnya.