Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
PemilihanProgram
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.
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. 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
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");
3
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 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
5. 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
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("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
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
7
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 %cn", letter);
}
else /* Jika yang Anda Masukan Huruf Kecil*/
printf("Try using the shift key, Bud! I want a capital letter.n");
getch();
}
8