Anda di halaman 1dari 36

PERTEMUAN 08

ARRAY

Pemrograman Dasar
2010
1

Learning Outcomes
Pada akhir pertemuan, diharapkan
mahasiswa
mampu :

Menerapkan konsep tipe data array untuk data


majemuk homogen dalam pemrograman Java

Outline Materi

Pengantar
Array
Deklarasi Array
Contoh Penggunaan Array
Referensi dan Parameter Referensi
Pengiriman Array pada Metode
Pengurutan data pada Array
Mencari Data pada Array: Pencarian Linear dan
Pencarian Biner
Array multidimensi

PENGANTAR

Dalam matematika, terutama terkait dengan


matriks yang memiliki elemen matriks. Elemen
matrik dituliskan dengan menggunakan variabel
berindeks. Misalkan sebuah matriks A[5,5]
berdimensi 5x5 akan mempunyai elemen matriks
berupa: a00 s.d a44.

Dalam pemrograman komputer, implementasi dari


variabel berindeks menggunakan array. Sehingga
array dapat berdimensi satu atau lebih dari satu.

Array merupakan sekumpulan nilai data homogin


yang disimpan dalam suatu struktur, sedemikian
rupa sehingga elemen-elemen di dalam struktur
tersebut dapat diolah secara kelompok ataupun
secara individu.
4

ARRAY

Sifat - sifat Array


Homogen
Seluruh elemen di dalam struktur array
mempunyai tipe data yang sama.

Random Access
Setiap elemen di dalam struktur array dapat
dicapai secara individual, langsung ke lokasi
elemen yang diinginkan, tidak harus melalui
elemen pertama.
Merupakan variabel referensi.

VISUALISASI ARRAY

Sebuah variabel array dalam pemrograman


selalu memiliki identifire yang sama diikuti
dengan indeks. Misalkan sebuah array bernama
a dengan jumlah elemen sebanyak 10 elemen,
maka elemen-elemen array tersebut dapat
digambarkan sbb.:

a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]

Elemen-elemen suatu Array berindeks


(subscript) mulai dari 0.
6

ARRAY

Deklarasi array dimensi satu


type[] namaArrray; atau
type namaArrray[];
Contoh :
int[] a; atau int a[];

Instansiasi objek array:


Karena array termasuk variabel referensi, maka agar

variabel array dapat diakses harus diinstansiasi lebih dahulu


dengan menggunakan keyword: new
Cara Instansiasi variabel array:

namaArray = new tipe[jumlah elemen];


contoh: a = new int[10];
7

ARRAY

Deklarasi dan instansiasi objek array dapat


digabungkan dalam sebuah instruksi sbb.:
type[] namaArrray = new type[jumlah_elemen];
atau
type namaArrray[] = new type[jumlah_elemen];

Contoh :
int[] a = new int[10];
int a[] = new int[10];

atau

Cara Akses Elemen Array

Cara mengakses elemen dari variabel array


sbb.:
namaArray[indeks]

Contoh:
Diinginkan untuk mengakses sebuah variabel array

bernama a dengan indeks I, maka dapat dituliskan:


a[i]
Indeks i hanya dapat bernilai 0 atau positip dengan

nilai maksimumnya adalah: (jumlah_elemen - 1).

Mengisi Data Array

Mengisi data ke elemen array dilakukan


dengan menggunakan assignment operator.

Contoh : a[6] = 15; a[3] = 27;


27
a[0] a[1] a[2] a[3]

15
a[4] a[5] a[6] a[7] a[8]

a[9]

Statement a[2] = a[3] - a[6], menghasilkan :


12

27

a[0] a[1] a[2] a[3]

15
a[4] a[5] a[6] a[7] a[8]

a[9]

10

Inisialisasi Array

Array dapat diinisialisasi secara eksplisit pada


saat didefinisikan dan bisa tidak diberikan nilai
dimensinya.
Contoh: int b[ ]={1, 2, -4, 8};
Pada contoh diatas Array memiliki 4 element

b[0]

b[1]

b[2]

b[3]

Contoh; int b[]={1, 2, -4, 8,0,0,0,0};


b[0]

b[1]

b[2]

b[3]

b[4]

b[5]

b[6]

b[7]
11

Inisialisasi Array

Contoh: int b[4] = { 1, 2, -4, 8, 9 }; //error


ERROR karena nilai dimensi lebih kecil dari jumlah
element.

Contoh inisialisasi array setelah didefinisikan :


int a[] = new int[5];
(for i=0; i<5;i++) a[i]=0;
int b[5];
b[5]={0,0,0,0,0};

Error, mengapa ?

12

Penggunaan Array
1. Mendeklarasikan array
2. Instansiasi array
3. Inisialisasi array (Jika diperlukan)
4. Memanipulasi elemen array

13

Contoh Penggunaan Array-1

Menampilkan elemen array

14

Contoh Penggunaan Array-2

Inisialisasi sebuah array

15

Contoh Penggunaan Array-3

Penjumlahan
nilai data sebuah array

16

Contoh Penggunaan Array-4

Menampilkan
Bentuk Histogram
17

Contoh Penggunaan Array-5

Menampilkan
Frekuensi Nilai Random
18

PARAMETER REFERENSI

Dua cara pengiriman data melalui parameter


metode:
1. Pass-by-value

Mengirimkan nilai data ke parameter/argumen


metode
Di Java, setiap parameter metode memiliki tipedata
primitif adalah pass-by-value

2. Pass-by-referensi

Pemanggil memberikan akses langsung kepada


metode yang dipanggil ke data pemanggil
Metode yang dipanggil dapat memanipulasi data tsb.
Peningkatan kinerja atas pass-by-value
Di Java, setiap objek yang dipakai pengiriman pesan
ke metode adalah pass-by-referensi
Di Java, array merupakan obyek, sehingga array
dikirimkan ke metode sebagai pass-by-referensi

19

Parameter Array

Pengiriman array melalui argumen metode


dapat dilakukan hanya dengan menuliskan
nama variabel array

Contoh:
int x = new int [100];
Dipakai untuk memanggil metode:

void urutDataArray(int[] a)
Dituliskan sbb.:

urutDataArray(x);
20

Contoh Referensi Array

21

Contoh Referensi Array

22

Contoh Referensi Array-2

23

Contoh Referensi Array-2

24

Jumlah Argumen Tak-Tentu

Pemrogram dapat membuat metode yang


dapat menerima sejumlah argumen yang
tidak ditentukan jumlahnya.

Sebuah tipe argumen diikuti dengan


simbol dalam daftar argumen dari
sebuah metode, menunjukkan bahwa
metode tersebut dapat menerima
sejumlah variabel argumen dari tipe-data
tertentu.
25

Contoh Jumlah Argumen Taktentu

26

Pengurutan data (Sort)

Bubble Sort
Banyak macam algorithma untuk mengurutkan data, salah

satu algorithma pengurutan data yang paling sederhana


adalah Bubble Sort.

Algorithma Bubble Sort:


Nilai lebih kecil diarahkan ke indeks array semakin kecil
Nilai lebih besar diarahkan ke indeks array semakin besar
Gunakan loop bersarang untuk membuat beberapa langkah

mempertukarkan urutan nilai data pada elemen array


Setiap langkah membandingkan pasangan berurutan dari
elemen array
Pasangan yang urutan nilai datanya semakin besar atau
sama tidak dipertukarkan
Pasangan yang urutan nilai datanya semakin kecil
dipertukarkan nilai datanya
27

Contoh Program Bubble Sort

28

Contoh Program Bubble Sort

29

Searching

Searching dipergunakan untuk mencari nilai data


yang sesuai pada sejumlah data tertentu (misal:
nilai data array).

Menemukan apakah elemen sebuah array berisi


nilai data yang sama dengan nilai tertentu (nilai
kunci yang dicari).

Metode untuk mencari nilai data, diantaranya


adalah:
Pencarian linier (Linear Searching)
Pencarian biner (Binary Searching)

30

Contoh Program Pencarian


Linier

31

Contoh Program Pencarian


Linier

32

ARRAY DIMENSI DUA

Array Dimensi Dua


Merupakan sebuah array yang memiliki
indeks baris (raw) dan kolom (column)

Contoh
int a[][] = new int[3][4];
Column 0 Column 1 Column 2 Column 3
Row 0
Row 1
Row 2

a[ 0 ][ 0 ] a[ 0 ][ 1 ] a[ 0 ][ 2 ] a[ 0 ][ 3 ]
a[ 1 ][ 0 ] a[ 1 ][ 1 ] a[ 1 ][ 2 ] a[ 1 ][ 3 ]
a[ 2 ][ 0 ] a[ 2 ][ 1 ] a[ 2 ][ 2 ] a[ 2 ][ 3 ]
Column subscript
Array
name Row subscript
33

Inisialisasi Array Dimensi Dua

Inisialisasi: menggunakan aturan rmo (row


major order).

Contoh:
int b[][] = { { 1, 2 }, { 3, 4 } };
b[0][0] = 1 dan b[0][1] = 2
b[1][0] = 3 dan b[1][1] = 4

int c[][] = { { 1,2 }, { 3, 4,5 } };


C[0][0] = 1 dan c[0][1] = 2 (baris ke 0 berisi 2 kolom)
C[1][0] = 3, c[1][1] = 4 dan c[1][2] = 5 (baris ke 1
berisi 3 kolom)
34

Definisi Array Dimensi Dua

Mendefinisikan array dua dimensi dapat


dilakukan secara dinamis.

Contoh:
Array dengan 3 baris dan 4 kolom
int b[][];
b = new int[ 3 ][ 4 ];
Baris dapat mempunyai jumlah kolom yang berbeda
int b[][];
b = new int[ 2 ][ ];
// alokasi baris
b[ 0 ] = new int[ 5 ]; // alokasi baris 0
b[ 1 ] = new int[ 3 ]; // alokasi baris 1
35

Contoh Array Dimensi 2

36