Contoh-Contoh Tambahan
7.5 Contoh-Contoh Tambahan
Kita dapat menyelesaikan hal- hal yang sederhana dengan loop for kosong. Contohnya adalah mencari jumlah seluruh angka dari 1 sampai angka tertentu.
Perhatikan contoh berikut:
[kutipan program] for ( int i = 1; i < = m aksim um ; j um lah + = i+ + ) / / sebelum ny a j um lah ber nilai 0
; / / st at em ent k osong
[/kutipan program]
Kita coba telusuri alur program kalau maksimum bernilai 3. Saat loop dimasuki, maka akan tercipta variabel i yang bernilai 1. Karena nilai i lebih kecil dari maksimum,
maka i <= maksimum hasilnya true . Statement yang menjadi tubuh loop lalu dijalankan, yaitu statement kosong. Setelah itu jumlah += i++ dijalankan. Pada statement tersebut expression i++ menaikkan nilai i menjadi 2. Karena yang digunakan operator increment postfix, maka jumlah ditambahkan dengan nilai i sebelumnya yaitu 1. Untuk mudahnya expression tersebut efeknya sama dengan kutipan berikut :
[kutipan program] j um lah + = i; i+ + ; [/kutipan program]
Loop akan berlanjut dan keluar saat i bernilai 4. Nilai jumlah pada akhir loop adalah 1 + 2 + 3. Sebagai contoh lain, jika nilai maksimum 100 maka nilai jumlah pada akhir loop adalah 1 + 2 + 3 + ... + 99 + 100.
Loop juga dapat berada di dalam loop lain. Untuk contoh penggunaannya ikuti proyek berikut!
[proyek] Kali ini kita akan membuat program yang menampilkan tabel perkalian dari 1 * 1 sampai 10 * 10. Penggunaan loop akan sangat berguna dibanding jika kita harus menulis tiap-tiap Console.WriteLine() yang bersangkutan.
Di dalam program ini kita akan menggunakan loop di dalam loop. Loop pertama akan mengiterasikan nilai sebuah variabel (misal i) dari 1 sampai 10. Di dalam loop pertama ini akan terdapat sebuah loop yang mengiterasikan nilai variabel lain (misal j) dari 1 sampai 10 juga. Perkalian i dengan j akan dilakukan di dalam loop kedua. Inilah contoh program jadinya (penjelasan terdapat pada comment):
[program lengkap] / / Proyek 7.2 - Tabel Per k alian
using Syst em ;
class TabelPer k alian {
st at ic v oid Main( ) {
int k olom = 10; / / unt uk set iap bar is ak an ada i * 1 sam pai i * k olom int bar is = 10; / / pr ogr am ak an m enghit ung 1 * 1 sam pai bar is * k olom
/ / m em buat puncak t abel / / cont oh out put ny a j ik a k olom ber nilai 4 / / . . . . . | . . . 1. | . . . 2. | . . . 3. | . . . 4. | / / ( t it ik m elam bangk an spasi) Console. Wr it e( " | " ) ; for( int i = 1; i < = kolom ; i+ + )
Console. Wr it e( " { 0, 3} | " , i) ; Console. Wr it eLine( ) ;
/ / m em buat gar is pem isah / / cont oh out put j ik a k olom ber nilai 4 // ------------------------------ for ( int i = 1; i < = kolom + 1; i+ + )
Console. Wr it e( "- - - - - - ") ; Console. Wr it eLine( ) ;
/ / loop ini ak an m em pr oses bar is per bar is for( int i = 1; i < = baris; i+ + ) {
/ / m enulisk an ident it as bar is, m isalny a / / . . . 1. | / / ( t it ik m elam bangk an spasi) Console. Wr it e( " { 0, 3} | " , i) ;
/ / loop ini ak an m em pr oses k olom per k olom / / unt uk bar is y ang ber sangk ut an for( int j = 1; j < = kolom ; j + + )
Console. Wr it e( " { 0, 3} | " , i * j ) ;
/ / bar is selesai dipr oses / / out put k ar ak t er new line k e console Console. Wr it eLine( ) ;
} } } [/program lengkap]
Ini adalah output dari program di atas:
[/console] [/proyek]
Ada hal lain yang unik dari loop for. Perhatikan kembali formatnya:
[format] [format]
[/format]
[expression 1] dan [expression 2] juga dapat ber isi lebih dar i 1 ex pr ession sah y ang dipisahk an dengan k om a. Cont oh f o r di baw ah ini sah:
[kutipan program] / / dalam cont oh ini anggap a dan b sudah didek lar asik an di luar loop / / w alaupun begit u dapat saj a anda m em buat v er si di m ana / / pendek lar asian a dan b m enj adi bagian dar i loop for for( a = 1, b = 10; a < b; a+ + , b- - )
Console. Wr it eLine( “ a: { 0 } \ t b: { 1} ” , a, b) ; ;
[/kutipan program]
Lampiran A: Kunci Jawaban Tes