Input User
3
t2a
3
Percabangan
4
Operator Relasional
5
t2b
5
Operator Logika
6
Percabangan dengan if ... else ...
7
t2c
7
t2d
8
t2e
9
t2e (lanjutan)
9
Percabangan dengan Operator Kondisional
10
t2f
10
t2f (lanjutan)
10
Percabangan dengan switch ... case
11
t2g
12
t2h
13
t2i
13
Tugas
14
1. 10, 20
14
2. Rata-Rata
14
3. Hasil Aritmatika
14
4. Nama Bulan
14
5. Negatif, Positif, Nol
14
6. Urutan Bilangan
15
7. Min, Max
15
8. Kabisat
16
9. Isyarat Putri
16
10. Luas Bangun Datar
17
Pada modul kali ini, kita akan mempelajari bahwa jalannya program tidak harus selalu linear. Ada
kalanya jalannya program tergantung dari data masukan, atau dari hasil suatu perhitungan. Secara
umum, jalannya suatu program dapat dibagi menjadi :
• Linear.
• Becabang (sesuai kondisi tertentu, dilakukan dengan if dan switch).
• Berulang (sesuai kondisi tertentu, dilakukan dengan for, while, dan do..while).
Dalam Java dimungkinkan beberapa cara berbeda untuk meminta input dari user. Pada mata kuliah ini
kita akan mempelajari cara yang paling sederhana, yaitu menggunakan class Scanner. Perhatikanlah
contoh dibawah ini:
t2a
Baris 14 menyatakan bagaimana mendeklarasikan class Scanner. Arti dari syntax ini akan dijelaskan
pada mata kuliah PBO (Pemrograman Berorientasi Objek). Baris 20 dan 24 menyatakan bagaimana
meminta nilai dari scanner.
Untuk selanjutnya biasakan menuliskan : penulis program, nama program, dan deskripsi isi
program dalam setiap file yang anda buat.
Percabangan digunakan untuk memilih aksi atau bagian program yang akan dijalankan sesuai
dengan kondisi yang telah ditentukan.
Misalkan program dimana user memasukkan sebuah angka, dan program menampilkan apakah angka
yang dimasukkan adalah angka 5 atau bukan. Pada contoh ini :
• Aksi yang dilakukan adalah menampilkan angka ke layar.
Jadi aksi biasanya berisi perintah/statement pada program.
• Aksi tersebut akan dilakukan jika kondisi yang telah ditentukan terpenuhi.
Dalam program ini kondisi yang harus dipenuhi untuk melakukan aksi adalah jika angka yang
dimasukkan tidak sama dengan 5.
Pemeriksaan pada kondisi tertentu akan menghasilkan salah satu dari dua buah nilai :
TRUE / BENAR, jika kondisi terpenuhi.
atau
FALSE / SALAH, jika kondisi tidak terpenuhi.
Untuk menuliskan suatu kondisi tertentu, umumnya digunakan bantuan dua jenis operator yaitu
operator relasional dan operator logika.
Operator relasional digunakan untuk membandingkan dua buah nilai atau dua buah ekspresi (karena
ekspresi adalah sesuatu yang menghasilkan nilai).
Hasil perbandingan adalah :
• True / benar
• False / salah
Buatlah program dibawah ini. Pada program tersebut terdapat beberapa kesalahan (lihat kesalahan
setelah di-compile). Setelah semua kesalahan selesai diperbaiki, ganti bagian-bagian yang dikomentari
menjadi statement bahasa Java. Untuk setiap kesalahan, coba perbaiki satu persatu mulai dari
kesalahan pertama.
t2b
Operator logika berhubungan dengan operasi logika matematika dasar. Sama seperti operasi relasional,
operasi logika juga menghasilkan nilai benar atau salah.
Agar statement atau aksi dikerjakan oleh komputer, maka kondisi atau ekspresi di dalam kurung
harus bernilai benar.
Perhatikan di baris 8 :
- Jika ekspresi di dlm kurung ( 3 == a ) bernilai benar, maka perintah output akan dikerjakan.
- Jika ekspresi tersebut bernilai salah, maka perintah output tidak akan dikerjakan.
Pada dasarnya statement if hanya berpengaruh pada satu statement sesudahnya saja. Agar statement
if dapat mempengaruhi banyak statement, kita harus menggunakan block statement.
Block statement adalah satu atau beberapa statement yang penulisannya diawali dengan tanda
' { ' dan diakhiri dengan tanda ' } '.
Mulai saat ini, biasakan melakukan penulisan bentuk if dengan menggunakan block statement.
Cobalah menambahkan beberapa perintah agar setiap kali user memasukan bilangan kelipatan 3 akan
muncul pada layar "3!!!" (t2e).
t2e (lanjutan)
Bilangan >=5 dan bilangan%2==1 disebut sebagai operasi boolean, karena mereka menghasilkan nilai
boolean antara betul atau salah. Operator boolean yang lain yang belum disebut diatas adalah && dan
||. Kedua operator ini memungkinkan membuat operasi boolean yang lebih rumit. Contoh penggunaan :
Operator kondisional mempunyai cara kerja yang sama dengan if..else.. Aturan penulisannya adalah:
Pada contoh di atas, jika angka yang dimasukkan adalah angka positif (>0) maka angka dikalikan
dengan 2. Jika bilangan negatif, maka angka akan dikalikan dengan 3 (tiga). Cobalah untuk mengganti
isi variabel angka. Percabangan dengan menggunakan if..else di atas dapat diubah menjadi operator
kondisional. Ubahlah baris 9 hingga 14 menjadi seperti ini :
t2f (lanjutan)
Penggunaan switch sebenarnya hampir sama dengan if..else.. atau nested if. Kita bisa menggunakan
switch untuk percabangan yang berjumlah lebih dari satu. Karena itu switch bisa dijadikan alternatif
lain dari if..else. Secara umum bentuk penggunaannya sebagai berikut :
Kerjakan latihan berikut agar lebih memahami perbedaan antara if dan switch.
Cobalah program Anda kembali dengan memasukkan angka yang sama. Bagaimana hasilnya ? Apakah
sama dengan sebelumnya ? Bagaimana jika baris program switch di atas, diubah menjadi seperti
berikut ?
t2i
Nama file: t08NYYXXX.java (N: nomor soal, YY: angkatan, XXX: 3 digit terakhir NPM)
Lihat jam pengumpulan di E-Learning.
1. 10, 20
Buatlah sebuah program dengan spesifikasi:
• User memasukkan sebuah angka.
• Jika angka tersebut adalah 10, tampilkan pesan bahwa angka tersebut adalah 10.
• Jika angka tersebut lebih kecil sama dengan 20, tampilkan pesan bahwa angka tersebut lebih kecil
sama dengan 20.
• Jika angka tersebut lebih besar dari 20, tampilkan pesan bahwa angka tersebut lebih besar dari 20.
2. Rata-Rata
Buatlah program untuk menghitung rata-rata nilai dari 3 bilangan yang diinput user.
3. Hasil Aritmatika
Hitung hasil perhitungan dari ekspresi aritmatika sederhana. Ekspresi hanya terdiri dari dua buah
operand (dengan tipe data double) dan sebuah operator (hanya salah satu dari *, /, +, - ). Tampilkan
hasil perhitungannya. Untuk contoh masukan : 3.5 * 4.5, maka keluaran adalah : 15.7500.
Perhatikan kasus khusus pada operator /.
4. Nama Bulan
Buatlah sebuah program yang menerima masukan sebuah nilai yang menyatakan bulan, kemudian
menampilkan nama bulan tersebut ke layar. Cobalah memasukkan nilai dengan angka yang lebih kecil
dari 1 atau yang lebih besar dari 12.
Contoh input :
5
Contoh output :
positif ganjil
negatif genap
nol
6. Urutan Bilangan
Program menerima masukan tiga buah angka (a,b dan c) , bandingkanlah ketiga angka tersebut.
Jika a < b < c tampilkan kalimat : "Ketiga bilangan terurut membesar"
Jika a > b > c tampilkan kalimat : "Ketiga bilangan terurut mengecil"
Jika urutan ketiga bilangan tidak memenuhi syarat di atas tampilkan : " Ketiga bilangan tidak terurut"
Contoh input :
234
486
Contoh output :
Ketiga bilangan terurut membesar
Ketiga bilangan tidak terurut
7. Min, Max
Program menerima masukan tiga buah bilangan integer, kemudian tampilkan bilangan yang paling
besar dan bilangan yang paling kecil.
Contoh input :
452
10 6 20
Contoh ouput :
Min : 2
Max : 5
Min : 6
Max : 20
Contoh :
1900 -> bukan kabisat
2000 -> kabisat
3001 -> bukan kabisat
9. Isyarat Putri
Alkisah si sebuah negeri antah berantah hiduplah seorang putri cantik dan kaya raya. Tapi karena hati
sang putri tergolong licik dan jahat maka sampai sekarang ia belum menikah. Akhirnya sang raja
mengeluarkan titah memanggil semua pangeran dari seluruh negeri untuk datang dan bertanding
memperebutkan sang putri.
Sang putri memiliki selera tinggi, dia tak mau sembarangan diperistri, karenanya ia menyewa
segerombolan pembunuh yang kemudian bersembunyi di hutan. Ketika seorang pangeran lewat maka
kelompok pembunuh akan mengirimkan isyarat asap untuk memberitahukan pada sang putri seperti
apa pangeran yang akan datang, apabila si putri setuju maka ia akan mengirimkan isyarat asap untuk
membiarkan pangeran itu lewat. Apabila tidak, putri akan mengirimkan isyarat juga untuk membunuh
pangeran yang lewat.
Tapi karena sang putri kurang sabar ia meminta staff IT istana untuk membuatkan program yang
mengeluarkan output isyarat asap secara otomatis sesuai keinginan putri setiap kali ada seorang
pangeran lewat. Pembunuh memberikan 6 Kode isyarat asap (dalam kasus ini kita sederhanakan
menjadi 6 buah bilangan integer yaitu 0 dan 1) yang artinya iya dan tidak. Berikut adalah arti isyarat
tersebut.
Isyarat Arti
1 Tampan / tidak tampan
2 Kaya / miskin
3 Romantis / tidak romantis
4 Kekar / kurus
5 Naik kuda putih / tidak naik kuda atau kuda bukan putih
6 Membawa senjata / tidak membawa senjata
Berikut ini adalah syarat pangeran yang boleh lewat tanpa dibunuh.
No Syarat
1 Semua pangeran kaya boleh lewat
2 Pangeran yang tampan romantis, dan tidak bersenjata
3 Pangeran kekar yang naik kuda putih dan membawa senjata
Output
Output 1 jika pangeran boleh lewat dan 0 bila pangeran dibunuh.
Contoh:
** Menu :
1. Bujur sangkar
2. Persegi Panjang
3. Segitiga
4. Lingkaran
5. Exit
** Pilihan : 1
## Bujur Sangkar ##
Sisi : 3
Keliling : 12
Luas : 9
** Menu :
1. Bujur sangkar
2. Persegi Panjang
3. Segitiga
4. Lingkaran
** Menu :
1. Bujur sangkar
2. Persegi Panjang
3. Segitiga
4. Lingkaran
5. Exit
** Pilihan : 5
---- Terima Kasih ----