bab3_ahmad syu'a'ul amin alfarisyii_155150201111011

32
LAPORAN PRAKTIKUM PEMROGRAMAN DASAR PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA BAB : PERULANGAN NAMA : AHMAD SYU’A’UL AMIN AL FARISYII NIM : 155150201111011 TANGGAL : 16/11/2015 ASISTEN : - FIRDAUS RAHMAN - ISTANIA SALMA A. DEFINISI MASALAH 1. Buatlah program dengan tampilan sebagai berikut : Masukkan nilai n = 4 * * * * * * * * * * 2. Buatlah looping yang menuliskan nama anda secara vertikal, dengan huruf yang sesuai dengan huruf yang di tulisan Contoh menuliskan A : A A A A A A A A A A A A A A 3. Buatlah program sederhana untuk menghitung beberapa volume bidang dengan tampilan awal sebagai berikut : MENU 0. KELUAR 1. HITUNG VOLUME BALOK 2. HITUNG VOLUME BOLA 3. HITUNG VOLUME KERUCUT 4. HITUNG VOLUME SILINDER 5. HITUNG VOLUME LIMAS SEGITIGA

Upload: faris-utowo-syuaul

Post on 28-Jan-2016

250 views

Category:

Documents


11 download

DESCRIPTION

Laporan pemrograman Dasar

TRANSCRIPT

Page 1: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

LAPORAN PRAKTIKUM PEMROGRAMAN DASARPROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTERUNIVERSITAS BRAWIJAYA

BAB : PERULANGANNAMA : AHMAD SYU’A’UL AMIN AL FARISYIINIM : 155150201111011TANGGAL : 16/11/2015ASISTEN : - FIRDAUS RAHMAN

- ISTANIA SALMA

A. DEFINISI MASALAH

1. Buatlah program dengan tampilan sebagai berikut : Masukkan nilai n = 4 * * * * * * * * * *

2. Buatlah looping yang menuliskan nama anda secara vertikal, dengan huruf yang sesuai dengan huruf yang di tulisan

Contoh menuliskan A : A A A A A A A A A A A A A A

3. Buatlah program sederhana untuk menghitung beberapa volume bidang dengan tampilan awal sebagai berikut :

MENU 0. KELUAR 1. HITUNG VOLUME BALOK 2. HITUNG VOLUME BOLA 3. HITUNG VOLUME KERUCUT 4. HITUNG VOLUME SILINDER 5. HITUNG VOLUME LIMAS SEGITIGA

MASUKKAN PILIHAN ANDA :

B. SOURCE CODE

1.1234

import java.util.Scanner;public class Bintang {

public static void main(String[] args) {Scanner ma=new Scanner(System.in);

Page 2: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

56789101112131415161718

int a, b, c, d;System.out.print("masukkan nilai = ");a=ma.nextInt();for (b=1;b<=a;b++) {

for (c=(a-1);c>=b; c--) {System.out.print(" ");

}for (d=1; d<=b; d++) {

System.out.print("*");}

System.out.print("\n");}}

}

2.123456789101112131415161718192021222324252627282930313233343536373839404142

public class Nama { public static void main(String[] args){ int baris, kolom; System.out.print(" "); System.out.print("A"); for (baris = 0; baris <=7; baris++) { for (kolom = 0; kolom <= 12; kolom++) { if (baris == 1 && kolom == 1) { System.out.print(" "); System.out.print("A"); System.out.print(" "); System.out.print("A"); } else if (baris == 2 && (kolom == 4 || kolom == 8)) { System.out.print("A"); } else if (baris == 3 && (kolom == 3 || kolom == 5 || kolom == 7 || kolom == 9)) { System.out.print("A"); } else if (baris == 4 && (kolom == 2 || kolom == 10)) { System.out.print("A"); } else if (baris == 5 && (kolom == 1 || kolom == 11)) { System.out.print("A"); } else if (baris == 6 && (kolom == 0 || kolom == 12)) { System.out.print("A"); } else { System.out.print(" "); } } System.out.println(" "); } int a, b, line = 7; for (a = 1; a <= line; a++) { if (a == line) { System.out.println(" U U U U U "); } else { System.out.println("U U"); } } System.out.println("");

Page 3: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

4344454647484950515253

int d, e, bar = 7; for (d = 1; d <= bar; d++) { if (d == bar) { System.out.println("L L L L L L L"); } else { System.out.println("L"); } } System.out.println(""); }}

3.123456789101112131415161718192021222324252627282930313233343536373839404142434445

import java.util.Scanner;public class NewClass { public static void main(String[] args) { Scanner ma = new Scanner(System.in); int menus; double v, p, l, t, s, r, tlm, a; final double PHI = 3.142; boolean c = true; System.out.println("Menu : "); System.out.println("0. Keluar "); System.out.println("1. Hitung volume balok "); System.out.println("2. Hitung volume bola "); System.out.println("3. Hitung volume kerucut "); System.out.println("4. Hitung volume silinder "); System.out.println("5. Hitung volume limas segitiga "); System.out.println(" "); while (c == true) { System.out.print("Masukkan pilihan anda : "); menus = ma.nextInt(); switch (menus) { case 0: c = false; System.out.println("Keluar dari program"); break; case 1: System.out.print("panjang : "); p = ma.nextInt(); System.out.print("lebar : "); l = ma.nextInt(); System.out.print("tinggi : "); t = ma.nextInt(); v = p * l * t; System.out.println("Volume balok = " + v); break; case 2: System.out.print("jari-jari : "); r = ma.nextInt(); v = (r * r * r * 4 * PHI) / 3; System.out.println("Volume bola : " + v); break; case 3: System.out.print("jari-jari : "); r = ma.nextInt(); System.out.print("tinggi : "); t = ma.nextInt();

Page 4: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

464748495051525354555657585960616263646566676869707172

v = (r * r * t * PHI) / 3; System.out.println("Volume kerucut : " + v); break; case 4: System.out.print("jari-jari : "); r = ma.nextInt(); System.out.print("tinggi : "); t = ma.nextInt(); v = (r * r * t * PHI); System.out.println("Volume silinder : " + v); break; case 5: System.out.print("panjang : "); a = ma.nextInt(); System.out.print("lebar : "); t = ma.nextInt(); System.out.print("tinggi : "); tlm = ma.nextInt(); v = ((a * t * tlm) / 2) / 3; System.out.println("Volume limas segitiga : " + v); break; } } }}

C. PEMBAHASAN

1.12345678

9

101112

131415161718

Mengimpor utilitas Scanner dari package ScannerDeklarasi class dengan nama bintangDeklarasi method mainInisialisasi scanner dengan nama ma agar dapat dipanggilDeklarasi variabel a, b, c, dan d yang disimpan dalam tipe data integerMencetak tulisan “Masukkan nilai: ”Memberikan input-an dan menyimpan input-an sebagai nilai data variabel aMengaplikasikan perulangan for dengan syarat variabel b diinisialisasi menjadi b=1, batas b<=a, dan increement b++ untuk mengupdate nilai data variabel bMengaplikasikan perulangan for dengan syarat variabel c diinisialisasi menjadi c=(a-1), batas c<=b, dan decreement c-- untuk mengupdate nilai data variabel cMencetak spasiKurawal penutup perulanganMengaplikasikan perulangan for dengan syarat variabel d diinisialisasi menjadi d=1, batas d<=b, dan increement d++ untuk mengupdate nilai data variabel dMencetak tulisan “*”Kurawal penutup perulanganMencetak agar kursor berada di baris baruKurawal penutup perulanganKurawal penutup method mainKurawal penutup class

Page 5: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

2.123456

7

8910111213

141516

171819

202122

232425

26272829303132333435363738394041

Deklarasi class dengan nama NamaDeklarasi method mainDeklarasi variabel baris dan kolom yang disimpan dalam tipe data integerMencetak spasi “ “Mencetak tulisan “A”Mengaplikasikan perulangan for dengan syarat variabel baris diinisialisasi menjadi baris=0, batas baris<=7, dan increement baris++ untuk mengupdate nilai data variabel barisMengaplikasikan perulangan for dengan syarat variabel kolom diinisialisasi menjadi kolom=0, batas kolom<=7, dan increement kolom++ untuk mengupdate nilai data variabel kolomMendeklarasikan if dengan parameter baris==1 dan kolom==1Mencetak tulisan “ ”Mencetak tulisan “A”Mencetak tulisan “ ”Mencetak tulisan “A”Mendeklarasikan else-if dengan parameter baris == 2 && (kolom == 4 || kolom == 8)Sintaks lanjutan dari sintaks baris ke-13Mencetak tulisan “A”Mendeklarasikan else-if dengan parameter baris == 3 && (kolom == 3 || kolom == 5 || kolom == 7 || kolom == 9)Sintaks lanjutan dari sintaks baris ke-16Mencetak tulisan “A”Mendeklarasikan else-if dengan parameter baris == 4 && (kolom == 2 || kolom == 10)Sintaks lanjutan dari sintaks baris ke-19Mencetak tulisan “A”Mendeklarasikan else-if dengan parameter baris == 5 && (kolom == 1 || kolom == 11)Sintaks lanjutan dari sintaks baris ke-22Mencetak tulisan “A”Mendeklarasikan else-if dengan parameter baris == 6 && (kolom == 0 || kolom == 12)Sintaks lanjutan dari sintaks baris ke-25Mencetak tulisan “A”Mendeklarasikan elseMencetak tulisan “ ”Kurawal penutup deklarasi else-ifKurawal penutup pengulanganMencetak agar kursor berada di baris baruKurawal penutup pengulanganDeklarasi variabel a, b, dan line=7 yang disimpan dalam tipe data integerMengaplikasikan perulangan for dengan syarat variabel a diinisialisasi menjadi a=1, batas a<=line, dan increement a++ untuk mengupdate nilai data variabel aMendeklarasikan if dengan parameter a==lineMencetak tulisan “ U U U U U ”Mendeklarasikan else sebagai pilihan lain selain parameter yang ada pada if di atasMencetak tulisan “U U”Kurawal penutup else

Page 6: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

4243444546474849505152535455

Kurawal penutup ifMencetak agar kursor berada di baris baruDeklarasi variabel d, e, dan bar=7 yang disimpan dalam tipe data integerMengaplikasikan perulangan for dengan syarat variabel d diinisialisasi menjadi d=1, batas d<=bar, dan increement d++ untuk mengupdate nilai data variabel dMendeklarasikan if dengan parameter d==barMencetak tulisan “L L L L L L L”Mendeklarasikan else sebagai pilihan lain selain parameter yang ada pada if di atasMencetak tulisan “L”Kurawal penutup elseKurawal penutup ifMencetak agar kursor berada di baris baruKurawal penutup method mainKurawal penutup class

3.123456789101112131415161718192021222324252627282930313233343536

Mengimpor utilitas Scanner dari package ScannerDeklarasi class dengan nama NewClassDeklarasi method mainInisialisasi scanner dengan nama ma agar dapat dipanggilDeklarasi variabel menus yang disimpan dalam tipe data integerDeklarasi variabel v, p, l, t, s, r, tlm, dan a yang disimpan dalam tipe data doubleDeklarasi konstanta PHI=3.142 yang disimpan dalam tipe data doubleDeklarasi variabel c=true yang disimpan dalam tipe data booleanMencetak tulisan “Menu : ”Mencetak tulisan “0. Keluar ”Mencetak tulisan “1. Hitung volume balok ”Mencetak tulisan “2. Hitung volume kerucut”Mencetak tulisan “3. Hitung volume bola”Mencetak tulisan “4. Hitung volume silinder”Mencetak tulisan “5. Hitung volume limas segitiga”Mencetak tulisan “ ”Mengaplikasikan perulangan whileMencetak tulisan “masukkan pilihan anda : ”Memberikan input-an dan menyimpan input-an sebagai nilai data variabel menusMengaplikasikan switchMengaplikasikan case 0Menginisiasikan variabel c menjadi falseMencetak tulisan “Keluar dari program”Mengaplikasikan breakMengaplikasikan case 1Mencetak tulisan “panjang : ”Memberikan input-an dan menyimpan input-an sebagai nilai data variabel pMencetak tulisan “lebar : ”Memberikan input-an dan menyimpan input-an sebagai nilai data variabel lMencetak tulisan “tinggi : ”Memberikan input-an dan menyimpan input-an sebagai nilai data variabel tProses operasi aritmatika v = p * l * tMencetak tulisan “Volume balok : ” dan variabel vMengaplikasikan breakMengaplikasikan case 2Mencetak tulisan “jari-jari : ”

Page 7: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

373839404142434445464748495051525354555657585960616263646566676869707172

Memberikan input-an dan menyimpan input-an sebagai nilai data variabel rProses operasi aritmatika v = (r * r * r * 4 * PHI) / 3Mencetak tulisan “Volume bola : ” dan variabel vMengaplikasikan breakMengaplikasikan case 3Mencetak tulisan “jari-jari : ”Memberikan input-an dan menyimpan input-an sebagai nilai data variabel rMencetak tulisan “tinggi : ”Memberikan input-an dan menyimpan input-an sebagai nilai data variabel tProses operasi aritmatika v = (r * r * t * PHI) / 3Mencetak tulisan “Volume kerucut : ” dan variabel vMengaplikasikan breakMengaplikasikan case 4Mencetak tulisan “jari-jari : ”Memberikan input-an dan menyimpan input-an sebagai nilai data variabel rMencetak tulisan “tinggi : ”Memberikan input-an dan menyimpan input-an sebagai nilai data variabel tProses operasi aritmatika v = (r * r * t * PHI)Mencetak tulisan “Volume silinder : ” dan variabel vSintaks lanjutan dari sintaks baris ke-66Mengaplikasikan breakMengaplikasikan case 5Mencetak tulisan “panjang : ”Memberikan input-an dan menyimpan input-an sebagai nilai data variabel aMencetak tulisan “lebar : ”Memberikan input-an dan menyimpan input-an sebagai nilai data variabel tMencetak tulisan “tinggi : ”Memberikan input-an dan menyimpan input-an sebagai nilai data variabel tlmProses operasi aritmatika v = ((a * t * tlm) / 2) / 3Mencetak tulisan “Volume limas segitiga : ” dan variabel vMengaplikasikan breakSintaks lanjutan dari sintaks baris ke-66Kurawal penutup switchKurawal penutup perulangan whileKurawal penutup method mainKurawal penutup class

D. SCREENSHOT PROGRAM

Soal 1

Page 8: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

Soal 2

Page 9: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

Soal 3

Page 10: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

E. PRAKTIKUM

A. Looping For 1. Jelaskan dan perbaiki jika menemui kesalahan!

Jawab: Tidak ditemukan kesalahan. Program ini merupakan program untuk melakukan perulangan angka 1 hingga angka 10. Perulangan yang digunakan ialah perulangan for. For yang digunakan memiliki syarat (nilai=1;nilai<=10;nilai++) dan mengoutputkan angka 1 hingga 10.

2. Apa fungsi dan variabel nilai dalam statemen for?Jawab: Variabel nilai ialah sebagai variabel looping yang akan menjadi bahan yang akan diolah dalam proses looping. Dan fungsi dari variabel looping ialah dia sebagai penyimpan data saat proses looping.

3. Dalam statemen for hapus StepExpression , kemudian apa yang terjadi, jelaskan!

Page 11: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

Jawab:Setelah bagian StepExpression dihapus, kode akan menjadi seperti ini:

public class LoopFor {

public static void main(String[] args) { int nilai; for (nilai = 1; nilai <= 10;) { System.out.println(nilai); } }} dan akan mengeluarkan output seperti ini:

Program akan berjalan terus menerus kecuali dihentikan secara manual. Dan program hanya mencetak angka 1 karena tidak adanya StepExpression yang seharusnya mengupdate nilai data dari variabel nilai. Dan dengan tidak adanya update, nilai data dari variabel nilai tetap dan tidak akan pernah melanggar syarat perulangan dimana bila persyaratan perulangan dilanggar, program akan berhenti. Karena tidak melanggar syarat pengulangan, maka program akan berjalan terus menerus.

4. Dalam statement for hapus satu persatu secara bergantian mulai dari InitializationExpression, LoopCondition, dan StepExpression , amati yang terjadi dan jelaskan! Jawab:Saat initializationExpression dihapus, kode akan menjadi seperti ini:

public class LoopFor {

public static void main(String[] args) { int nilai; for (; nilai <= 10; nilai++) { System.out.println(nilai); } }

Page 12: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

}

Dan outputnya:

Yang terjadi ialah error. Karena tidak adanya InitializationExpression, yang berarti tidak adanya inisialisasi variabel nilai sehingga program tak bisa dijalankan.

Saat Loopcondition yang dihapus, kode akan menjadi seperti ini:public class LoopFor {

public static void main(String[] args) { int nilai; for (nilai = 1;; nilai++) { System.out.println(nilai); } }}

Dan outputnya:

terjadi perulangan yang tak terbatas dan terus menerus karena tidak adanya LoopExpression sebagai pembatas perulangan.

Saat StepExpression dihapus, kode akan menjadi seperti ini:public class LoopFor {

Page 13: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

public static void main(String[] args) { int nilai; for (nilai = 1; nilai<=10;) { System.out.println(nilai); } }}

Dan outputnya:

Program akan berjalan terus menerus kecuali dihentikan secara manual. Dan program hanya mencetak angka 1 karena tidak adanya StepExpression yang seharusnya mengupdate nilai data dari variabel nilai. Dan dengan tidak adanya update, nilai data dari variabel nilai tetap dan tidak akan pernah melanggar syarat perulangan dimana bila persyaratan perulangan dilanggar, program akan berhenti. Karena tidak melanggar syarat pengulangan, maka program akan berjalan terus menerus.

B. Looping while 1. Jelaskan dan perbaiki jika menemui kesalahan!

Jawab:Tidak ditemukan kesalahan.Program tersebut ialah program untuk mengoutputkan angka 1 hingga 10. Perulangan yang digunakan ialah perulangan while dengan syarat while(nilai<=10) yang berarti ketika nilai lebih dari 10, maka perulangan akan berhenti.

2. Setelah mengamati hasil keluaran, sebutkan perbedaan looping dengan menggunakan for dan while! Jawab:Pengulangan for memiliki batas awal, batas akhir dan kenaikan yang telah ditentukan terlebih dahulu. Sedangkan pengulangan while memiliki batas pengulangan yang ada di awal dan program akan dihentikan sesuai dengan kondisi saat itu tidak sesuai dengan syarat atau batas pengulangan.

3. Hapus statemen i++ pada baris 6 kemudian amati yang terjadi dan jelaskan!Jawab:Setelah diubah, kode akan menjadi sepeti berikut:public class LoopWhile {

Page 14: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

public static void main(String[] args) { int nilai = 1; while (nilai <= 10) { System.out.println(nilai); } }}

Dan outputnya:

Program akan berjalan terus menerus kecuali dihentikan secara manual. Dan program hanya mencetak angka 1 karena tidak adanya increement nilai++ yang seharusnya mengupdate nilai data dari variabel nilai. Dan dengan tidak adanya update, nilai data dari variabel nilai tetap dan tidak akan pernah melanggar syarat perulangan dimana bila persyaratan perulangan dilanggar, program akan berhenti. Karena tidak melanggar syarat pengulangan, maka program akan berjalan terus menerus.

4. Ubah syntaks di atas untuk membuat deret angka kelipatan 2! Jawab:untuk membuat deret angka kelipatan 2, maka kode yang diganti ialah pada ‘int nilai=1;’ diganti dengan ‘int nilai=2;’. Lalu pada ‘nilai++;’ diganti dengan ‘nilai+=2;’ sehingga susunan kode setelah diubah menjadi seperti ini:

public class LoopWhile { public static void main(String[] args) { int nilai = 2; while (nilai <= 10) { System.out.println(nilai); nilai+=2; } }}

Dan outputnya seperti ini:

Page 15: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

C. Looping do-while 1. Jelaskan dan perbaiki jika menemui kesalahan!

Jawab:Tidak ditemukan kesalahan.Program tersebut mengoutputkan urutan angka dari 1 hingga 10 dengan menggunakan perulangan do-while yang berarti statement akan dijalankan terlebih dahulu lalu dievaluasi. Jika masih sesuai syarat, maka perulangan akan dilanjutkan. Apabila tidak, maka tidak akan dilanjutkan.

2. Setelah mengamati hasil keluaran, sebutkan perbedaan looping dengan menggunakan for, while dan do while! Jawab:Pengulangan for memiliki batas awal, batas akhir dan kenaikan yang telah ditentukan terlebih dahulu. Sedangkan pengulangan while memiliki batas pengulangan yang ada di awal dan program akan dihentikan sesuai dengan kondisi saat itu tidak sesuai dengan syarat atau batas pengulangan. Dan pada pengulangan do-while, program akan menjalan pernyataan dahulu lalu dibandingkan dengan persyaratan loop. Apabila benar, maka akan dilanjutkan. Apabila salah, maka akan dihentikan.

3. Hapus statement i++ pada baris 6, amati yang terjadi dan jelaskan!Jawab:Setelah dihapus i++ pada baris ke-6, kode akan berubah menjadi seperti berikut:public class LoopWhileDo { public static void main(String[] args) { int nilai = 1; do { System.out.println(nilai); } while (nilai <= 10); }}

dan outputnya seperti berikut:

Page 16: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

Program akan berjalan terus menerus kecuali dihentikan secara manual. Dan program hanya mencetak angka 1 karena tidak adanya increement nilai++ yang seharusnya mengupdate nilai data dari variabel nilai. Dan dengan tidak adanya update, nilai data dari variabel nilai tetap dan tidak akan pernah melanggar syarat perulangan dimana bila persyaratan perulangan dilanggar, program akan berhenti. Karena tidak melanggar syarat pengulangan, maka program akan berjalan terus menerus.

4. Ubah nilai dari variabel nilai baris ke 3 menjadi 11, amati yang terjadi dan jelaskan! Jawab:Setelah nilai dari variabel nilai pada baris ke-3 menjadi 11, kode akan berubah menjadi seperti berikut:public class LoopWhileDo { public static void main(String[] args) { int nilai = 11; do { System.out.println(nilai); nilai++; } while (nilai <= 10); }}

dan outputnya seperti berikut:

Program akan menjalankan menjalankan sesuai dengan statement yakni mengoutputkan nilai dari variabel nilai yakni angka 11. Lalu ternyata nilai data dari variabel nilai itu tidak cocok dengan syarat perulangan yakni

Page 17: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

nilai<=10 sehingga program dihentikan dan output yang dihasilkan seperti terlihat pada gambar di atas yakni hanya angka 11.

D. Break and continue 1. Jelaskan dan perbaiki jika menemui kesalahan!

Jawab:Tidak ditemukan kesalahan.

2. Jelaskan alur logika untuk pernyataan break dan continue pada program diatas!Jawab:Pada pengulangan pertama yang terdapat sintaks ‘break’, variabel nilai pertama-tama diinisialisasi dengan nilai data 1. Lalu diseleksi apakah ekivalen dengan 5, lalu apabila tidak ekivalen akan menggunakan sintaks else yang berisi pernyataan untuk mengoutputkan nilai data dari variabel nilai. Setelah dioutputkan, nilai data tersebut akan diupdate lagi oleh StepExpression yakni increement nilai++ sehingga nilai ditambah satu menjadi dua dan akan diseleksi lagi apakah ekivalen dengan 5, bila tidak maka mengeksekusi pernyataan pada else. Dan di update lagi. Hal itu terjadi terus menerus hingga nilai data dari variabel nilai setelah diupdate bernilai ekivalen dengan 5. Dengan ekivalennya nilai data tersebut, maka pengulangan akan dihentikan karena adanya sintaks ‘break’.

Pada pengulangan kedua yang terdapat sintaks ‘continue’, variabel nilai pertama-tama diinisialisasi dengan nilai data 1. Lalu diseleksi apakah ekivalen dengan 5, lalu apabila tidak ekivalen akan menggunakan sintaks else yang berisi pernyataan untuk mengoutputkan nilai data dari variabel nilai. Setelah dioutputkan, nilai data tersebut akan diupdate lagi oleh StepExpression yakni increement ‘nilai++’ sehingga nilai ditambah satu menjadi dua dan akan diseleksi lagi apakah ekivalen dengan 5, bila tidak maka mengeksekusi pernyataan pada else. Dan di update lagi. Hal itu terjadi terus menerus hingga nilai data dari variabel nilai setelah diupdate bernilai ekivalen dengan 5. Dengan ekivalennya nilai data tersebut, maka pernyataan setelah sintaks continue akan dilewati dan langsung ke sintaks for untuk melanjutkan pengulangan hingga pengulangan berakhir.

3. Hapus pernyataan break pada baris 7 dan tuliskan kembali pernyataan break setelah else baris ke 8, amati yang terjadi dan jelaskan!Jawab:Setelah break pada baris ke-7 dihapus dan dituliskan kembali di baris ke-9 setelah else, kode akan berubah menjadi seperti berikut:public class BreakContinue { public static void main(String[] args) { int nilai; System.out.println("pernyataan break batas 10"); for (nilai = 1; nilai <= 10; nilai++) { if (nilai == 5) { } else { break; System.out.println(nilai); } }

Page 18: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

System.out.println(); System.out.println("pernyataan continue batas 10"); for (nilai = 1; nilai <= 10; nilai++) { if (nilai == 5) { continue; } else { System.out.println(nilai); } } }}

dan output yang dihasilkan seperti berikut:

Program tidak akan mengeksekusi pernyataan-pernyataan pada perulangan pertama yakni yang terdapat sintaks ‘break’ sebelum pernyataan-pernyataan dan akan melewatinya menuju ke perulangan selanjutnya dan mengeksekusinya dan menghasilkan output seperti gambar di atas.

4. Pada if penyataan continue baris ke 14 ubah pernyataan sama dengan (==) menjadi pernyataan kurang dari samadengan (<=)!Jawab:Setelah kode diubah, akan menghasilkan kode seperti berikut:public class BreakContinue { public static void main(String[] args) { int nilai; System.out.println("pernyataan break batas 10"); for (nilai = 1; nilai <= 10; nilai++) { if (nilai == 5) { break; } else System.out.println(nilai); } System.out.println(); System.out.println("pernyataan continue batas 10"); for (nilai = 1; nilai <= 10; nilai++) { if (nilai <= 5) { continue;

Page 19: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

} else { System.out.println(nilai); } } }}

dan output yang dihasilkan:

Penjelasan:Program mengeksekusi looping pertama sehingga menghasilkan output 1 2 3 4 lalu ‘break’ dan lanjut mengeksekusi looping selanjutnya. Karena pada if penyataan continue baris ke 14 ubah pernyataan sama dengan (==) menjadi pernyataan kurang dari samadengan (<=) sehingga pencacah yang kurang dari sama dengan 5 tidak akan muncul alias di-skip dan langsung ter-continue ke pencacah 6-10.

F. KESIMPULANSetelah dilakukan berbagai percobaan dan praktik, disimpilkan bahwa tipe perulangan terbagi atas 3 macam, yakni:

a. Foradalah suatu perulangan yang memiliki batas awal, batas akhir, dan kenaikan yang telah ditentukan terlebih dahulu. Strukturnya ialah:for ([exp1]; [exp2]; [exp3]) statement;ataufor ([exp1]; [exp2]; [exp3]){

statement1;statement2;…….

}exp1 : adalah ekspresi untuk inisialisasi,exp2 : adalah ekspresi conditional (batas pengulangan)exp3 : adalah ekspresi increment atau decrement

NB: exp1, exp2 dan exp3 adalah sifatnya optional (boleh ada, boleh tidak ada).

Dan sturktur logikanya:

Page 20: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

Contoh:Membuat program mencetak barisan bilangan genap kurang dari sama dengan 10. Kodenya:

public class Genap {public static void main(String[] args) {

int a, b=10, c;for (a=0;a<=b;a++){

if (a%2==0)System.out.print(a);

if (a%2>0)System.out.print(", ");

}}

}

Dan outputnya:

b. Whileadalah perulangan yang memiliki batas pengulangan yang ada di awal dan

Page 21: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

program akan dihentikan sesuai dengan kondisi saat itu tidak sesuai dengan syarat atau batas pengulangan.Struktur kodenya sebagai berikut:while (eks.boolean) statements;atau while(eks.boolean){ statement1; statement2; …..}

Struktur logikanya:

Berikut contoh program dari pengulangan While:Program mengoutputkan “hallo” bila inputan kurang dari sama dengan 3. Jika inputan lebih dari 3, maka tidak akan mengoutputkan apa-apa.Kodenya:

import java.util.Scanner;public class Halo { public static void main(String[] args){ Scanner ma = new Scanner(System.in); int a, b; System.out.println("Masukkan input:"); a=ma.nextInt(); while(a<=3){ System.out.println("Halo"); a++;

Page 22: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

}}}

dan outputnya:jika input kurang dari sama dengan 3, misal input 3:

jika input lebih dari 3, misal 4:

c. While-doadalah perulangan dimana pengecekan kondisi dilakukan di belakang setelah baris statemen dalam blok do-while dijalankan. Dan pengeksekusian program minimal 1 kali sebelum dicek apakah sesuai syarat perulangan atau tidak.Struktur kodenya:do statement while (eks.boolean);atau do { statement1; statement2; …..} while(eks.boolean)

Struktur logikanya:

Page 23: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

Berikut contoh program yang menggunakan do-while:Program mengoutputkan “cinta” dengan syarat perulangan apabila inputan lebih dari 4, maka perulangan tidak akan dilanjutkan. Berikut kodenya:import java.util.Scanner;public class Hello { public static void main(String[] args){ Scanner ma = new Scanner(System.in); int a, b; System.out.println("Masukkan input:"); a=ma.nextInt(); do { System.out.println("Hello"); a++; }while(a<=4);}}dan outputnya:jika inputnya kurang dari sama dengan 4, misal 1:

Page 24: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

jika inputnya lebih dari 4, misal 5:

Selain tipe perulangan, kita juga telah mempelajari tentang pengertian dari Infinite Loop dan Nested Loop. Berikut penjelasannya:

a. Infinte Loopadalah pengulangan yang tidak ada hentinya karena tidak adanya pembatas dan atau tidak adanya StepExpression yang dapat mengupdate nilai dari variabel loop sehingga tidak tercapai nilai yang melebihi batas. Contoh:Kode:import java.util.Scanner;public class Halo { public static void main(String[] args){ Scanner ma = new Scanner(System.in); int a, b; System.out.println("Masukkan input:"); a=ma.nextInt(); while(a<=3){ System.out.println("Halo"); }}}

dan outputnya:

Perulangan di atas merupakan perulangan infinte loop yang berarti perulangan yang tak terbatas. Hal ini terjadi karena tidak adanya StepExpression yang mengupdate nilai data dari variabel a sehingga nilai data dari variabel a selalu sesuai syarat dan tidak akan pernah melanggar syarat sehingga tidak akan mencapai batas.

Page 25: Bab3_ahmad Syu'a'Ul Amin Alfarisyii_155150201111011

b. Nested Foradalah perulangan yang di dalam perulangan tersebut ada perulangan lagi. Contoh:Program mencetak piramid dari bintang (*) menggunakan nested forKode:

public class Piramida { public static void main(String[] args) { for (int i = 1; i <= 5; i++) { // perulangan untuk tinggi dari piramida for (int j = i; j <= 5; j++) { // perulangan untuk pembuatan spasi System.out.print(" "); } for (int k = 0; k <= (i * 2) - 2; k++) { // perulangan mencetak bintang untuk membentuk piramida System.out.print("*"); } System.out.println(); // untuk pindah baris } }}

dan outputnya:

Dan setelah melakukan percobaan praktikum, Kesimpulan yang dapat diambil adalah:a. Pada soal 1, kita membuat program untuk membentuk segitiga dari bintang(*).

Untuk membuatnya, menggunakan nested for karena dibutuhkan pengulangan untuk membentuk spasi( ) dan bintang(*)

b. Pada soal nomor 2, kita membuat program untuk membuat formasi yang membentuk nama kita yang disusun sesuai dengan huruf masing-masing.Untuk membuatnya, menggunakan nested for karena dibutuhkan pengulangan untuk membentuk spasi( ) dan huruf.

c. Pada soal nomor 3, kita membuat program pengulangan yang apabila kita menginputkan angka selain 0, kita akan disuruh menginputkan lagi hingga kita menginputkan angka 0 sehingga kita keluar dari program tersebut.Untuk membuatnya, menggunakan do-while karena kita mengeksekusi statement dalam do dulu, baru mengevaluasi apakah sesuai dengan syarat. Apabila masih sesuai, maka akan disuruh menginput lagi hingga tidak sesuai dengan syarat.