Modul Algoritma Pemrograman
I. KATA PENGANTAR Dewasa ini sudah banyak berkembang bahasa-bahasa pemrograman tingkat tinggi yang pemakaiannya sudah sangat mudah, hanya klik dan drag saja. Namun meskipun demikian tetap saja programmer harus menuliskan kode-kode program agar objek-objek yang sudah mereka buat dapat bertingkah laku/bekerja sesuai dengan yang diinginkan. Secara singkat dapat dikatakan bahwa sebuah program pasti terdapat alur logika yang menyebabkan program tersebut dapat bekerja dengan benar. Modul algoritma dan pemrograman ini sangat penting bagi mahasiswa program studi Ilmu Komputer pada khususnya karena menjadi dasar bagi mahasiswa untuk mempelajari bahasa pemrograman. Pada modul ini diberikan contoh-contoh kasus untuk mempermudah memahami konsep. Karena sebuah contoh dapat memberikan inspirasi pemecahan masalah yang mirip. Tetapi patut diingat bahwa sebuah masalah di dalam pemrograman, bila diberikan kepada pemrogram yang berbeda, boleh jadi mempunyai aneka ragam solusi (dalam hal ini algoritma), mulai algoritma yang kusut karena banyak sekali percabangannya, sampai pada algoritma yang kurang efisien karena banyak sekali pengulangan instruksi yang sama dalam menganalisa kasus. Dengan mempelajari modul ini diharapkan nantinya Anda dapat memecahkan masalah secara metodologis, yaitu sesuai dengan skema (model) yang benar. Ketaatan menggunakan skema niscaya akan menghasilkan algoritma yang efisien dan mudah dipahami sehingga menghasilkan program yang baik pula. Sebagai akhir kata, semoga modul ini dapat diterima oleh para pembaca dalam mempelajari komputer, khususnya yang mempelajari mengenai bahasa penrograman Pascal serta dapat menambah wawasan bagi para pembaca dalam pembuatan program secara terstruktur. Yogyakarta, Desember 2007 Penulis
Modul Ke-4 - Hal 1
Modul Algoritma Pemrograman
II. PENDAHULUAN Perulangan dalam Pascal berguna untuk mengerjakan suatu statement atau blok statement secara berulang-ulang sebanyak yang Anda inginkan. Perulangan banyak sekali dipakai dalam pembuatan program dengan Pascal. Pascal menyediakan tiga buah struktur kontrol perulangan : while .. do, repeat .. until, dan for.
III. PERULANGAN FOR
A.1. Tujuan Instruksional Umum Setelah mempelajari modul ini Anda diharapkan mampu menyelesaikan permasalahan
loping
dengan
membangun
algoritma
dan
mengimplementasikan menggunakan struktur FOR
2. Tujuan Instruksional Khusus Setelah menyelesaikan modul ini Anda diharapkan dapat : a. menjelaskan konsep penggunaan struktur perulangan FOR minimal untuk membangun program untuk proses looping yang sederhana dalam waktu maksimal 10 menit. b. menyebutkan minimal 2 perbedaan antara penggunaan looping For dengan statemen looping yang lain. c. membedakan penggunanaan looping turun maupun looping naik untuk menyelesaikan permasalahan sederhana maksimal dalam waktu 10 menit. d. menyelesaikan masalah dengan membangun program menggunakan looping bertingkat maksimal dalam waktu 15 menit.
B. URAIAN MATERI Pernyataan perulangan yang paling sering digunakan adalah for. Pernyataan FOR biasa digunakan untuk mengulang statemen atau satu blok statemen berulang kali yang jumlahnya telah diketahui sebelumnya. Sebagai
Modul Ke-4 - Hal 2
Modul Algoritma Pemrograman
contoh, FOR dapat digunakan untuk menampilkan tulisan ‘Turbo Pascal’ 10 kali atau pun dalam jumlah yang lebih banyak lagi. Perulangan dapat dalam bentuk positif, perulangan negatif dan perulangan tersarang.
1) For To Do Bentuk umum : FOR perubahan := awal TO akhir DO [ Blok statemen ] Keterangan : Perubahan
adalah nama perubah kendali
Awal
adalah awal perubah kendali
Akhir
adalah akhir perubah kendali
Blok Statemen adalah statemen yang diproses berulang yang sering disebut juga kalang (loop)
Gambar 4.1. Struktur Perulangan FOR Pada bentuk FOR di atas: z
Variabel, nilai_awal dan nilai_akhir harus bertipe sama atau kompatibel
z
Tipe yang digunakan pada ketiga komponen tersebut harus berupa ordinal
z
nilai_awal harus lebih kecil atau sama dengan nilai_akhir. Kalau nilai_akhir lebih kecil daripada nilai_awal, bagian pernyataan tidak dijalankan sama sekali.
Modul Ke-4 - Hal 3
Modul Algoritma Pemrograman
Contoh : program yang menggunakan FOR untuk menampilakan tulisan ‘Turbo Pascal’ 10 kali Program x10; { Contoh pemakaian FOR untuk menampilkan } { tulisan Turbo Pascal 10 kali } USES Crt; VAR Pencacah : Integer; BEGIN ClrScr; FOR pencacah := 1 TO 10 DO Writeln (‘Turbo Pascal’); END.
Pada contoh diatas, Pencacah akan bernilai 1, 2, 3, 4 hingga 10 secara berturutturut. Untuk setiap nilai tersebut, pernyataan: Writeln (‘Turbo Pascal’); Dieksekusi. Sebagai akibatnya, pada layar muncul tulisan:
Turbo Pascal
Sebanyak 10 kali. Contoh : isi dari variabel pengontrol FOR ditampilkan Program Deret; { ----------------------------------------------------- } { Menampilkan bilangan 1 sampai dengan 10 } { ----------------------------------------------------- } USES Crt; VAR Pencacah : Integer; BEGIN ClrScr; FOR Pencacah := 1 TO 10 DO WriteLn(Pencacah); END.
Hasilnya berupa bilangan 1 sampai dengan 10: 1 2 3 4 5 6 7 8 9 10
Modul Ke-4 - Hal 4
Modul Algoritma Pemrograman
Apabila menggunakan blok statement berarti statement yang diulang dapat lebih dari sebuah statement. Pada contoh berikut yang akan diproses berulang adalah sebanyak 2 buah statement dalam satu blok statement. Contoh : Var
I : integer; Begin For I := 2 to 5 do Begin Write( I ); Writeln(‘ Pascal’) ; End; End.
Blok Statement
Apabila program ini dijalankan, akan didapat hasil : Hasil dari statement write( I ); 1
Pascal
2
Pascal
3
Pascal
4
Pascal
5
Pascal
Hasil dari statement writeln(‘ Pascal ‘);
2) For Downto Do Kalau FOR-TO digunakan untuk mencacah naik, FOR-DOWNTO adalah kebalikannya. Pada FOR-DOWNTO, nilai awal justru harus lebih besar (atau sama dengan) nilai akhir. Format selengkapnya: FOR perubahan := awal DOWNTO akhir DO [ Blok statemen ] Contoh : FOR Pencacah := 10 DOWNTO 1 DO WriteLn (Pencacah);
Modul Ke-4 - Hal 5
Modul Algoritma Pemrograman
Menghasilkan keluaran berupa: 10 9 8 7 6 5 4 3 2 1 Adapun contoh berikut digukan untukmenampilkan huruf Z hingga A: FOR Huruf := ‘Z’ DOWNTO ‘A’ DO
Output :
Write (Huruf);
ZYXWVUTSRQPONMLKJIHGFEDCBA
3) For Bersarang Anda bisa juga menuliskan pernyataan FOR di daam pernyataan For. Konstruksi semacam ini sering disebut dengan pernyataan FOR bersarang. Contoh : For x := 1 to 3 do For y ;= 1 to 2 do Writeln(x,’ ‘,y);
Output : 1 1 2 2 3 3
1 2 1 2 1 2
Penjelasan : Kalang FOR yang luar (dengan pencacah variabel x) akan menjalankan kalang yang dalam (dengan pencacah y) sebanyak 3 kali. Dan pada setiap pengulangan di layar akan dituliskan nilai x dan y. Pada saat x bernilai 1, y diulang sebanyak 2 kali. Jadi pada layar akan tertulis 1 1 dan 1 2. demikian juga pada saat x bernilai 2, y diulang sebanyak 2. Jadi pada layar akan tertulis 2 1 dan 2 2. hal yang sama terjadi pada saat x bernilai 3.
Modul Ke-4 - Hal 6
Modul Algoritma Pemrograman
Contoh : Var i, j : byte; Begin For i := 1 to 5 do Begin For j := 1 to i Begin Write( i ); End; Writeln; End; End.
Output : 1 22 333 4444 55555
C. EVALUASI FORMATIF 1). Pada program berikut ini, berapa kali string ‘Algoritma’ muncul di layar ? Var x : byte; Begin For x := 1 to 10 do ; Writeln(‘Algoritma’); End.
2) Apakah output program dibawah ini :
Modul Ke-4 - Hal 7
Modul Algoritma Pemrograman
3) Apakah output program dibawah ini :
4). Tulislah algoritma dan programnya untuk menampilkan pola-pola bintang seperti berikut : * * * * * * * * * * untuk n = 4
* * * * * *
* * *
untuk n = 3
untuk n =2
Masukan dari program ini adalah nilai n, dimana 1≤ n ≤ 255 Keluaran dari program ini adalah pola bintang yang diharapkan.
Modul Ke-4 - Hal 8
Modul Algoritma Pemrograman
IV. PERULANGAN WHILE DO A.1. Tujuan Instruksional Umum Setelah mempelajari modul ini Anda diharapkan mampu menyelesaikan permasalahan
loping
dengan
membangun
algoritma
dan
mengimplementasikan menggunakan struktur WHILE
2. Tujuan Instruksional Khusus Setelah menyelesaikan modul ini Anda diharapkan dapat : a. menjelaskan konsep penggunaan struktur perulangan WHILE minimal untuk membangun program untuk proses looping yang sederhana dalam waktu minimal 5 menit. b. menyebutkan minimal 2 perbedaan antara penggunaan looping WHILE dengan statemen looping yang lain.
B. URAIAN MATERI Statemen WHILE …. DO digunakan untuk melakukan proses perulangan suatu statemen atau blok statemen terus menerus selama kondisi ungkapan logika pada WHILE masih bernilai logika benar. Bentuk umum WHILE kondisi DO [ Blok statemen ] Keterangan : Blok Statemen adalah statemen yang diproses berulang Kondisi
adalah syarat supaya proses berulang bisa berlangsung WHILE
kondisi
False ( Salah )
True ( Benar) pernyataan
Gambar 4.2. Struktur Perulangan WHILE
Modul Ke-4 - Hal 9
Modul Algoritma Pemrograman
Pada bentuk ini, pengulangan terhadap pernyataan dilakukan terus selama kondisi bernilai True. Dan dari diagram terlihat bahwa ada kemungkinan pernyataan tidak dieksekusi sama sekali. Keadaan ini terjadi kalau kondisi awal bernilai False.
1) Pencacahan Meningkat Contoh program berikut menunjukan pemakaian WHILE untuk menggantikan perintah: FOR Pencacah := 1 TO 10 DO WriteLn(Pencacah); Contoh 1: Program While1; { Contoh WHILE untuk menampilakan bilangan } { antara 1 sampai dengan 10 } Var Pencacah : Integer; BEGIN ClrScr; Pencacah :=1; {--- Nilai awal ---} WHILE Pencacah <= 10 DO BEGIN WriteLn(Pencacah); Pencacah := Pencacah + 1; { --- Menaikan nilai Pencacah ---} END; END.
Pada contoh diatas: Pencacah := 1; WHILE Pencacah <= 10 DO BEGIN WriteLn (Pencacah); Pencacah := Pencacah + 1; END;
Menggantikan: FOR Pencacah := 1 TO 10 DO WriteLn(Pencacah);
Modul Ke-4 - Hal 10
Modul Algoritma Pemrograman
Tampak bahwa pada instruksi di atas: z
Pemberian nilai awal terhadap variabel pengendali pengulangan, berupa: Pencacah := 1;
z
Upaya untuk menaikan nilai variabel pengontrol pengulangan, berupa: Pencacah := Pencacah + 1;
z
Kondisi pengulangan berupa: Pencacah <= 10, Kondisi ini yang menentukan terjadinya pemrosesan bagian pernyataan kalau bernilai benar
2) Pencacahan Menurun WHILE juga dapat dipakai untuk menggantikan FOR-DOWNTO, yaitu sebagai contoh:
Pencacah := 10; WHILE Pencacah > 0 DO BEGIN WriteLn (Pencacah); Pencacah := Pencacah -1; END;
Merupakan pengganti dari: FOR Pencacah := 10 DOWNTO 1 DO WriteLn(Pencacah);
Contoh 2: Program While2; { Contoh WHILE untuk menampilkan bilangan } { -------------------------------------------------------- } VAR Pencacah : Integer; BEGIN ClrScr; Pencacah := 10; { ---- Nilai awal --- } WHILE Pencacah >= 1 DO BEGIN WriteLn (Pencacah); Pencacah := Pencacah – 1; { --- Menurunkan nilai Pencacah } END; END.
Modul Ke-4 - Hal 11
Modul Algoritma Pemrograman
Hasil keluaran: 10 9 8 7 6 5 4 3 2 1 Contoh 3 : Program berikut ini akan menghitung nilai rata-rata dari sejumlah data yang akan dimasukkan. Jumlah dari data dimasukkan akan dilakukan perulangan sebanyak jumlah data tersebut untuk menanyakan nilai masing-masing data dan menghitung totalnya. Var Nilai, Total, RataRata : Real; N, I : integer; Begin {*********Memasukkan Jumlah Data dari ***********} write(‘Jumlah Data : ?’); Readln (N); writeln; {***memasukkan nilai data dan langsung dihitung nilai total I := 0; While I < N do begin I := I+1; Write(‘Nilai data Ke : ‘,I,’ ? ‘); Readln(Nilai); Total := Total + Nilai; End; {*****menghitung nilai rata-ratanya******} ratarata := total/N; {*****menampilkan hasil *********}; writeln; writeln(‘Total nilai = ‘,Total:8:2); writeln(‘Jumlah Data = ‘,N:3); writeln(‘Rata-rata = ‘,ratarata:8:2); end.
Modul Ke-4 - Hal 12
Modul Algoritma Pemrograman
Hasil Run Jumlah data ? 3 Nilai data ke 1 ? 15.2 Nilai data ke 1 ? 13.57 Nilai data ke 1 ? 18.60 Total nilai = 47.37 Jumlah data = 3 Rata-rata nilai = 15.79
C. EVALUASI FORMATIF 1. Apa output dari program dibawah ini
2. Tulislah algoritma dan program untuk mencari jumlah N bilangan asli pertama. Masukan dari program ini adalah bilangan bulat N. Keluaran dari program ini adalah jumlah N bilangan asli pertama. 3. Tulislah Program menggunakan perulangan WHILE untuk menghitung nilai S dimana secara matematis S adalah a.
S = (1/2) + (2/3) + (3/4) + … + (99/100)
b.
S = (1/2) + (2/3) + (3/4) + … dst; sampai s >= 15
c.
S = (1) + (1/2) + (1/4) + … dst; selama pertambahan suku-suku masih > 0.001
Modul Ke-4 - Hal 13
Modul Algoritma Pemrograman
V. PERULANGAN REPEAT UNTIL
A.1. Tujuan Instruksional Umum Setelah mempelajari modul ini Anda diharapkan mampu menyelesaikan permasalahan
loping
dengan
membangun
algoritma
dan
mengimplementasikan menggunakan struktur REPEAT UNTIL
2. Tujuan Instruksional Khusus Setelah menyelesaikan modul ini Anda diharapkan dapat : a. menjelaskan konsep penggunaan struktur perulangan REPEAT UNTIL minimal untuk membangun program untuk proses looping yang sederhana dalam waktu minimal 5 menit. b. menyebutkan minimal 2 perbedaan antara penggunaan looping REPEAT UNTIL dengan statemen looping yang lain.
B. URAIAN MATERI Struktur REPEAT … UNTIL digunakan untuk mengulang (REPEAT) statemen-statemen atau blok statemen sampai (UNTIL) kondisi yang diseleksi di UNTIL tidak dipenuhi. Bentuk Umum : REPEAT [Blok statemen] UNTIL kondisi Keterangan : Statmen
adalah yang diproses berulang
Kondisi
adalah supaya proses berulang dihentikan
Gambar 4.3 memberikan mekanisme pengulangan pada REPEAT. Tampak bahwa pengulangan justru dilakukan selama kondisi bernilai salah (False). Jadi merupakan kebalikan dari WHILE. Perbedaan yang lain terhadap WHILE, pemeriksaan terhadap kondisi pada REPEAT dilakukan belakangan, setelah bagian pernyataan yang terletak antara REPEAT dan UNTIL dieksekusi. Hal ini yang menyebabkan perulangan ini biasanya dipakai jika sekurangkurangnya baris perintah di dalam blok statement dikerjakan sebanyak satu kali.
Modul Ke-4 - Hal 14
Modul Algoritma Pemrograman
True pernyataan( Benar)
False ( Salah )
kondisi
Akhir REPEAT UNTIL
Gambar 4.3. Struktur Perulangan REPEAT UNTIL Perulangan REPEAT .... UNTIL diawali dengan kata baku REPEAT dan diakhiri dengan kata baku until serta pengecekan kondisi. Perulangan REPEAT dengan banyak statement tidak perlu menggunakan kata baku Begin dan End pada akhir blok karena secara default perulangan REPEAT ... UNTIL adalah untuk banyak statement yang diawali dengan Repeat dan diakhiri dengan until. Pada dasarnya REPEAT dapat digunakan untuk semua masalah yang dapat ditangani oleh FOR ataupun WHILE. Sebagai contoh: FOR Pencacah := 1 TO 10 DO WriteLN (‘Turbo Pascal’);
Dapat disajikan dengan menggunakan REPEAT seperti berikut: Pencacah := 1; REPEAT WriteLn(‘Turbo Pascal’); Pencacah := Pencacah + 1; { --- Menaikan nilai pencacah --} UNTIL Pencacah > 10;
Modul Ke-4 - Hal 15
Modul Algoritma Pemrograman
Contoh 1 : Program Duabelas; uses crt; var i : integer; begin clrscr; write('Banyak cacah data = ');readln(N); i:=1; repeat write('Bahasa Pascal mudah ya ?! '); i:=i+1; until i > N; readln; end.
(Tampilan program di atas akan menampilkan kalimat 'Bahasa Pascal, mudah ya ?!' sebanyak N kali)
C. EVALUASI FORMATIF 1. Apa output dari program dibawah ini
2. Tulislah Program untuk menghitung nilai S dimana secara matematis S adalah a. S = (1/2) + (2/3) + (3/4) + … + (99/100) b. S = (1/2) + (2/3) + (3/4) + … dst; sampai s >= 15 c. S = (1) + (1/2) + (1/4) + … dst; selama pertambahan suku-suku masih > 0.001
Modul Ke-4 - Hal 16
Modul Algoritma Pemrograman
EVALUASI Pilihlah salah satu jawaban yang Anda anggap paling benar 1.
Var K, j : integer; Begin For K := 1 to 3 do For j := 1 to 3 do Write(‘* ’); Writeln; End. Output program di atas : A.
* * * * * *
B.
* * * * * * * * *
C. * * * * * * D. * * * * * * E. 2.
tidak ada jawaban
const I : integer = 10; begin for I := 1 to 5 do write(I,’ ‘); end. Output program di atas : A. 1 2 3 4 5 B. 1 2 3 4 5 C. 10
Modul Ke-4 - Hal 17
Modul Algoritma Pemrograman
D. 10 10 10 10 10 E. program error (variable identifier expected) 3.
Berapakah keluaran program nilai, bila pemakai memberi nilai M = 9 ? Var C, M, J : integer; Begin J := 1; Write(‘M = ‘); readln(M); For C := 5 to M do J := J * (M – 4); Writeln(‘J = ‘,J); End. A. J = 120 B. J = -120 C. J = I D. J = 24 E. Salah semua.
4.
Bila pada soal No. 3 M = 1, maka berapa keluaran program ? A. J = 0 B. J = 1 C. J = - 6 D. J = 120 E. Salah semua
5.
Berapakah keluaran program ini : Program percobaan; Var P, Q : word; Begin P := 10; For Q := 1 to 4 do ; Begin P := P * Q; Writeln(Q,’ ‘,P); End; End.
Modul Ke-4 - Hal 18
Modul Algoritma Pemrograman
A. 1 10 2 20 3
30
4
40
B. 1 10
6.
2
20
3
60
4
240
C.
1 10
D.
4 40
E.
5 50
Perhatikan potongan program berikut ini : Var A, I, J, K, Kode : integer; Begin Writeln(‘masukkan lima integer : ‘); J := 0; K := 0; For I := 1 to 5 do Begin Readln(A); J := J + A; If A < 10 then K := K + 1; End; Kode := J div K; Writeln(‘Kode = ‘, Kode); End. Pemakai program ini memasukkan nilai 10, 20, 30, 40, 50 ke dalam program ini. Berapakah nilai Kode yang dihasilkan oleh program ? A. 150 B. 15000 C. 30 D. 0 E. terjadi runtime error
Modul Ke-4 - Hal 19
Modul Algoritma Pemrograman
7. const x : boolean = False; begin while x do begin write(x); x := not(x); end; end. Output program diatas : A. TRUE B. FALSE C. Program Error (Cannot write variable of this type) D. Tidak ada output E. Program error (variable identifier expected); 8. var x : byte; begin x := $FF xor $1F or $10 reapeat writeln ( X ); until true; end. Output program diatas : A. 240
B. F0
C. 224
D. 0
9. Program manakah yang ditulis dengan benar ? A. uses crt; Program sederhana; Var i, j : integer; Begin For i := 1 to 3 do For j := i+1 to 4 do Writeln(i,j); End.
Modul Ke-4 - Hal 20
Modul Algoritma Pemrograman
B. program matematika; var R : Real; begin R := 0; While (R <= 1) do Begin Writeln(R,’ ‘,sqrt(R)); R := R + 0.1; End; End. C. Var B : byte; Begin B := 3; Repeat Writeln(B); B := B +10; While B < 100; End. D. Var A : integer; B, C : real; Begin B := 0; For A := 1 to 15 do Readln(C); B := B + C; End; Writeln (B/15); End. E
10.
Uses crt; Var A : string; Program utama; Begin Readln(A); Writeln(‘Halo ‘, A); End.
Apakah output program di bawah ini ? uses crt; var I, J : integer;
Modul Ke-4 - Hal 20
Modul Algoritma Pemrograman
begin I := 0; While I < 5 do For J := 1 to 8 do I := I + J; Writeln(I,’-‘,J); End; A. 5 – 3 B. 5 – 8 C. 6 – 3 D. 3 – 3 36 – 8 11.
var I, J, K : integer; begin J := 3; K := 1; Repeat Dec(J); For I := 1 to J do K := I +5 * K; Dec(J); Until J < 0; Writeln(K); End. Apakah output dari program diatas : A. 32 B. 42 C. 161 D. 1 E. salah semua
12. Berapakah output dari program berikut ini : var L, J, K : integer; begin K := 0; For L := 3 downto 1 do Begin
Modul Ke-4 - Hal 21
Modul Algoritma Pemrograman
For J := 0 to L – 1 do K := K + L; K := K – J; End; Writeln(K); End. A. 1 B. 11 C. 8 D. 10 E. salah semua 13. var I, J, K : integer; begin J := 1; For K := 1 to 3 do Begin I := K; I := I + J; J := I – J; I := I – J; Writeln(I, ‘ ‘,J); End; End; Output program diatas adalah :
14.
A.
1 1 2 2 3 3
C. 1 3 2 2 3 1
B.
2 2 2 1 1 1
D. 1 1 1 2 2 3
E. 1 1 1 2 1 3
const x : boolean = FALSE; begin while x do begin write(x); x := not(x); end; end.
Modul Ke-4 - Hal 22
Modul Algoritma Pemrograman
Output program diatas : A. TRUE B. FALSE C. Program error (Cannot write variable of this type) D. Tidak ada output E. Program error (variable identifier expected Untuk soal no 15 – 19 Listing I
Listing II
Begin C := 0; While C <= 10 do begin Inc(C); If C mod 2 = 1 then Write(C); End; If C = 10 then readkey; End.
Begin C := 0; Repeat inc(C); if C mod 2 = 1 then write(C); until C >=10; If C = 10 then readkey; End.
15.
{baris 1} {baris 2} {baris 3} {Baris 4} {baris 5} {baris 6}
Jika kedua program dijalankan, bagaimanakah hasilnya ? A. sama, harga c sama setelah masing-masing program dijalankan. B. sama, harga c berbeda setelah masing-masing program dijalankan. C. berbeda, harga c sama setelah masing-masing program dijalankan. D. berbeda, harga c berbeda setelah masing-masing program ijalankan. E. salah semua
16.
Baris manakah yang dapat dijadikan indikator apakah program tersebut akan menghasilkan output yang sama atau berbeda, jika baris (3) dan (4) dihilangkan? A. 6 B. 5 C. 2 D. 1 E. Tidak ada
17.
Jika harga awal c diganti menjadi 11, apa yang terjadi untuk kedua tampilan untuk listing di atas ?
Modul Ke-4 - Hal 23
Modul Algoritma Pemrograman
A. yang pertama tercetak 11, yang kedua tidak tercetak apa-apa B. yang pertama tercetak 11, yang kedua tercetak 11. C. Yang pertama tidak tercetak apa-apa, yang kedua tercetak 11 D. Yang pertama tidak tercetak apa-apa, yang kedua tidak tercetak apaapa. E. Terjadi looping forever di program listing 2 18.
Manakah yang merupakan perbedaan repeat until dengan while-do pada kedua program di atas. A. untuk repeat until, looping selesai hingga kondisi terpenuhi. B. Untuk repeat until, looping selesai hingga kondisi tidak terpenuhi. C. Untuk while-do, looping berlanjut untuk kondisi tidak terpenuhi. D. Untuk while do, looping selesai untuk kondisi terpenuhi. E. Tidak ada perbedaan.
19.
Tujuan sebenarnya dari kedua program di atas adalah untuk menampilkan A. bilangan yang tidak habis dibagi 2 B. bilangan ganjil antara 0 dan 11 C. bilangan yang habis dibagi 2 tapi lebih kecil sama dengan 10 D. bilangan yang tidak habis dibagi 2 tapi lebih besar dari 0 E. tidak ada tujuan
20.
Diketahui penggalan program Pascal berikut ini : var x, y : integer; begin y := 0; x := 0; while x < 10 do begin x := x+1; y := Y + x; end; writeln(Y); end. Harga Y yang dicetak adalah : A. 45 B. 55
Modul Ke-4 - Hal 24
Modul Algoritma Pemrograman
C. 10 D. 9 E. bukan salah satu di atas
Umpan Balik dan Tindak Lanjut Cocokkanlah jawaban anda dengan Kunci Jawaban Evaluasi yang terdapat di bagian lampiran modul ini dan hitunglah jumlah jawaban anda yang benar. Kemudian gunakan rumus di bawah ini untuk mengetahui tingkat penguasaan anda dalam materi Modul ke-1. Rumus :
Tingkat penguasaan =
Jumlah jawaban anda yang benar × 100% 20
Arti tingkat penguasaan yang anda capai : 90% - 100% = baik sekali 80% - 89% = baik 70% - 79% = sedang - 69% = kurang Kalau Anda mencapai tingkat penguasaan 80% atau lebih, Anda dapat meneruskan ke modul berikutnya. Bagus ! Tetapi kalau nilai Anda dibawah 80%, Anda harus mengulang Modul ke-1 terutama yang belum Anda kuasai.
Modul Ke-4 - Hal 25
Modul Algoritma Pemrograman
BAHAN BACAAN
Brassard, Gilles, and Bratley, Paul, 1996, Fundamentals of Algorithmics, Prentice Hall, Englewood Cliffs, New Jersey. Budiyanto, Alex, 2003, Pengantar Algoritma dan Pemrograman, www.Ilmu Komputer.com Jogiyanto H.M, 1995, Turbo Pascal versi 5.0, jilid 1, Andi Offset, Yogyakarta. Munir, Rinaldi, Ir, dan Lidya, Leoni, Ir., 1998, Algoritma dan Pemrograman I, Informatika, Bandung. Pranata, Antony, 2000, Algoritma dan Pemrograman, J & J Learning, Yogyakarta.
Modul Ke-4 - Hal 26
Modul Algoritma Pemrograman
LAMPIRAN
KUNCI JAWABAN FORMATIF 1. B 2. E 3. E 4. B 5. A 6. E 7. D 8. A 9. E 10. E 11. A 12. B 13. D 14. A 15. D 16. D 17. D 18. A 19. B 20. B
Modul Ke-4 - Hal 27