hz ch3a algo.instruksi utama

18
Bab 3 INSTRUKSI UTAMA Instruksi Runtunan (Sequential) Instruksi Pemilihan : IfThen!lse "ase Instruksi Perulan#an (Re$etiti%n) : &hile ' % Re$eat ' Until

Upload: lihin-himura

Post on 05-Nov-2015

10 views

Category:

Documents


0 download

DESCRIPTION

instruksi algoritma

TRANSCRIPT

PENGANTAR

Bab 3INSTRUKSI UTAMA

Instruksi Runtunan (Sequential)Instruksi Pemilihan :If/Then/ElseCaseInstruksi Perulangan (Repetition) :While doRepeat UntilForKegiatan Belajar 5Instruksi Runtunan & PemilihanPengantarPada bab ini akan dibahas instruksi utama yang dapat digunakan dalam mengatur jalannya pelaksanaan algoritma. Secara garis besar hanya ada tiga macam kategori instruksi utama, yaitu instruksi runtunan, pemilihan dan perulangan. Uraian lengkap tentang tiga instruksi utama tersebut akan dibahas pada slide berikut.Instruksi Runtunan (Sequential)Instruksi runtunan adalah instruksi yang dikerjakan secara beruntun atau baris per baris mulai dari baris pertama hingga baris terakhir, tanpa ada loncatan atau perulangan. Berikut karakteristik instruksi runtunan :Tiap instruksi dikerjakan satu per satu sebanyak satu kali.Urutan pelaksanaan instruksi sama dengan urutan penulisan algoritma.Instruksi terakhir merupakan akhir algoritma.Urutan penulisan instruksi bisa menjadi penting; bila diubah dapat menyebabkan hasil yang berbeda.

Contoh Instruksi runtunan : (suarga, hal : 19-20)Algoritma Runtunan_l{menunjukkan urutan yang berbeda memberi hasil yang berbeda }Deklarasiinteger A, B;DeskripsiA 10;A 2*A;B A; write(B);Algoritma di atas menampilkan basil : 20Algoritma Runtunan_2 {menunjukkan urutan yang berbeda memberi hasil yang berbeda }Deklarasiinteger A, B;DeskripsiA 10;B A;A 2*A;write(B);dengan urutan yang diubah maka algoritma ini memberi basil : 10

Instruksi PemilihanInstruksi pemilihan adalah instruksi yang dipakai untuk memilih satu aksi dari beberapa kemungkinan aksi berdasarkan suatu persyaratan. Ada dua bentuk instruksi pemilihan yang sering digunakan, yaitu if/then/else dan case.Instruksi if/then/else digunakan untuk memilih alternatif apabila suatu syarat atau kondisi dipenuhi (1 kasus), atau memilih satu alternatif dari dua kemungkinan berdasarkan apakah syarat terpenuhi atau tidak (2 kasus)Instruksi case digunakan sebagai instruksi pemilihan di mana aksi yang akan dilakukan hanya bergantung pada nilai dari satu macam variabel. Dengan lain, variabel yang menentukan ini mungkin memiliki banyak macam nilai dan setiap nilainya berkaitan dengan satu macam aksi.

Instruksi If/Then/Else; Bentuk 1Memiliki 3 bentuk umum, yaitu :Bentuk 1 : Apabila syarat dipenuhi maka aksi dijalankan. Pada contoh berikut nilai x akan ditambah 5 apabila nilai x lebih besar dari 100. contoh: if ( x > 100 )then x x + 5 endif.

Instruksi If/Then/Else; Bentuk 2Bentuk 2 : Apabila syarat dipenuhi maka "aksi-1" dilaksanakan, tetapi bila syarat tidak terpenuhi maka "aksi-2" yang Dilaksanakan. Misal pada contoh berikut ini, bila a lebih besar dari 0 maka akan ditampilkan "bilangan ini positif'. Selain itu, akan ditampilkan "bilangan ini negatifcontoh:if (a>0)then write ("bilangan ini positif ") else write ("bilangan ini negatif ") endif.

Instruksi If/Then/Else; Bentuk 3Bentuk 3 (bentuk bersusun): "aksi-l" dilaksanakan segera ketika syarat-1 dipenuhi, "aksi-2" dilakukan apabila syarat-1 tidak dipenuhi, tetapi syarat-2 dipenuhi, dan "aksi-3" hanya dilakukan apabila kedua syarat tidak terpenuhi. Bentuk umumnya sebagai berikut :if (syarat-1 )then if (syarat-2 )then aksi-1 else aksi-2 endifelse aksi-3endif.

Instruksi If/Then/Else; Bentuk 3 lanjutBentuk 3 (bentuk bersusun )Pada bentuk disamping, "aksi-1" hanya dilakukan apabila syarat-1 dan juga syarat-2 terpenuhi. Apabila syarat-1 tidak terpenuhi maka "aksi-3" langsung. Sedangkan "aksi-2" hanya dilakukan apabila syarat-1 terpenuhi, tetapi syarat-2 tidak.Dalam bentuk bersusun ini, dapat diiihat bahwa jumlah aksi yang mungkin dilakukan adalah jumlah instruksi if ditambah 1. Dengan kata lain, bila ada 2 instruksi if yang bersusun maka bisa disediakan 3 pilihan aksi, demikian seterusnya.

C:ontoh 1 : Instruksi If/Then/ElseAlgoritma berikut ini menunjukkan pemakaian instruksi pemilihai if/then/else untuk menentukan apakah bilangan bulat yang dimasukkan lewa keyboard adalah bilangan yang genap atau bilangan ganjil.Algoritma Pemilihan_1{contoh algoritma untuk menunjukkan pemakaian instruksi pemilihan. algoritma ini menerima satu bilangan bulat kemudian memeriksanya apakah bilangan genap atau bilangan ganjil }Definisi Variabelinteger bilangan;Rincian Langkahwrite ("masukkan satu bilangan bulat : "); read (bilangan);if ( bilangan %2==0 )then write ( "bilangan genap ! "); else write ( "bilangan ganjil ! "); endif

Tugas :Flowchart ?

Contoh 2 : Instruksi If/Then/ElseAlgoritma berikut ini menunjukkan pemakaian instruks. pemilihan di mana ada 3 bilangan bulat dimasukkan lewat keyboard kemudian dicari bilangan yang terbesar di antara ketiganya.Algoritma Pemilihan_2{ contoh algoritma ini menerima 3 bilangan bulat kemudian menetapkan bilangan yang terbesar }Deklarasiinteger A, B, C, maks;Deskripsiwrite ("masukkan bilangan 1 : "); read ( A );write ("masukkan bilangan 2 : "); read ( B );write ("masukkan bilangan 3 : "); read (C);if(A>B) then maks A; else maks B; endif.if (C>maks) then maksC;endif.write ("maksimum = ", maks);

Tugas :Flowchart ?

Contoh 3 : Instruksi If/Then/ElseAlgoritma berikut ini menunjukkan pemakaian instruks pemilihan yang dibuat bersusun untuk menetapkan bilangan terbesar dari bilangan yang dimasukkan.Algoritma Pemilihan_3{contoh algoritma ini menerima 3 bilangan bulat kemudian menetapkan bilangan yang terbesar, memanfaatkan bentuk bersusun}Definisi Variabelinteger A, B, C, maks;Rincian Langkahwrite ("masukkan bilangan 1 : "); read ( A );write ("masukkan bilangan 2 : "); read ( B );write ("masukkan bilangan 3 : "); read ( C );if (A>B)then if (A>C)then write (" maksimum ", A );else write (" maksimum = ", C ); endif else if ( B > C )then write (" maksimum = ", B ); else write (" maksimum = ", C ); endifendif

Tugas :Flowchart ?

Instruksi CaseInstruksi case digunakan sebagai instruksi pemilihan di mana aksi yang akan dilakukan hanya bergantung pada nilai dari satu macam variabel. Dengan kata lain, variabel yang menentukan ini mungkin memiliki banyak macam nilai dan setiap nilainya berkaitan dengan satu macam aksi.Bentuk umum instruksi case:case (variabel )nilai-1 : aksi-1;nilai-2 : aksi-2; nilai-3 : aksi-3;default : aksi-n;endcase

Karakteristik Instruksi Case Dimungkinkan ada n-buah aksi, mulai dari aksi-1 hingga aksi-n. Setiap aksi hanya dilakukan apabila suatu nilai variabel dicapai sesuai persyaratan. Misalnya, aksi-1 dilakukan hanya bila variabel nilai-1, aksi-2 dilaksanakan apabila variabel bernilai nilai-2,seterusnya.Apabila tak satu pun nilai variabel yang cocok maka aksi-n dikerjakan sebagai aksi "default" (hanya dikerjakan apabila tidak ada yang memenuhi syarat).

Contoh: Instruksi Case Gaji karyawan pada sebuah perusahaan didasarkan pada jam kerja dalam satu bulan serta posisi atau golongannya dalam perusahaan itu. Upah per jam menurut golongan adalah sebagai berikut:Golongan A : Upah/jam (Rp) 5000Golongan B : Upah/jam (Rp) 6000Golongan C : Upah/jam (Rp) 7500Golongan D : Upah/jam (Rp) 9000Apabila karyawan bekerja lebih dari 150 jam per minggu maka kelebihan jam kerja tersebut dihitung sebagai lembur dengan upah/jam 25% di atas upah reguler. Buat sebuah algoritma yang menerima nama, golongan, serta jam kerja karyawan, kemudian tampilkan gaji totalnya dalam satu bulan

Contoh: Penyelesaian Instruksi Case Algoritma Gaji_Karyawan{ algoritma yang menerima nama, golongan serta jam kerja kemudian menampilkan total gaji yang diterima karyawan}Deklarasirealgaji, total, jamkerja, lembur, upah;string nama;chargolongan;Deskripsiwrite (" masukkan nama karyawan : ");read ( nama );write (" masukkan golongan-nya : ");read ( golongan );write (" masukkan jam kerjanya : ");read ( jamkerja );Contoh: Penyelesaian Instruksi Case case ( golongan )' A : upah5000:B : upah6000:C : upah7500;D : upah & 9000;default : write (" goiongannya salah ! "); upah 0;endcase.if ( jamkerja > 150 )then lembur ( jamkerja - 150 )* upah * 0.25; gaji 150 * upah; else lembur 0;gaji