Array - iLab
Array - iLab
Array - iLab
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