pertemuan 5 algoritma & pemrograman
DESCRIPTION
PERTEMUAN 5 Algoritma & Pemrograman. Presented by : Sity Aisyah, M.Kom Email : [email protected] Blog : yeshasalsabila.blogspot.com. 1. SELEKSI DENGAN KONDISI MAJEMUK. - PowerPoint PPT PresentationTRANSCRIPT
1
PERTEMUAN 5Algoritma &
Pemrograman
Presented by :Sity Aisyah, M.Kom
Email : [email protected] : yeshasalsabila.blogspot.com
SELEKSI DENGAN KONDISI MAJEMUK
2
Seringkali suatu kondisi yang dijadikan sebagai pengambil keputusan dalam suatu seleksi tidak sesederhana pada contoh if sebelumnya,melainkan melibatkan lebih dari sebuah kondisi.
Studi Kasus 1 : [MemvaLidasi Nilai Ujian]
Buatlah algoritma dan program yang meminta sebuah nilai ujian
dimasukkan dari keyboard dan memvalidasi nilai tersebut. Berikan
komentar ”Absah” jika nilai tersebut berada antara 0 sampai
dengan 100 dan berikan komentar ”Tidak Absah” untuk keadaan
sebaliknya.
3
Jawaban :.
Algoritma Program C
Deklarasi nilai : doubleMulai
Masukkan(nilai)JIKA nilai ≥ 0 dan nilai ≤ 100 MAKA
Tampilkan (”Absah”)SEBALIKNYA Tampilkan (”Tidak Absah”)AKHIR-JIKA
Selesai
#include <stdio.h>
int main(){
double nilai;printf("Masukkan nilai ujian : "); scanf("%lf", &nilai);if(nilai>=0 && nilai<=100) printf("Absah\n");else printf("Tidak Absah\n");
return 0;}
4
Program C++ Output
#include <iostream.h>
int main(){
double nilai;cout << "Masukkan nilai ujian : ";cin >> nilai;if(nilai>=0 && nilai<=100) cout <<"Absah\n";else cout <<"Tidak Absah\n";
return 0;}
5
Studi Kasus 2 : [Menentukan huruf kapital atau bukan]
Buatlah algoritma dan program yang meminta sebuah karakter
dimasukkan dari keyboard dan kemudian memberikan keterangan
karakter tersebut termasuk huruf kapital atau bukan.
6
Jawaban :.
Algoritma Program C
Deklarasi karakter : charMulai
Masukkan(karakter)JIKA karakter ≥ ”A” dan karakter ≤ ”Z” MAKA
Tampilkan (” Termasuk huruf kapital”)
SEBALIKNYA Tampilkan (” Bukan huruf kapital”)AKHIR-JIKA
Selesai
#include <stdio.h>
int main(){
char karakter;printf("Masukkan sebuah karakter : ");scanf("%c",&karakter);if(karakter>='A' && karakter<='Z') printf("%c Termasuk huruf kapital\n", karakter);else printf("%c Bukan huruf kapital\n", karakter);
return 0;}
FUNGSI GETCH() DAN GETCHE()
7
Getch kepanjangan dari get character. Digunakan untuk membaca sebuah karakter tanpa di akhiri ENTER.
Bentuk umumnya adalah sebagai berikut :Karakter = getch ();Getch membaca karakter tunggal yang dimasukan lewat keyboard
tetapi hasilnya tidak di tampilkan melalui layar.Contoh program :
Getch
#include <stdio.h>#include <conio.h>main(){char a;printf("Tekan sebuah tombol pada keyboard!");a=getch();printf("\nTombol yang baru anda tekan adalah %c",a);getch();}
8
Output :pada syntax a=getch(); artinya apapun yang ditekan pada keyboard akan disimpan ke dalam variabel a. salah satu kegunaan fungsi getch() ini adalah untuk masking password.
Getche kepanjangan dari get character and echo. Digunakan untuk membaca sebuah karakter tanpa di akhiri ENTER. Bentuk umumnya adalah sebagai berikut :
Karakter = getche ();Getche membaca karakter tunggal yang di masukan lewat keyboard
dan hasilnya akan di tampilkan pada layar.
Getche
9
Lalu apa perbedaan fungsi getch() dan getche()? Seperti yang dijelaskan tadi getch() merupakan kepanjangan dari Get Character, sedangkan untuk getche() merupakan kepanjangan dari Get Character And Echo. Pada fungsi getch() tombol yang kita tekan pada keyboard tidak akan ditampilkan pada console (kecuali kita panggil variabelnya dengan fungsi printf atau fungsi output lainnya), namun untuk getche() tombol yang kita tekan akan langsung ditampilkan pada console.
Contoh :
#include <stdio.h>#include <conio.h>main(){char a;printf("Tekan sebuah tombol pada keyboard!");a=getche();printf("\nTombol yang baru anda tekan adalah %c",a);getch();}
10
Output :
SELEKSI BERSARANG (NESTED IF)
11
Masalah dengan tiga kasus atau lebih dapat dianalisis dengan struktur pemilihan bersarang. Perintah IF dalam IF sering disebut nested-if. Perintah ini mempunyai bentuk umum sebagai berikut :
If (kondisi1) If (kondisi2)
Pernyataan1; Else
Pernyataan2;Else Pernyataan3;
Pernyataan If dalam if juga mempunyai bentuk yang majemuk yang sering disebut if bertingkat. Bentuk umumnya adalah sebagai berikut :
If (kondisi1) Pernyataan1;Else if (kondisi2) Pernyataan2;Else if (kondisi3) Pernyataan3;……...else pernyataan-n;
12
Studi Kasus 1 : [Menentukan_bilangan_positif_negatif_nol]
{Menentukan apakah suatu bilangan bulat yang diperoleh dari piranti masukan merupakan bilangan positif, negatif atau nol}.
DEKLARASI:bil : integer
DEFINISI:
read(bil)if (bil = 0) then
write(‘bilangan nol’)else
if (bil < 0) then write(‘bilangan negatif’)else write(‘bilangan positif’)endif
endifEnd Algoritma
Buatlah program C nya ?
13
Studi Kasus 2 : [Menentukan wujud air]{Menentukan wujud air : padat, cair, atau gas berdasarkan suhunya}
DEKLARASI:T : real
DEFINISI:read(T)if (T ≤ 0) then
write(‘padat’)else
if (T > 0) and (T < 100) thenwrite(‘cair’)
elseif (T ≥ 100) then
write(‘gas atau uap’)endif
endifendif
End Algoritma
Buatlah program C nya ?
14
Studi Kasus 3 : [Menghitung Indeks Nilai]{Menghitung indeks nilai mahasiswa berdasarkan nilai ujian yang diperoleh}
DEKLARASI:Nilai : realindeks : char
DEFINISI:read(Nilai)if (Nilai ≥ 80) then
indeks ← ‘A’else if (Nilai ≥ 70) and (Nilai < 80) then
indeks ← ‘B’ else
if (Nilai ≥ 55) and (Nilai < 70) then indeks ← ‘C’ else
15
if (Nilai ≥ 40) and (Nilai < 55) thenindeks ← ‘D’
elseindeks ← ‘E’
endif endifendif
endif write(indeks)End Algoritma
Buatlah program C nya ?Output :
SELEKSI CASE
16
Jika suatu masalah yang memiliki dua kasus atau lebih, maka untuk menyederhanakan penulisan struktur pemilihan bersarang (nested if) digunakan struktur case-of.
Bentuk strukturnya adalah :
case ekspresinilai-1 : pernyataan-1nilai-2 : pernyataan-2..nilai-n : pernyataan-notherwise : pernyataan-otherwise
endcase
Jika nilai ekspresi sama dengan nilai-1, maka pernyataan-1 akan dijalankan, dan seterusnya. Jika nilai ekspresi tidak sama dengan seluruh nilai (nilai-1, nilai-2, . . , nilai-n), maka pernyataan-otherwise yang akan dijalankan.
ekspresi merupakan sembarang ekspresi (aritmatika atau boolean) yang menghasilkan suatu nilai (konstanta).
Case akan memeriksa apakah nilai dari ekpresi tersebut sama dengan salah satu nilai dari nilai-1, nilai-2 dan seterusnya.
17
Pernyataan CASE digunakan untuk menyederhanakan konstruksi IF..THEN..ELSE…yang terlalu banyak.
Pada masalah tertentu, CASE lebih memberikan kejelasan daripada IF. Namun perlu diketahui bahwa semua persoalan dapat ditangani oleh CASE bisa ditangani oleh IF, tetapi tidak sebaliknya.
Daftar case-label dapat berupa sebuah konstanta, atau range dari konstanta yang bukan bertipe real.
Contoh:1 : (nilai integer 1)1,2,3,4 : (nilai integer 1,2,3,4)1..5 : (nilai integer 1,2,3,4,5)‘A’ : (nilai karakter A)‘A’,’B’ : (nilai karakter A dan B)‘A’..’D’ : (nilai karakter A,B,C,D)‘*’ : (nilai karakter *)
18
Berikut contoh algoritma dengan struktur case.Studi Kasus 1 : [Mengkonversi_nama_bulan]{Menentukan nama bulan sesuai dengan nomor bulan}
Algoritma :
DEKLARASI:Nomor_bulan : integer
DEFINISI:read(Nomor_bulan)case Nomor_bulan1 : write(‘Januari’)2 : write(‘Februari’)3 : write(‘Maret’) 4 : write(‘April’) 5 : write(‘Mei’) 6 : write(‘Juni’)
7 : write(‘Juli’) 8 : write(‘Agustus’) 9 : write(‘September’) 10 : write(‘Oktober’) 11 : write(‘November’) 12 : write(‘Desember’) otherwise : write(‘Nomor bulan salah’) Endcase
End Algoritma
19
Studi Kasus 1 : [Kalkulator_sederhana]{Mensimulasikan kalkulator sederhana, yaitu menghitung hasil operasi aritmatika dari masukan berupa operand1, operand2, dan operator}Algoritma :
DEKLARASI:op1, op2 : integeroprtor : char
DEFINISI:read(op1, op2, oprtor)case oprtor
‘+’ : write(op1 + op2)‘-’ : write(op1 – op2)‘*’ : write(op1 * op2)‘/’ : if (op2 ≠ 0) then
write(op1 / op2) else
write(‘Eror!’) endif
EndcaseEnd Algoritma
20
Thank You