Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehIndra Gunawan Telah diubah "6 tahun yang lalu
1
PERNYATAAN SELEKSI Matakuliah : T0974 / Algoritma dan Metode Object Oriented Programming I Tahun : 2008 Versi : 1/0
2
Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu:
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: Menuliskan program dengan struktur kendali pemilihan (seleksi) Membandingkan data berupa string Bina Nusantara
3
Struktur Kendali Seleksi Pernyataan if Pernyataan if-else
Outline Materi Struktur Kendali Seleksi Pernyataan if Pernyataan if-else Pernyataan nested-if Pernyataan switch-case Pernyataan conditional Seleksi String Bina Nusantara
4
Struktur kendali pemilihan
Pernyataan Seleksi Struktur kendali pemilihan Mengatur statements yang akan dieksekusi jika terjadi suatu kondisi Pernyataan seleksi: if if … else nested-if switch … case conditional expressions Ekseksusi dijalankan jika kondisi bernilai true Bina Nusantara
5
Pernyataan if Sintaks: Flowchart: If (booleanExpression) {
statement(s); } Flowchart: (radius>=0) Boolean Expression false false true true Area = radius * radius * PI System.out.println(“The area for the circle of” + ” radius “ + radius + ” is ” + area); Statement(s) Bina Nusantara
6
Pernyataan if Contoh: If (radius >= 0) { area = radius * radius * PI; System.out.println(“The area for the circle of radius “+ radius + “ is “ + area); } Jika radius bernilai >= 0, maka statements dalam block akan dieksekusi (area akan dihitung) Bina Nusantara
7
Statements yang akan dieksekusi ditandai dengan block ( { … } )
Pernyataan if Statements yang akan dieksekusi ditandai dengan block ( { … } ) Block tidak diperlukan jika terdiri dari 1 statement saja Contoh: int number = Integer.parseInt(intString); if (number % 2 == 0) System.out.println(number + “ is even.”); If (number % 2 != 0) System.out.println(number + “ is odd.”); Bina Nusantara
8
Pernyataan if-else Pernyataan if hanya mengeksekusi block jika bernilai true Pernyataan if-else diperlukan untuk mengeksekusi block jika bernilai true serta false Sintaks: if (booleanExpression) { statement(s)-for-the-true-case; } else statement(s)-for-the-false-case Bina Nusantara
9
Pernyataan if-else Flowchart:
Jika booleanExpression bernilai true, maka statement(s)-for-the-true-case dieksekusi Jika booleanExpression bernilai false, maka statement(s)-for-the-false-case dieksekusi Boolean Expression true false Statement(s) for the true case Statement(s) for the false case Bina Nusantara
10
Pernyataan if-else Contoh:
if (radius >= 0) { area = radius * radius * PI; System.out.println(“The area for the circle of radius “ + radius + “ is “ + area; } else System.out.println(“Negative input”); Jika radius >= 0 bernilai true, maka area akan dihitung, jika false maka output “Negative input” akan ditampilkan Block pada else dapat dihilangkan karena hanya 1 statement Bina Nusantara
11
Lebih efisien karena “number % 2 == 0” hanya dieksekusi sekali
Pernyataan if-else Contoh: if (number % 2 == 0) { System.out.println(number + “ is even. “); } else System.out.println(number + “ is odd. “); Lebih efisien karena “number % 2 == 0” hanya dieksekusi sekali Bina Nusantara
12
Pernyataan if-else Bina Nusantara
13
Pernyataan if-else Bina Nusantara
14
Pernyataan if-else Try … catch berguna untuk melakukan uji coba eksekusi (try) dan menangkap kesalahan yang terjadi (catch) Pada contoh di atas, catch terjadi jika angka yang dimasukan berupa huruf/kalimat Try … catch akan dijelaskan lebih lanjut pada pertemuan berikutnya (Exception Handling) Bina Nusantara
15
Pernyataan if/if-else yang bersarang
Pernyataan nested-if Pernyataan if/if-else yang bersarang Terdapat if/if-else di dalam if/if-else if/if-else bagian dalam disebut “bersarang” di dalam if/if-else bagian luar Tidak ada batasan if/if-else yang bersarang Bina Nusantara
16
Pernyataan nested-if Bina Nusantara
17
Pernyataan nested-if Bina Nusantara
18
Pernyataan nested-if Bina Nusantara
19
Pernyataan switch-case
Pernyataan if/if-else mengeksekusi block berdasarkan nilai true/false Pernyataan switch-case mengeksekusi block berdasarkan nilai status Switch-case lebih mudah dipahami daripada nested-if Switch-case digunakan untuk multiple-conditions Bina Nusantara
20
Pernyataan switch-case
Sintaks: switch (switch-expression) { case value1: statement(s)1; break; case value2: statement(s)2; … case valueN: statement(s)N; default: statement(s)-for-default; } Bina Nusantara
21
Pernyataan switch-case
Flowchart: status 1 Statement(s)1 break status 2 Statement(s)2 break status 3 Statement(s)3 break status 4 Statement(s)4 break default Default actions Bina Nusantara
22
Pernyataan switch-case
Switch-expression harus menghasilkan nilai berupa char, byte, short, atau int dan harus dalam tanda kurung (…) Value1, …, dan valueN harus memiliki tipe data yang sama dengan switch-expression dan tidak dapat berupa expression seperti 1+x Jika case ditemukan, maka eksekusi dimulai dari case tersebut sampai ditemukan break Bina Nusantara
23
Pernyataan switch-case
Keyword break adalah optional Case default adalah optional, dieksekusi jika tidak ada case yang memenuhi Case dicek secara berurutan Lebih baik case diurutkan dan default diletakkan di case terakhir Switch-case tanpa break menyebabkan case berikutnya dieksekusi Bina Nusantara
24
Pernyataan switch-case
Flowchart switch-case tanpa break: status 1 Statement(s)1 status 2 Statement(s)2 status 3 Statement(s)3 status 4 Statement(s)4 default Default actions Bina Nusantara
25
Pernyataan switch-case
Bina Nusantara
26
Pernyataan switch-case
Bina Nusantara
27
Did You Know? Kesalahan yang paling sering dilakukan: memberikan semicolon (;) setelah if Contoh yang salah: If (radius >= 0) ; { … } Kesalahan yang sering terjadi dalam switch-case adalah lupa memberikan break Logic error Bina Nusantara
28
Did You Know? Pernyataan seleksi yang sederhana dapat menggunakan conditional expressions Sintaks: booleanExpression ? expression-if-true : expression-if-false; Mengembalikan nilai expression-if-true atau expression-if-false Contoh: if (x > 0) y = 1; else y = -1; Jika diubah menjadi conditional expressions menjadi y = (x>0) ? 1 : -1; Conditional expression melibatkan 3 parameter, sehingga disebut ternary operator Nilai yang dikembalikan dapat berupa string System.out.println( (num%2==0) ? “Num is even” : “Num is odd”); Bina Nusantara
29
Did You Know? Bina Nusantara
30
Did You Know? Bina Nusantara
31
Membandingkan string dapat menggunakan method equals Sintaks:
Advanced Learning Membandingkan string dapat menggunakan method equals Sintaks: String1.equals(String2); Nilai yang dikembalikan adalah boolean Jika isi/kalimat pada String1 sama dengan String2 true Jika tidak, false Contoh: String kata1 = “hallo”; String kata2 = “hallo”; System.out.println(“Apakah Kata1 dan Kata2 sama? “ + kata1.equals(kata2)); Bina Nusantara
32
Advanced Learning Bina Nusantara
33
if(kata1.equals(kata2)==true) dapat diganti menjadi
Advanced Learning if(kata1.equals(kata2)==true) dapat diganti menjadi if(kata1.equals(kata2)) karena if akan menjalankan blok jika bernilai true Bina Nusantara
34
Referensi Introduction to Java Programming. 7ed. Liang. 2009. ch 3
Dasar Pemrograman Java 2. Abdul Kadir p83-118 Java Software Solutions. 5ed. Lewis & Loftus p The Complete Reference Java. 5ed. Herbert Schildt p77-84 Java 2 Weekend Crash Course. Julio Ch 8 Java Control Flow Statements: Bina Nusantara
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.