Abdillah S Si M I T PTE 1103
Abdillah, S. Si. , M. I. T PTE 1103 Algoritma & Pemrograman If dan Switch
Agenda Pertemuan VII 1 2 3 Flashback if-else Switch Latihan “If you can't make it simple, you don’t understand at all”-Albert Einstein
1 Agenda 1 Flashback if dan if-else
Pernyataan If “Menyeleksi untuk kondisi tunggal” Jika kondisi benar (TRUE) maka pernyataan dikerjakan. Jika kondisi salah (FALSE) maka pernyataan tidak dikerjakan.
Pernyataan if
Pernyataan if Bentuk umum: if (kondisi) pernyataan; atau if (kondisi) { pernyataan 1; pernyataan 2; pernyataan 3; }
Pernyataan if Contoh: Jika uang_saku < 10000 puasa; atau Jika hari_hujan { buka_garasi; panaskan_mobil; pakai_mobil_ke_kampus; }
Menentukan Apakah A Bilangan Genap Mulai Deklarasi variabel A Baca nilai A A%2 = 0 Salah Sampai jumpa Selesai Benar A genap
Menentukan Apakah A Bilangan Genap #include <stdio. h> main() { int A; printf("Masukkan nilai A: "); scanf("%d", &A); } if (A%2 == 0) printf("A bilangan genap n"); printf(“Sampai jumpa n");
Pernyataan if-else Bentuk umum: if (kondisi) pernyataan 1; else pernyataan 2; pernyataan 3;
Menentukan A Bilangan Genap atau Ganjil Mulai Deklarasi variabel A Baca nilai A A%2 = 0 Salah A ganjil Sampai Jumpa Selesai Benar A genap
Menentukan A Bilangan Genap atau Ganjil #include <stdio. h> main() { int A; printf("Masukkan nilai A: "); scanf("%d", &A); } if (A%2 == 0) printf("A bilangan genap n"); else printf("A bilangan ganjil n"); printf(“Sampai jumpa n");
Menentukan Apakah Tahun Kabisat atau Bukan Flowchart: Mulai Deklarasi variabel A Baca A S (A%4 = 0 AND A%100 ≠ 0) OR A%400 = 0 Cetak A bukan kabisat B Cetak A kabisat Sampai Jumpa Selesai
Menentukan Apakah Tahun Kabisat atau Bukan #include <stdio. h> main() { int A; printf("Masukkan tahun: "); scanf("%d", &A); if ((A%4 == 0 && A%100 != 0) || A%400 == 0) printf("A tahun kabisat n"); else printf("A bukan tahun kabisat n"); printf(“Sampai jumpa n"); }
Pernyataan nested if Bentuk umum: if (kondisi 1) pernyataan 1; else if (kondisi 2) pernyataan 2; else pernyataan 3; pernyataan 4;
Menentukan wujud air padat, cair atau gas Mulai Deklarasi variabel suhu Baca nilai suhu S S Cetak Gas suhu < 100 suhu ≤ 0 B Cetak Cair Cetak Sampai Jumpa Selesai B Cetak Padat
Menentukan wujud air padat, cair atau gas #include <stdio. h> int main() { int suhu; printf("Masukkan suhu air dalam Celcius: "); scanf("%d", &suhu); if (suhu <= 0 ) printf("Wujud air Padat n"); else if (suhu < 100) printf("Wujud air Cair n"); else printf("Wujud air Gas n"); printf(“Sampai jumpa n"); }
Konversi Celcius ke Kelvin, Reamur atau Fahrenheit Mulai Deklarasi Celcius, Kelvin, Reamur, Fahrenheit, Opsi Baca nilai Celcius Opsi Kelvin = 1, Reamur = 2, Fahrenheit = 3 Baca Opsi S S Opsi = 2 Opsi = 1 B Fahrenheit = Celcius x 9/5 + 32 B Kelvin = Celcius + 273 Reamur = Celcius x 4/5 Cetak Fahrenheit Cetak Reamur Selesai Cetak Kelvin
#include<stdio. h> int main() { float celcius, kelvin, reamur, fahrenheit, opsi; printf("Masukkan suhu dalam Celcius: "); scanf("%f", &celcius); printf("Pilih konversi (1)Kelvin (2)Reamur (3)Fahrenheit: "); scanf("%f", &opsi); if (opsi == 1) {kelvin = celcius + 273; printf("%. 0 f celcius = %. 0 f kelvin", celcius, kelvin); } else if (opsi == 2) {reamur = celcius * 4/5; printf("%. 0 f celcius = %. 1 f reamur", celcius, reamur); } } else {fahrenheit = celcius * 9/5 + 32; printf("%. 0 f celcius = %. 1 f fahrenheit n", celcius, fahrenheit); }
Mengonversi nilai angka menjadi huruf A, B, C, D atau E Mulai Deklarasi variabel angka Baca nilai angka S angka ≥ 80 S angka > 70 S angka > 60 angka > 50 B S Cetak D Cetak E B Cetak C Selesai B B Cetak A
Mengonversi nilai angka menjadi huruf A, B, C, D atau E int main() { int angka; printf("Masukkan nilai angka: "); scanf("%d", &angka); if (angka ≥ 80 ) printf("Nilai huruf = A n"); else if (angka > 70 ) printf("Nilai huruf = B n"); else if (angka > 60 ) printf("Nilai huruf = C n"); else if (angka > 50 ) printf("Nilai huruf = D n"); else printf("Nilai huruf = E n"); }
2 Agenda 2 Switch
Pernyataan switch Dalam pemrograman, pernyataan switch adalah pemilihan jamak yang menguji apakah ekspresi sama dengan salah satu dari nilai.
Pernyataan switch Bentuk umum: switch (ekspresi){ case nilai 1: pernyataan 1 ; break case nilai 2: pernyataan 2 ; break. . . default: pernyataan N; }
Mengonversi Nilai Angka Menjadi Kata Mulai Deklarasi variabel angka Baca nilai angka S S angka = 4 S angka = 1 S angka = 2 angka = 3 salah B empat B tiga Selesai B B dua satu
Mengonversi Nilai Angka Menjadi Kata main() { int angka; printf("Ketikkan angka 1 -4: "); scanf("%d", &angka); switch (angka) { case 1 : printf("satu n"); break; case 2 : printf("dua n"); break; case 3 : printf("tiga n"); break; case 4 : printf("empat n"); break; default : printf(“Angka yang dimasukkan salah n"); } }
Menentukan Jumlah Hari Dalam Satu Bulan Mulai Deklarasi No. Bulan, Tahun, Hari Baca No. Bulan, Tahun S S S salah No. Bulan = 1, 3, 5, 7, 8, 10, 12 B No. Bulan = 4, 6, 9, 11 No. Bulan = 2 S 28 hari B kabisat 30 hari B 29 hari Selesai B 31 hari
Menentukan Jumlah Hari Dalam Satu Bulan int main() { int no_bulan, tahun, jumlah_hari; printf("Ketikkan no bulan 1 -12: "); scanf("%d", &no_bulan); printf("Ketikkan tahun: "); scanf("%d", &tahun); switch (no_bulan) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: jumlah_hari = 31; break; case 4: case 6: case 9: case 11: jumlah_hari = 30; break; case 2: if ((tahun%4 == 0 && tahun%100 != 0) || tahun%400 == 0) jumlah_hari = 29; else jumlah_hari = 28; default : jumlah_hari = 0; printf(“Angka yang dimasukkan salah n"); } printf("Jumlah hari adalah %d“, jumlah_hari); }
3 Agenda 3 Latihan
Latihan Mulai bingung? Di sebuah bandara, ada seorang pegawai yang bertugas menimbang bagasi dan menentukan biaya kelebihan berat bagasi. Setiap bagasi yang beratnya lebih dari 20 kg, dikenakan biaya Rp. 50, 000 untuk setiap kelebihan 5 kg dan berlaku untuk kelipatannya. Hari ini, pegawai tersebut izin kerja. Pihak managemen meminta dibuatkan sebuah program yang bisa menggantikan pekerjaan pegawai tersebut.
Flowchart mulai deklarasi berat dan biaya baca berat S Mulai bingung? biaya = 0 berat>20 B biaya = (berat-20)/5*50000 biaya selesai
Solusi Mulai bingung? #include <stdio. h> int main() { int berat, biaya; printf("Masukkan berat bagasi: "); scanf("%d", &berat); if (berat > 20 ) biaya = (berat - 20)/5*50000; printf("Biaya = %d", biaya); return 0; }
Latihan Sempurnakan algoritma dan program agar misalnya jika berat bagasi 27 kg maka biayanya Rp. 100. 000 Mulai bingung?
Pertemuan berikutnya • Dasar Pemograman: Pengambilan keputusan
TERIMA KASIH
- Slides: 35