Array Adharul Muttaqin Universitas Brawijaya Malang Array Array merupakan memory pada komputer yg digunakan untuk menyimpan sejumlah data bertype sama. Di Java, Array merupakan sebuah object yang menampung sejumlah nilai dengan panjang tertentu (disebut sebagai element) yang nilainilai tersebut mempunyai type data yang sama. Array digunakan untuk memproses sekelompok nilai-nilai yang berkaitan 1
Contoh Contoh: Simpan 5 buah data bertype integer yang dimasukkan user Biasanya disiapkan 5 variabel untuk menyimpan nilai data tersebut Dengan array, cukup disiapkan satu buah variabel saja Array untuk 5 elemen 20 70 40 30 10 Array Index Bagaimana mengakses sebuah elemen array menggunakan index masing-masing elemen misal: myarray[1] index untuk elemen pertama adalah 0 index untuk elemen terakhir adalah jumlah elemen - 1 2
Contoh: Array 5 Elemen index elemen pertama selalu bernilai 0 myarray meupakan nama array myarray[0] myarray[1] 20 70 myarray[2] myarray[3] myarray[4] 40 30 10 banyaknya elemen: 5 index elemen terakhir : 4 ( 5-1) Panjang Array Array di java mempunyai field dengan nama length yang berisi panjang array panjang array ini bersifat final yg tidak bisa diubah contoh myarray.length menghasilkan suatu angka yang merupakan panjang array 3
Contoh: Array 5 Elemen myarray[0] myarray[1] myarray[2] myarray[3] myarray[4] 20 70 40 30 10 banyaknya elemen 5: myarray.length index elemen terakhir : myarray.length - 1 Mengakses Array Array diakses dengan menggunakan indexnya. Index ditulis di dalam tanda kurung kotaknya. Index berupa suatu nilai bulat yang dapat berasal dari Literal/ konstanta, myarray[4] berupa variabel, myarray[myindex] berupa ekspresi, myarray[myindex - 2] kembalian method myarray[input.nextint()] 4
Memodifikasi Isi Elemen Array Untuk mengubah atau memberikan nilai suatu elemen array sama seperti saat mengubah nilai suatu variable, array berada sebelah kiri operator assignment (=) contoh: myarray[4]=75; Membaca Isi Array Untuk membaca isi array juga sama seperti membaca nilai variable. Hanya bedanya, array harus disertakan indexnya. Array berada di sebelah kanan operator assignment Contoh: number=myarray[4]; 5
Contoh: Misalnya terdapat dua buah variable: myarray, bertype array of integer number, bertype integer myarray : int number; 20 70 40 30 10 1 Berikan nilai (assign) elemen pertama dari myarray ke variabel dengan nama number: number = myarray[0]; Contoh: terdapat dua buah variable: myarray, bertype array of integer number, bertype integer myarray : int number; 20 70 40 30 10 2 Berikan nilai (assign) elemen terakhir dari myarray ke variabel dengan nama number: number = myarray[myarray.length-1]; 6
Contoh: terdapat dua buah variable: myarray, bertype array of integer number, bertype integer myarray : int number; 20 70 40 30 10 3 Berikan nilai (assign) elemen ke-4 dari myarray ke variabel dengan nama number: number = myarray[3]; Contoh: terdapat dua buah variable: myarray, bertype array of integer number, bertype integer myarray : int number; 20 70 40 30 10 4 Ubah nilai elemen ke-2 dari myarray menjadi dua kali nilai semula: myarray[1]= myarray[1]*2; atau myarray[1]*= 2; 7
Latihan: terdapat dua buah variable: myarray, bertype array of integer number, bertype integer myarray : int number; 20 70 40 30 10 a) Berikan nilai 65 ke elemen ke-4 pada myarray a) Tambahkan elemen ke-3 pada myarray dengan 5 Latihan: terdapat dua buah variable: myarray, bertype array of integer number, bertype integer myarray : int number; 20 70 40 30 10 a) Berikan nilai 65 ke elemen ke-4 pada myarray myarray[3]=65; a) Tambahkan elemen ke-3 pada myarray dengan 5 myarray[2]+=5; 8
Deklarasi dan Pembuatan Array Deklarasi variable yang bertype array type[] namavariable; type array nama variabel Deklarasi dan Pembuatan Array Deklarasi variable yang bertype array int[] type array nilai; nama variabel variabel nilai merupakan suatu variabel yang ber-type array of integer 9
Deklarasi dan Pembuatan Array Deklarasi variable yang bertype array double[] harga; type array nama variabel variabel harga merupakan suatu variabel yang ber-type array of double Latihan: Deklarasi dan Pembuatan Array Deklarasi variable yang bertype array String[] nama; type array nama variabel variabel nama merupakan suatu variabel yang ber-type array of String 10
Deklarasi dan Pembuatan Array Setelah dideklarasikan array harus dibuatkan objectnya Pembuatan sebuah array object adalah sebagai berikut: new type[panjangarray] Deklarasi dan Pembuatan Array Setelah dideklarasikan array harus dibuatkan objectnya Contoh Pembuatan sebuah array object adalah sebagai berikut: new int[5] type array panjang array 11
Contoh: Deklarasi dan Pembuatan Array Contoh Pembuatan sebuah array object adalah sebagai berikut: new String[5] type array panjang array Deklarasi dan Pembuatan Array Menggunakan 2 baris contoh: int[] numbers; //deklarasi numbers= new int[10];//membuat array, inisialisasi Menggunakan 1 baris contoh: int[] numbers = new int[10]; type array nama array Pembuatan array 12
Nilai Default Saat array dibuat, masing-masing elemen akan mendapatkan nilai default sebagai berikut: 0 untuk Elemen bertype numeric (int, double, byte, dll) Falsr untuk elemen bertype Boolean (bool) null untuk Elemen bertype reference Contoh double[] nilaiuts = new double[5]; nilaiuts[0] nilaiuts[1] nilaiuts[2] nilaiuts[3] nilaiuts[4] 0.0 0.0 0.0 0.0 0.0 nilai default 13
Contoh double[] nilaiuts = new double[5]; nilaiuts[1]=80.0; nilaiuts[3]=60.5; nilaiuts[0] nilaiuts[1] nilaiuts[2] nilaiuts[3] nilaiuts[4] 0.0 80.0 0.0 60.5 0.0 Contoh double[] nilaiuts = new double[5]; nilaiuts[0] nilaiuts[1] nilaiuts[2] nilaiuts[3] nilaiuts[4] 0.0 80.0 0.0 60.5 0.0 Jika type data elemen array adalah type primitif, maka yang disimpan merupakan nilai aktualnya (misal 60.5) 14
Contoh: Type Reference String[] namamhs= new double[5]; namamhs[0] namamhs[1] namamhs[2] namamhs[3] namamhs[4] null null null null null nilai default Contoh String[] namamhs= new double[5]; namamhs[0]= "Budi"; namamhs[4]= "Robet" namamhs[0] namamhs[1] namamhs[2] namamhs[3] namamhs[4] null null null "Budi" "Robet" 15
Contoh jika type elemen adalah jenis type reference, misalnya String, maka ididalam array terdapat suatu referensi yang menunjuk ke actual object namamhs[0] namamhs[1] namamhs[2] namamhs[3] namamhs[4] null null null "Budi" "Robet" Deklarasi sekaligus Inisialisasi Array Pada type data tunggal bisa dilakukan deklarasi sekaligus inisialisasi, contoh int nilai=10; Array juga dapat dideklarasikan sekaligus diberi nilai inisial Menggunakan daftar nilai sebagai nilai inisial Nilai elemen dikumpulkan dalam sebuah tanda kurung kurawal ({}) masing-masing nilai elemen dipisahkan dengan koma (,) int n[ ] = { 10, 20, 30, 40, 50 }; n merupakan array of integer dengan panjang 5 nilai indexnya 0, 1, 2, 3, 4 dan masing-masing elemen sudah ada nilainya untuk deklarasi seperti di atas tidak diperlukan create array dengan new 16
Deklarasi sekaligus Inisialisasi Array double[ ] nilaiuts = {100.0, 45.5, 46.7, 79.0, 96.1}; string [ ] namamhs ={"Andi", "Zainul","Boni"}; Berapa panjang masing-masing array tsb? Dapatkah panjang array diubah? Latihan A Buatlah sebuah kode program yang didalamnya terdapat: Deklarasi variabel-variabel dengan nama typenya sbb: listnilai dengan type array of double, menampung elemen sebanyak 4 listnama dengan type array of double, menampung elemen sebanyak 4 Berikan nilai untuk masing-masing elemen Elemen listnilai ke-1 dan 4 diberi nilai 60, sedangkan elemen ke-2 dan 3 diberi nilai 75 Elemen listnama berturut-turut diberi nilai Bambang, Joko, Mega, dan Harto Tampilkan semua isi elemen listnilai dan listnama Gantilah listnilai elemen ke-2 menjadi 45 Gantilah nilai elemen listnama yang berisi Mega menjadi Karno, dan yang berisi Harto menjadi Soeharto 17
Latihan B Buatlah sebuah kode program yang didalamnya terdapat: Deklarasi variabel-variabel sekaligus meberikan nilai saat deklarasi dengan nama typenya dan nilainya sbb: listnilai dengan type array of double, Elemen listnilai ke-1 dan 4 diberi nilai 60, sedangkan elemen ke-2 dan 3 diberi nilai 75 listnama dengan type array of double, Elemen listnama berturut-turut diberi nilai Bambang, Joko, Mega, dan Harto Tampilkan nilai panjang elemen untuk masing-masing variabel dengan menggunakan namavariable.length Tampilkan semua isi elemen listnilai dan listnama Gantilah listnilai elemen ke-2 menjadi 45 Tukarkan tempat Joko dan Harto sehingga Harto menjadi elemen kedua dan Joko menjadi elemen ke 4. Menggunakan array dalam looping Adharul Muttaqin 18
Array dalam looping Sering diperlukan operasi yang sama terhadap semua elemen dalam array Operasi yang sama berulang-ulang menggunakan looping Perhatikan bahwa Indeks array elemen pertama adalah 0 Indeks array elemen terakhir adalah panjang array -1 indeks array harus selalu lebih kecil dari pada panjang array Contoh: Soal Tampilkan nama mahasiswa dari sebuah array yang sudah dideklarasikan dan diinisialisasikan dengan data-data sebagai berikut: Deni, Azka, Riva, Jeni 19
Contoh: Jawab public class NamaMhs { public static void main(string[] args) { String[] nama={"deni", "Azka", "Riva", "Jeni"}; } } System.out.println("Nama-nama dalam daftar: "); for(int i=0; i<nama.length; i++ ){ System.out.println((i+1) + ". " + nama[i]); } Deklarasi dan inisialisasiarray Loop for untuk perulangan sepanjang jumlah data Penggunaan array, indeks berubah sesuai looping Contoh Persoalan Masukkan sejumlah 10 nilai dan nama mahasiswa kemudian ditampilkan dalam bentuk tabel. 20
Algoritma untuk 10 mahasiswa yang ada input nama input nilai Untuk 10 data yang ada tampilkan nama tampilkan nilai Kode Java import java.util.scanner; public class NilaiMhs { public static void main(string[] args) { Scanner data = new Scanner(System.in); String[] nama; double[] nilai; int jumlahmhs = 10; nama = new String[jumlahMhs]; nilai = new double[jumlahmhs]; 21
Kode Java System.out.println("Masukkan nama dan nilai : "); //mengisi nilai array nama dan nilai for (int i = 0; i < jumlahmhs; i++) { System.out.println("Data ke " + (i + 1)); System.out.print("Nama : "); nama[i] = data.next(); System.out.print("Nilai : "); nilai[i] = data.nextdouble(); } Kode Java } } System.out.println("Data yang sudah dimasukkan "); System.out.println("No \tnama \tnilai"); //menampilkan isi array nama dan nilai for (int i = 0; i < nama.length; i++) { System.out.println((i + 1) + "\t" + nama[i] + "\t" + nilai[i]); } 22
Latihan C Masukkan sejumlah n data tinggi badan dan nama mahasiswa kemudian ditampilkan dalam bentuk tabel. Nilai n, tinggi badan, dan nama didapatkan dari input user. Tampilkan pula nilai rata-rata nilai mahasiswa tersebut, serta nilai maksimum dan minimumnya Latihan D Untuk permasalahan latihan 1, tambahkan untuk menampilkan nilai varian dan standar deviasinya! Varian = i=1 n (x i x) 2 n x adalah nilai rata rata Langkah mendapatkan varian: akumulasikan kuadrat selisih data ke-i dan rata-rata (jumlah=jumlah+(x[i]-ratarata)) Bagi jumlah dengan n Akarkan, Std Dev = i=1 n (x 2 i x 2 ) n x adalah nilai rata rata Langkah mendapatkan std dev: akumulasikan selisih kuadrat data ke-i dan kuadrat rata-rata Bagi dengan n akarkan, 23
Terima Kasih 24