program yang hanya berisi runtunan instruksi biasanya ... · struktur pemilihan memungkinkan kita...

Post on 29-Mar-2019

224 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Program yang hanya berisi runtunan

instruksi biasanya terdapat pada

masalah sederhana

Seringkali suatu instruksi hanya bisa

dilakukan jika ia memenuhi suatu syarat

tertentu

Struktur pemilihan memungkinkan kita

melakukan aksi jika suatu syarat dipenuhi

If kondisi then

aksi

Endif

Keterangan :

Aksi hanya dilakukan bila kondisi bernilai benar(true). Bila kondisi bernilai salah (false), tdk ada aksi apapun yg dikerjakan. Kata endif digunakan untuk mempertegas awal dan akhir struktur if-then

kon

disi

aksi

end

salah

benar

Buatlah algoritma yang membaca

sebuah bilangan bulat, lalu mencetak

pesan “genap” jika bilangan tersebut

adalah genap.

Bilangan genap adalah bilangan yg

habbis dibagi dgn 2 (sisa pembagian

=0). Oleh karena itu kita perlu membagi

data masukan dgn 2. Jika masukan

habis dibagi 2, maka kita tulis bahwa

bilangan tersebut bilangan genap

Judul : Algoritma bilangan genap

Kamus :

x : integer

Algoritma :

input (x)

if x mod 2 = 0 then

output(‘ bilangan genap’)

Endif

{}

If kondisi then

aksi1

Else

aksi2

Endif

Keterangan :

aksi 1 dikerjakan jika kondisi bernilai benar, sebaliknya jika kondisi bernilai salah, maka aksi2 yang akan dilaksanakan.

kon

disi

aksi1

end

salah

aksi2

benar

Buatlah algoritma dengan yang

membaca sebuah bilangan bulat, lalu

mencetak pesan “genap” jika bilangan

tersebut adalah genap, atau “ganjil” jika

bilangan tersebut adalah bilangan

ganjil. !

1. Deklarasi variabel bernama bilangan dan x

dengan tipe data integer

2. Baca data bilangan

3. X=bilangan mod 2

4. Jika x=0 maka tampilkan (“Bilangan genap”)

lalu lompat ke langkah 6

5. Jika tidak maka tampilkan (“Bilangan ganjil”)

6. Selesai

Judul : Algoritma bilangan genap dan ganjil

Kamus :

bilangan, x : integer

Algoritma :

input (bilangan)

x bilangan mod 2

if x = 0 then

output(‘ bilangan genap’)

Else

output(‘bilangan ganjil’)

Endif

{}

If kondisi1 then

aksi1

Else

if kondisi2 then

aksi2

Else

if kondisi3 then

aksi3

Endif

Endif

Endif

ko

ndi

si1

aksi1

end

salah

aksi2

benar

ko

ndi

si2

aksi3

end

Indeks nilai mahasiswa ditentukan berdasarkan nilai ujian yg diraihnya. Ketentuannya sbb:

Jika Nilai ujian >=80, indeks nilai = A

Jika Jika 70 <= nilai ujian <80, indeks nilai = B

Jika 55 <= nilai ujian <70, indeks nilai = C

Jika 40 <= nilai ujian <55, indeks nilai = D

Jika <40, indeks nilai = E

Judul : Algoritma indek_nilai_ujian

Kamus :

nilai : real

indeks : char

Algoritma :

Input(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

if (nilai >= 40) and (nilai <55) then

indeks „D‟

Else

indeks „E‟

Endif

Endif

Endif

Endif

Endif

Output (indeks)

{}

Buat Algoritma UpahKaryawan dengan PSEUDOCODE, dgn ketentuan SBB :

Gol A : upah perjam 5000

Gol B : upah perjam 6000

Gol C : upah perjam 7000

Gol D : upah perjam 8000

JamKerjaNormal = 48 per minggu

Upah lembur = 4000 per jam

Hasil yg diinginkan:

Input (Nama, gol, JJK)

jika JJK <= JamKerjaNormal maka

Upahtotal=JJK*UpahPerjam

selain itu

JamLembur=JJK-JamKerjaNormal

Upahtotal=JamKerjaNormal*Upahperjam+Jamlembur

*UpahLembur

Output (“Nama”, “UpahTotal”)

Judul : Algoritma Upah Karyawan

Kamus : const JamKerjaNormal=48

const UpahLembur=4000

Nama : String

gol : char

JJK : integer

JamLembur: integer

UpahPerjam : real

Upahtotal : real

Algoritma :

input (Nama,gol,JJK)

if gol ="A" then

UpahPerjam<- 5000.00

else

if gol ="B" then

UpahPerjam<- 6000.00

else

if gol ="C" then

UpahPerjam<- 7000.00

else

if gol ="D" then

UpahPerjam<- 8000.00

endif

endif

endif

endif

if JJK<= JamKerjaNormal then

UpahTotal<-JJK*Upahperjam

else

Jamlembur=JJK-JamKerjaNormal

UpahTotal=JamKerjaNormal*Upahperjam+JamLe

mbur*UpahLembur

endif

output("Nama", Upahtotal)

{}

Digunakan untuk masalah dengan dua

kasus atau lebih

Digunakan untuk menyederhanakan

penggunaan if-then-else yang

bertingkat

Case ekspresi

nilai 1 : aksi1

nilai 2: aksi2

nilai 3: aksi3

nilai n: aksin

otherwise : aksix

endcase

Buatlah algoritma membaca sebuah bilangan bulat yang nilainya terletak antara 1 sampai 4, lalu cetak tulisan angka tersebut. Misal bila dibaca angka 1, maka tercetak tulisan “satu”, bila dibaca 2, maka tercetak dilayar tulisan “dua”, demikian seterusnya. Jika angka yg dimasukan selain 1. s.d 4, maka tulis pesan bahwa angka yg dumasukkan salah.

Judul : Algoritma mencetak konversi_angka_teks

Kamus :

angka : integer

Algoritma :

input (angka)

if angka = 1 then

output(„satu‟)

Else

if angka = 2 then

output(„dua‟)

Else

if angka = 3 then

output(„tiga‟)

Else

if angka = 4 then

output(„empat‟)

Else

output(„angka yg dimasukkan harus 1 s.d 4‟)

Endif

Endif

Endif

endif

Judul : Algoritma mencetak konversi_angka_teks

Kamus :

angka : integer

Algoritma :

input (angka)

Case angka

1 : output („satu‟)

2 : output („dua‟)

3: output („tiga‟)

4: output („empat‟)

Otherwise : output(„Angka yang dimasukkan salah‟)

endcase

Judul : Algoritma GenapGanjil

Kamus :

x : integer

Algoritma :

input (x)

if x mod 2=0 then

output(„Genap‟)

else

output(„Ganjil‟)

endif

Judul : Algoritma GenapGanjil

Kamus :

x : integer

Algoritma :

input (x)

case x mod 2

0 : output(„genap‟)

1 : output(„ganjil‟)

endcase

Buatlah algoritma dengan BIT dan

Pseudo Code menggunakan struktur

seleksi (if-then-else dan CASE)

membaca nomor bulan (integer) , lalu

menuliskan nama bulan sesuai dengan

angka bulannya. Misal jika dibaca bulan

9, maka tercetak “September”.

Judul : Algoritma NamaBulan

Kamus :

no_bulan: integer

Algoritma : input (no_bulan) if no_bulan =“1" then output(“Januari”) else if no_bulan =“2" then output(“Februari”) else if no_bulan =“3" then output(“Maret”) else if no_bulan =“4" then output(“April”) else if no_bulan =“4" then output(“April”) else if no_bulan =“4" then output(“April”) else if no_bulan =“4" then output(“April”) else if no_bulan =“4" then output(“April”) else if no_bulan =“4" then output(“April”) else if no_bulan =“4" then output(“April”) else if no_bulan =“4" then output(“April”) else if no_bulan =“4" then output(“April”) endif endif endif endif

Judul : Algoritma NamaBulan

Kamus :

no_bulan: integer

Algoritma :

input (no_bulan)

case no_bulan

1 : output („Januari‟)

2 : output („Februari‟)

3 : output („Maret‟)

4 : output („April‟)

5 : output („Mei‟)

6 : output („Juni‟)

7 : output („Juli‟)

8 : output („Agustus‟)

9 : output („September‟)

10 : output („Oktober‟)

11 : output („November‟)

1 2: output („Desember‟)

otherwise : output(„Bukan bulan yang benar‟)

endcase

Konstruksi CASE sering digunakan dalam pemilihan menu program. User cukup mengetik nomor menu, kemudian prosedur yang berasosiasi dgn nomor menu tsb dieksekusi. Misal sebuah program mempunyai nomor menu sbb:

MENU

1. Baca data

2. Cetak data

3. Ubah data

4. Hapus data

5. Keluar program

Buatlah algoritma mencetak menu tsb dan membaca nomor pilihan menu. Utk setiap menu yang dipilih, cukup tuliskan pesan berikut :

Anda memilih menu nomor <Nomor Menu>

Judul : Algoritma SimulasiMenuProgram

Kamus :

no_menu: char

Algoritma :

output („ MENU „)

output(„1. Baca data‟)

output(„2. Cetak data‟)

output(„3. Ubah data‟)

output(„4. Hapus data‟)

output(„5. Keluar program‟)

output(„Masukkan pilihan anda(1/2/3/4/5)?‟)

Input (no_menu)

Case no_menu

1 : output („Anda memilih nomor menu 1‟)

2 : output („Anda memilih nomor menu 2‟)

3 : output („Anda memilih nomor menu 3‟)

4 : output („Anda memilih nomor menu 4‟)

5 : output („Anda memilih nomor menu 5‟)

endcase

Buatlah algoritma empat persegi panjang

menggunakan struktur case, dengan hasil

yang diinginkan sebagai berikut :

Menu Program Empat Persegi Panjang

1. Hitung luas

2. Hitung keliling

3. Keluar program

Masukkan pilihan anda (1/2/3)?

Munir, Rinaldi. 2007. Algoritma &

Pemrograman. Bandung : Informatika.

Yulikuspartono. 2004. Pengantar Logika

dan Algoritma. Yogyakarta: Andi Publisher.

Mulyanto , Aunur R. 2008. Rekayasa

Perangkat Lunak Jilid 1. Jakarta:

Direktorat Pembinaan SMK-Depdiknas.

www.ilmukomputer.org

top related