Pemrograman Dasar 1
Pada akhir pertemuan ini, diharapkan mahasiswa memiliki kemampuan untuk: Menggunakan struktur kendali pencabangan bersyarat dalam bahasa pemrograman. 2
Pencabangan Bersyarat Pernyataan if dan if-else Pernyataan nested if-else dan switch-case Operator kondisional 3
Dalam sebuah algoritma, seringkali beberapa instruksi harus dilaksanakan bila suatu persyaratan dipenuhi (bernilai benar) dan sebaliknya. Dalam struktur pencabangan bersyarat, suatu instruksi atau sekelompok instruksi dapat dilewati, sementara instruksi lain dijalankan. Pernyataan pencabangan bersyarat terdiri dari: if if-else switch-case 4
Penggambaran dalam flow-chart Statements sebelum if Eks.boolean true false Statement; Statement;... Statements setelah if 5
Sintaks : if (ekspresi boolean) statement; atau if (ekspresi boolean) { } statement1; statement2; Blok statement Jika ekspresi boolean bernilai TRUE, maka statement atau blok statement akan dilaksanakan. 6
Penggambaran dalam flow-chart Statements sebelum if false Eks.boolean true Statement_11; Statement_12;... Statement_01; Statement_02;... Statements setelah if 7
Sintaks : if (ekspresi boolean) statement_01; else statement_11; atau if (ekspresi boolean) { statement_01; } else { statement_11;... } Blok statement_01 Blok statement_11 Jika ekspresi boolean bernilai TRUE, maka statement_01 atau blok statement_01 yang dilaksanakan, jika bernilai FALSE maka statement_01 atau blok statement_11 yang dilaksanakan. 8
Buatlah program yang akan membaca sebuah angka integer. Jika angka di atas 75 tuliskan Lulus. Algoritma : 1. deklarasikan variabel bernama nilai 2. baca (nilai) 3. jika nilai > 75 tulis ( Lulus )
Buatlah program yang akan menerima input sebuah huruf. Jika huruf adalah Y atau y tuliskan Proses diteruskan Algoritma : 1. deklarasikan variabel char bernama huruf 2. baca (huruf) 3. jika huruf== Y atau huruf== y tulis ( Proses diteruskan )
Contoh Program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung diskriminan d = b*b 4*a*c 3. Bila d >= 0 maka hitung x1 dan x2 Bila d < 0 maka akar imajiner dan stop 4. Stop Menghitung x1, dengan rumus : Menghitung x2, dengan rumus : -b + d 2*a -b - d 2*a 13
Buatlah program yang akan menerima input berupa nilai integer. Jika angka merupakan kelipatan 5 tuliskan Kelipatan 5, jika tidak tuliskan Bukan kelipatan 5. Algoritma : 1. deklarasikan variabel bernama angka (int) 2. baca (angka) 3. jika angka%5==0 tulis ( Kelipatan 5 ) else tulis ( Bukan kelipatan 5 )
Buatlah program yang akan menerima data berupa angka integer. Jika 5<angka<50 tuliskan Memenuhi, jika tidak tuliskan Tidak memenuhi Algoritma : 1. Deklarasikan variabel bernama nilai (int) 2. baca (nilai) 3. jika nilai>5 dan nilai<50 tulis ( Memenuhi ) else tulis ( Tidak memenuhi )
Konstruksi if-else dapat digunakan secara bertingkat atau bersarang (nested) Contoh: if (ekspresi boolean1) statement1; else if (ekspresi boolean2) statement2; else if (ekspresi boolean3) statement3;...... else if (ekspresi booleann) statementn; 16
Formula : if( ekspresi_boolean1 ) statement1; else if(ekspresi_boolean2) statement2; else statement3; if(ekspresi_boolean1 ) { statement1; } else if(ekspresi_boolean2 ) { statement2; } else { statement3; }
Buatlah program yang akan menerima sebuah angka integer. Tuliskan output sesuai ketentuan : Angka angka<50 50<=angka<70 Angka>=70 Output Kurang Cukup Baik
Buatlah program yang akan menentukan vokal/konsonal sebuah huruf. Jika huruf termasuk huruf vokal tuliskan Vokal, jika bukan tuliskan Konsonan
Penulisan if-else harus jelas maksudnya... Contoh penulisan if-else yang kurang jelas meskipun tidak salah. #include <stdio.h> #include <iostream.h> int main(){ int suhu; printf("input suhu? (F): "); scanf("%d",&suhu); if (suhu<80) if (suhu>30) printf("panas\n\n"); else printf("sejuk\n\n"); system("pause"); return(0); } 20
Pernyataan switch-case dapat dipergunakan sebagai pengganti pernyataan if-else, jika pernyataan if-else bertingkat terlalu banyak, sehingga menjadi sulit dibaca. Sintaks pernyataan switch-case switch (ekspresi integer) { case constant1 : statements1; break; case constant2 : statements2; break;.. [ default : statements; ] } 21
Pernyataan switch mengevaluasi ekspresi dan kemudian melihat isi case constant. Jika nilai ekspresi ada didalam constant list maka pernyataan dieksekusi. Jika tidak ada yang cocok, pernyataan default yang dieksekusi. Catatan: nilai ekspresi harus integer dan constant harus integer constant termasuk char. 22
Formula : switch( switch_ekspresi ){ case case_pilihan1: statement1;// statement2;//blok 1 break; case case_pilihan2: statement1;// statement2;//blok 2 break; : default: statement1;// statement2;//blok n }
Struktur logika switch-case dapat digambarkan sbb.: case a false case b false true true case a action(s) case b action(s) break break case z false default action(s) true case z action(s) break 24
public class Grade { public static void main( String[] args ) { int grade = 92; switch(grade){ case 100: System.out.println( "Excellent!" ); break; case 90: System.out.println( Bagus!" ); break; case 80: System.out.println( Belajar lagi!" ); break; default: System.out.println( Maaf, Anda gagal."); } } }
Buat program untuk menginput nilai IPK mahasiswa dan berikan penilaian : 3.5-4.0 Sangat Memuaskan 3.0-3.4 Memuaskan 2.5 2.9 Baik Sekali 2.0 2.4 Baik Dibawah 2.0 Kurang Gunakan perintah if / if-else! 27
Buatlah program komputer untuk menentukan nilai-huruf dari sebuah matakuliah yang nilainya terdiri dari: nilai tugas, nilai kuis dan nilai UAS. Bila nilai-kuis > UAS, nilai akhir dihitung dg rumus: Nilai akhir = 40% (nilai-kuis) + 40% (UAS) + 20% (tugas) Bila nilai UAS>= nilai-kuis, nilai akhir dihitung dg rumus: Nilai akhir = 30% (nilai-kuis) + 50% (UAS) + 20% (tugas) Sedangkan konversi nilai-akhir menjadi nilai huruf menggunakan tabel berikut: Nilai Akhir Bobot Nilai Huruf 85-100 4 A : Sangat Baik 75-84 3 B : Baik 65-74 2 C : Cukup 50-64 1 D : Kurang 0-49 0 E : Gagal 28
Perhatikan potongan program dibawah ini: if(n > 0) if(a > b) z = a; else z = b; Jelaskan keyword else berpasangan dengan if yang mana? Perbaiki cara penulisan potongan program diatas, agar menjadi lebih jelas dibaca algoritmanya! 29