TEL 2112 Dasar Komputer & Pemograman Penyeleksian

Slides:



Advertisements
Presentasi serupa
Algoritma dan Pemrograman
Advertisements

Pertemuan Ke-3 STRUKTUR PEMILIHAN.
STRUKTUR DASAR ALGORITMA
TEL 2112 Dasar Komputer & Pemograman Pengulangan
PERTEMUAN 6 Algoritma Presented by : Sity Aisyah, M.Kom
CS1023 Pemrograman Komputer
PERTEMUAN 4 Penyeleksian kondisi
Algoritma dan Struktur Data
Struktur Kendali Proses (Seleksi)
Kondisi (Pemilihan).
LOGIKA ALGORITMA Pertemuan 6.
STATEMENT PENGENDALIAN (PEMILIHAN)
Pemprograman Terstruktur 1
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 DPK UNIVERSITAS BRAWIJAYA MALANG.
Algoritma dan Dasar Pemograman
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 REVIEW Issa Arwani, S.kom, M.sc.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 DPK Pertemuan -- Issa Arwani, S.kom, M.sc. PROGRAM STUDI.
Algoritma dan Struktur Data
Algoritma Pseudocode TEE 2103 Algoritma dan Pemrograman
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
MODUL KE-9 PEMILIHAN.
Percabangan Dosen Pengampu: M. Zidny Naf’an, M.Kom.
PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS KOMPUTER INDONESIA
STRUKTUR DASAR ALGORITMA
Algoritma Pemrograman I
Buatlah flowchart untuk pembagian 3 buah bilangan
PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS KOMPUTER INDONESIA
Runtunan dan Pemilihan
Struktur Seleksi (Percabangan)
Ucu Nugraha, ST. Algoritma.
PERTEMUAN 5 PENYELEKSIAN KONDISI.
PERTEMUAN 4 Algoritma & Pemrograman
PERTEMUAN 7 STATEMENT PEMILIHAN
Apa itu Fungsi? Sebuah fungsi adalah modul program yang mengerjakan tugas atau aktivitas yang spesifik dan mengembalikan sebuah nilai dari tipe tertentu,
PERCABANGAN.
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
Pencabangan Bersyarat
Pemilihan TEE 2103 Algoritma dan Pemrograman Dosen: Abdillah, MIT
DPK Percabangan bersyarat
TEL 2103 Dasar Komputer & Pemograman Larik (Array)
TEL 2112 Dasar Komputer & Pemograman Fungsi
Fungsi TEE 2103 Algoritma & Pemrograman Dosen: Abdillah, MIT
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
Algoritma & Pemrograman 1
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
TEL 2112 Dasar Komputer & Pemrograman
TEL 2112 Dasar Komputer & Pemograman Ujian Tengah Semester
Contoh-contoh Pemecahan Masalah 2 TEE 2103 Algoritma & Pemograman
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
Algoritma Percabangan
Runtunan dan Pemilihan
TEL 2112 Dasar Komputer & Pemrograman
Algoritma & Pemrograman 1
STATEMENT PENGENDALIAN (PEMILIHAN)
TEL 2112 Dasar Komputer & Pemograman Pengontrolan Program – Penyeleksian Dosen: Abdillah, S.Si, MIT Website:
TEL 2112 Dasar Komputer & Pemograman Prosedur
TEL 2112 Dasar Komputer & Pemograman Fungsi
Seleksi.
TEL 2112 Dasar Komputer & Pemograman Prosedur
TEL 2112 Dasar Komputer & Pemograman Fungsi
Contoh-contoh Pemecahan Masalah 2 TEE 2103 Algoritma & Pemograman
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
SELEKSI ALGORITMA & STRUKTUR DATA I PROGRAM STUDI SISTEM INFORMASI
TEL 2112 Dasar Komputer & Pemograman Pengantar Algoritma
TEL 2112 Dasar Komputer & Pemograman Pengantar Algoritma
PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS KOMPUTER INDONESIA
ALGORITMA & DASAR PEMROGRAMAN
PERCABANGAN.
Transcript presentasi:

TEL 2112 Dasar Komputer & Pemograman Penyeleksian Abdillah, S.Si, MIT Email: abdill01@gmail.com Website: http://abdill01.wordpress.com

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

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

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

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.

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.

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

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

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"); }

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

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

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"); }

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.

#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);

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

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

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

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"); }

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)

#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);

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.