dasar-dasar pemrograman · 2017. 3. 13. · dasar-dasar pemrograman fakultas ilmu komputer,...

53
Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 - Internal Use Only Arrays and ArrayLists subtitle

Upload: others

Post on 22-Nov-2020

29 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

Dasar-Dasar Pemrograman

Fakultas Ilmu Komputer, Universitas IndonesiaVersion 3.0 - Internal Use Only

Arrays and ArrayLists

subtitle

Page 2: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

2

Tujuan Pembelajaran Memahami dan dapat menggunakan arrays dan array lists

Mempelajari mengenai wrapper classes, auto boxing, dangeneralized for loop

Mengetahui beberapa algoritma array

Mempelajari bagaimana cara menggunakan two-dimensional arrays

Memahami perbedaan penggunaan arrays dan array lists pada program

Mengimplementasikan arrays yang terisi secara parsial

Page 3: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

3

Arrays

Digunakan ketika kita ingin menyimpan beberapa data yang memiliki tipe yang sama.

Deklarasi array (array adalah object)

double[] array1;

Cara membuat sebuah object array yang berisi 10 elemenbertipe double :

array1 = new double[10];

int[] array2 = {1, 3, 5, 7};

Nilai yang disimpan pada array bergantung pada tipe dari array tersebut.

Page 4: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

4

Deklarasi Arrays

Big Java by Cay HorstmannCopyright © 2009 by John Wiley & Sons. All rights

reserved.

Page 5: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

5

Akses Arrays

Elemen pada array diakses melalui indeks

Indeks menunjukkan posisi elemen pada array

Gunakan simbol “[]” untuk mengakses sebuah elemenpada array : values[2] = 29.95;

Indeks dimulaidari nol

Indeks terakhirdi ukuran array - 1

Page 6: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

6

Sintaks Arrays

Page 7: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

7

Arrays

Menggunakan nilai yang disimpan pada array :

System.out.println(“Nilai elemen ketiga adalah " + values[2]);

Panjang dari array (banyaknya data yang disimpan)

values.length bukan sebuah method!

Mengakses elemen yang tidak ada akan menghasilkan error

double[] values = new double[10];

values[10] = 29.95; // ERROR

Keterbatasan : Panjang array tetap

Page 8: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

8

Self Check

What elements does the data array contain after the following statements?

double[] values = new double[10];

for (int i = 0; i < values.length; i++)

values[i] = i * i;

Answer: 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, but not 100

Page 9: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

9

Arrays of Objects

Kita dapat membuat array yang memiliki tipe objects

BankAccount[] accounts = new BankAccount[10];

accounts[3] = new BankAccount(…);

Page 10: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

10

Don’t: Parallel Arrays!

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

Page 11: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

11

ArrayLists

Data yang dapat disimpan pada array terbatas

ArrayLists

Menyimpan sekumpulan objects

Dapat membesar dan mengecil sesuai kebutuhan

Menyediakan beberapa methods, contohnya untukmenyimpan dan menghapus data

Deklarasi sebuah ArrayList:

ArrayList<T> names = new ArrayList<T>();

akan menyimpan objects yang memiliki tipe T.

Method size() digunakan untuk mengembalikan jumlahelemen

Page 12: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

12

Menambahkan elemen

Untuk menambahkan sebuah object di akhir arraylist, gunakan method add :

names.add("Emily");

names.add("Bob");

names.add("Cindy");

Page 13: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

13

Mengakses elemen

Gunakan method get()

String name = names.get(2);

// gets the third element of the arraylist

Most common bound error :

int i = names.size();

name = names.get(i); // Error

// legal index values are 0 ... i-1

Page 14: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

14

Mengatur dan Menghapus Elemen

Gunakan set() method untuk mengubah elemen:

names.set(2, "Carolyn");

Gunakan remove() method untuk menghapus elemen padaindeks tertentu:

names.remove(1);

Page 15: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

15

Menambah dan Menghapus Elemen

names.add("Emily"); names.add("Bob"); names.add("Cindy");names.set(2, "Carolyn");

names.add(1, "Ann");

names.remove(1);

Page 16: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

16

ArrayList<String> names =new ArrayList<String>();

Constructs an empty arraylist that can hold strings.

names.add("Ann");names.add("Cindy");

Adds elements to the end.

System.out.println(names); Prints [Ann, Cindy].

names.add(1, "Bob"); Inserts an element at index 1. names is now [Ann, Bob, Cindy].

names.remove(0); Removes the element at index 0. names is now [Bob, Cindy].

names.set(0, "Bill"); Replaces an element with a different value. names is now [Bill, Cindy].

Big Java by Cay HorstmannCopyright © 2009 by John Wiley & Sons. All rights

reserved.

Penggunaan ArrayLists

Page 17: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

17

String name = names.get(i); Gets an element.

String last =names.get(names.size() - 1);

Gets the last element.

ArrayList<Integer> squares =new ArrayList<Integer>();

for (int i = 0; i < 10; i++){

squares.add(i * i);}

Constructs an arraylist holding the first ten squares.

Big Java by Cay HorstmannCopyright © 2009 by John Wiley & Sons. All rights

reserved.

Penggunaan ArrayLists

Page 18: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

18

Wrapper Class

Bagaimana apabila kita ingin menyimpan tipe primitive padaArrayList?

Java menyediakan wrapper class untuk menyimpan data dengan tipe primitive dalam bentuk objects.

Double d = new Double(29.95);

Wrapper class dapat digunakan ketika data yang ingindisimpan harus bertipe objects

ArrayList<Double> data = new ArrayList<Double>();

data.add(29.95);

double x = data.get(0);

Page 19: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

19

Wrappers

Page 20: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

20

Auto-boxing / Auto-unboxing

Auto-boxing merupakan konversi otomatis antara tipeprimitive 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();

Page 21: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

21

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

Auto-boxing pada Expression

Page 22: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

22

Auto-boxing dan ArrayLists

Untuk menyimpan tipe data numerik dalam ArrayList, gunakan tipe wrapper sebagai parameter type:

ArrayList<Double> values = new ArrayList<Double>();

values.add(29.95);

double x = values.get(0);

Menyimpan wrapped numbers tidak efisien

Dapat digunakan apabila data yang disimpan tidak besar

Gunakan arrays untuk menyimpan data angka yang besar

Page 23: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

23

Self Check

Suppose values is an ArrayList<Double> of size > 0. How do you increment the element with index 0?

values.set(0, values.get(0) + 1);

Page 24: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

24

The Enhanced for Loop

Untuk melakukan iterasi pada suatu koleksi data

double[] values = ...;

double sum = 0;

for (double element : values)

{

sum = sum + element;

}

sama dengan

for (int i = 0; i < values.length; i++)

{

sum = sum + values[i];

}

Page 25: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

25

Dapat digunakan pula pada ArrayList

ArrayList<BankAccount> accounts = ...;

double sum = 0;

for (BankAccount account : accounts)

{

sum = sum + account.getBalance();

}

ekivalen dengan :

for (int i = 0; i < accounts.size(); i++)

{

BankAccount account = accounts.get(i);

sum = sum + account.getBalance();

}

Page 26: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

26

The Enhanced for Loop

“for each loop” tidak memperbolehkan kita untuk mengubahkonten dari sebuah array.

for (double element : values)

{

element = 0;

// ERROR—this assignment does not

// modify array element

}

Gunakan for loop tradisional!

Page 27: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

27

Self Check

Write a “for each” loop that prints all elements in the array values.

Answer:

for (double element : values){

System.out.println(element);

}

Page 28: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

28

Self Check

Apa yang dilakukan oleh “for each loop” berikut?

int counter = 0;

for (BankAccount a : accounts)

{

if (a.getBalance() == 0) { counter++; }

}

Answer: It counts how many accounts have a zero balance

Page 29: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

29

Partially Filled Arrays

Array length: jumlah maksimum elemen pada array

Umumnya, array hanya terisi setengah penuh

Kita perlu mencatat ukuran array yang sebenarnya

Gunakan penamaan yang sesuai:

final int VALUES_LENGTH = 100; double[] values = new double[VALUES_LENGTH]; int valuesSize = 0;

Update valuesSize ketika menambahkan sebuah elemen:

values[valuesSize] = x; valuesSize++;

Page 30: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

30

Partially Filled Arrays (Example)

Page 31: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

31

Self Check

Buatlah sebuah iterasi untuk mencetak elemen pada sebuaharray values dalam urutan yang terbalik, mulai dari elementerakhir. Jumlah elemen disimpan di variabel valuesSize

Answer:

for (int i = valuesSize - 1; i >= 0; i--)

System.out.println(values[i]);

Page 32: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

32

Self Check

How do you remove the last element of the partially filled array values?

Answer:

• valuesSize--;

Page 33: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

33

ARRAY ALGORITHMS

Page 34: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

34

Mencari Nilai Maksimum/Minimum

Tentukan sebuah elemen sebagai elemen awal

Kandidat?

Bandingkan dengan elemen lainnya

Perbarui nilai apabila menemukan nilai yang lebih besar/kecil

values[0]

values[1]

values[2]

values[3]

values[length-1]

max = values[0]1

2 compare

Page 35: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

35

Filling

Isi array dengan nilai nol:

for (int i = 0; i < values.length; i++)

{

values[i] = 0;

}

Isi arraylist dengan angka kuadrat

for (int i = 0; i < values.size(); i++)

{

values.set(i, i * i);

}

Page 36: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

36

Sum and Average

Untuk menghitung jumlah dari seluruh elemen, simpandalam sebuah variabel yang terus menerus diperbarui:

double total = 0;

for (double element : values)

{

total = total + element;

}

Untuk menghitung rata-rata, bagi dengan jumlah elemen

double average = total / values.size();

// for an array list

Pastikan bahwa jumlah elemen tidak nol!

Page 37: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

37

Counting Matches

public int count(double atLeast)

{

int matches = 0;

for (BankAccount account : accounts)

{

if (account.getBalance() >= atLeast) matches++; //Found a match

}

return matches;

}

Page 38: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

38

Mencari Sebuah Nilai

Cek semua elemen hingga menemukan elemen yang diinginkan

Contoh:

public BankAccount find(int accountNumber)

{

for (BankAccount account : accounts)

{

if (account.getAccountNumber() == accountNumber)

// Found a match

return account;

}

return null; // No match in the entire array list

}

Page 39: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

39

Menghapus elemen

ArrayList gunakan method remove

Array yang tidak terurut

1. Ganti elemen yang dihapus dengan elemen terakhir padaarray

2. Decrement variabel yang menyimpan ukuran array

values[pos] = values[valuesSize - 1];

valuesSize--;

Page 40: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

40

Removing an Element

Array terurut

1. Pindahkan semua elemen setelah elemen yang dihapus keindeks yang lebih awal

2. Decrement variabel yang menyimpan ukuran array

for (int i = pos; i < valuesSize - 1; i++)

{

values[i] = values[i + 1];

}

valuesSize--;

Page 41: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

41

Removing an Element

Page 42: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

42

Inserting an Element

ArrayList gunakan method add

Array tidak terurut:

Masukkan elemen di indeks terakhir array

Increment variabel yang menyimpan ukuran array

if (valuesSize < values.length)

{

values[valuesSize] = newElement;

valuesSize++;

}

Page 43: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

43

Inserting an Element

Array terurut

Mulai dari akhir array, pindahkan elemen satu per satu keindeks yang lebih tinggi, hingga sampai di posisi dimanaelemen baru akan diletakkan

Masukkan elemen di posisi tersebut

Increment variabel yang menyimpan ukuran array

if (valuesSize < values.length)

{

for (int i = valuesSize; i > pos; i--)

{

values[i] = values[i - 1];

}

values[pos] = newElement;

valuesSize++;

}

Page 44: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

44

Inserting an Element

Page 45: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

45

Menyalin Array

Menyalin (copy) sebuah array akan mengakibatkan adanyareference lain ke array tersebut

double[] values = new double[6];

. . . // Fill array

double[] prices = values;

Page 46: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

46

Menyalin Array

Untuk membuat salinan dari sebuah array, gunakan method Arrays.copyOf:

double[] prices = Arrays.copyOf(values, values.length);

Page 47: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

47

Memperbesar Array

Untuk memperbesar sebuah array, gunakan method Arrays.copyOf:values = Arrays.copyOf(values, 2 * values.length);

Page 48: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

48

Array Dua Dimensi

Ketika membuat sebuah array dua dimensi, spesifikasikanjumlah baris dan kolom yang diinginkan

final int ROWS = 3;

final int COLUMNS = 3;

String[][] board = new String[ROWS][COLUMNS];

Akses elemen dengan pasangan indeks

board[1][1] = "x";

board[2][1] = "o";

Page 49: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

49

Traversing Two-Dimensional Arrays

Gunakan dua nested loops ketika ingin mengunjungi array dua dimensi:

for (int i = 0; i < ROWS; i++)

for (int j = 0; j < COLUMNS; j++)

board[i][j] = " ";

Page 50: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

50

Traversing Two-Dimensional Arrays

Kita juga dapat menggunakan dimensi array dari variabelarray:

• board.length is the number of rows

• board[0].length is the number of columns

Sehingga, loop dapat juga dituliskan menjadi:

for (int i = 0; i < board.length; i++)

for (int j = 0; j < board[0].length; j++)

board[i][j] = " ";

Page 51: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

51

Key Learning Points Arrays digunakan untuk menyimpan sekumpulan data yang

memiliki kesamaan tipe

ArrayLists digunakan untuk menyimpan sekumpulan objects

Ukuran dari ArrayLists bersifat fleksibel, ukuran arrays adalah tetap

Class ArrayList menyediakan beberapa method untukmelakukan operasi pada ArrayList

Gunakan wrapper class ntuk menyimpan tipe data primitive dalam ArrayLists

Page 52: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

52

Tugas Membaca

Chapter 6. Arrays and Array Lists

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

Page 53: Dasar-Dasar Pemrograman · 2017. 3. 13. · Dasar-Dasar Pemrograman Fakultas Ilmu Komputer, Universitas Indonesia Version 3.0 -Internal Use Only Arrays and ArrayLists ... Dapat digunakan

53

What’s next?

Chapter 7. Designing Classes