PENYELEKSIAN
A. TUJUAN
Praktikan memahami penggunaan penyeleksian dalam pemecahan masalah dan mampu mentranslasi pengulangan dari notasi algoritma pseudocode ke dalam bahasa C.
B. PERALATAN
· Perangkat keras : 1 set computer dan 1 buah flasdisk.
· Perangkat lunak : windows xp, kompilator djgpp dan notepad.
C. DASAR TEORI
1. Struktur penyeleksian
Ada 2 macam struktur penyeleksian. Pemilihan konstruksi yang tepat bergantung pada jumlah kasus yang akan diseleksi.
1) Pernyataan IF-THAN-ELSE
2) Pernyataan CASE
Penggunaan struktur IF-THAN-ELSE jika jumlah kasus tidak banyak. Untuk jumlah kasus yang banyak, konstruksi CASE dapat menyederhanakan penulisan.
2. Pernyataan if-than-else
Notasi algoritmik untuk analisis dua kasus adalah dengan menggunakan konstruksi if-than-else. Jika kondisi terpenuhi maka statemen 1 akan dieksekusi, tetapi jika kondisi tidak terpenuhi, maka statemen 2 yang akan dieksekusi.
If (kondisi) then
Statemen 1
Else statemen 2
Notasi algoritmik untuk analisis dengan tiga kasus adalah:
If (kondisi 1) then {kasus 1}
Statemen 1
Else if (kondisi 2) then {kasus 2}
Statemen 2
Else statemen 3 {kasus 3}
Endif
Endif
Contoh algoritma dengan pernyataan if-than-else:
PROGRAM Wujud_air
{menentukan wujud air, tergantung temperature 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 {T3 100, kasus 3)
Write (“gas atau uap”)
Endif
Endif
3. Pernyataan case
Pernyataan 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 algoritma dengan pernyataan 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
D. Langkah kerja
1) Ketiklah program berikut, simpan dalam flashdisk, kemudian kompilasi dan eksekusi menggunakan dos promp.
/*Program Wujud_air*/
#include<stdio.h>
int 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");
else
printf("Wujud air gas/uap\n");
}
return 0;
}
2) Ketiklah program berikut, simpan dalam flashdisk, kemudian kompilasi dan eksekusi menggunakan dos promp.
/*Program gaji*/
#include "stdio.h"
int main()
{
int jumlah_anak;
float gajikotor,tunjangan,potongan,persentunjangan=0.2,persenpotongan=0.05;
printf("Gaji kotor: "); scanf("%f",&gajikotor);
printf("Jumlah Anak: "); scanf("%f",&jumlah_anak);
if(jumlah_anak>2)
{
persentunjangan=0.3;
persenpotongan=0.07;
}
tunjangan=persentunjangan*gajikotor;
potongan=persenpotongan*gajikotor;
printf("Besarnya Tunjangan = Rp %0.2f\n",tunjangan);
printf("Besarnya Potongan = Rp %0.2f",potongan);
return (0);
}
3) Ketiklah program berikut, simpan dalam flashdisk, kemudian kompilasi dan eksekusi menggunakan dos promp.
/*PROGRAM Konversi_Ke_Detik*/
#include<stdio.h>
int main()
{
typedef struct {long int hh,mm,ss;} Jam;
Jam J;
long int TotalDetik;
printf("Jam : "); scanf("%ld",&J.hh);
printf("Menit : "); scanf("%ld",&J.mm);
printf("Detik : "); scanf("%ld",&J.ss);
TotalDetik=(J.hh*3600)+(J.mm*60)+J.ss;
printf("Total detik adalah : %ld",TotalDetik);
return 0;
}
Tidak ada komentar:
Posting Komentar