0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
8 tayangan18 halaman
Bab 3 membahas tiga jenis instruksi utama yaitu instruksi runtunan, pemilihan, dan perulangan. Instruksi runtunan melaksanakan perintah secara berurutan tanpa loncatan atau ulang. Instruksi pemilihan memilih salah satu aksi dari beberapa kemungkinan berdasarkan syarat menggunakan if/then/else atau case. Instruksi perulangan mengulang suatu blok kode berdasarkan syarat perulangan tertentu menggunakan while,
Bab 3 membahas tiga jenis instruksi utama yaitu instruksi runtunan, pemilihan, dan perulangan. Instruksi runtunan melaksanakan perintah secara berurutan tanpa loncatan atau ulang. Instruksi pemilihan memilih salah satu aksi dari beberapa kemungkinan berdasarkan syarat menggunakan if/then/else atau case. Instruksi perulangan mengulang suatu blok kode berdasarkan syarat perulangan tertentu menggunakan while,
Bab 3 membahas tiga jenis instruksi utama yaitu instruksi runtunan, pemilihan, dan perulangan. Instruksi runtunan melaksanakan perintah secara berurutan tanpa loncatan atau ulang. Instruksi pemilihan memilih salah satu aksi dari beberapa kemungkinan berdasarkan syarat menggunakan if/then/else atau case. Instruksi perulangan mengulang suatu blok kode berdasarkan syarat perulangan tertentu menggunakan while,
Instruksi Pemilihan : If/Then/Else Case Instruksi Perulangan (Repetition) : While do Repeat Until For Pengantar
Pada 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 } Deklarasi integer A, B; Deskripsi A 10; A 2*A; B A; write(B); Algoritma di atas menampilkan basil : 20 Algoritma Runtunan_2 {menunjukkan urutan yang berbeda memberi hasil yang berbeda } Deklarasi integer A, B; Deskripsi A 10; B A; A 2*A; write(B); dengan urutan yang diubah maka algoritma ini memberi basil : 10 Instruksi Pemilihan Instruksi 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 1
Memiliki 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 2 Bentuk 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 negatif contoh: if (a>0) then write ("bilangan ini positif ") else write ("bilangan ini negatif ") endif. Instruksi If/Then/Else; Bentuk 3
Bentuk 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 endif else aksi-3 endif. Instruksi If/Then/Else; Bentuk 3 lanjut Bentuk 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/Else Algoritma 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. Tugas : algoritma ini menerima satu bilangan bulat kemudian memeriksanya Flowchart ? apakah bilangan genap atau bilangan ganjil } Definisi Variabel integer bilangan; Rincian Langkah write ("masukkan satu bilangan bulat : "); read (bilangan); if ( bilangan %2==0 ) then write ( "bilangan genap ! "); else write ( "bilangan ganjil ! "); endif Contoh 2 : Instruksi If/Then/Else Algoritma 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 } Deklarasi integer A, B, C, maks; Deskripsi Tugas : write ("masukkan bilangan 1 : "); read ( A ); Flowchart ? 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); Contoh 3 : Instruksi If/Then/Else Algoritma 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 Variabel - integer A, B, C, maks; Rincian Langkah write ("masukkan bilangan 1 : "); read ( A ); Tugas : write ("masukkan bilangan 2 : "); read ( B ); Flowchart ? 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 ); endif endif Instruksi Case Instruksi 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) 5000 Golongan B : Upah/jam (Rp) 6000 Golongan C : Upah/jam (Rp) 7500 Golongan D : Upah/jam (Rp) 9000 Apabila 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} Deklarasi real gaji, total, jamkerja, lembur, upah; string nama; char golongan; Deskripsi write (" masukkan nama karyawan : "); read ( nama ); write (" masukkan golongan-nya : "); read ( golongan ); write (" masukkan jam kerjanya : "); read ( jamkerja ); Contoh: Penyelesaian Instruksi Case case ( golongan ) ' A : upah 5000: B : upah 6000: C : upah 7500; 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 <-- jamkerja * upah; Endif total gaji + lembur; write (" Gaji yang diterima sdr : ", nama, " adalah = Rp. ", total);