Kata Pengantar
-
Daftar Penyusun
Daftar Isi
Kata Pengantar ....................................................................................................................................................................i
Daftar Isi ............................................................................................................................................................................. ii
1 Identitas......................................................................................................................................................................2
2 Pertanyaan Pendahuluan ...........................................................................................................................................3
3 Praktik.........................................................................................................................................................................4
3.1 Soal I..................................................................................................................................................................4
3.1.1 Contoh jalannya aplikasi ...............................................................................................................................4
3.1.2 Langkah Penyelesaian...................................................................................................................................5
3.1.3 Pengamatan ..................................................................................................................................................7
3.2 Soal 2.................................................................................................................................................................8
3.2.1 Contoh jalannya aplikasi ...............................................................................................................................8
3.2.2 Solusi...........................................................................................................................................................10
3.2.3 Pengamatan ................................................................................................................................................13
4 Test akhir ..................................................................................................................................................................14
5 Resume .....................................................................................................................................................................15
5.1 JURNAL ............................................................................................................................................................15
5.2 TUGAS AKHIR ..................................................................................................................................................15
6 Daftar Pustaka ........................................................................................................................................................... iii
1 IDENTITAS
Kajian
Struktur Kontrol II – Perulangan.
Topik
1. Perulangan While
Referensi
1. Cantù. M, Essential Pascal 4th edition, http://marcocantu.com, 2008.
Kompetensi Utama
1. Mampu menentukan dan menggunakan struktur perulangan,
2. Mampu menentukan dan menggunakan struktur perulangan While.
Lama Kegiatan Praktikum
1. Pertemuan Terbimbing : 1 x 120 menit
2. Kegiatan Mandiri : 2 x 120 menit
Parameter Penilaian
1. Jurnal Pengamatan
2. Tugas Akhir
2 PERTANYAAN PENDAHULUAN
1. Dengan menggunakan perulangan FOR dan REPEAT, buatlah sebuah aplikasi yang dapat digunakan
untuk mencetak pola nilai dari 1, 2, 3, 4 . . N dengan N adalah sebuah nilai integer yang berasal dari
inputan pengguna. Contoh :
Input :4
Output :1234
Input : 10
Output : 1 2 3 4 5 6 7 8 9 10
Input : 20
Output : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Input :0
Output :0
2. Apakah perbedaan antara penggunaan perulangan WHILE, FOR dan REPEAT. Tuliskan masing-
masing 4 perbedaan diantara ketiga jenis sintaks perulangan tersebut.
3 PRAKTIK
3.1 SOAL I
Buatlah sebuah aplikasi yang dapat digunakan untuk melakukan proses penjumlahan nilai genap dari nilai
1 . . N. Dimana N berasal dari inputan pengguna. Soal ini merupakan sebuah soal yang sama dengan soal
pada modul 5. Akan dilihat perbedaan analisis dan kode programnya jika digunakan perulangan FOR dan
REPEAT.
total := 0;
Perhatikan bahwa pada perulangan FOR, letak proses inisialisasi terdapat pada struktur perulangan
tersebut. Berbeda dengan jenis perulangan yang lainnya, yang harus diletakkan sebelum struktur
perulangan tersebut. Oleh karena itu, proses inisialisasi nilai ctr := 0 , akan diletakkan pada
struktur FOR itu sendiri.
5. Cek berdasarkan kondisi berhenti/kondisi eksekusi pada no 3.a diatas. Kondisi berhenti pada
perulangan FOR adalah ketika nilai control variabel telah sama dengan nilai dari akhir perulangan.
Dalam kasus ini adalah ketika sudah mencapai nilai batas.
FOR ctr :=1 TO batas
a. Jika nilai ctr <= nilai batas, maka lanjutkan proses menuju nomor 6,
b. Jika nilai ctr = nilai batas, maka lanjutkan proses menuju nomor 9,
6. Pada perulangan FOR, proses iterasi sudah dilakukan secara langsung didalam proses deklarasinya,
yaitu pada bagian no 5 diatas. Proses iterasi pada FOR dilakukan secara pasti dan terdiri dari 2 jenis,
yaitu :
a. TO : proses iterasi naik, dengan bertambah satu (+1) nilai pada setiap proses
perulangannya,
b. DOWNTO : proses iterasi turun, dengan berkurang satu (-1) nilai pada setiap proses
perulangannya.
WRITELN(‘ = ’, total);
3.1.3 Pengamatan
1. Gabungkan potongan-potongan kode program diatas, sehingga dapat membentuk sebuah
program sesuai dengan kebutuhan soal.
3.2 SOAL 2
Buatlah sebuah aplikasi yang akan digunakan untuk menebak sebuah nilai X dalam rentang 0-100. Setiap
kali melakukan input memasukkan nilai, maka user akan diberikan informasi apakah nilai tersebut :
a. Lebih kecil “Nilai yang anda masukkan lebih kecil”. Kemudian nilai tersebut akan menjadi batas
bawah (menggantikan nilai bawah sebelumnya),
b. Lebih besar ”Nilai yang anda masukkan lebih besar”. Kemudian nilai tersebut akan menjadi batas
atas (menggantikan nilai atas sebelumnya),
c. Sama “Tebakan yang bagus, anda berhasil menebaknya dalam N kali tebakan”
3.2.2 Solusi
1. Kita tentukan variabel-variabel yang akan digunakan
No Nama atribut Nama Variabel Tipe Data
1 Nilai random x Integer
2 Nilai tebakan tebak Integer
3 Batas atas atas Integer
4 Batas bawah bawah Integer
5 Counter ctr Integer
Kontrol variabel yang digunakan disini adalah nilai tebakan yang dimasukkan oleh pengguna.
Karena nilai itulah yang dimasukkan, diubah dan diperiksa dalam pengecekan kondisi berhenti.
2. Inisialisasi nilai-nilai yang akan digunakan
a. Nilai yang akan ditebak. Untuk memperoleh sebuah nilai random, maka kita akan
menggunakan fungsi Randomize dan random;
Randomize;
x:=Random(100);
Fungsi random diatas akan memilih sebuah nilai antara 0-100, contoh lainnya sebagai
berikut
ctr := ctr + 1;
7. Pengecekan rentang nilai inputan. Harus diantara batas bawah dan atas.
IF ((tebak > bawah) AND (tebak <=atas)) THEN
BEGIN
.
.
END
ELSE
BEGIN
WRITELN('Nilai diluar rentang masukan');
WRITELN(tebaklah antara ', bawah, ' dan ', atas);
END;
8. Pengecekan apakah nilai tebakan sama atau tidak. Ketika melakukan proses penebakan, maka akan
menghasilkan beberapa kemungkinan :
a. Lebih kecil “Nilai yang anda masukkan lebih kecil”. Kemudian nilai tersebut akan menjadi
batas bawah (menggantikan nilai bawah sebelumnya),
b. Lebih besar ”Nilai yang anda masukkan lebih besar”. Kemudian nilai tersebut akan
menjadi batas atas (menggantikan nilai atas sebelumnya),
c. Sama “Tebakan yang bagus, anda berhasil menebaknya dalam N kali tebakan”
9. Pada perulangan REPEAT, maka statement(s) akan dieksekusi terlebih dahulu, baru kemudian
dilakukan proses pengecekan.
a. Jika nilai UNTIL belum terpenuhi (FALSE), maka alur jalan program akan kembali ke poin
no. 4
b. Jika nilai UNTIL terpenuhi (TRUE), maka alur jalan program akan berlanjut ke pon no. 10.
10. Akhir dari aplikasi
3.2.3 Pengamatan
4. Gabungkan potongan-potongan kode program diatas, sehingga dapat membentuk sebuah
program sesuai dengan kebutuhan soal.
5. Pada kode program diatas, variabel tebak diinisialisasi dengan nilai 999. Kenapa tidak dilakukan
proses inisialisasi antara 0-100?
6. Apakah yang akan terjadi, jika pada bagian 2.e ctr :=0; diubah menjadi ctr :=1;
7. Apakah yang perbedaan yang tejadi jika pada bagian 3.a yang berasal dari
UNTIL ( x = tebak );
Diubah menjadi
UNTIL ( x <> tebak );
8. Apakah yang perbedaan yang tejadi jika pada bagian 3.e yang berasal dari
IF ((tebak > bawah) AND (tebak <=atas)) THEN
Diubah menjadi
IF ((tebak > bawah) OR (tebak <=atas)) THEN
9. Dengan perbandingan terhadap soal yang sama yang telah dikerjakan pada modul pertemuan 5.
Apakah perbedaan antara penggunaan klausa perulangan WHILE dan REPEAT UNTIL.
4 TEST AKHIR
Pada 3 (tiga) buah soal dibawah ini, kerjakan setiap soal dengan menggunakan jenis perulangan WHILE,
FOR dan REPEAT.
1. Buatlah sebuah aplikasi yang dapat digunakan untuk menampilkan dan menghitung deret kuadrat
dari inputan yang diberikan oleh pengguna. Contoh
a. Input : 5
Output : 1 + 4 + 9 + 16 + 25 = 55
b. Input : 10
Output : 1 + 4 + 9 + 16 + 25 + 36 + 49 + 64 + 81 + 100 =385
c. Input : 0
Output : inputan tidak valid
d. Input : -6
Output : Inputan tidak valid
2. Buatlah sebuah aplikasi yang dapat digunakan untuk menampilkan dan menghitung deret divergen
dari inputan yang diberikan oleh pengguna. Contoh
a. Input : 6
Output : 1 – 2 + 3 – 4 + 5 – 6 = -3
b. Input : 10
Output : 1 – 2 + 3 – 4 + 5 – 6 + 7 – 8 + 9 – 10 = -5
c. Input : 11
Output : 1 – 2 + 3 – 4 + 5 – 6 + 7 – 8 + 9 – 10 = 6
d. Input : 0
Output : inputan tidak valid
e. Input : -6
Output : Inputan tidak valid
3. Buatlah sebuah aplikasi yang dapat digunakan untuk menampilkan dan menghitung nilai factorial
dari inputan yang diberikan oleh pengguna. Contoh
a. Input : 6
Output : 6! = 6 x 5 x 4 x 3 x 2 x 1 = 120
b. Input : 10
Output : 10! = 10 x 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 = 3628800
c. Input : 0
Output : inputan tidak valid
d. Input : -6
Output : Inputan tidak valid
5 RESUME
5.1 JURNAL
1. Pertanyaan pendahuluan (2 soal),
2. Pengamatan Praktik (9 soal),
6 DAFTAR PUSTAKA
[1] D. Ananda, P. Mayadewi, A. Suryan, L. Rasiana and H. Kusmayadi, Algoritma dan Pemrograman,
Bandung: Politeknik Telkom, 2009.
[2] T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Introduction to Algorithms Third Edition,
Cambridge: The MIT Press, 2009.
[3] R. Sedgewick, Algorithm in Java: parts 1-4 Third Edition, Boston: Pearson Education, Inc, 2002.
[4] E. Turban, D. Leidner, E. McLean and J. Wetherbe, Information Technology for Management,
Wiley International, 2008.
[5] P. Deitel and H. Deitel, Java How To Program 9th Edition, Prentice Hall, 2011.