pertemuan 5 algoritma & pemrograman

20
1 PERTEMUAN 5 Algoritma & Pemrograman Presented by : Sity Aisyah, M.Kom Email : [email protected] Blog : yeshasalsabila.blogspot.com

Upload: turner

Post on 23-Jan-2016

68 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

Page 1: PERTEMUAN  5 Algoritma  &  Pemrograman

1

PERTEMUAN 5Algoritma &

Pemrograman

Presented by :Sity Aisyah, M.Kom

Email : [email protected] : yeshasalsabila.blogspot.com

Page 2: PERTEMUAN  5 Algoritma  &  Pemrograman

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.

Page 3: PERTEMUAN  5 Algoritma  &  Pemrograman

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;}

Page 4: PERTEMUAN  5 Algoritma  &  Pemrograman

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;}

Page 5: PERTEMUAN  5 Algoritma  &  Pemrograman

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.

Page 6: PERTEMUAN  5 Algoritma  &  Pemrograman

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;}

Page 7: PERTEMUAN  5 Algoritma  &  Pemrograman

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();}

Page 8: PERTEMUAN  5 Algoritma  &  Pemrograman

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

Page 9: PERTEMUAN  5 Algoritma  &  Pemrograman

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();}

Page 10: PERTEMUAN  5 Algoritma  &  Pemrograman

10

Output :

Page 11: PERTEMUAN  5 Algoritma  &  Pemrograman

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;

Page 12: PERTEMUAN  5 Algoritma  &  Pemrograman

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 ?

Page 13: PERTEMUAN  5 Algoritma  &  Pemrograman

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 ?

Page 14: PERTEMUAN  5 Algoritma  &  Pemrograman

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

Page 15: PERTEMUAN  5 Algoritma  &  Pemrograman

15

if (Nilai ≥ 40) and (Nilai < 55) thenindeks ← ‘D’

elseindeks ← ‘E’

endif endifendif

endif write(indeks)End Algoritma

Buatlah program C nya ?Output :

Page 16: PERTEMUAN  5 Algoritma  &  Pemrograman

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.

Page 17: PERTEMUAN  5 Algoritma  &  Pemrograman

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 *)

Page 18: PERTEMUAN  5 Algoritma  &  Pemrograman

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

Page 19: PERTEMUAN  5 Algoritma  &  Pemrograman

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

Page 20: PERTEMUAN  5 Algoritma  &  Pemrograman

20

Thank You