12/3/2015
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
12/3/2015
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
12/3/2015
Contoh: Array 5 Elemen index elemen pertama selalu bernilai 0 myArray meupakan nama array
myArray[0]
20
myArray[1]
70
myArray[2]
40
myArray[3]
30
myArray[4]
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
12/3/2015
Contoh: Array 5 Elemen
myArray[0]
20
myArray[1]
70
myArray[2]
40
myArray[3]
30
myArray[4]
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, berupa variabel, berupa ekspresi, kembalian method
myArray[4] myArray[myIndex] myArray[myIndex - 2] myArray[input.nextInt()]
4
12/3/2015
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
12/3/2015
Contoh: Misalnya terdapat dua buah variable: • myArray, bertype array of integer • number, bertype integer myArray :
20
1
70
Berikan nilai (assign) elemen pertama dari myArray ke variabel dengan nama number:
40 30
number = myArray[0];
10 int number;
Contoh: terdapat dua buah variable: • myArray, bertype array of integer • number, bertype integer
myArray :
20 70 40 30
10
2 Berikan nilai (assign) elemen terakhir dari myArray ke variabel dengan nama number: number = myArray[myArray.length-1];
int number;
6
12/3/2015
Contoh: terdapat dua buah variable: • myArray, bertype array of integer • number, bertype integer myArray :
20
3
70
Berikan nilai (assign) elemen ke-4 dari myArray ke variabel dengan nama number:
40 30
number = myArray[3];
10 int number;
Contoh: terdapat dua buah variable: • myArray, bertype array of integer • number, bertype integer
myArray :
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;
int number;
7
12/3/2015
Latihan: terdapat dua buah variable: • myArray, bertype array of integer • number, bertype integer myArray :
a) Berikan nilai 65 ke elemen ke-4 pada myArray
20 70
40 a) Tambahkan elemen ke-3 pada myArray dengan 5
30 10 int number;
Latihan: terdapat dua buah variable: • myArray, bertype array of integer • number, bertype integer
myArray :
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;
int number;
8
12/3/2015
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;
variabel nilai merupakan suatu variabel yang ber-type array of integer
nama variabel
9
12/3/2015
Deklarasi dan Pembuatan Array • Deklarasi variable yang bertype array
double[] harga; type array
variabel harga merupakan suatu variabel yang ber-type array of double
nama variabel
Latihan: Deklarasi dan Pembuatan Array • Deklarasi variable yang bertype array
String[] nama; type array
variabel nama merupakan suatu variabel yang ber-type array of String
nama variabel
10
12/3/2015
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
12/3/2015
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
12/3/2015
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]
0.0
nilaiUTS[1]
0.0
nilaiUTS[2]
0.0
nilaiUTS[3]
0.0
nilaiUTS[4]
0.0
nilai default
13
12/3/2015
Contoh double[] nilaiUTS = new double[5]; nilaiUTS[1]=80.0; nilaiUTS[3]=60.5; nilaiUTS[0]
0.0
nilaiUTS[1]
80.0
nilaiUTS[2]
0.0
nilaiUTS[3]
60.5
nilaiUTS[4]
0.0
Contoh double[] nilaiUTS = new double[5];
nilaiUTS[0]
0.0
nilaiUTS[1]
80.0
nilaiUTS[2]
0.0
nilaiUTS[3]
60.5
nilaiUTS[4]
0.0
Jika type data elemen array adalah type primitif, maka yang disimpan merupakan nilai aktualnya (misal 60.5)
14
12/3/2015
Contoh: Type Reference String[] namaMhs= new double[5];
namaMhs[0]
null
namaMhs[1]
null
namaMhs[2]
null
namaMhs[3]
null
namaMhs[4]
null
nilai default
Contoh String[] namaMhs= new double[5]; namaMhs[0]= "Budi"; namaMhs[4]= "Robet" "Budi"
namaMhs[0] namaMhs[1]
null
namaMhs[2]
null
namaMhs[3]
null
"Robet"
namaMhs[4]
15
12/3/2015
Contoh
jika type elemen adalah jenis type reference, misalnya String, maka ididalam array terdapat suatu referensi yang menunjuk ke actual object
"Budi"
namaMhs[0] namaMhs[1]
null
namaMhs[2]
null
namaMhs[3]
null
"Robet"
namaMhs[4]
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
12/3/2015
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
12/3/2015
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
12/3/2015
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
12/3/2015
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
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
12/3/2015
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
12/3/2015
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
12/3/2015
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!
𝑉𝑎𝑟𝑖𝑎𝑛 =
𝑛 𝑖=1(𝑥𝑖
− 𝑥)2
,
𝑛 𝑥 𝑎𝑑𝑎𝑙𝑎ℎ 𝑛𝑖𝑙𝑎𝑖 𝑟𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎
Langkah mendapatkan varian: akumulasikan kuadrat selisih data ke-i dan rata-rata (jumlah=jumlah+(x[i]-rataRata))
Bagi jumlah dengan n Akarkan
𝑆𝑡𝑑 𝐷𝑒𝑣 =
𝑛 2 𝑖=1(𝑥𝑖
− 𝑥2)
𝑛 𝑥 𝑎𝑑𝑎𝑙𝑎ℎ 𝑛𝑖𝑙𝑎𝑖 𝑟𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎
,
Langkah mendapatkan std dev: akumulasikan selisih kuadrat data ke-i dan kuadrat rata-rata Bagi dengan n akarkan
23
12/3/2015
Terima Kasih
24