2. teknik pemilihan dalam_pemrograman

8
1 BAB IV PROSES PEMILIHAN DALAM PEMROGRAMAN Pertemuan Minggu IV Alokasi Waktu : 4 Jam Pertemuan Standar Kompetensi : Mahasiswa dapat membuat program komputer sederhana dengan menggunakan bahasa C Kompetensi Dasar : Memahami program komputer yang mengandung unsur Pemilihan Indikator : Mahasiswa dapat memahami struktur pemrograman if, if else, nested if, swith case. : Mahasiswa dapat membuat program dengan melibatkan struktur pemilihan 1.1. STRUKTUR IF - ELSE Penyeleksian kondisi digunakan untuk mengarahkan perjalanan suatu proses. Penyeleksian kondisi dapat diibaratkan sebagai katup atau kran yang mengatur jalannya air. Bila katup terbuka maka air akan mengalir dan sebaliknya bila katup tertutup air tidak akan mengalir atau akan mengalir melalui tempat lain. Fungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama untuk program yang kompleks (Achmad Solichin) C menyediakan kata kunci if else untuk menyeleksi kondisi pernyataan, jika pernyataan tersebut bernilai benar atau sesuai dengan kondisi yang dinginkan maka pernyataan tersebut akan dijalankan. Sebaliknya jika penyataan yang di periksa tidak sesuai dengan kondisi maka pernyataan tersebut tidak dijalankan atau menjalankan penyataan yang lain. 1. Pernyataan 1 : Membawa Payung 2. Pernyataan 2 : Berangkat Sekolah Pada gambar di atas peryataan tersbut mengisyaratkan bahwa Jika hari ini Hujan maka, Saya akan membawa payung dan akan berangkat sekolah Jika hari ini tidak hujan maka saya berangkat sekolah. Pernyataan tersebut mengisyaratkan ada sebuah kondisi yang harus di periksa sebelum melakukan aktivitas selanjutnya. Contoh lain dalam kehidupan sehari-hari dimana kita diharuskan memeriksa suatu kondisi tertentu unutk membuat keputusan selanjutnya. 1. Jika Andi mendapatkan nilai >= 70 maka Andi Lulus Diagram Alir Struktur Pemilihan Suatu Kondisi Gambar 4.1 Tidak Hari ini Hujan? Pernyataan 1 Pernyataan 2 Ya

description

 

Transcript of 2. teknik pemilihan dalam_pemrograman

Page 1: 2. teknik pemilihan dalam_pemrograman

1

BAB IV PROSES PEMILIHAN DALAM PEMROGRAMAN

Pertemuan Minggu IV

Alokasi Waktu : 4 Jam Pertemuan

Standar Kompetensi : Mahasiswa dapat membuat program komputer sederhana dengan menggunakan bahasa C

Kompetensi Dasar : Memahami program komputer yang mengandung unsur Pemilihan

Indikator : Mahasiswa dapat memahami struktur pemrograman if, if else, nested if, swith case.

: Mahasiswa dapat membuat program dengan melibatkan struktur pemilihan

1.1. STRUKTUR IF - ELSE Penyeleksian kondisi digunakan untuk mengarahkan perjalanan suatu proses. Penyeleksian kondisi dapat diibaratkan sebagai katup atau kran yang mengatur jalannya air. Bila katup terbuka maka air akan mengalir dan sebaliknya bila katup tertutup air tidak akan mengalir atau akan mengalir melalui tempat lain. Fungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama untuk program yang kompleks (Achmad Solichin)

C menyediakan kata kunci if else untuk menyeleksi kondisi pernyataan, jika pernyataan tersebut bernilai benar atau sesuai dengan kondisi yang dinginkan maka pernyataan tersebut akan dijalankan. Sebaliknya jika penyataan yang di periksa tidak sesuai dengan kondisi maka pernyataan tersebut tidak dijalankan atau menjalankan penyataan yang lain.

1. Pernyataan 1 : Membawa Payung 2. Pernyataan 2 : Berangkat Sekolah

Pada gambar di atas peryataan tersbut mengisyaratkan bahwa

Jika hari ini Hujan maka, Saya akan membawa payung dan akan berangkat sekolah Jika hari ini tidak hujan maka saya berangkat sekolah.

Pernyataan tersebut mengisyaratkan ada sebuah kondisi yang harus di periksa sebelum melakukan aktivitas selanjutnya. Contoh lain dalam kehidupan sehari-hari dimana kita diharuskan memeriksa suatu kondisi tertentu unutk membuat keputusan selanjutnya.

1. Jika Andi mendapatkan nilai >= 70 maka Andi Lulus

Diagram Alir Struktur Pemilihan Suatu Kondisi

Gambar 4.1 Tidak

Hari ini Hujan?

Pernyataan 1

Pernyataan 2

Ya

Page 2: 2. teknik pemilihan dalam_pemrograman

2

2. Jika Andi mendapatkan nilai < 70 maka Andi tidak lulus Pernyataan tersebut di atas jika diterjemahkan dalam algoritma pemrograman menjadi

If Nilai >= 70 --------- >(Ekspresi) Lulus ---------- >(Pernyataan 1)

Else Tidak Lulus ---- >(Pernyataan 2) Dalam hal ini ekspresi yang pertama yaitu Apakah Nilai yang di periksa >= 70, jika Nilai yang di periksa semisal 80 maka pernyataan tersebut benar adanya maka pernyataan LULUS akan dieksekusi. Jika nilai yang diperiksa semisal 65 maka pernyataan Tidak Lulus akan dieksekusi.

Pada contoh diatas blok program dari if else hanya di isi oleh masing-masing satu peryataan. Berikut merupakan struktur if else dengan pernyataan yang lebih dari satu If (Kondisi Pemilihan) --------- > (Ekspresi) { (Blok Pernyataan 1) } Else { (Blok Pernyataan 2) } Berikut adalah contoh algortima dengan melibatkan lebih dari satu pernyataan untuk tiap bloknya

If Nilai >= 85 --------- >(Ekspresi) {

Lulus Dengan predikat sangat memuaskan }

Else {

Tidak Lulus Mengulang Semester Depan }

Program yang melibatkan suatu kondisi pemilihan juga dapat dibuat secara bertingkat, pemeriksaan kondisi bertingkat juga dapat dilakukan dengan melibatkan operator logika seperti operator AND (&&) dan operator OR ( | | ), sebagai contoh perhatikan pernyataan dibawah ini Jika Mahasiwa mempunyai nilai lebih dari atau sama dengan 85 Maka Mahasiswa tersebut mendapat nilai A

Jika Mahasiswa mempunyai nilai antara 70 sampai 85 Maka Mahasiswa tersebut mendapat nilai B Jika Mahasiswa mempunyai nilai antara 60 sampai 70 Maka Mahasiswa tersebut mendapat nilai C Jika diperhatikan ada beberapa rentang nilai seperti 70 sampai 85, 60 sampai 70 yang harus di periksa untuk mendapatkan kesimpulan yang benar, berikut adalah algoritma untuk mengevaluasi pernyataan diatas if (nilai >= 85 ) { Nilai A } if else ( (nilai >= 70 ) && (nilai < 85) ) { Nilai B

(Blok Pernyataan 1)

(Blok Pernyataan 2)

------ >

------ >

Page 3: 2. teknik pemilihan dalam_pemrograman

3

} if else ( (nilai >= 60 ) && (nilai < 07) ) { Nilai C }

Contoh 4.1 #include <stdio.h> #include <conio.h> main() { int nilai; printf("Masukan Nilai Anda : "); scanf("%d",&nilai); if (nilai < 70) printf("Tidak Lulus"); else printf("Lulus"); getch(); }

Pada contoh 4.1 memperlihatkan suatu pemilihan kondisi sederhana, yaitu hanya tersedia dua pilihan “Jika tidak ini maka itu”. Program pada contoh 4.1 akan menguji angka yang dimasukan oleh pengguna, masukan tersebut ditampung di dalam variable nilai. Pada tahap selanjutnya program akan menguji variable nilai, jika nilai mempunyai harga dibawah 70 maka dilayar computer akan muncul pernyataan “tidak lulus” akan tetapi jika anda memasukan angka diatas 70 maka dilayar computer akan muncul pernyataan “lulus”.

Contoh 4.2 #include <stdio.h> #include <conio.h> main() { int hari; printf("Masukan Angka Untuk Mewakili Hari : "); scanf("%d",&hari); if (hari==1) { printf("Senin"); } if (hari==2) { printf("Selasa"); } if (hari==3) { printf("Rabu");

Page 4: 2. teknik pemilihan dalam_pemrograman

4

} if (hari==4) { printf("Kamis"); } getch(); } Pada contoh 4.2 program menyatakan struktur setiap if yang mempunyai blok program, setiap struktur if dipisahkan oleh pasangan tanda kurung kurawal. Program ini akan menyeleksi setiap angka yang pengguna masukan, ketika angka yang dimasukan sesuai dengan salah satu kondisi yang ada maka tulisan Senin, Selasa, dst akan ditampilkan pada layar computer.

1.2. STRUKTUR SWITCH - CASE Bahasa C juga menyediakan keyword Switch – Case untuk menyederhanakan pemrograman if else. Keyword ini menjadikan struktur pemrograman if – else menjadi lebih mudah dalam melakukan pemilihan suatu kondisi. Berikut adalah bentuk umum dari sikntaks switch case switch (menu) { case 1: Anda Memilih menu Pertama Break case 2 : Anda Memilih menu kedua break case 3 : Anda Memilih menu ketiga break default : Pilihan Anda Salah }

Pada pemrograman diatas keyword Switch Case mempunyai struktur pemilihan yang berpedoman pada jumlah case yang menjadi pemilihan. Berikut adalah contoh penggunaan dari switch case untuk melakukan proses pemilihan

Contoh 4.3 #include <stdio.h> #include <conio.h> main() { int menu; clrscr(); puts("Menu Menghitung Luas Bangun\n"); puts("1. Luas Bangun Persegi Panjang\n"); puts("2. Luas Bangun Lingkaran\n"); puts("3. Luas Bangun Segitiga\n"); puts("4. Keluar Program.....\n"); printf("Masukan Angka (1-3) untuk memilih menu : "); scanf("%d", &menu);

Page 5: 2. teknik pemilihan dalam_pemrograman

5

switch (menu) { case 1: printf("Program untuk menghitung luas Persegi Panjang"); break; case 2: printf("Program untuk menghitung luas Lingkaran"); break; case 3: printf("Program untuk menghitung luas Lingkaran"); break; case 4: printf("Keluar Program"); break; } getch(); }

Program yang melibatkan suatu kondisi pemilihan juga dapat dibuat secara bertingkat atau yang lebih dikenal dengan istilah if else bersarang (nested). Gambar dibwah ini menunjukan diagram alir proses pengeksekusian blok pernyataan yang menggunakan if else bersarang.

if(i) { if(j) Pernyataan_1(); if(k) Pernyataan_2(); else Pernyataan_3(); /* Kondisi else yang berhubungan dengan if(k) */ } else Pernyataan_4(); /* associated with if(i) */

Diagram Alir pemilihan kondisi bersarang tersebut menunjukan bahwa suatu kondisi mula-mula akan diperiksa pada pemilihan_1 jika bernilai benar maka pernyataan 1 akan dieksekusi, akan tetapi jika salah pernyataan 2 yang akan dieksekusi. Jika pemeriksaan pada kondisi pemilihan 1 bernilai benar maka kondisi tersebut juga akan diperiksa pada pemilihan 2, jika kondisi yang dipriksa bernilai benar maka

Tidak

Pemilihan_1?

Pernyataan 1 Ya

Pemilihan_2?

Ya

Tidak

Pernyataan 3

Pernyataan 4

Pernyataan 2

Diagram Alir Struktur Pemilihan Suatu Kondisi Bersarang

Gambar 4.2

Page 6: 2. teknik pemilihan dalam_pemrograman

6

pernyataan 3 akan dieksekusi apabila kondisi yang diperiksa bernilai salah maka penrnyataan 4 yang akan dieksekusi.

Contoh 4.4 #include <stdio.h> #include <conio.h> main() { int nilai=75; if (nilai>=80) { printf("Lulus\n"); if (nilai >=95) { printf("Anak Jenius"); } else { printf("Anak Pandai"); } } else { printf("Belum Lulus\n"); printf("Mengulang Tahun depan"); } getch(); }

Pengayaan Latihan 4.1 #include <stdio.h> #include <conio.h> main() { int mi, pasta, sikat, jml1, jml2, jml3, total; float bayar; puts("Harga Mi Instran Persatuan Rp. 800"); puts("Harga Pasta Gigi Persatuan Rp. 1000"); puts("Harga Sikat Gigi Persatuan Rp. 1500"); puts("Masukan jumlah yang barang yang ingin Anda beli"); puts("Bila tidak ingin membeli masukan angka nol (0)"); printf("Berapa jumlah Mi Instan Yang ingin Anda Beli : "); scanf("%d",&mi); printf("Berapa jumlah Pasta Gigi Yang ingin Anda Beli : "); scanf("%d",&pasta); printf("Berapa jumlah Sikat Gigi Yang ingin Anda Beli : "); scanf("%d",&sikat); jml1 = 800 * mi;

Page 7: 2. teknik pemilihan dalam_pemrograman

7

jml2 = 1000 * pasta; jml3 = 1500 * sikat; total = jml1 + jml2 + jml3; if (total > 10000) { bayar = 0.9 * total; printf("Total Bayar = %.0f",bayar); } if (mi > 5) { bayar = total - 800; printf("Total Bayar = %.0f",bayar); } if (total > 10000) && (mi > 5) { bayar = (0.9 * total) - 800; printf("Total Bayar = %.0f",bayar); } getch(); } Latihan 4.2 #include <stdio.h> #include <conio.h> main() { int angka; printf("Masukan Sembarang Angka untuk di uji: "); scanf("%d",&angka); if(angka%2 == 0) { printf("\nBilangan Yang Anda Masukan Angka Genap"); if((angka/2)%2 == 0) { printf("\nHasil Bagi Dua dari bilangan tersebut juga Genap"); } else { printf("\nHasil Bagi Dua dari bilangan tersebut Angka Ganjil"); } } else { printf("Bilangan Yang Anda Masukan Angka Ganjil"); } getch(); } Latihan 4.3

Page 8: 2. teknik pemilihan dalam_pemrograman

8

#include <stdio.h> #include <conio.h> int main(void) { char letter = 0; /* Stores a character */ printf("Enter an uppercase letter:"); /* Prompt for input */ scanf("%c", &letter); /* Read a character */ if(letter >= 'A') /* Is it A or greater? */ if(letter <= 'Z') /* and is it Z or lower? */ { /* Jika yang Anda Masukan Huruf Besar */ letter = letter - 'A'+ 'a'; /* Convert from upper- to lowercase */ printf("You entered an uppercase %c\n", letter); } else /* Jika yang Anda Masukan Huruf Kecil*/ printf("Try using the shift key, Bud! I want a capital letter.\n"); getch(); }