Modul 5, Praktikum : Algoritma dan Pemrograman 1 I.
Bahan Kajian
1.
Perulangan (Iterasi) Perulangan(iterasi), menyatakan bahwa suatu instruksi tertentu akan diulang sampai tercapai kondisi tertentu, tanpa kita harus menulis perintah tersebut secara berulang. Beberapa jenis pengulangan di Java : while for do – while
1.1 while Penggunaan bentuk while mengikuti pola berikut: While (kondisi){ pernyataan } Atau While (kondisi) Pernyataan kondisi dapat berupa ekspresi boolean apa pun yang mngembalikan nilai boolean(true, false). pernyataan adalah adalalah perintah yang ingin anda eksekusi jika kondisi bernilai true, pernyataan ini merupakan perintah yang diulang-ulang . pernyataan akan dijalankan secara terus menerus selama kondisi bernilai true. Jika kondisi bernilai false sejak semula maka pernyataan tidak akan pernah dieksekusi. Untuk penggunaan while dengan atau tanpa “{ }“ sama dengan percabangan if.
Contoh penggunaan while pada java : Tuliskan kode program program untuk menampilkan 10 baris kalimat Informatika Unpas menggunakan pengulangan while! int i = 0; while (i < 10) { System.out.println(“Informatika Unpas”); i++; }
1.2 for Pengulangan for merupakan jenis pengulangan di java yang menyediakan sarana mengulang kode dalam jumlah yang sudah ditentukan. Penggunaan bentuk for mengikuti pola berikut: for (inisialisasi;kondisi; iterasi) pernyataan-pernyataan; //bisa juga menggunakan blok program “{ }”
inisialisasi biasanya berupa pernyataan yang menginisialisasi (memberikan nilai awal) variabel yang akan mengontrol jumlah pengulanagan. kondisi adalah pernyataan yang akan dieksekusi yang mengembalikan nilai true atau false iterasi digunakan untuk menaikkan atau menurunkan nilai variable
Contoh penggunaan for pada java: for (int i = 0; i < 10; i++) { System.out.println(“Informatika Unpas”); }
[if-unpas] @author : Hendra Komara, ST.
Page 1
Modul 5, Praktikum : Algoritma dan Pemrograman 1 Baik pengulangan while atau for adalah melakukan pengecekan dari awal, sehingga ada kemungkinan pernyataan tidak pernah dieksekusi.
II.
Instruksi Praktikum
1.
Latihan 1 Instruksi : 1. Buat project baru 2. Klik File | New | Java Project 3. Beri nama projectnya dengan nrp anda modul5 | klik tombol finish 4. Buat paket baru, klik kanan di folder src, pilih new | package | beri nama: ap1.prak. modl5.nrp1040xxx 5. Buat class baru, klik kanan di package ap1.prak. modl5.nrp1040xxx pilih new | class | beri nama Iteration1 | klik button finish 6. Kemudian ketikan kode sumber dibawah ini di editor : public class Iteration1 { public static void show(String name, String npm){ System.out.println("Name : "+name+", Npm : "+npm); System.out.println("Name : "+name+", Npm : "+npm); System.out.println("Name : "+name+", Npm : "+npm); System.out.println("Name : "+name+", Npm : "+npm); System.out.println("Name : "+name+", Npm : "+npm); System.out.println("Name : "+name+", Npm : "+npm); System.out.println("Name : "+name+", Npm : "+npm); System.out.println("Name : "+name+", Npm : "+npm); System.out.println("Name : "+name+", Npm : "+npm); System.out.println("Name : "+name+", Npm : "+npm); System.out.println("End show"); }
public static void forShow(int length, String name, String npm){ for (int i = 0; i < length; i++) System.out.println("Name : "+name+", Npm : "+npm); System.out.println("Keluar for"); } public static void whileShow(int length, String name, String npm){ int i = 0; while (i < length) { System.out.println("Name : "+name+", Npm : "+npm); i++; } System.out.println("Keluar while"); } public static void test(){ show("Hendra Komara", "093040999"); forShow(10, "Hendra Komara", "093040999"); whileShow(10, "Hendra Komara", "093040999"); } public static void main(String[] args) { test(); } } 7.
8.
Simpan dengan menggunakan shortcut Ctrl+S, jika tidak ada error ( selajutnya. Pengamatan: Pilih menu Run | Run As | Java Application
[if-unpas] @author : Hendra Komara, ST.
) maka bisa dilakukan instruksi
Page 2
Modul 5, Praktikum : Algoritma dan Pemrograman 1 Pengamatan: 9. Lihat ouput yang ditampilkan: 10. Trace program di atas! Latihan: 11. Coba perulangan dengan while pada method penjumlahanGenapGanjil() ganti dengan for. Running dan amati!
2.
Latihan2 Instruksi : 1. Pastikan project nrp anda modul5 terpilih 2. Buat class baru, klik kanan di package ap1.prak. modl5.nrp1040xxx pilih new | class | beri nama PreIteration2 | klik button finish 3. Kemudian ketikan kode sumber dibawah ini di editor : 4.
Simpan dengan menggunakan shortcut Ctrl+S, jika tidak ada error ( selajutnya
) maka bisa dilakukan instruksi
package ap1.prak.modl5.nrp1040999; public class PreIteration { public static boolean validasi1(String user, String password) { if (user == "andi") { //pengkonsian Menggunakan tanda == if (password == "123") { return true; } else { return false; } } else { return false; //return berada dalam badan if-else } } public static boolean validasi2(String user, String password) { //pengkonsian Menggunakan method equals() if (user.equals("andi") && password.equals("123")) { return true; } return false; //return ini tidak berada dalam badan if-else } public static void main(String[] args) { // akses method validasi1() boolean status1 = validasi1("andi", "123"); if (status1) System.out.println("Login Sukses"); else System.out.println("User Atau password salah"); //akses method validasi2() System.out.println("------------------------------------"); boolean status2 = validasi2("andi", "123"); if (status2) System.out.println("Login Sukses"); else System.out.println("User Atau password salah"); /* * Output dari method validasi1() dan validasi2() akan sama * tetapi memilki alur dan logic yang berbeda */ } } [if-unpas] @author : Hendra Komara, ST.
Page 3
Modul 5, Praktikum : Algoritma dan Pemrograman 1 5. 6.
Pengamatan: Pilih menu Run | Run As | Java Application Pengamatan: Lihat ouput yang ditampilkan: Login Sukses -----------------------------------Login Sukses
7.
8.
9.
10.
Trace program di atas! Pengamatan: Coba return false pada method validasi2() masukan kedalam badan else. Running dan amati! Hasilnya adalah sama dengan sebelumnya! Kenapa? Kembalikan pada kode sebelumnya! Coba badan else pada method main() hapus tetapi statement di dalmnya tetap ada. Running dan amati! Hasilnya adalah berbeda dengan sebelumnya! Kenapa?
Latihan3 Instruksi : 1. Pastikan project nrp anda modul5 terpilih 2. Buat class baru, klik kanan di package ap1.prak. modl5.nrp1040xxx pilih new | class | beri nama Iteration3 | klik button finish 3. Kemudian ketikan kode sumber dibawah ini di editor : package ap1.prak.modl5.nrp1040999; public class Iteration3 { static int totGanjil = 0; static int totGenap = 0; public static void showTotal(){ System.out.println("Total Genap : "+totGenap); System.out.println("Total Ganjil : "+totGanjil); } public static boolean validasi(String user, String password) { if (user.equals("andi") && password.equals("123")) { return true; } return false; } public static void penjumlahanGenapGanjil(int max){ int i = 1; int genap = 0; while (i <= max) { genap = i % 2; if(genap == 0) totGenap = totGenap + i; else totGanjil = totGanjil + i; i++; } }
[if-unpas] @author : Hendra Komara, ST.
Page 4
Modul 5, Praktikum : Algoritma dan Pemrograman 1 public static void test(){ if(validasi("andi", "123")){ System.out.println("Login sukses"); penjumlahanGenapGanjil(10); showTotal(); } else{ System.out.println("Password tidak dikenali"); } } public static void main(String[] args) { test(); } } 4.
5. 6.
Simpan dengan menggunakan shortcut Ctrl+S, jika tidak ada error ( selajutnya
) maka bisa dilakukan instruksi
Pengamatan: Pilih menu Run | Run As | Java Application Pengamatan: Lihat ouput yang ditampilkan: Login sukses Total Genap : 30 Total Ganjil : 25
7. 8.
Trace program di atas! Latihan: Coba perulangan dengan while pada method penjumlahanGenapGanjil() ganti dengan for. Running dan amati!
III. Tugas Dengan menggunakan perulangan while dan for, kemudian tuliskan secara detail hasil tracing dari program tesebut(alur eksekusi, tampil ke layar, penyimpanan di memory, dan lain-lain) : 1. Buatlah source code untuk menampilkan angka 5 ke 1 2. Buatlah source code untuk menampilkan hasil penjumlahan dari 1 hingga 5 3. Buatlah source code untuk menampilkan bilangan genap dari interval 1 sampai dengan 5
[if-unpas] @author : Hendra Komara, ST.
Page 5