20.01.2015 Views

Array - iLab

Array - iLab

Array - iLab

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

PERTEMUAN 2<br />

ARRAY, PERCABANGAN, DAN PERULANGAN<br />

Obyektif:<br />

• Praktikan mengetahui array, percabangan, dan perulangan pada Java.<br />

• Praktikan mengetahui bentuk umum dari array, percabangan, dan perulangan dalam Java.<br />

• Praktikan dapat membuat program sederhana dengan menggunakan bahasa pemrograman Java, untuk<br />

array, percabangan, dan perulangan.<br />

Catatan : Cobalah setiap contoh dan latihan<br />

Pemrograman Berbasis Objek - 2011<br />

1


<strong>Array</strong><br />

Deklarasi dan Penciptaan <strong>Array</strong><br />

<strong>Array</strong> di Java dideklarasikan dengan kurung siku: […], lalu diikuti oleh nama identifier-nya.<br />

Sintaks umum deklarasi array :<br />

type var-name[];<br />

Atau<br />

type[] var-name;<br />

Berikut contoh – contoh deklarasi array di Java :<br />

• int numbers[];<br />

• char[] letters;<br />

• long grid[][];<br />

Berikut contoh pendeklarasian array dengan menspesifikasikan ukuran spesifiknya menggunakan<br />

operator new():<br />

char alphabet[] = new() char [26];<br />

int primes = {7, 11, 13};<br />

Pemrograman Berbasis Objek - 2011<br />

2


<strong>Array</strong> 1 Dimensi<br />

<strong>Array</strong> 1 dimensi pada dasarnya senarai (deretan) variabel bertipe serupa. Bentuk umum new()untuk<br />

array 1 dimensi adalah sebagai berikut :<br />

array-var = new() type[size]<br />

Keterangan : type menspesifikasikan tipe data yang dialokasikan, size<br />

menspesifikasikan jumlah dari elemen array, dan array-var adalah variabel array yang<br />

dirangkai ke array.<br />

Perhatikan contoh berikut :<br />

monthDays = new() int[12];<br />

Setelah pernyataan diatas dieksekusi, monthDays akan mengacu ke array berisi 12 bilangan int, kedua<br />

belas angka tersebut dinisialisasi dengan nol.<br />

Catatan :<br />

Proses untuk dapat memperoleh array ialah 2 langkah, yaitu:<br />

1. Deklarasi variabel dari tipe array yang dikehendaki.<br />

2. Alokasi memori yang akan menyimpan array menggunakan operator new() dan<br />

memberikannya ke variable array.<br />

Pemrograman Berbasis Objek - 2011<br />

3


Semua array dimulai dengan indeks nol. Berikut contoh untuk memberikan nilai 29 ke elemen kedua<br />

dari monthDays, digunakan perintah :<br />

monthDays[1] = 29;<br />

Berikut ini untuk menampilkan nilai yang disimpan pada indeks 3, yaitu:<br />

System.out.println(monthDays[3]);<br />

Berikut ini salah satu contoh untuk array yang berisi jumlah hari maksimum di masing–masing<br />

bulan :<br />

Class Bulan //deklarasi class<br />

{<br />

public static void main(String[]args) //main method<br />

{<br />

//deklarasi var array<br />

int monthDays[];<br />

monthDays = new int[12];<br />

//isi var array<br />

mounthDays[0] = 31;<br />

mounthDays[1] = 29;<br />

mounthDays[2] = 31;<br />

mounthDays[3] = 30;<br />

mounthDays[4] = 31;<br />

mounthDays[5] = 30;<br />

mounthDays[6] = 31;<br />

mounthDays[7] = 31;<br />

mounthDays[8] = 30;<br />

Pemrograman Berbasis Objek - 2011<br />

4


mounthDays[9] = 31;<br />

mounthDays[10] = 30;<br />

mounthDays[11] = 31;<br />

//cetak tulisan dan isi var array mounthDays indeks ke 7.<br />

System.out.println("Agustus mempunyai "+mounthDays[7]+" hari");<br />

}<br />

}<br />

Output :<br />

Agustus mempunyai 31 hari<br />

Pemrograman Berbasis Objek - 2011<br />

5


<strong>Array</strong> Multi Dimensi<br />

<strong>Array</strong> multidimensi diimplementasikan sebagai array yang terletak didalam array. <strong>Array</strong> multidimensi<br />

dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama array.<br />

Contoh :<br />

<strong>Array</strong> 2 dimensi bertipe int bernama intDArr dideklarasikan dan dibuat dengan perintah sebagai berikut :<br />

int int2DArr[][] = new() int [4][5];<br />

Keterangan :<br />

Perintah ini mendeklarasikan dan mengalokasikan array 4 kali 5 dan memberikan ke variabel<br />

int2DArr. Secara internal matriks ini diimplementasikan sebagai array dari array bertipe<br />

int<br />

inisialisasi<br />

Inisialisasi array multidimensi, yaitu kita cukup mengapit masing inisialisasi dimensi dengan satu<br />

pasangan kurung kurawal.<br />

Pemrograman Berbasis Objek - 2011<br />

6


Berikut contoh listing program yang memberikan angka ke masing – masing elemen di array dari kiri ke<br />

kanan, puncak ke bawah, kemudian menampilkan masing – masing elemen :<br />

class Multidimensi // deklarasi class<br />

{<br />

public static void main(String[]args) //main method<br />

{<br />

//deklarasi variabel array dan variabel k<br />

int 2DArr[][] = new int[4][5];<br />

int k=0;<br />

//perulangan untuk menginput data array<br />

for(int i=0; i


perulangan untuk menampilkan data array<br />

for(int i=0; i


Percabangan<br />

Jenis percabangan di java, yaitu: If, if-else, dan switch.<br />

Percabangan if<br />

Pernyataan if akan menentukan sebuah pernyataan (atau blok kode) yang akan eksekusi jika dan hanya<br />

jika persyaratan bernilai benar(true).<br />

Bentuk dari pernyataan if :<br />

if ─ (- Expression -) ─ Statement<br />

else Statement<br />

atau<br />

if( boolean_expression ) atau if( boolean_expression )<br />

{<br />

statement1;<br />

statement2;<br />

...........<br />

}<br />

Catatan :<br />

dimana, boolean_expression adalah sebuah<br />

penyataan logika (true/false) atau variabel<br />

bertipe boolean.<br />

Pemrograman Berbasis Objek - 2011<br />

9


Contoh program bentuk percabangan if :<br />

Output :<br />

Variabel anInt bernilai nol<br />

Contoh program if diatas dapat diringkas sebagai berikut :<br />

Output :<br />

Variabel anInt bernilai nol<br />

Keterangan : kedua program diatas menghasilkan output yang sama karena inti programnya sama yaitu<br />

mencetak tulisan “Variabel anInt bernilai nol” jika isi var anInt = 0.<br />

Pemrograman Berbasis Objek - 2011<br />

10


Percabangan if-else<br />

Pernyataan if-else digunakan apabila kita ingin mengeksekusi beberapa pernyataan dengan kondisi<br />

true dan pernyataan yang lain dengan kondisi false.<br />

Berikut bentuk umum pernyataan if-else:<br />

if (condition or Boolean expression)<br />

statement1<br />

else<br />

statement2<br />

Catatan :<br />

Jika condition atau Boolean expression dievaluasi bernilai true, maka<br />

statement1 dieksekusi, sedangkan jika condition atau Boolean expression<br />

dievaluasi bernilai false, maka statement2 yang dieksekusi.<br />

Pemrograman Berbasis Objek - 2011<br />

11


Contoh program bentuk percabangan if else:<br />

Output :<br />

Variabel anInt tidak bernilai nol<br />

Keterangan : karena var anInt bernilai 1 maka statement di else yang dieksekusi, yaitu cetak tulisan<br />

“Variabel anInt tidak bernilai nol”.<br />

Bahasa Java menyediakan beragam kendali percabangan tidak lokal, yaitu : break, return, dan continue.<br />

• Break<br />

• Return<br />

• Continue<br />

Pemrograman Berbasis Objek - 2011<br />

12


Break<br />

Istilah break mengacu pada proses memecahkan blok program. Proses tersebut memerintahkan runtime<br />

untuk menjalankan program di belakang blok tertentu. Untuk dapat ditunjuk, suatu blok diberi nama,<br />

dan Java memiliki bentuk label untuk menyatakan nama suatu blok.<br />

Contoh :<br />

class ContohBreak //deklarasi class<br />

{<br />

public static void main(String[]args) //main method<br />

{<br />

boolean t=true; //deklarasi variabel t<br />

{<br />

b: //label b<br />

{<br />

{<br />

System.out.println("Sebelum break"); //cetak tulisan<br />

//seleksi if, karena var t bernilai true maka break label b<br />

if(t)<br />

break b;<br />

System.out.println("Ini tidak akan dieksekusi");<br />

}<br />

System.out.println("Ini tidak akan dieksekusi");<br />

}<br />

System.out.println("Ini adalah setelah b");<br />

}<br />

}<br />

}<br />

Output:<br />

Sebelum break<br />

Ini adalah setelah b<br />

Pemrograman Berbasis Objek - 2011<br />

13


Return<br />

Java menggunakan bentuk sub-rutin yang disebut method untuk mengimplementasikan antarmuka<br />

procedural ke kelas objek. Setiap saat dalam method dapat digunakan pernyataan return yang<br />

menyebabkan eksekusi mencabang kembali ke pemanggil method.<br />

Contoh :<br />

Output :<br />

Before the return<br />

Pemrograman Berbasis Objek - 2011<br />

14


Continue<br />

Seringkali kita ingin keluar lebih cepat dari perulangan ataumungkin juga ingin meneruskan perulangan,<br />

tetapi harus menghentikan sisa proses pada program untuk iterasi yang bersangkutan. Pernyataan<br />

continue di Java melakukan persis seperti itu.<br />

Contoh program penggunaan continue yang menyebabkan 2 bilangan dicetak dalam setiap baris :<br />

Output:<br />

01<br />

23<br />

45<br />

67<br />

89<br />

Pemrograman Berbasis Objek - 2011<br />

15


Percabangan switch<br />

Percabangan switch dimaksudkan untuk menangani banyak kemungkinan kemunculan.<br />

Berikut ini bentuk umum percabangan switch :<br />

switch (expression) {<br />

case valeue1:<br />

break;<br />

case value2;<br />

break;<br />

case valueN;<br />

break;<br />

default;<br />

}<br />

Pemrograman Berbasis Objek - 2011<br />

16


Contoh:<br />

Output:<br />

Lima<br />

Enam<br />

Tujuh<br />

Delapan<br />

Sembilan<br />

bukan karakter digit<br />

Pemrograman Berbasis Objek - 2011<br />

17


Perulangan<br />

Terdapat beberapa jenis perulangan pada Java, yaitu for, while, dan do while.<br />

Perulangan for<br />

Berikut bentuk dasar perulangan for :<br />

for(InitializationExpression; LoopCondition; StepExpression)<br />

Statement;<br />

Atau<br />

for(InitializationExpression; LoopCondition; StepExpression)<br />

{<br />

Statement1;<br />

Statement2;<br />

...........<br />

}<br />

Keterangan:<br />

• InitializationExpression, digunakan untuk inisialisasi variabel kendali perulangan.<br />

• LoopCondition, membandingkan variabel kendali perulangan dengan suatu nilai batas.<br />

• StepExpression, menspesifkasikan cara variabel kendali dimodifikasi sebelum iterasi<br />

berikutnya dari perulangan.<br />

Pemrograman Berbasis Objek - 2011<br />

18


Contoh:<br />

Output:<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

Keterangan : potongan program di atas mencetak isi var i secara berulang dimana perulangan dimulai<br />

dari nilai awal var i = 1 sampai var i < 11 dan dengan step isi var i ditambah 1 (increment 1).<br />

Pemrograman Berbasis Objek - 2011<br />

19


Pernyataan for-loop Bersarang<br />

Java memungkinkan loop yang disarangkan di loop yang lain. Satu loop berada didalam loop yang lainnya.<br />

Contoh:<br />

public class Loop<br />

{<br />

public static void main(String[]args)<br />

{<br />

}<br />

for(int i=0;ii;j--) //cetak * dari j=5 sampai j>i, step j--<br />

{<br />

}<br />

System.out.println("*");<br />

System.out.println();<br />

}<br />

Pemrograman Berbasis Objek - 2011<br />

20


Output :<br />

*<br />

*<br />

*<br />

*<br />

*<br />

*<br />

*<br />

*<br />

*<br />

*<br />

*<br />

*<br />

Pemrograman Berbasis Objek - 2011<br />

21


Perulangan while<br />

Pengulangan while mempunyai kondisi yang mengendalikan pernyataan perulangan. Berikut bentuk<br />

dasar perulangan while :<br />

[initialization;]<br />

while (Pernyataan boolean/ LoopCondition/ Termination) {<br />

Statement;<br />

[iteration;]<br />

}<br />

Catatan:<br />

Jika LoopCondition/ pernyataan boolean dievaluasi true, maka statement dieksekusi<br />

dan proses terus berlanjut berulang kali. Penting diketahui bahwa LoopCondition<br />

muncul sebelum badan dari pernyataan. Ini berarti jika LoopCondition sejak semula<br />

dievaluasi false, maka statement tidak pernah dieksekusi. Hal ini merupakan<br />

perbedaan penting antara perulangan while dengan perulangan do-while.<br />

Pemrograman Berbasis Objek - 2011<br />

22


Contoh:<br />

Pemrograman Berbasis Objek - 2011<br />

23


Perulangan do-while<br />

Bentuk umum atau bentuk dasar perulangan do – while :<br />

[initialization;]<br />

do {<br />

Statement;<br />

[iteration;]<br />

} while(Pernyataan boolen/ LoopCondition/ Termination);<br />

Contoh :<br />

Catatan:<br />

Pada contoh program do-while<br />

diatas, kita menggunakan<br />

pernyataan (--n > 0) untuk<br />

memeriksa kondisi perulangan<br />

do-while. Pernyataan --n<br />

dijalankan, lalu n dikurangi 1,<br />

sehingga menghasilkan nilai<br />

baru n. Kemudian n<br />

dibandingkan dengan nol. Jika<br />

masih lebih besar dari nol,<br />

perulangan diteruskan, jika tidak<br />

maka dihentikan.<br />

Pemrograman Berbasis Objek - 2011<br />

24


Latihan Program<br />

Berikut ini adalah contoh program sederhana membuat matriks 3x3 dengan menggunakan array 2<br />

dimensi dan perulangan for. Ikutilah langkah-langkah berikut :<br />

Step 1 :<br />

Buka dan ketikan program pada teks editor notepad++ Anda.<br />

• Simpan nama file sama seperti nama classnya, yaitu : <strong>Array</strong>2D.java<br />

Misal disimpan pada direktori D folder “praktikan” <strong>Array</strong>2D.java<br />

• Ketikkan program berikut pada teks editor Anda.<br />

import java.io.*;<br />

*Deklarasikan class<br />

.........................................<br />

{<br />

public static void main(String[] args) //main method<br />

{<br />

// deklarasi var masuk sbg inputan utama<br />

DataInputStream masuk=new DataInputStream(System.in);<br />

try //try dan catch digunakan untuk menangani kesalahan<br />

{<br />

*Dekalarasi var array angka 2 dimensi, dengan indeks dimensi masing masing 3 bertipe integer<br />

…………………………….<br />

Pemrograman Berbasis Objek - 2011<br />

25


for(int i=0;i


catch(Exception e)<br />

{<br />

System.out.println("Salah Input");<br />

}<br />

}<br />

*Tutup program dengan mengetikkan tanda }<br />

.....<br />

Keterangan :<br />

perulangan for(int i=0;i


Step 2 :<br />

Ikuti langkah berikut untuk meng-compile program yang telah Anda buat.<br />

• Buka command prompt Anda.<br />

• Masuk ke direktori dan folder tempat program tersebut disimpan.<br />

Misal program disimpan pada direktori D folder “praktikan”<br />

Perintah masuk/pindah ke direktori D, ketik D:<br />

Perintah masuk ke folder “praktikan”, ketik cdpraktikan<br />

• Setelah masuk ke direktori dan folder yang dituju, untuk meng-compile program Anda ketikkan<br />

perintah :<br />

Contoh :<br />

Step 3 :<br />

javacNamaFile.java<br />

javac <strong>Array</strong>2D.java<br />

Untuk menjalankan program yang telah Anda buat, ketikkan perintah :<br />

Contoh :<br />

javaNamaFile<br />

java <strong>Array</strong>2D<br />

Pemrograman Berbasis Objek - 2011<br />

28


Tampilan Output<br />

Pemrograman Berbasis Objek - 2011<br />

29


Koreksi Latihan Program<br />

import java.io.*;<br />

class <strong>Array</strong>2D //deklarasikan class<br />

{<br />

public static void main(String[] args) //main method<br />

{<br />

// deklarasi var masuk sbg inputan utama<br />

DataInputStream masuk=new DataInputStream(System.in);<br />

try //try dan catch digunakan untuk menangani kesalahan<br />

{<br />

int[][]angka=new int[3][3]; // dekalarasi var array angka 2 dimensi, dengan<br />

indeks dimensi masing masing 3 bertipe integer<br />

for(int i=0;i


input data ke var angka[i][j]<br />

angka[i][j]=Integer.parseInt(masuk.readLine());<br />

}<br />

}<br />

System.out.println("Matrik array 2 dimensi"); //program mencetak matriks 3x3<br />

for(int i=0;i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!