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