09.branching

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

Upload: skyland-hacker

Post on 13-Jun-2015

335 views

Category:

Documents


4 download

DESCRIPTION

java branching

TRANSCRIPT

Page 1: 09.Branching

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

Page 2: 09.Branching

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

Page 3: 09.Branching

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

Page 4: 09.Branching

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

Page 5: 09.Branching

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

Page 6: 09.Branching

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

Page 7: 09.Branching

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

Page 8: 09.Branching

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

Page 9: 09.Branching

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

Page 10: 09.Branching

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

Page 11: 09.Branching

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

Page 12: 09.Branching

t2g

Bandingkan dengan program berikut.

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

Page 13: 09.Branching

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

Page 14: 09.Branching

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

Page 15: 09.Branching

-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 :

2 3 4

4 8 6

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 :

4 5 2

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

Page 16: 09.Branching

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

Page 17: 09.Branching

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

Page 18: 09.Branching

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