Anda di halaman 1dari 18

Branching

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

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 1


Bila kita mengamati program yang telah kita buat pada modul sebelumnya, kita melihat bahwa program
selalu terdiri dari sekumpulan statement yang dijalankan secara linear, yaitu mulai melakukan proses
pada baris pertama, kemudian pada baris kedua, ketiga, sampai baris terakhir, lalu program akan
berhenti.

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).

Minggu ini kita akan mulai mempelajari mengenai percabangan.


Secara garis besar, percabangan dapat dilakukan dengan menggunakan :
• if ... else ...
• Operator kondisional ( ... ? ... : ... )
• switch ... case ...

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 2


Input User

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.

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 3


Percabangan

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.

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 4


Operator Relasional

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

Operator relasional terdiri dari :


• == (sama dengan)
• != (tidak sama dengan)
• < (lebih kecil)
• <= (lebih kecil sama dengan)
• > (lebih besar)
• >= (lebih besar sama dengan)

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

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 5


Operator Logika

Operator logika berhubungan dengan operasi logika matematika dasar. Sama seperti operasi relasional,
operasi logika juga menghasilkan nilai benar atau salah.

Operator logika terdiri dari :


• && (And)
• || (Or)
• ! (Not)

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 6


Percabangan dengan if ... else ...

Berikut skema penulisan percabangan dengan menggunakan if..else.

Agar statement atau aksi dikerjakan oleh komputer, maka kondisi atau ekspresi di dalam kurung
harus bernilai benar.

Yang perlu diingat :


• Pernyataan else if dapat digunakan jika pilihan aksi sangat banyak.
• Pernyataan else terakhir bersifat opsional, artinya tidak harus ada.

Perhatikan program berikut :


t2c

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.

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 7


Cobalah melakukan percobaan dengan mengganti ekspresi ( 3 == a ) dengan 3 buah bilangan yang
salah satunya 0. Apakah yang tampak di layar ?

Perhatikan pola penulisan dan contoh if pada program berikut :


t2d

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.

Perhatikan contoh dibawah ini :

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 8


t2e

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 :

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 9


Percabangan dengan Operator Kondisional

Operator kondisional mempunyai cara kerja yang sama dengan if..else.. Aturan penulisannya adalah:

Jika expression1 benar, maka expression2 akan dijalankan.


Jika expression1 salah, maka yang akan dijalankan adalah expression3

Buatlah program berikut ini :


t2f

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)

Apa kesimpulan anda ?

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 10


Percabangan dengan switch ... case

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.

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 11


t2g

Bandingkan dengan program berikut.

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 12


t2h

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

Apa kesimpulan anda ?

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 13


Tugas

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.

5. Negatif, Positif, Nol


Buatlah sebuah program yang menerima masukan sebuah bilangan integer x. Berdasarkan nilai x,
tentukan apakah bilangan tersebut bilangan negatif, positif atau nol. Jika bilangan tersebut bukan
bilangan nol, tentukan juga apakah bilangan tersebut bilangan ganjil atau bilangan genap.

Contoh input :
5

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 14


-6
0

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

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 15


8. Kabisat
Program menerima masukan sebuah nilai integer lebih besar dari 1600 yang menyatakan suatu tahun.
Tentukanlah apakah tahun tersebut merupakan tahun kabisat atau tahun bukan kabisat.
Ketentuan tahun kabisat adalah :
Tahun tersebut habis dibagi 4, tetapi tidak kabisat jika tahun habis dibagi 100, kecuali jika habis dibagi
400.

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

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 16


Input
Input 0 1 1 1 1 1 artinya seorang pangeran yang tidak tampan tapi kaya, romantic, kekar, naik kuda
putih dan bawa 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.

10. Luas Bangun Datar


Buatlah program yang digunakan untuk menghitung luas dan keliling bangun datar. Terdapat menu
pilihan bangun datar yang akan dihitung.
• Jika pilihan bujur sangkar, maka masukkan sisi.
• Jika persegi panjang, maka masukkan yang dibutuhkan adalah panjang dan lebar.
• Jika segitiga, maka masukkan alas dan tinggi segitiga.
• Jika lingkaran, maka masukkan jari-jarinya (phi = 3.14).
Program akan berhenti jika pilihan ke-5.

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

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 17


5. Exit
** Pilihan : 2
Panjang : 5
Lebar : 2
Keliling : 20
Luas : 10

** Menu :
1. Bujur sangkar
2. Persegi Panjang
3. Segitiga
4. Lingkaran
5. Exit
** Pilihan : 5
---- Terima Kasih ----

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 18

Anda mungkin juga menyukai