Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

TEL 2112 Dasar Komputer & Pemograman Penyeleksian

Presentasi serupa


Presentasi berjudul: "TEL 2112 Dasar Komputer & Pemograman Penyeleksian"— Transcript presentasi:

1 TEL 2112 Dasar Komputer & Pemograman Penyeleksian
Abdillah, S.Si, MIT Website:

2 Tujuan Mahasiswa mampu memecahkan masalah dalam sebuah algoritma pemecahan masalah menggunakan struktur penyeleksian.

3 Struktur Dasar Algoritma
Runtunan (sequence)‏ Sebuah runtunan terdiri atas satu atau lebih pernyataan yang dikerjakan secara berurutan Penyeleksian (selection)‏ Sebuah aksi dikerjakan jika kondisi tertentu terpenuhi Pengulangan (repetition)‏ Memungkinkan banyak aksi dikerjakan dengan satu instruksi

4 Runtunan Algoritma merupakan runtunan satu atau lebih instruksi yang berarti bahwa: 1. Tiap instruksi dikerjakan satu per satu 2. Tiap instruksi dikerjakan tepat satu kali 3. Urutan instruksi yang dilaksanakan kompiler sama dengan urutan instruksi dalam algoritma 4. Instruksi terakhir merupakan akhir algoritma

5 Penyeleksian & Pengulangan
Sejauh ini kita bahas algoritma yang dikerjakan berurutan. Untuk program yang lebih rumit, proses pengerjaan program boleh tidak berurutan, seperti penyeleksian kondisi dan pengulangan.

6 Struktur Penyeleksian
Ada 2 macam struktur penyeleksian. Pemilihan konstruksi yang tepat bergantung pada jumlah kasus yang akan diseleksi. 1. Pernyataan IF-THEN-ELSE 2. Pernyataan CASE Penggunaan struktur IF-THEN-ELSE jika jumlah kasus tidak banyak. Untuk jumlah kasus yang banyak, konstruksi CASE dapat menyederhanakan penulisan.

7 Dua Kasus if (kondisi) then
Notasi algoritmik untuk analisis dua kasus adalah dengan menggunakan konstruksi if-then-else: if (kondisi) then statemen1 else statemen2 Jika kondisi terpenuhi maka statemen1 akan dieksekusi. Tetapi jika kondisi tidak terpenuhi, maka statemen2 yang akan dieksekusi

8 Contoh Dua Kasus PROGRAM Genap_Ganjil
{ Mencetak pesan ‘genap’ jika yang dibaca dari piranti masukan adalah bilangan genapilangan genap, dan mencetak ganjil jika genap } DEKLARASI x : integer ALGORITMA: read x if x mod 2 = 0 then { kasus 1 } write (“genap”) else { kasus 2 } write (“ganjil”) endif

9 Translasi ke Program C /* Program Genap_Ganjil */ #include <stdio.h> void main() { int x; printf("Ketikkan sebuah bilangan: "); scanf("%d", &x); if (x % 2 == 0) printf("Bilangan genap"); else printf("Bilangan ganjil"); }

10 Tiga Kasus Notasi algoritmik untuk analisis dengan tiga kasus adalah:
if (kondisi1) then { kasus 1 } statement1 else if (kondisi2) then { kasus 2 } statement2 else statement { kasus 3 } endif

11 Contoh Tiga Kasus PROGRAM Wujud_Air
{ Menentukan wujud air, tergantung temperatur air T } DEKLARASI T : real ALGORITMA: read (T) if T  0 then { Kasus 1 } write (“padat”) else if T < 100 then { Kasus 2 } write (“cair”) else {T  100, Kasus 3 } write (“gas atau uap”) endif

12 Translasi ke Program C /* Program Wujud_Air */ #include <stdio.h> void main() { int T; printf("Ketikkan suhu air: "); scanf("%d", &T); if (T <= 0) printf("Wujud air padat"); else { if (T < 100) printf("Wujud air cair"); printf("Wujud air gas/uap"); }

13 If Tunggal Blok Statement
Statement if juga bisa digunakan untuk memproses beberapa statemen sekaligus dalam suatu blok jika kondisi benar, disebut bentuk if tunggal blok statement menggunakan tanda { } Jika tidak digunakan tanda { } maka program akan error, kesalahannya bukan merupakan kesalahan sintaks tetapi kesalahan logika program.

14 #include<stdio.h>
void main() { int JumlahAnak; float GajiKotor, Tunjangan, Potongan, PersenTunjangan=0.2, PersenPotongan=0.05; printf("Gaji Kotor?");scanf("%f", &GajiKotor); printf("Jumlah Anak?");scanf("%d",&JumlahAnak); if(JumlahAnak > 2) { PersenTunjangan = 0.3; PersenPotongan = 0.07; } Tunjangan = PersenTunjangan * GajiKotor; Potongan = PersenPotongan * GajiKotor; printf("Besarnya Tunjangan = Rp %10.2f\n",Tunjangan); printf("Besarnya Potongan = Rp %10.2f\n",Potongan);

15 Penjelasan { Jumlah Anak >2? PersenTunjangan =0.3; ya
PersenPotongan=0.07; } ya Jumlah Anak >2? PersenTunjangan =0.3; ya Tidak PersenPotongan=0.07;

16 Struktur CASE Konstruksi CASE adalah sebagai berikut: case ekspresi
nilai_1 pernyataan_1 nilai_2 pernyataan_2 nilai_3 pernyataan_3 . nilai_n pernyataan_n otherwise pernyataan_x endcase

17 Contoh Struktur CASE PROGRAM Konversi_Angka_ke_Huruf
{ Mencetak untuk huruf untuk angka 1 sampai 4 } DEKLARASI angka : integer ALGORITMA: read (angka) case angka 1 : write (“satu”) 2 : write (“dua”) 3 : write (“tiga”) 4 : write (“empat”) otherwise : write (“angka yang dimasukkan salah”) endcase

18 Translasi ke Program C /* Program Konversi_Angka_ke_Huruf */ #include <stdio.h> void 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"); }

19 PROGRAM Jumlah_Hari { Menentukan jumlah hari dalam satu bulan } DEKLARASI no_bulan, tahun, jumlah_hari : integer ALGORITMA: read (no_bulan, tahun) case no_bulan 1,3,5,7,8,10,12 : jumlah_hari ← 31 4,6,9,11 : jumlah_hari ← 30 2 : if ((tahun mod 4 = 0 and tahun mod 100 ≠ 0) or (tahun mod 400 = 0)) then jumlah_hari ← 29 else jumlah_hari ← 28 endcase write (jumlah_hari)

20 #include <stdio.h> void 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; } printf("Jumlah hari dalam bulan %d tahun %d adalah %d", no_bulan, tahun, jumlah_hari);

21 Tugas Mandiri 2 Buatlah algoritma untuk membaca dua buah tanggal dan kemudian menghitung jumlah perbedaan hari antara dua buah tanggal tersebut. Perhatikan bahwa bulan Februari tahun kabisat memiliki 29 hari.


Download ppt "TEL 2112 Dasar Komputer & Pemograman Penyeleksian"

Presentasi serupa


Iklan oleh Google