09.branching

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View 09.branching as PDF for free.

More details

  • Words: 2,118
  • Pages:
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