2. teknik pemilihan dalam_pemrograman
Upcoming SlideShare
Loading in...5
×
 

2. teknik pemilihan dalam_pemrograman

on

  • 660 views

 

Statistics

Views

Total Views
660
Views on SlideShare
660
Embed Views
0

Actions

Likes
0
Downloads
15
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

2. teknik pemilihan dalam_pemrograman 2. teknik pemilihan dalam_pemrograman Document Transcript

  • 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. Hari ini Hujan? Gambar 4.1 Ya Diagram Alir Struktur Pemilihan Suatu Kondisi Tidak Pernyataan 1 Pernyataan 2 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 1
  • 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 ------ > (Blok Pernyataan 1) Dengan predikat sangat memuaskan } Else { Tidak Lulus ------ > (Blok Pernyataan 2) 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 2
  • } 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"); 3
  • } 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 Bangunn"); puts("1. Luas Bangun Persegi Panjangn"); puts("2. Luas Bangun Lingkarann"); puts("3. Luas Bangun Segitigan"); puts("4. Keluar Program.....n"); printf("Masukan Angka (1-3) untuk memilih menu : "); scanf("%d", &menu); 4
  • switch (menu) { case 1: printf("Program untuk break; case 2: printf("Program untuk break; case 3: printf("Program untuk break; case 4: printf("Keluar Program"); break; menghitung luas Persegi Panjang"); menghitung luas Lingkaran"); menghitung luas Lingkaran"); } 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) */ Pemilihan_1? Tidak Ya Pernyataan 1 Gambar 4.2 Diagram Alir Struktur Pemilihan Suatu Kondisi Bersarang Ya Pemilihan_2? Pernyataan 4 Tidak Pernyataan 3 Pernyataan 2 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 5
  • 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("Lulusn"); if (nilai >=95) { printf("Anak Jenius"); } else { printf("Anak Pandai"); } } else { printf("Belum Lulusn"); 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; 6
  • 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 7
  • #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 %cn", letter); } else /* Jika yang Anda Masukan Huruf Kecil*/ printf("Try using the shift key, Bud! I want a capital letter.n"); getch(); } 8