Array Larik Learning Outcomes Pada akhir pertemuan ini
- Slides: 28
Array / Larik
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: • Menjelaskan definisi array • Menerapkan konsep tipe data array untuk data majemuk homogen
Outline Materi • • • Definisi Array Deklarasi Array Pembuatan Array Inisialisasi Array Pemrosesan Array Duplikasi Array 2 Dimensi Length of Array Foreach loop
Definisi Array • Kumpulan tipe data yang sejenis / homogen dengan ukuran yang tetap dan sekuensial • Bagian dari struktur data • Efisiensi pendeklarasian variabel yang sekelompok • Pengaksesan dengan index
Deklarasi Array • • Diperlukan deklarasi variabel pada array Spesifikasi tipe data pada array Menggunakan simbol kurung kotak [ ] Contoh: double[] array. Ref. Var; atau double array. Ref. Var[]; diperbolehkan tapi tidak dianjurkan • Model pendeklarasian kedua di atas diadopsi dari C/C++
Pembuatan Array • Pendeklarasian array tidak mengalokasikan memory • Array dapat digunakan setelah pembuatan • Operator: new • Alokasi memory sesuai ukuran array • Contoh: double[] my. List = new double[10]; atau double[] my. List; my. List = new double[10];
Pembuatan Array • Pada pembuatan: double[] my. List = new double[10]; Tercipta array dengan variabel my. List berukuran 10 Index dimulai dari 0 s/d 9 • Nilai pada ukuran array > 0 • Dimulai dari 0 s/d n-1 • Nilai pada […] dapat berupa variabel bilangan bulat
Pembuatan Array double[] my. List = new double[10]; Elemen array index ke-5 my. List[0] 5. 6 my. List[1] 4. 5 my. List[2] 3. 3 my. List[3] 13. 2 my. List[4] 4. 0 my. List[5] 34. 33 my. List[6] 34. 0 my. List[7] 45. 45 my. List[8] 99. 993 my. List[9] 11123 Nilai elemen Array my. List di atas memiliki 10 elemen bertipe data double dengan indeks 0 sampai dengan 9
Inisialisasi Array • Java menyediakan inisialisasi array secara shorthand • Contoh: double[] my. List = {1. 9 , 2. 9 , 3. 4 , 3. 5 }; secara otomatis my. List akan berukuran 4 metode manual: double[] my. List = new double[4]; my. List[0] = 1. 9; my. List[1] = 2. 9; my. List[2] = 3. 4; my. List[3] = 3. 5;
Inisialisasi Array • Contoh array bertipe data char: char[] city = {‘D’, ’a’, ’l’, ’a’, ’s’}; untuk mencetaknya: System. out. println(city); • Contoh array untuk String: String[] nama={"Andre", "Bunga", "Christine", "Dedianto"}; Untuk mencetak nama ke-0 System. out. println(nama[0]); Untuk mencetak nama ke-1 System. out. println(nama[1]);
Inisialisasi Array
Pemrosesan Array • Memerlukan perulangan, karena: – Elemen array bertipe data sama dapat diproses berulang dengan cara yang sama – Ukuran array yang diketahui mendukung proses perulangan • Contoh pencarian bilangan terbesar: double max = my. List[0]; for ( int i=1 ; i<my. List. Size; i++ ) { if(my. List[i] > max) max = my. List[i]; } • Contoh penjumlahan semua nilai: double total = 0; for ( int i = 0 ; i < my. List. Size ; i++ ) { total += my. List[i]; }
Duplikasi Array • Menyalin isi suatu array ke array yang lain • Cara yang salah: int [] source. Array = {2, 3, 1, 5, 10}; int [] target. Array; target. Array = source. Array; Sebelum target. Array = source Array; source. Array Isi source. Array Sesudah target. Array = source Array; source. Array 2, 3, 1, 5, 10 target. Array Isi target. Array ? Isi source. Array 2, 3, 1, 5, 10 target. Array Isi target. Array ?
Duplikasi Array • Cara yang benar: – Menggunakan perulangan – Menggunakan arraycopy dari System – Menggunakan clone (akan dijelaskan di Algoritma dan MOOP 2) • Contoh dengan perulangan: int [] source. Array = {2, 3, 1, 5, 10}; int [] target. Array = new int[5]; for( int i=0 ; i<5 ; i++ ) target. Array[i] = source. Array[i]; • Contoh dengan arraycopy: System. arraycopy(source. Array, 0, target. Array, 0, 5); Keterangan: 0 index awal untuk source. Array dan target. Array 5 jumlah data yang akan dicopy
Duplikasi Array Sebelum pengcopyan source. Array Sesudah pengcopyan Isi source. Array 2, 3, 1, 5, 10 target. Array Isi target. Array ? Isi source. Array 2, 3, 1, 5, 10 target. Array Isi target. Array 2, 3, 1, 5, 10 • arraycopy tidak mengalokasikan memori secara otomatis • arraycopy melanggar konvensi penamaan, seharusnya array. Copy
Duplikasi Array • Akibat duplikasi array yang salah:
Duplikasi Array • Pengubahan nilai pada source. Array akan mengubah target. Array • Dikarenakan target. Array adalah reference dari source. Array • Reference akan dijelaskan di pertemuan berikutnya (Method)
Array 2 Dimensi • Dimensi 1 linear collections • Dimensi 2 matrix / table • Deklarasi: int [][] matrix; atau int matrix[][]; diperbolehkan tapi tidak dianjurkan • Pembuatan: int [][] matrix; matrix = new int[5][5] Untuk membuat array berbentuk matriks/tabel berukuran 5 x 5
Array 2 Dimensi • Shorthand: int [][] matrix = { {1, 2, 3} , {4, 5, 6} , {7, 8, 9} , {10, 11, 12} }; [0] [1] [2] [0] 1 2 3 [1] 4 5 6 [2] 7 8 9 [3] 10 11 12 • Orientasi [baris][kolom] matrix[2][1] bernilai 7
Array 2 Dimensi • Pemrosesan array 2 dimensi (contoh penjumlahan semua nilai)
Did You Know? • Nilai maksimal untuk ukuran array 2 GB – 1 ( 2 * 1024) – 1 2147483648 – 1 2147483647 Jadi maksimal ukuran array: boolean bool = new boolean[2147483647]; int i = new int[2147483647]; long l = new long[2147483647]; • Array yang tidak diinisialisasi memiliki nilai default: boolean false numeric (byte, int, long, float, double) 0 char ‘x 000’ (ASCII 0) String “null”
Did You Know?
Did You Know? • Untuk mengetahui panjang array dapat menggunakan array. length • Contoh: Array 1 dimensi: int [] bilangan = new int[10]; System. out. println("Ukuran array 1 dimensi : "+bilangan. length); Array 2 dimensi: int[][] tabel = new int[5][10]; System. out. println("Ukuran array 2 dimensi : "+tabel. length+" x ” + tabel[0]. length);
Did You Know?
Did You Know? • Keuntungan: – Memudahkan duplikasi int[] source. Array = new int[10]; int[] target. Array = new int[source. Array. length]; – Memudahkan perulangan for( int i = 0 ; i < source. Array. length ; i++ ) target. Array[i] = source. Array[i];
Advanced Learning • • Java menyediakan foreach loop Merupakan perulangan tingkat tinggi Memungkinkan penjelajahan array tanpa index Contoh: double[] my. List = new double[10]; … for(double my. List. Value : my. List) System. out. print(my. List. Value+” “); • my. List. Value menjadi reference dari my. List • Nilai my. List. Value secara otomatis dimulai dari index 0 s/d n-1 pada perulangan
Advanced Learning
Referensi • Introduction to Java Programming. 7 ed. Liang. 2009. Ch 6 • Java by Example. Jerry. 1996. Chapter 6 • Java Software Solutions. 5 ed. Lewis & Loftus. 2007. p 400 -410 • http: //java. sun. com/docs/books/tutorial/jav a/nutsandbolts/arrays. html • http: //xahlee. org/java-a-day/arrays. html
- Pada pertemuan kali ini kita
- Menurut kadir larik atau array adalah
- 9 larik
- Apa itu larik struktur
- Tester
- North bridge south bridge
- Array yang memiliki sangat banyak nilai nol nya disebut
- Jagged array vs multidimensional array
- Associative array vs indexed array
- Endfire array
- Larik
- Upper triangular array adalah
- Array 1 dimensi python
- Photovoltaic array maximum power point tracking array
- Learning outcome example
- Water cycle learning outcomes
- Notice writing learning objectives
- Swot analysys
- Rhymes with understand
- Planning goals and learning outcomes
- Photosynthesis takes place in
- Learning objectives of nutrition in plants class 7
- Ncbts
- Learning outcomes of linear equations in one variable
- Learning outcome generator
- Objectives of reported speech
- Purpose of learning outcomes
- Input and output devices for visually impaired
- Biological level of analysis