I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

dokumen-dokumen yang mirip
I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-3 - Hal 1

Perulangan Muh. Izzuddin Mahali, M.Cs. Pertemuan 3. Algoritma dan Struktur Data. PT. Elektronika FT UNY

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

Modul Algoritma dan Pemograman Rismira Andriyani, S.Kom i

Perulangan. Bentuk Proses. 1. Perulangan For positif contoh 1 : perulangan positif untuk satu statement :

Algoritma Pemrograman

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

STRUKTUR DASAR ALGORITMA

Algoritma Pemrograman

BAB 3 INPUT PROSES OUTPUT. Target Pencapaian Siswa mengerti bagaimana menggunakan statement perulangan untuk melakukan proses yang berulang

Dasar Komputer & Pemrograman 2A

Konstruksi Dasar Algoritma

ALGORITMA PERULANGAN

Teori Algoritma. Algoritma Perulangan

Algoritma BAB V LOOP ( PERULANGAN )

Pertemuan 4 Perulangan

Algoritma Pemrograman

Algoritma Pemrograman

BAB IV STRUKTUR PROGRAM Struktur program pada dasarnya tersusun 3 struktur program utama yaitu : a. Struktur Berurutan (Sequence Structure) b.

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-6 - Hal 21

Teori Algoritma. Struktur Algoritma

Algoritma Pemrograman

Pokok Bahasan : Struktur Kontrol

a. TRUE b. FALSE c. Jawaban A dan B keduanya dimungkinkan benar d. Tidak dapat ditentukan e. Tidak ada jawaban di antara A, B, C, D yang benar

Pengantar dalam Bahasa Pemrograman Turbo Pascal

Algoritma Pemrograman

Start. Baris Program. Baris Program. Baris Program. Selesai. Contoh Program Struktur berurutan menghitung luas empat persegi panjang

Komentar Program. Komentar program dapat diletakkan dimanapun di dalam program. pembatas (* dan *).

Algoritma Pemrograman

Algoritma dan Pemrograman Bab 05 Struktur Pengulangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

REPEAT.. UNTIL, FOR...TO DO DAN WHILE DO

Belajar itu, Tidak harus menunggu materi dari guru Inisiatif Mencari itulah BELAJAR.

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

Pertemuan 2 Operasi String

MATERI 4 PENYELEKSIAN KONDISI

Bab 4 Perintah Perulangan

Algoritma Pemrograman

Pengenalan Pascal. Sejarah Singkat Pascal

Pertemuan Ke- 6 dan 7 Pengulangan atau Looping. Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Algoritma Pemrograman

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

SOAL DAN JAWABAN UTS PEMROGRAMAN DASAR KELAS X

Selection, Looping, Branching

[Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date]

Dasar Komputer & Pemrogaman 2A

Algoritma Pemrograman

PRAKTIKUM 4 STATEMENT KENDALI

MODUL 1. Struktur Bahasa PASCAL secara umum

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Contoh 1: Akan dicetak angka 1 sampai 10 dengan menggunakan perulangan for

TPI4202 e-tp.ub.ac.id. Lecture 5

Pertemuan 4 Diagram Alur / Flowchart

Sesi/Perkuliahan ke: II

Algoritma Pemrograman

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi

BAB 2 BAGAIMANA MENULISKAN PROGRAM PASCAL

Algoritma,Flowchart, Konsep

Pertemuan 3 Penyeleksian Kondisi

Algoritma dan Pemrograman. Pertemuan Ke-9 Statement Pengulangan 2

STRUKTUR PROGRAM. Struktur Berurutan

Lecturer: Abdusy Syarif. Undergraduate Course Informatics Engineering Dept. Universitas Mercu Buana LOOPING

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Konsep Dasar Pemrograman Pascal

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

PROGRAM 3NILAI_SEKOLAH4;

Bab 2 DASAR-DASAR ALGORITMA

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

LOOPING. Brigida Arie Minartiningtyas, M.Kom

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Struktur Perulangan. Sesi. 3.1 Pernyataan while do. 3.2 Pernyataan repeat... until

SMA SANTO PAULUS PONTIANAK

Pemrograman Dasar Pascal

PRAKTIKUM 7 TIPE DATA TERSTRUKTUR. Larik : deretan data yang punya type data sejenis. Misalnya : Daftar Nomor Telpon, Tabel Pajak dll.

Algoritma & Pemrograman

Sesi/Perkuliahan ke: I

PRAKTIKUM 5 DAN 6 STATEMEN PERULANGAN

Algoritma Pemrograman

Pengenalan Pascal. Tujuan Pembelajaran

Chapter 3.2 : Tipe, Nama dan Nilai

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

Struktur Pengulangan

PROSES PENJUALAN BUKU

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

P A S C A L D A S A R

Sesi/Perkuliahan ke: V

1. Laporan Akhir 1. Menentukan Nilai Besar atau Nilai Kecil. Program yang di masukkan adalah :

ALGORITMA DAN PEMROGRAMAN

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

MODUL 3 ALGORITMA PEMROGRAMAN

Algoritma Pemrograman Dalam Bahasa Pascal

Bab 1 Pengenalan Pascal 1 BAB I PENGENALAN PASCAL, TIPE-TIPE DATA PASCAL DAN STATEMEN DASAR PADA PASCAL TUJUAN PRAKTIKUM TEORI PENUNJANG

Chapter 5 Choice. repeatedly if tanda 2 on label: lakukan proses potong 2 if tanda 3 on label: lakukan proses potong 3 until switched off program 5.

PENGANTAR ALGORITMA DAN PEMROGRAMAN

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

2.4. Struktur Branching

Transkripsi:

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

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

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: Variabel, nilai_awal dan nilai_akhir harus bertipe sama atau kompatibel Tipe yang digunakan pada ketiga komponen tersebut harus berupa ordinal 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

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 Hasilnya berupa bilangan 1 sampai dengan 10: 1 2 3 4 5 6 7 8 9 10 Program Deret; { ----------------------------------------------------- } { Menampilkan bilangan 1 sampai dengan 10 } { ----------------------------------------------------- } USES Crt; VAR Pencacah : Integer; BEGIN ClrScr; FOR Pencacah := 1 TO 10 DO WriteLn(Pencacah); END. Modul Ke-4 - Hal 4

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; For I := 2 to 5 do Write( I ); Writeln( Pascal ) ; 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

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 Write (Huruf); Output : 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 Output : For y ;= 1 to 2 do Writeln(x,,y); 1 1 1 2 2 1 2 2 3 1 3 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

Contoh : Var i, j : byte; For i := 1 to 5 do For j := 1 to i Write( i ); End; Writeln; 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; For x := 1 to 10 do ; Writeln( Algoritma ); 2) Apakah output program dibawah ini : Modul Ke-4 - Hal 7

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

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 ) pernyataan True ( Benar) Gambar 4.2. Struktur Perulangan WHILE Modul Ke-4 - Hal 9

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

Tampak bahwa pada instruksi di atas: Pemberian nilai awal terhadap variabel pengendali pengulangan, berupa: Pencacah := 1; Upaya untuk menaikan nilai variabel pengontrol pengulangan, berupa: Pencacah := Pencacah + 1; 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

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; {*********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

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

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

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

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

EVALUASI Pilihlah salah satu jawaban yang Anda anggap paling benar 1. Var K, j : integer; For K := 1 to 3 do For j := 1 to 3 do Write( * ); Writeln; Output program di atas : A. * * * * * * B. * * * * * * * * * C. * * * * * * D. * * * * * * E. tidak ada jawaban 2. 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

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; J := 1; Write( M = ); readln(m); For C := 5 to M do J := J * (M 4); Writeln( J =,J); 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; P := 10; For Q := 1 to 4 do ; P := P * Q; Writeln(Q,,P); End; Modul Ke-4 - Hal 18

A. 1 10 2 20 3 30 4 40 B. 1 10 2 20 3 60 4 240 C. 1 10 D. 4 40 E. 5 50 6. Perhatikan potongan program berikut ini : Var A, I, J, K, Kode : integer; Writeln( masukkan lima integer : ); J := 0; K := 0; For I := 1 to 5 do Readln(A); J := J + A; If A < 10 then K := K + 1; End; Kode := J div K; Writeln( Kode =, Kode); 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

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; For i := 1 to 3 do For j := i+1 to 4 do Writeln(i,j); Modul Ke-4 - Hal 20

B. program matematika; var R : Real; begin R := 0; While (R <= 1) do Writeln(R,,sqrt(R)); R := R + 0.1; End; C. Var B : byte; B := 3; Repeat Writeln(B); B := B +10; While B < 100; D. Var A : integer; B, C : real; B := 0; For A := 1 to 15 do Readln(C); B := B + C; End; Writeln (B/15); E Uses crt; Var A : string; Program utama; Readln(A); Writeln( Halo, A); 10. Apakah output program di bawah ini? uses crt; var I, J : integer; Modul Ke-4 - Hal 20

begin End; I := 0; While I < 5 do For J := 1 to 8 do I := I + J; Writeln(I, -,J); 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); 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 Modul Ke-4 - Hal 21

For J := 0 to L 1 do K := K + L; K := K J; End; Writeln(K); 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 I := K; I := I + J; J := I J; I := I J; Writeln(I,,J); End; End; Output program diatas adalah : A. 1 1 C. 1 3 E. 1 1 2 2 2 2 1 2 3 3 3 1 1 3 B. 2 2 D. 1 1 2 1 1 2 1 1 2 3 14. const x : boolean = FALSE; begin while x do begin write(x); x := not(x); end; end. Modul Ke-4 - Hal 22

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 C := 0; C := 0; {baris 1} While C <= 10 do begin Repeat Inc(C); inc(c); {baris 2} If C mod 2 = 1 then if C mod 2 = 1 then {baris 3} Write(C); write(c); {Baris 4} End; until C >=10; {baris 5} If C = 10 then readkey; If C = 10 then readkey; {baris 6} 15. 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

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

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 20 yang benar 100% 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

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

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