Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array...
Transcript of Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array...
12/3/2015
1
ArrayAdharul Muttaqin
Universitas Brawijaya Malang
Array
• Array merupakan memory pada komputer yg digunakan untukmenyimpan sejumlah data bertype sama.
• Di Java, Array merupakan sebuah object yang menampung sejumlahnilai dengan panjang tertentu (disebut sebagai element) yang nilai-nilai tersebut mempunyai type data yang sama.
• Array digunakan untuk memproses sekelompok nilai-nilai yang berkaitan
12/3/2015
2
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
12/3/2015
3
Contoh: Array 5 Elemen
20
70
40
30
10
myArray[0]
myArray[1]
myArray[2]
myArray[3]
myArray[4]
index elemen pertama selalu bernilai 0
index elemen terakhir : 4 ( 5 -1)
banyaknya elemen: 5
myArray meupakannama array
Panjang Array
• Array di java mempunyai field dengan nama length yang berisipanjang array
• panjang array ini bersifat final yg tidak bisa diubah
• contoh
myArray.length
menghasilkan suatu angka yang merupakan panjang array
12/3/2015
4
Contoh: Array 5 Elemen
20
70
40
30
10
myArray[0]
myArray[1]
myArray[2]
myArray[3]
myArray[4]
index elemen terakhir : myArray.length - 1
banyaknya elemen 5: myArray.length
Mengakses Array
• Array diakses dengan menggunakan indexnya. Index ditulis di dalamtanda 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()]
12/3/2015
5
Memodifikasi Isi Elemen Array
• Untuk mengubah atau memberikan nilai suatu elemen array samaseperti saat mengubah nilai suatu variable, array berada sebelah kirioperator 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];
12/3/2015
6
Contoh:
20
70
40
30
10
myArray :
int number;
Misalnya terdapat dua buah variable:• myArray, bertype array of integer• number, bertype integer
Berikan nilai (assign) elemenpertama dari myArray ke variabeldengan nama number:
1
number = myArray[0];
Contoh:
20
70
40
30
10
myArray :
int number;
terdapat dua buah variable:• myArray, bertype array of integer• number, bertype integer
Berikan nilai (assign) elementerakhir dari myArray ke variabeldengan nama number:
2
number = myArray[myArray.length-1];
12/3/2015
7
Contoh:
20
70
40
30
10
myArray :
int number;
terdapat dua buah variable:• myArray, bertype array of integer• number, bertype integer
Berikan nilai (assign) elemen ke-4 dari myArray ke variabel dengannama number:
3
number = myArray[3];
Contoh:
20
70
40
30
10
myArray :
int number;
terdapat dua buah variable:• myArray, bertype array of integer• number, bertype integer
Ubah nilai elemen ke-2 darimyArray menjadi dua kali nilaisemula:
4
myArray[1]= myArray[1]*2;
atau myArray[1]*= 2;
12/3/2015
8
Latihan:
20
70
40
30
10
myArray :
int number;
terdapat dua buah variable:• myArray, bertype array of integer• number, bertype integer
a) Berikan nilai 65 ke elemen ke-4pada myArray
a) Tambahkan elemen ke-3 padamyArray dengan 5
Latihan:
20
70
40
30
10
myArray :
int number;
terdapat dua buah variable:• myArray, bertype array of integer• number, bertype integer
a) Berikan nilai 65 ke elemen ke-4pada myArray
myArray[3]=65;
a) Tambahkan elemen ke-3 padamyArray dengan 5myArray[2]+=5;
12/3/2015
9
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[] nilai;
type array nama variabel
variabel nilaimerupakan suatu
variabel yang ber-type array of integer
12/3/2015
10
Deklarasi dan Pembuatan Array
• Deklarasi variable yang bertype array
double[] harga;
type array nama variabel
variabel hargamerupakan 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 namamerupakan suatu
variabel yang ber-type array of String
12/3/2015
11
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
12/3/2015
12
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/3/2015
13
Nilai Default
• Saat array dibuat, masing-masing elemen akan mendapatkan nilaidefault 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];
0.0
0.0
0.0
0.0
0.0
nilaiUTS[0]
nilaiUTS[1]
nilaiUTS[2]
nilaiUTS[3]
nilaiUTS[4]
nilai default
12/3/2015
14
Contoh
double[] nilaiUTS = new double[5];
nilaiUTS[1]=80.0;
nilaiUTS[3]=60.5;0.0
80.0
0.0
60.5
0.0
nilaiUTS[0]
nilaiUTS[1]
nilaiUTS[2]
nilaiUTS[3]
nilaiUTS[4]
Contoh
double[] nilaiUTS = new double[5];
0.0
80.0
0.0
60.5
0.0
nilaiUTS[0]
nilaiUTS[1]
nilaiUTS[2]
nilaiUTS[3]
nilaiUTS[4]
Jika type data elemenarray adalah type primitif, maka yang disimpan merupakannilai aktualnya (misal60.5)
12/3/2015
15
Contoh: Type Reference
String[] namaMhs= new double[5];
null
null
null
null
null
namaMhs[0]
namaMhs[1]
namaMhs[2]
namaMhs[3]
namaMhs[4]
nilai default
Contoh
String[] namaMhs= new double[5];
namaMhs[0]= "Budi";
namaMhs[4]= "Robet"
null
null
null
namaMhs[0]
namaMhs[1]
namaMhs[2]
namaMhs[3]
namaMhs[4]
"Budi"
"Robet"
12/3/2015
16
Contoh
null
null
null
namaMhs[0]
namaMhs[1]
namaMhs[2]
namaMhs[3]
namaMhs[4]
"Budi"
"Robet"
jika type elemen adalah jenis type reference, misalnya String, maka ididalam array terdapat suatu referensi yang menunjuk ke
actual object
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
12/3/2015
17
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
12/3/2015
18
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 denganmenggunakan 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 dalamloopingAdharul Muttaqin
12/3/2015
19
Array dalam looping
• Sering diperlukan operasi yang sama terhadap semua elemen dalamarray• Operasi yang sama berulang-ulangmenggunakan 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 sudahdideklarasikan dan diinisialisasikan dengan data-data sebagai berikut: Deni, Azka, Riva, Jeni
12/3/2015
20
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 daninisialisasiarray
Loop for untuk perulangansepanjang jumlah data
Penggunaan array, indeks berubahsesuai looping
Contoh: Jawab
Contoh Persoalan
•Masukkan sejumlah 10 nilai dan namamahasiswa kemudian ditampilkan dalambentuk tabel.
12/3/2015
21
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];
12/3/2015
22
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 nilaifor (int i = 0; i < nama.length; i++) {
System.out.println((i + 1) + "\t" + nama[i] + "\t" + nilai[i]);}
}}
12/3/2015
23
Latihan C
• Masukkan sejumlah n data tinggi badan dan nama mahasiswakemudian ditampilkan dalam bentuk tabel. Nilai n, tinggi badan, dannama didapatkan dari input user. Tampilkan pula nilai rata-rata nilaimahasiswa tersebut, serta nilai maksimum dan minimumnya
Latihan D
• Untuk permasalahan latihan 1, tambahkan untuk menampilkan nilaivarian 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 nAkarkan
𝑆𝑡𝑑 𝐷𝑒𝑣 = 𝑖=1𝑛 (𝑥𝑖
2 − 𝑥2)
𝑛,
𝑥 𝑎𝑑𝑎𝑙𝑎ℎ 𝑛𝑖𝑙𝑎𝑖 𝑟𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎
Langkah mendapatkan std dev:akumulasikan selisih kuadrat data ke-i dan kuadrat rata-rataBagi dengan nakarkan
12/3/2015
24
Terima Kasih