Modul IV

Setelah mengikuti pelatihan dalam Modul IV ini, Anda diharapkan memiliki kemampuan dalam:

  • Memahami landasaran pernyataan berulang
  • Memahami pernyataan berulang FOR
  • Memahami pernyataan berulang WHILE
  • Mampu memecahkan masalah dengan memanfaatkan pernyataan berulang

Pendahuluan

Untuk mencetak kata “Indonesia” sebanyak 10x di form visual basic, Anda dapat melakukannya dengan menulis kode program seperti berikut:

Print “Indonesia”
Print “Indonesia”
Print “Indonesia”
Print “Indonesia”
Print “Indonesia”
Print “Indonesia”
Print “Indonesia”
Print “Indonesia”
Print “Indonesia”
Print “Indonesia”

Atau bisa juga menuliskanya dalam satu baris kode seperti berikut:

Print “Indonesia Indonesia Indonesia Indonesia Indonesia Indonesia Indonesia Indonesia Indonesia Indonesia”

Bagaimana halnya bila Anda ingin mencetak kata “Indonesia” sebanyak 100x, 1000x atau nx di form, apakah Anda tetap melakukannya dengan cara seperti di atas? Bisa saja ya, namun hal ini tentu kurang efisien. Dapat dikatakan untuk melakukan hal tersebut Anda harus menuliskan kode program yang sangat panjang namun memiliki fungsi yang tidak berarti. Hal ini tentu kurang efisien. Semakin tidak efisien kode program maka otomatis semakin tidak baik algoritmanya.

Sebagai contoh lain misalkan Anda ingin mencetak angka 1 s.d 10, maka dapat saja Anda melakukannya dengan menulis kode seperti berikut:

Print “1 2 3 4 5 6 7 8 9 10”

Bagaimana halnya bila Anda menginginkan mencetak angka 1 s.d 1000, apakah Anda akan melakukan hal yang sama seperti contoh sebelumnya? Bisa saja, tetapi hal tersebut tentu kurang efisien. Untuk mengatasi hal ini Visual Basic menyediakan suatu pernyataan berulang untuk melakukan perulangan pemrosesan pernyataan.

Dalam Visual Basic terdapat 3 (dua) jenis pernyataan berulang yaitu:

  1. For – Next,
  2. While – Wend, dan
  3. Do – While

Berikut ini akan dijelaskan peranan dari ketiga pernyataan berulang tersebut dalam kode program.

1. For – Next

Syntax.

For Variabel = NilaiAwal To NilaiAkhir Step NilaiLompatan

<pernyataan-1>

<pernyataan-2>

…………………..

<pernyataan-n>

Next Variabel

Latihan 1.

Pada latihan 4.1 ini Anda disuruh untuk mencetak kata indonesia sebanyak 10x di form visual basic dengan menggunakan pernyataan berulang for.

Pada saat Anda mengeksekusi (execute) kode program visual basic ke bahasa mesin dengan menekan tombol F5 atau mengklik menu Run | Run maka even (kejadian) yang pertama kali akan dikerjakan adalah form_load. Setiap form memiliki kejadian form_load. Untuk itu untuk menyelesaikan masalah kali ini kode program akan diletakkan di event form_load dari form seperti ditunjukkan oleh kode program berikut ini:

private sub form_load()
Dim I as Byte
For I = 1 To 10 Step 1
Print "Indonesia"
Next I
end sub

Bagaimana proses kerja dari kode program tersebut?
0. Mulai
1. Deklarasi variabel I bertipe Byte
2. Ulangi I mulai dari 1 sampai dengan 10, I lompat-lompat 1
3. Apakah I < 10 Jika Ya Cetak Indonesia, Jika tidak Locat setelah pernyataan Next I
4. Naikkan Nilai I satu
5. Kembali Ke langkah 3
6. Berhenti

Latihan 2.
Buatlah tabel perkalian 1×1 hingga 1x 10

 1 X 1 = 1
 1 X 2 = 2
 1 X 3 = 3
 1 X 4 = 4
 1 X 5 = 5
 1 X 6 = 6
 1 X 7 = 7
 1 X 8 = 8
 1 X 9 = 9
 1 X 10 = 10

Berikut adalah langkah-langkah pengerjaannya:
– Buka proyek standar exe di VB
– Ketikkan kode program berikut di event form_paint()

Private Sub Form_Paint()
  Dim I As Byte
  For I = 1 To 10 Step 1
    Print 1;"X";I;"=";1*I
  Next I
End Sub

– Eksekusi program dengan menekan menu Run | Run atau F5 di keyboard

Latihan 3.
Membuat program untuk membilang dari 1 sampai dengan N di Form Visual Basic.

– Buka proyek standar exe
– Rancanglah form seperti dibawah ini:

– Masukkan kode program berikut pada Event Click tombol CmdBilang

   Private Sub CmdBilang_Click()
   Dim I, N As Byte
   N = Val(txtN.text)
   For I = 1 To N Step 1
     LstBilang.Items.Add(I)
   Next I
   End Sub

– Eksekusi program dengan menekan menu Run | Run atau F5 di keyboard

2. While
Pernyataan while digunakan untuk mengulangi pemrosesan satu atau banyak pernyataan selama syarat yang dimaksudkan terpenuhi. Bila syarat tidak terpenuhi maka pernyataan tidak akan dikerjakan.

Sintaks:
  While (Kondisi)
   <pernyataan>
  Wend

Kondisi pada pernyataan while harus memberikan nilai akhir boolean yaitu TRUE atau FALSE. Dalam Visual Basic Nilai 1 juga dianggap TRUE, selain 1 dianggap FALSE.

Latihan 2.1.
Buatlah kode program untuk mencetak kata “Indonesia” sebanyak 10x. Caranya dapat dilakukan dengan menggunakan pernyataan berulang while.

  Dim I As Byte
  I = 1
  While (I<10)
    Print "Indonesia"
    I = I + 1
  Wend

Bagaimana pemrosesan kode program diatas?
0. Mulai
1. Deklarasi variabel I dengan tipe Byte
2. Inisialisasi (pemberian nilai awal) variabel I adalah 1
3. Selama I < 10 maka
cetak kata “Indonesia”
Nilai variabel I dinaikkan 1
4. Ulangi ke langkah 3
5. Selesai

Menurut Anda, mengapa Nilai variabel I harus dinaikkan 1? Bagaimana kalau nilai I tidak dinaikkan seperti kode program berikut:

  Dim I As Byte
  I = 1
  While (I<10)
    Print "Indonesia"
  Wend

Coba kita analisis pernyataan diatas
1. Deklarasi pengenal I bertipe Byte
2. Inisialisasi I adalah 1
3. Selama I<10 maka kerjakan pernyataan berikut:
Cetak kata Indonesia
4. Kembali ke langkah 3

Kita perhatikan perulangan akan terus dikerjakan karena tidak ada keadaan yang memungkinkan perulangan berhenti. Kita perhatikan nilai I tetap 1 sehingga kondisi apakah I < 10 akan tetap terpenuhi dan pernyataan akan tetap dikerjakan. Untuk mengantisipasi perulangan yang tiada henti ini (continious looping) maka nilai I dinaikkan yang dalam hal ini dinaikkan 1. Dengan demikian pada saat I=10 kondisi I<10 tidak akan terpenuhi dan perulangan akan berhenti.

Latihan 2.2
Buatlah program untuk menentukan bilangan genap antara 1 s.d 50

Kita perhatikan terdapat bilangan 1,2,3,…50. Angka tersebut dapat implementasikan dalam bentuk perulangan dari 1 s.d 50. Selanjutnya angka yang bergerak dari 1 s.d 50 kita uji apakah termasuk bilangan genap atau tidak. Seperti yang kita ketahui bahwa bilangan genap adalah 2,4,6,…,50. Untuk memperoleh bilangan genap salah satu cara yang dapat dilakukan adalah menguji apakah bilangan habis dibagi 2 atau tidak. Bila bilangan habis dibagi 2 maka bilangan tersebut adalah bilangan genap. Sebagai contoh 4 habis di bagi 2; 1 tidak habis dibagi 2.
Berikut ini adalah implementasi dari permasalahan diatas.
– Buka proyek standar exe
– Pada event form_paint tuliskkan kode program berikut:

   Private Sub Form_Paint()
   Dim I as Byte
   I = 1
   While (I<50)
     IF (I % 2 =0) Then
       Print I
     End If
     I = I + 1
   Wend

Bagaimana proses pengerjaan dari kode program diatas?
0. Mulai
1. Deklarasi pengenal I bertipe Byte
2. Inisialisasi nilai I = 1
3. Apakah I<50, Jika Ya, Kerjakan pernyataan berikut. Jika tidak ke langkah 4.
Apakah I Habis Dibagi 2, Pada saat ini Nilai I=1 sehingga kondisi tidak terpenuhi
Naikkan Nilai I satu
Ulangi Ke Langkah 3.
Apakah I<50, Jika Ya
Apakah I Habis Dibagi 2, Pada saat ini Nilai I=2 sehingga kondisi terpenuhi. Dengan demikian cetak nilai I
Naikkan Nilai I satu
Ulangi ke Langkah 3
4. Selesai

3. Perulangan Bersarang (Nested Loop)
Perulangan bersarang merupakan dapat dijelaskan sebagai perulangan di dalam perulangan. Pada saat membentuk perulangan bersarang hal-hal yang harus diperhatikan adalah:
-harus jelas awal dan akhir suatu perulangan
-tidak tumpang tindihnya antara satu perulangan dengan perulangan lainnya
Perulangan bersarang bisa melibatkan pernyataan berulang FOR di dalam FOR, while di dalam while atau campuran keduanya. Misalkan terdapat perulangan bersarang for dalam for seperti berikut:

For I = 1 To 5 Step 1
  For J = 1 To 5 Step 1
     <pernyataan>
  Next J
Next I

Latihan 3.1
Buatlah tabel perkalian 1×10 s.d 10×10

  Dim I, J As Byte
  For I = 1 To 10 Step 1
    For J = 1 To 10 Step 1
      Print I;"x";J;"=";I*J
    Next J
  Next I

Bagaimana proses pengerjaan dari program diatas?
0. Mulai
1. Deklarasi variabel I dan J bertipe Byte
2. Ulangi I mulai dari 1 s.d 10, I lompat-lompat 1. Pada saat pertama kali nilai I = 1 sehingga akan diuji apakah 1 < 10. Karena TRUE maka pernyataan dibawahnnya akan dikerjakan.
3. Ulangi J mulai dari 1 s.d 10, J lompat-lompat 1. Pertama kali nilai J=1 sehingga akan diuji apakah 1 < 10 dan jawabannya TRUE. Karena TRUE maka pernyataan berikutnya akan dikerjakan.
4. Cetak nilai I, cetak string x, cetak nilai J, cetak string =, dan cetak I * J
5. Kembali Ke Langkah 3
6. Kembali Ke Langkah 2
7. Selesai

Latihan 3.2
Buatlah program untuk menghasilkan matrik identitas A(4,4) seperti dibawah ini:

 1 0 0 0
 0 1 0 0
 0 0 1 0
 0 0 0 1

Data diatas dapat kita susun dalam bentuk matrik seperti berikut ini:

A(1,1)  A(1,2)  A(1,3) A(1,4)
A(2,1)  A(2,2)  A(2,3) A(2,4)
A(3,1)  A(3,2)  A(3,3) A(3,4)
A(4,1)  A(4,2)  A(4,3) A(4,4)

Elemen baris kita misalkan I
Elemen kolom kita misalkan J
Pada saat I sama dengan J maka elemen matrik adalah 1.

  Dim I, J as Byte
  For I = 1 to 4 Step 1
    For J = 1 to 4 Step 1
      IF (I = J) Then ' pada saat I = J
         Print "1";
      Else
         Print "0";
      End IF
   Next J
 Next I

Bagaimana proses pengerjaan dari program di atas?
0. Selesai
1. Deklarasi variabel I dan J bertipe byte.
2. Ulangi I mulai dari 1 s.d 4. Karena nilai awal I=1 maka pernyataan berikut akan dikerjakan.
3. Ulangi J mulai dari 1 s.d 4. Karena nilai awal J=1 maka pernyataan berikut akan dikerjakan
4. Apakah I = J ? Karena I = 1 dan J = 1 berarti kondisi TRUE. Karena true maka akan dicetak string “1”.
5. Naikkan nilai J satu sehingga J menjadi 2. Kembali ke langkah 3.
6. Naikkan nilai I
7. Selesai

Kesimpulan
Visual Basic memungkinkan kita mengulangi pengerjaan pernyataan dengan memanfaatkan pernyataan berulang.
Terdapat 2 jenis pernyataan berulang yaitu pernyataan berulang pasti (FOR – NEXT) dan pernyataan berulang tidak pasti (WHILE – WEND)
Pernyataan berulang FOR – NEXT sesuai digunakan bila banyaknya perulangan yang dilakukan sudah pasti; sedangkan bila pernyataan yang akan dikerjakan belum pasti sebaiknya digunakan pernyataan berulang WHILE – WEND
Visual Basic memungkinkan untuk membuat pernyataan berulang di dalam pernyataan berulang atau disebut dengan pernyataan bersarang (nested loop)

Kosa Kata

FOR NEXT WHILE WEND
Break

Latihan
1. Buatlah kode program untuk menghasilkan matrik segitiga atas seperti berikut:

 1 1 1 1 1
 0 1 1 1 1
 0 0 1 1 1
 0 0 0 1 1
 0 0 0 0 1 

2. Buatlah kode program untuk menghasilkan output berikut:

1
11
111
1111
11111

Jajak Pendapat

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: