You are on page 1of 14

Looping

for ( ... ) 2
t3a 3
t3b 3
t3c 4
t3d 4
while ( ... ) 6
t3e 7
t3f 7
t3g 8
do ... while ( ... ) 9
t3h 10

Tugas 11
1. Faktorial 11
2. Ganjil 11
3. Penjumlahan Integer Positif 11
4. Rumus xi di 12
5. Hasil Operasi + - 12
6. Segitiga Siku-Siku 12
7. Segitiga Sama Sisi 13
8. Tiga Faktor 13
9. Deret 13

Pada modul sebelumnya, kita sudah mengetahui bahwa pada dasarnya program dapat berjalan secara
linier, bercabang atau berulang. Minggu ini kita akan mempelajari mengenai perulangan (loop).
Secara garis besar, perulangan dapat dilakukan dengan menggunakan :
• for ( ... )
• while ( ...  )
• do ... while ( ...  )

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 1


for ( ... )

Biasanya skema for digunakan untuk melakukan pengulangan, dimana kita sudah mengetahui dengan
pasti berapa kali pengulangan yang akan dilakukan. Misalnya :
• Mencetak nama ke layar sebanyak 5 kali.
• Menuliskan 10 buah bilangan prima pertama ke layar.

Perhatikan skema for berikut ini :

Penjelasan :
• Inisialisasi : satu atau lebih statement yang dieksekusi hanya satu kali pada awal loop dan
sesudah itu tidak pernah dieksekusi lagi. Biasanya diisi dengan inisialisasi variabel counter atau
pencacah.
• Kondisi : biasanya berisi ekspresi yang nilainya akan mentukan apakah bagian statement/block
statement akan dikerjakan atau tidak. Jika ekspresi pada kondisi menghasilkan nilai true, maka
statement/block statement akan dieksekusi (masuk ke bagian loop dan mengeksekusi semua
statement yang ada di dalamnya), sedangkan jika menghasilkan nilai false, maka statement/block
statement tidak dieksekusi (langsung melanjutkan ke statement berikutnya setelah skema for).
• Setelah semua statement pada bagian loop dieksekusi, program akan melakukan eksekusi pada
bagian perubahan (yang dirubah biasanya nilai pencacah atau counter). Kemudian akan dilakukan
lagi pengetesan terhadap kondisi.
• Looping ini akan berjalan terus sampai suatu saat kondisi bernilai false.

Agar lebih jelas, perhatikan program berikut :

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 2


t3a

Jangan lupa menuliskan identitas program pada setiap file.

Pada saat awal, variabel i diisi dengan nilai 0, kemudian dicek apakah nilai i lebih kecil dari 10, karena
hasil pengecekan adalah true, maka karakter '#' akan diprint ke layar. Setelah itu nilai i akan ditambah
satu. Demikian seterusnya sampai saat nilai i berisi 10, maka program akan keluar dari skema loop.

Variabel i pada program yang anda buat, selain sebagai counter, atau pencacah, dapat juga digunakan
untuk keperluan lainnya. Cobalah membuat program t3b, isi program sama dengan t3a, tetapi bagian
printf ("#") diganti dengan menampilkan isi variabel i.
t3b

Kemudian lakukan sedikit percobaan :


• Dapatkah variabel i tidak dimulai dari 0, tetapi dari 1 atau 2 ? (1a)
• Bagaimana jika dimuali dari bilangan negatif ? Apakah dapat dilakukan ? (1b)
• Kemudian perhatikan sekali lagi bagian perubahan, i++ menunjukkan counter i ditambah 1 setiap kali
looping. Dapatkah counter i dapat dinaikkan tdk hanya 1 tetapi 2 atau 3 ? (1c)
• Ekspresi apa yang harus ditulis agar counter i bertambah 2 setiap kali looping. (1d)
• Tuliskan hasil tampilan di layar dari program t3b, setelah counter i ditambah 2 setiap kali looping. (1e)
Tuliskan jawaban pertanyaan-pertanyaan diatas di file t3b.

Dari program t3b, kita dapat menampilkan angka 0,1,2,3,4,5,6,7,8 secara berurutan dan membesar. Ini
karena kita menginisialisasi variabel i dengan 1, kemudian menambah 1 selama masih lebih kecil dari
10. Bagaimana agar kita dapat menampilkannya secara terurut menurun ?
Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 3
Perhatikan program berikut :
t3c

Program ini bermaksud menampilkan nilai i setiap kali looping.


Hasil yang diinginkan :
Nilai i = 1
Nilai i = 2
Nilai i = 3
Tetapi hasilnya ternyata tidak sesuai.
Apa yang ditampilkan program ke layar ? Bagaimana cara memperbaikinya ? Perbaiki program t3c di
atas.

Ada beberapa kesalahan mendasar yang sering sekali kita lakukan pada saat menggunakan skema for.
Berikut beberapa contohnya. Jawab pertanyaan-pertanyaan dibawah ini pada t3d.
t3d

✦ Perhatikan program berikut (program bermaksud menampilkan kalimat hello world sebanyak 10 kali).

Apakah program dapat menampilkan kalimat hello world sebanyak 10 kali ? (1a)
Jika tidak, berapa kali hello world ditampilkan ? (1b)
Apa kesalahan yang terdapat pada program sehingga hello world tidak ditampilkan 10 kali ? (1c)
Bagaimana cara memperbaikinya ? (1d)

✦ Perhatikan program berikut (program bermaksud menampilkan bilangan 10 sampai dengan 1 secara
terurut).

Apakah program dapat berjalan dengan benar ? (2a)


Jika tidak, apa yang ditampilkan di layar ? (2b)

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 4


Apa kesalahan yang terdapat pada program ? (2c)
Bagaimana cara memperbaikinya ? (2d)

✦ Perhatikan program berikut (program bermaksud menampilkan pangkat dua dari semua bilangan
antara 1 sampai dengan 10).

Apakah program dapat berjalan dengan benar ? (3a)


Jika tidak, apa yang ditampilkan di layar ? (3b)
Apa kesalahan yang terdapat pada program ? (3c)
Bagaimana cara memperbaikinya ? (3d)

Berdasarkan contoh contoh di atas :


• Ingat, jangan menaruh tanda ' ; ' setelah for ( ) dan sebelum statement / block statement.
• Pastikan kita membuat kondisi yang suatu saat akan bernilai tidak benar, agar perulangan dapat
berjalan dengan benar.
• Jangan melakukan perubahan terhadap nilai variabel counter di dalam loop.

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 5


while ( ... )

Biasanya skema while digunakan untuk melakukan pengulangan, dimana kita belum mengetahui
dengan pasti berapa kali pengulangan yang akan dilakukan. Misalnya :
• Menuliskan semua bilangan prima yang lebih kecil dari 10233.
• Menerima input bilangan integer positif dari user sampai user memasukkan angka -1.

Perhatikan skema while berikut ini :

Penjelasan :
• Kondisi : biasanya berisi ekspresi yang nilainya akan mentukan apakah bagian statement/block
statement akan dikerjakan atau tidak. Jika ekspresi pada kondisi menghasilkan nilai true, maka
statement/block statement akan dieksekusi ( masuk ke bagian loop dan mengeksekusi semua
statement yang ada di dalamnya ), sedangkan jika menghasilkan nilai false maka statement/block
statement tidak akan dieksekusi (langsung melanjutkan ke statement berikutnya setelah skema
while).
• Kemudian program kembali akan melakukan eksekusi pada bagian kondisi untuk memeriksa nilai
kondisi saat ini. Demikian seterusnya sampai suatu saat nilai kondisi adalah false.
• Perhatikan bahwa pada saat awal, akan dilakukan pemeriksan kondisi sebelum memasuki
statement/block statement.

Agar lebih jelas, perhatikan program berikut:

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 6


t3e

Pada saat awal, variabel i diisi dengan nilai 1, kemudian dicek apakah nilai i lebih kecil dari 7, karena
hasil pengecekan true, maka "hello world" akan diprint ke layar. Setelah itu nilai i akan ditambah satu.
Kemudian program kembali akan memeriksa apakah nilai i lebih kecil dari 7 atau tidak. Demikian
seterusnya sampai saat nilai i berisi 8, maka program akan keluar dari skema loop.

Seperti telah disebutkan sebelumnya, skema while umumnya digunakan untuk pada saat tidak
diketahui dengan pasti berapa kali pengulangan yang harus dilakukan. Perhatikan contoh berikut :
t3f

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 7


Ada beberapa kesalahan mendasar yang sering sekali kita lakukan pada saat menggunakan skema
while. Berikut beberapa contohnya. Jawab pertanyaan-pertanyaan dibawah ini pada t3g.
t3g

✦ Perhatikan program berikut (program bermaksud menampilkan angka dari 10 sampai 1).

Apakah program dapat menampilkan angka 10 sampai 1 ? (1a)


Jika tidak, berapa saja angka ditampilkan ? (1b)
Apa kesalahan yang terdapat pada program ? (1c)
Bagaimana cara memperbaikinya ? (1d)

✦ Perhatikan program berikut (program bermaksud menampilkan akar kuadrat dari 100 sampai 1).

Apakah program dapat menampilkan akar kuadrat dari 100 sampai 1 ? (2a)
Jika tidak, akar kuadrat dari berapa saja yang ditampilkan ? (2b)
Apa kesalahan yang terdapat pada program ? (2c)
Bagaimana cara memperbaikinya ? (2d)

Berdasarkan contoh-contoh di atas :


• Ingat, jangan lupa mendeklarasikan variabel counter sebelum digunakan.
• Pastikan kita membuat kondisi yang suatu saat akan bernilai tidak benar, agar perulangan dapat
berjalan dengan benar.

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 8


do ... while ( ... )

Skema do ... while memiliki kegunaan yang hampir sama dengan skema while. Perhatikan skema do ...
while berikut ini :

Penjelasan :
• Kondisi : di sini sama dengan kondisi pada skema for dan skema while, gunanya untuk
menghentikan pengulangan bila ekspresi/kondisi menghasilkan nilai false.
• Perbadaan skema do .. while dengan skema while adalah pada skema do .. while statement/block
statement dieksekusi terlebih dahulu baru kondisi-nya diperiksa, sedangkan pada skema while,
kondisi-nya diperiksa terlebih dahulu baru statement/block statement-nya dieksekusi.

Perhatikan contoh program berikut :

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 9


t3h

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 10


Tugas

Nama file: t09NYYXXX.java (N: nomor soal, YY: angkatan, XXX: 3 digit terakhir NPM)
Lihat jam pengumpulan di E-Learning.

1. Faktorial
Buatlah sebuah program yang digunakan untuk menghitung faktorial. Input akan berhenti jika user
memasukkan angka nol. Tulisan berwarna merah adalah input user.
Contoh :

Masukkan angka : 3
Hasil faktorial : 6
Masukkan angka : 5
Hasil faktorial : 120
Masukkan angka : 0
-- Terima Kasih --

2. Ganjil
Buatlah program dengan spesifikasi sebagai berikut :
• Menerima masukan berupa bilangan integer n dari user.
• Menampilkan semua bilangan ganjil yang lebih kecil dari n.

Contoh :
Jika n = 5 ditampilkan 1,3.
Jika n = 13 ditampilkan 1,3,5,7,9,11.

3. Penjumlahan Integer Positif


Buatlah program dengan spesifikasi sebagai berikut :
1. Menerima masukan n buah bilangan integer positif dari user.
2. Jumlahkan semua bilangan positif yang dimasukkan oleh user.
3. Penjumlahan dan masukan dari user diakhiri jika user memasukkan bilangan negatif.
4. Tampilkan hasil penjumlahan semua bilangan yang dimasukkan user (kecuali bilangan negatif).

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 11


4. Rumus xi di
Buatlah program yang menghitung rumus dibawah ini:

Contoh:
x = 1, d = 1, n = 2
Hasil = 5

5. Hasil Operasi + -
Buatlah sebuah program yang menerima sebuah bilangan bulat positif dan menghasilkan nilai dari
operasi berikut:
Input    :n
Output  : +1-2+3-4+5 ... n
Tampilkan pesan kesalahan jika input bukan bilangan positif.

Contoh input:
-3
10
5

Contoh output:
Bukan bilangan positif
-5
3

6. Segitiga Siku-Siku
Buatlah program yang menampilkan segitiga siku-siku. Ukuran segitiga dimasukkan oleh user.
Contoh :

Panjang sisi : 3
*
**
***

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 12


7. Segitiga Sama Sisi
Buatlah sebuah program yang menerima masukan sebuah nilai n. n harus ganjil dan lebih besar dari 1,
kemudian menampilkan gambar segitiga dengan panjang alas n.

4
Bilangan genap

5
*
***
*****

8. Tiga Faktor
Program menerima int n dan mengeluarkan semua bilangan yang memiliki 3 buah faktor dari 1 sampai
dengan n.

Contoh input :
25

Contoh output :
4 9 25

9. Deret
Diketahui sebuah deret bilangan dengan S(n) = 2*n+3.
S(0) = 2*0+3 = 3
S(1) = 2*1+3 = 5
S(2) = 2*2+3 = 7
dan seterusnya.

Jika diberikan sebuah bilangan n, hitunglah U(n).


U(0) = S(0) = 3
U(1) = S(1) + S(0) = 8
U(2) = S(2) + S(1) + S(0) = 15
dan seterusnya.

Buatlah program yang menghitung nilai U(n) seperti diatas. Program diakhiri dengan angka -1.

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 13


0
3
1
8
2
15
-1

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 14

You might also like