Slide-06 - Array
Slide-06 - Array
Array
Ganjil 2024/2025
2
Pengenalan Array
◼ Selama ini, Anda hanya mengenal variabel-
variabel yang hanya mengandung sebuah nilai.
24
salam Sebuah slot di mem
4
Pengenalan Array
◼ Anda membutuhkan cara untuk menampung 45 nilai
tersebut: bentuk 45 variabel.
int nilaiMahasiswaSatu;
int nilaiMahasiswaDua;
int nilaiMahasiswaTiga;
...
?
int nilaiMahasiswaEmpatLima;
Cara yang tidak
okay
90 89 99 100 .... 80 95
0 1 2 3 .... 43 44
index
6
Array
◼ Array adalah sebuah struktur data yang bisa menampung
sekumpulan nilai yang berasal dari tipe data yang sama.
7
Array
◼ Array Statik
◼ Ukuran (jumlah elemen) array didefinisikan di awal.
Ukuran tidak akan berubah selama program berjalan.
◼ Array Dinamik
◼ Ukuran array dapat berubah-ubah (bertambah atau
berkurang) ketika program sedang berjalan.
8
ARRAY STATIC
9
Instansiasi Array
10
Instansiasi Array
names
Anto
Ani
Rudi 11
Deklarasi dan Inisialisasi Array
12
Akses Array
◼ Elemen pada array diakses melalui indeks
◼ Indeks menunjukkan posisi elemen pada array
◼ Gunakan simbol “[]” untuk mengakses sebuah elemen pada array:
values[2] = 29.95;
13
Akses Array
String[] names = new String[3];
names[0] = “Rudi”;
names[1] = “Anto”;
names[2] = “Budi”;
14
Syntax Array
15
Akses Array
◼ Menggunakan nilai yang disimpan pada array :
◼ System.out.println(“Nilai elemen ketiga adalah " +
values[2]);
16
Akses Array
Answer: 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, but not 100
18
Penggunaan Array
public class Arrays2 {
19
Jangan membuat Array Parallel
◼ Jangan memisahkan data yang merupakan suatu kesatuan di array yang
berbeda.
◼ Gunakan arrays of objects!
◼ Why?
◼ Apabila kita ingin menambahkan accountName, hanya class BankAccount
saja yang perlu diubah.
20
Array of Objects
◼ Kita dapat membuat array yang memiliki tipe objects
BankAccount[] accounts = new BankAccount[10];
accounts[3] = new BankAccount(…);
21
Array of Objects
public class person {
private String name;
private int age;
public person (String name, int age) {...}
}
22
Array of Objects
person[] p = new person[3];
23
Latihan
Apa yang salah dengan kode di bawah ?
int[] a;
for (int i = 0; i < 10; i++)
a[i] = i * i;
24
Latihan
Apa output program di bawah ?
Apa output program di bawah ?
26
Array Dinamik
◼ Sampai saat ini, kita bermain dengan array yang
ukuran/jumlah elemennya diketahui sejak awal.
27
ArrayLists
◼ Data yang dapat disimpan pada array (biasa) terbatas
◼ ArrayLists
◼ Menyimpan sekumpulan objects (bukan tipe primitif !)
◼ Dapat membesar dan mengecil sesuai kebutuhan
◼ Menyediakan beberapa methods, contohnya untuk menyimpan dan
menghapus data
System.out.println(names.size()); //cetak 0
System.out.println(names.size()); //cetak 1
System.out.println(names.size()); //cetak 2
29
Menambahkan Elemen
◼ Untuk menambahkan sebuah object di akhir arraylist, gunakan method
add :
◼ names.add("Emily");
◼ names.add("Bob");
◼ names.add("Cindy");
30
Menambahkan Elemen
◼ Overloaded method add():
31
Mengakses Elemen
◼ Gunakan method get()
int i = names.size();
name = names.get(i); // Error
// legal index values are 0 ... i-1
32
Mengatur dan Menghapus Elemen
◼ Gunakan set() method untuk mengubah elemen:
names.set(2, "Carolyn");
33
Mengatur dan Menghapus Elemen
names.add("Emily");
names.add("Bob");
names.add("Cindy");
names.set(2, "Carolyn");
names.add(1, "Ann");
names.remove(1);
34
Penggunaan Array List
35
Penggunaan Array List
36
Wrapper Class
◼ Bagaimana apabila kita ingin menyimpan tipe primitive pada
ArrayList?
37
Wrapper Class
38
Auto-Boxing/Auto-unboxing
◼ Auto-boxing merupakan konversi otomatis antara tipe
primitive dengan wrapper class yang berkesesuaian :
Double d = 29.95;
// auto-boxing; same as
// Double d = new Double(29.95);
double x = d;
// auto-unboxing; same as
// double x = d.doubleValue();
39
Auto-Boxing pada Expression
◼ Auto-boxing juga bekerja pada arithmetic
expressions :
◼ Double d = new Double(12.8);
◼ d = d + 1;
◼ Sama dengan :
◼ auto-unbox d into a double
◼ add 1
• auto-box the result into a new Double
◼ store a reference to the newly created wrapper object in d
40
Auto-Boxing dan ArrayLists
◼ Untuk menyimpan tipe data numerik dalam ArrayList,
gunakan tipe wrapper sebagai parameter type:
41
ITERASI DI ARRAY
42
References
◼ Cay S. Horstmann. Big Java. 4th Edition. John Wiley &
Sons, 2010
43
THANK YOU
44