11.01.2015 Views

PENGULANGAN, ARRAY - Open Knowledge and Education (OKE)

PENGULANGAN, ARRAY - Open Knowledge and Education (OKE)

PENGULANGAN, ARRAY - Open Knowledge and Education (OKE)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>PENGULANGAN</strong>, <strong>ARRAY</strong><br />

Di susun Oleh :<br />

H. Ary Setyadi<br />

Di dukung oleh :<br />

Portal edukasi Indonesia<br />

<strong>Open</strong> Knowloedge <strong>and</strong> <strong>Education</strong><br />

http://oke.or.id<br />

5 <strong>PENGULANGAN</strong><br />

5.1. Pengulangan Dengan For…Next<br />

Pengulangan proses menggunakan For…Next adalah bentuk pengulangan<br />

terkendali dengan variabel kendali yang terus berjalan maju atau mundur. Format<br />

penulisan pengulangan ini adalah sebagai berikut:<br />

For variabel = nilai_awal To nilai_akhir [Step langkah]<br />

<br />

Pemrograman Dengan Visual Basic 47


Next variable<br />

Contoh 1:<br />

Untuk menentukan barisan bilangan 1, 2, 3, …., 10 maka bilangan mempunyai nilai<br />

awal = 1, nilai akhir=10 dan step antar bilangan = 1, sehingga bisa ditulis dengan<br />

For bilangan=1 To 10 Step 1<br />

<br />

Next bilangan<br />

Karena step=1, maka secara default tidak perlu dituliskan sehingga perintahnya bias<br />

ditulis dengan:<br />

For bilangan=1 To 10<br />

<br />

Next bilangan<br />

Contoh Aplikasi 5.1:<br />

Untuk menampilkan barisan bilangan 1 sampai dengan N, dengan N dimasukkan.<br />

Hasil barisan ditampilkan pada Label.<br />

(1) Buat project baru. Pada form, isi property [Name] dengan formLatihan51<br />

(2) Tambahkan komponen-komponen: 1 label, 1 textbox, 1 buah listBox dan 1<br />

comm<strong>and</strong> button<br />

Pemrograman Dengan Visual Basic 48


(3) Untuk label1, isi property [Caption] dengan ”N=”. Untuk textbox1,<br />

kosongkan property [Text]. Untuk comm<strong>and</strong>1, isi property [Caption] dengan<br />

Barisan. Atur posisi masing-masing komponen seperti gambar 5.1. berikut:<br />

Gambar 5.1. Tampilan latihan 5.1<br />

(4) Click pada comm<strong>and</strong>1, tambahkan program untuk membuat barisan bilangan<br />

dari 1 sampai dengan N sebagai berikut:<br />

Private Sub Comm<strong>and</strong>1_Click()<br />

N = Val(Text1)<br />

List1.Clear<br />

For i = 1 To N<br />

List1.AddItem i<br />

Next i<br />

End Sub<br />

Fungsi Val digunakan untuk mengubah tipe data text menjadi tipe data<br />

numerik, sedangkan fungsi Str digunakan untuk mengubah tipe data numerik<br />

menjadi tipe data text.<br />

Property clear pada List1 digunakan untuk membersihkan isi list1, dan<br />

property AddItem pada List1 digunakan untuk menambahkan isi list1.<br />

Dengan demikin sebelumnya dibersihkan, kemudian ditambah isinya dengan<br />

barisan bilangan yang dibuat.<br />

(5) Simpan project dengan nama projectLatihan51. jalankan dan coba isi N yang<br />

berbeda-beda, perhatikan hasilnya.<br />

Pemrograman Dengan Visual Basic 49


Contoh 2:<br />

Menampilkan barisan bilangan 20, 19, 18, ...., 3, 2, 1 dapat dilakukan dengan:<br />

For bilangan=20 To 1 Step -1<br />

List1.AddItem bilangan<br />

Next bilangan<br />

Contoh 3:<br />

Menampilkan barisan bilangan 1, 4, 7, 10, 13, 16, 19, 22, .... 3N+1 dapat dilakukan<br />

dengan:<br />

For bilangan=0 To N Step -1<br />

List1.AddItem 3*bilangan+1<br />

Next bilangan<br />

Contoh Aplikasi 5.2:<br />

Untuk menampilkan huruf A sampai dengan Z menggunakan pengulangan For..Next,<br />

dapat dilakukan dengan langkah=langkah sebagai berikut:<br />

(1) Buat project baru. Pada form, isi property [Name] dengan formLatihan52 (2)<br />

Tambahkan komponen-komponen: 1 buah listBox dan 1 comm<strong>and</strong> button<br />

(3) Untuk comm<strong>and</strong>1, isi property [Caption] dengan Alfabet. Atur tampilannya<br />

seperti gambar 5.2 berikut.<br />

Gambar 5.2. Tampilan latihan 5.2<br />

Pemrograman Dengan Visual Basic 50


(4) Click pada comm<strong>and</strong>1, tambahkan kode untuk menampilkan barisan alfabet<br />

menggunakan For..Next. Teknik yang digunakan adalah menggunakan kode<br />

ASCII untuk masing-masing karakter, dimana kode ASCII untuk ’A’ adalah 65,<br />

dan demikian seterusnya kode ASCII ditambah satu-persatu sampai 26 kali.<br />

Private Sub Comm<strong>and</strong>1_Click()<br />

List1.Clear<br />

For i = 1 To 26<br />

kodeASCII = 64 + i<br />

List1.AddItem Chr(kodeASCII)<br />

Next i<br />

End Sub<br />

Fungsi CHR adalah fungsi untuk mengambil karakter dari kode ASCII.<br />

(5) Simpan project dengan nama projectLatihan52. Jalnkan untuk mengethaui<br />

apakah hasilnya sudah benar atru tidak.<br />

Contoh 4:<br />

Menampilkan barisan fibbonanci sampai N kali (N bilangan bulat positif) dimana<br />

nilai saat ini adalah jumlah dari nilai dua suku sebelumnya. Contoh barisan<br />

fibonanci: 1 1 2 3 5 8 13 21 34 ...<br />

suku1=1<br />

suku2=1<br />

List1.AddItem suku1<br />

List1.AddItem suku2<br />

For i=3 To N<br />

bil=suku1+suku2<br />

List1.AddItem bil<br />

suku1=suku2<br />

suku2=bil<br />

Next i<br />

Contoh 5:<br />

Menampilkan barisan bilangan kelipatan 3 yang lebih kecil dari 100 dan berhenti<br />

saat bilangan tersebut juga kelipatan 7. Untuk menghentikan pengulangan For..Next<br />

sebelum mencapai nilai akhir dapat dilakukan dengan perintah Exit For.<br />

Pemrograman Dengan Visual Basic 51


For i=3 To 100 Step 3<br />

Next i<br />

If i mod 7 = 0 then Exit For<br />

Contoh 6:<br />

Menampilkan barisan N bilangan yang berganti-ganti 1 dan -1 seperti :<br />

1 -1 1 -1 1 -1 1 -1 .....<br />

adalah sebagai berikut:<br />

bilangan = -1;<br />

List1.Clear<br />

For i=1 To N<br />

bilangan = -1 * bilangan<br />

List1.AddItem bilangan<br />

Next i<br />

Atau dengan cara:<br />

List1.Clear<br />

For i=1 To N<br />

If i mod 2 = 0 then bilangan = -1 else bilangan = 1<br />

List1.AddItem bilangan<br />

Next i<br />

Contoh 7:<br />

Menampilkan barisan N bilangan yang berganti-ganti positif dan negatif seperti :<br />

1 -2 3 -4 5 -6 7 -N .....<br />

dapat dilakukan dengan cara mengalikan variable kontrol dari looping (i) dan<br />

bilangan sebagai berikut:<br />

List1.Clear<br />

For i=1 To N<br />

If i mod 2 = 0 then bilangan = -1 else bilangan = 1<br />

List1.AddItem i*bilangan<br />

Next i<br />

Pemrograman Dengan Visual Basic 52


5.2. Pengulangan Dengan While…Wend<br />

Pengulangan dengan While... Wend adalah bentuk pengulangan terkendali<br />

dengan proses akan diulang selama kondisi yang diberikan masih dipenuhi. Format<br />

penulisan pengulangan ini adalah:<br />

While <br />

<br />

Wend<br />

Variabel kontrol pada jenis looping tidak otomatis bertambah/berkurang seperti pada<br />

looping dengan For...Next, sehingga penambahan atau pengurangan nilai dilakukan<br />

dengan menggunakan akumulator yang dituliskan dengan<br />

var = var + step<br />

Meskipun hal ini bukan suatu keharusan. Karena tidak setiap looping membutuhkan<br />

akumulator, variabel yang terus-menerus bertambah atau berkurang.<br />

Contoh 8:<br />

Menampilkan bilangan bulat ganjil dari satu sampai dengan 11, ini merupakan<br />

looping dengan akumulator yang dapat dituliskan sebagai berikut:<br />

bilangan=1<br />

While bilangan


5.3. Pengulangan Dengan Do Loop Until<br />

Pengulangan dengan Do Loop Until adalah bentuk pengulangan terkendali<br />

dengan proses akan diulang sampai kondisi yang diberikan dipenuhi. Format<br />

penulisan pengulangan ini adalah:<br />

Do<br />

<br />

Loop Until <br />

Contoh 10:<br />

Menampilkan bilangan bulat ganjil dari satu sampai dengan 11, ini merupakan<br />

looping dengan akumulator yang dapat dituliskan sebagai berikut:<br />

bilangan=1<br />

do<br />

List1.AddItem bilangan<br />

bilangan = bilangan + 2<br />

Loop until bilangan>11<br />

Contoh 11:<br />

Mencari nilai fungsi f(x) = - x 2 + 3x – 2 dari x=-1 sampai dengan f(x) mendekati nol,<br />

atau dalam arti |f(x)|


Pengulangan bertingkat secara umum dapat dituliskan dengan bentuk<br />

penulisan sebagai berikut:<br />

Pengulangan 1<br />

...............................................<br />

Proses di dalam pengulangan 1<br />

Pengulangan 2<br />

.......................................<br />

Proses dalam pengulangan 2<br />

.......................................<br />

Akhir pengulangan 2<br />

...............................................<br />

Akhir pengulangan 1<br />

Contoh 12.<br />

Menampilkan n baris dari barisan bilangan 1 2 3 4 5 sebagai berikut:<br />

1 2 3 4 5<br />

1 2 3 4 5<br />

1 2 3 4 5<br />

..............<br />

Dapat ditulis dengan:<br />

For baris = 1 To N<br />

Kal=””<br />

For i = 1 To 5<br />

Kal = kal & str(i)<br />

Next i<br />

List1.AddItem kal<br />

Next baris<br />

Contoh 13.<br />

Menampilkan 5 baris dari kombinasi barisan bilangan 1 2 3 4 5 sebagai berikut:<br />

1<br />

1 2<br />

1 2 3<br />

1 2 3 4<br />

1 2 3 4 5<br />

Pemrograman Dengan Visual Basic 55


Perhatikan bahwa pada baris ke 1 hasilnya adalah dari 1 sampai dengan 1, pada baris<br />

ke 2 hasilnya adalah dari 1 sampai dengan 2, pada baris ke 3 hasilnya adalah dari 1<br />

sampai dengan 3. Sehingga dapat dikatakan untuk baris ke i hasilnya adalah dari 1<br />

sampai dengan i. Dan dapat dituliskan sebagai berikut:<br />

For i = 1 To 5<br />

kal = ””<br />

For j=1 To i<br />

kal = kal & str(j)<br />

Next j<br />

List1.AddItem kal<br />

Next i<br />

Contoh 12.<br />

Menampilkan n baris dari barisan bilangan 1 2 3 4 5 sebagai berikut:<br />

1 2 3 4 5<br />

5 4 3 2 1<br />

1 2 3 4 5<br />

5 4 3 2 1<br />

..............<br />

Perhatikan bahwa pada baris ganjil hasilnya 1 2 3 4 5 dan pada baris yang genap<br />

hasilnya adalah 5 4 3 2 1, maka perlu untuk mengetahui apakah baris itu baris<br />

genap/ganjil untuk menentukan nilai awal, nilai akhir dan step. Dapat ditulis dengan:<br />

For baris = 1 To N<br />

If baris mod 2 =0 Then<br />

Awal = 1 : Akhir = 5<br />

Langkah = 1<br />

Else<br />

Awal = 5 : Akhir = 1<br />

Langkah = -1<br />

End If<br />

Kal=””<br />

For i = awal To akhir Step langkah<br />

Kal = kal & str(i)<br />

Next i<br />

List1.AddItem kal<br />

Next baris<br />

Pemrograman Dengan Visual Basic 56


Contoh Aplikasi 5.3:<br />

Membuat program untuk untuk menghitung N bilangan prima, definisi bilangan<br />

prima adalah bilangan yang hanya habis dibagi oleh 1 dan bilangan itu sendiri atau<br />

bisa dikatakan bahwa bilangan prima adalah bilangan yang tidak tidak habis dibagi<br />

oleh bilangan 2 sampai sebelum bilangan itu sendiri.<br />

(1) Buat project baru dengan St<strong>and</strong>ardEXE<br />

(2) Pada form1, isi property [Name] dengan formLatihan53.<br />

(3) Tambahkan komponen-komponen: 1 buah label, 1 textbox, 1 listbox dan 1<br />

comm<strong>and</strong> button.<br />

(4) Isi porperty masing-masing komponen seperti tabel di bawah ini dan atur<br />

posisinya seperti gambar 5.3 berikut<br />

Komponen Property Nilai<br />

Label1 Caption N =<br />

Text1 Text (kosong)<br />

Comm<strong>and</strong>1 Caption Bil Prima<br />

Gambar 5.3. Tampilan latihan 5.3<br />

Pemrograman Dengan Visual Basic 57


(5) Click pada comm<strong>and</strong>1, tambahkan prorgam untuk membangkitkan N bilangan<br />

prima pertama.<br />

Private Sub Comm<strong>and</strong>1_Click()<br />

n = Val(Text1)<br />

List1.Clear<br />

k = 0<br />

bil = 2<br />

While k < n<br />

prima = True<br />

For pembagi = 2 To bil - 1<br />

If bil Mod pembagi = 0 Then prima = False<br />

Next pembagi<br />

If prima Then<br />

List1.AddItem bil<br />

k = k + 1<br />

End If<br />

bil = bil + 1<br />

Wend<br />

End Sub<br />

(6) Simpan project dalam projectLatihan53.<br />

Contoh 13:<br />

Menampilkan hasil penjumlahan dari deret berikut:<br />

1 + 2 + 3 + 4 + ... + N<br />

dapat dilakukan dengan:<br />

s=0<br />

For i=1 To n<br />

next i<br />

s = s + i<br />

Penulisan s=s+i dinamakan dengan akumulator, yaitu suatu variabel yang terus<br />

menerus bertambah sesuai data. Akumulator ini banyak digunakan dalam penulisan<br />

kode program dari rumus-rumus yang menggunakan jumlahan (sigma) sebagai<br />

berikut:<br />

∑ f ( x)<br />

x<br />

Pemrograman Dengan Visual Basic 58


Contoh 14:<br />

Menampilkan hasil penjumlahan dari rumus deret yang dituliskan dengan<br />

n<br />

s = ∑ ( x − 1) 2<br />

x =1<br />

dapat dilakukan dengan:<br />

s=0<br />

For x=1 To n<br />

next x<br />

s = s + (x - 1) ^ 2<br />

5.5. Latihan<br />

1. Buatlah program untuk menampilkan barisan N buah bilangan yang dimulai<br />

dengan 1, bilangan kedua berselisih 1 dari bilangan pertama, bilangan ketiga<br />

berselisih 2 dari bilangan kedua, ... bilangan ke n berselisih (n-1) dari bilangan ke<br />

n-1 sebagai berikut:<br />

1 2 4 7 11 16 22 ...<br />

2. Sebuah obyek berjalan dari posisi x=0 sampai dengan x=10 dia kembali ke x=0,<br />

kemudian di kembali x=10, dan demikian seterusnya sampai dia berputar (dari<br />

x=0 kebali ke x=0) sebanyak N kali. Buatlah program untuk menampilkan posisi<br />

obyek tersebut.<br />

3. Buatlah program untuk menampilkan barisan N bilangan sebagai berikut:<br />

1 -2 3 -4 5 -1 2 -3 4 -5 1 -2 3 ....<br />

4. Buatlah program untuk menampilkan barisan N buah bilangan biner sebagai<br />

berikut:<br />

1 0 1 0 1 0 1 0 ...<br />

5. Buatlah program untuk menampilkan barisan N buah bilangan biner sebagai<br />

berikut:<br />

1 0 0 0 1 0 0 0 1 0 0 0 ...<br />

6. Buatlah program untuk menampilkan barisan N buah bilangan biner sebagai<br />

berikut:<br />

1 1 0 0 1 1 0 0 1 1 0 0 ...<br />

7. Buatlah program untuk menampilkan nilai x yang berjalan dari 0 sampai 1<br />

dengan step 0.1, dan y = x 2 – 3x + 2.<br />

Pemrograman Dengan Visual Basic 59


8. Buatlah program menampilkan n baris dari barisan bilangan sebagai berikut<br />

1 2 3 4 5 6 7 8<br />

2 3 4 5 6 7 8 1<br />

3 4 5 6 7 8 1 2<br />

4 5 6 7 8 1 2 3<br />

.............................<br />

9. Buatlah program untuk menentukan dimana x dapat menyebabkan nilai fungsi<br />

f(x) = x 3 – 2x 2 + x -1 menjadi |f(x)|


6 <strong>ARRAY</strong><br />

6.1. Konsep Array<br />

Array dalam bahasa Indonesia adalah indeks, maka variabel array adalah<br />

variabel yang mempunyai indeks. Sehingga penulisannya adalah var(indeks). Array<br />

sangat penting di dalam pemrograman, karena array mampu menampung banyak<br />

data yang bertipe sama. Sebagai contoh variabel array x menampung nilai-nilai<br />

bilangan bulat {3, 6, 8, 7, 5, 1} berarti indeks untuk variabel x ini adalah 1 sampai<br />

dengan 6, dan ditulis sebagai x(1), x(2), x(3), x(4), x(5) dan x(6).<br />

Array dapat diibaratkan sebagai kereta api dalam komputer, yang di<br />

dalamnya tedapat gerbong-gerbong memory yang berisi data-data yang mempunyai<br />

tipe dan perlakuan yang sama. Untuk mengambil atau menampilkan nilai array dapat<br />

dianalogikan dengan mencari kursi dalam gerbong kereta api, maka pada karcis perlu<br />

dituliskan nomor gerbong, Array juga demikian, untuk menampilkan nilai array<br />

tinggal menyebutkan indeks-nya. Misalkan untuk menampilkan nilai variabel x yang<br />

ke 5 dituliskan dengan x(5).<br />

Untuk dapat membuat variabel array maka terlebih dahulu harus<br />

didefinisikan nama variabel array dan berapa jumlah maksimalnya dengan cara:<br />

Dim nama_variabel(jumlah_array) as Tipe_Data<br />

Perintah ini diletakkan sesuai kebutuhan apakah array ini hanya untuk subroutine<br />

(event) lokal atau pada seluruh event di form.<br />

Sebagai contoh untuk membuat array bilangan bulat yang dapat menampung 10<br />

bilangan dapat dituliskan dengan:<br />

Dim bilangan(10) as integer<br />

Bila jumlah array sudah ditentukan 10 maka tidak boleh menggunakan data lebih<br />

dari 10, karena 10 menyatakan jumlah maksimum dari data yang akan ditampung<br />

adalan suatu array. Sebagai contoh:<br />

Bilangan(4) = 100 Perintah ini benar<br />

Bilangan(12) = 8 Perintah ini salah karena batasnya sudah ditentukan 10.<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 61


Contoh 1:<br />

Memasukkan 6 nama sebagai berikut “Basuki”, “Achmad”, “Rizki”, “Widya”,<br />

“Dian”, dan “Teguh” ke dalam array dan menampilkan semua nama ke dalam List<br />

saat form di panggil.<br />

Dim nama(6) as String<br />

Private Sub Form_Load()<br />

nama(0) = ”Basuki”<br />

nama(1) = ”Achmad”<br />

nama(2) = ”Rizki”<br />

nama(3) = ”Widya”<br />

nama(4) = ”Dian”<br />

nama(5) = ”Teguh”<br />

List1.Clear<br />

For i=0 To 5<br />

List1.AddItem nama(i)<br />

Next i<br />

End Sub<br />

Array pada Visual Basic dimulai dari indeks 0. Sehingga data pertama dituliskan<br />

dengan var(0).<br />

Visual Basic juga mengenal array dinamis, dimana jumlahnya bisa tak terbatas.<br />

Untuk mendefinisikan array dinamis dapat dilakukan dengan mendefinisikan array<br />

tanpa menuliskan jumlah maksimum arraynya sebagai berikut:<br />

Dim variabel() as tipe_data<br />

Untuk contoh nama di atas, dapat dituliskan dengan:<br />

Dim nama() as string<br />

Contoh Aplikasi 6.1:<br />

Membuat project untuk menuliskan data-data nama siswa dengan nomor dibuat<br />

otomatis, dengan jumlah data siswa maksimum adalah 20. Kemudian menampilkan<br />

semua data nama siswa yang sudah dimasukkan.<br />

(1) Buat project baru dengan St<strong>and</strong>ardEXE<br />

(2) Tambahkan komponen-komponen: 1 label, 1 textbox, 1 listbox dan 2 comm<strong>and</strong><br />

button<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 62


(3) Masukkan nilai property dari masing-masing komponen dan form seperti tabel di<br />

bawah ini, dan atur penempatan setiap komponen seperti gambar 6.1.<br />

Komponen Property Nilai<br />

Form1 Name<br />

Caption<br />

StartUpPosition<br />

formLatihan61<br />

Latihan Array 1<br />

2 – CenterSreen<br />

Label1 Caption Masukkan Nama<br />

Text1 Text (Kosong)<br />

Comm<strong>and</strong>1 Caption Simpan<br />

Comm<strong>and</strong>2 Caption Tampilkan<br />

Gambar 6.1. Tampilan latihan 6.1<br />

(4) Tambahkan kode program pada jendela kode sebagai berikut:<br />

‘ Mendefinisikan variabel global nama sebagai array<br />

‘ dan jumlah data<br />

Dim nama(20) As String<br />

Dim n As Integer<br />

Private Sub Comm<strong>and</strong>1_Click()<br />

‘ Menambah nomor array dan memindahkan isi text1<br />

‘ ke array nama<br />

n = n + 1<br />

nama(n) = Trim(Text1.Text)<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 63


‘ Mengosongkan isi text1 dan menaruh kursor ke text1<br />

Text1.Text = ""<br />

Text1.SetFocus<br />

End Sub<br />

Private Sub Comm<strong>and</strong>2_Click()<br />

‘ Menampilkan semua isi array nama<br />

List1.Clear<br />

For i = 1 To n<br />

List1.AddItem nama(i)<br />

Next i<br />

End Sub<br />

Private Sub Form_Load()<br />

‘ Saat form dipanggil jumlah array diisi dengan nol<br />

n = 0<br />

End Sub<br />

(5) Simpan project dengan nama projectLatihan61.<br />

Contoh Aplikasi 6.2:<br />

Membuat project untuk memasukkan data-data penjualan yang berisi jumlah produk<br />

penjualan dalam satu bulan. Kemudian dihitung rata-rata penjualan, bulan yang<br />

mengalami penjualan tertinggi dan bulan yang mengalami penjualan terendah.<br />

(1) Buat project baru dengan St<strong>and</strong>ardEXE<br />

(2) Tambahkan komponen-komponen: 2 buah label, 2 textbox, 1 listbox dan 4<br />

comm<strong>and</strong> button<br />

(3) Isi property dari setiap komponen seperti tabel di bawah ini dan atur posisi tiap<br />

komponen seperti gambar 6.2.<br />

Komponen Property Nilai<br />

Form1 Name<br />

Caption<br />

StartUpPosition<br />

formLatihan62<br />

Latihan Array 2<br />

2 – CenterSreen<br />

Label1 Caption Masukkan Nama<br />

Text1 Text (Kosong)<br />

Comm<strong>and</strong>1 Caption Simpan<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 64


Komponen Property Nilai<br />

Comm<strong>and</strong>2 Caption Rata-Rata<br />

Comm<strong>and</strong>3 Caption Nilai Maksimal<br />

Comm<strong>and</strong>4 Caption Nilai Minimal<br />

Gambar 6.2. Tampilan latihan 6.2<br />

(4) Pada jendela kode, tambahkan kode program berikut:<br />

'Mendefinisikan array data penjualan jual(n)<br />

'Dan jumlah data penjualan n<br />

Dim jual(100) As Single<br />

Dim n As Integer<br />

Private Sub Comm<strong>and</strong>1_Click()<br />

'Jumlah data bertambah dan ambil data dari text1<br />

n = n + 1<br />

jual(n) = Val(Text1)<br />

'Tampilkan ke list<br />

List1.AddItem jual(n)<br />

End Sub<br />

Private Sub Comm<strong>and</strong>2_Click()<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 65


'Menghitung nilai rata-rata dari data<br />

jumlah = 0<br />

For i = 1 To n<br />

jumlah = jumlah + jual(i)<br />

Next i<br />

rata2 = jumlah / n<br />

List1.AddItem ""<br />

List1.AddItem "Rata-rata = " & rata2<br />

End Sub<br />

Private Sub Comm<strong>and</strong>3_Click()<br />

'Menghitung nilai maksimal dari data<br />

jualMaks = jual(1)<br />

For i = 2 To n<br />

If jual(i) > jualMaks Then jualMaks = jual(i)<br />

Next<br />

List1.AddItem ""<br />

List1.AddItem "Penjualan maksimum = " & jualMaks<br />

End Sub<br />

Private Sub Comm<strong>and</strong>4_Click()<br />

'Menghitung nilai minimal dari data<br />

jualMin = jual(1)<br />

For i = 2 To n<br />

If jual(i) < jualMin Then jualMin = jual(i)<br />

Next<br />

List1.AddItem ""<br />

List1.AddItem "Penjualan maksimum = " & jualMin<br />

End Sub<br />

Private Sub Form_Load()<br />

'Nilai awal jumlah data diberi nol<br />

n = 0<br />

List1.Clear<br />

End Sub<br />

(5) Simpan project dengan nama projectLatihan62.<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 66


Contoh 2:<br />

Membuat barisan fibbonanci menggunakan konsep array. Definisi dari barisan<br />

fibonanci adalah suku ke n adalah jumlah dari dua suku sebelumnya (suku ke n-1 dan<br />

suku ke n-2) atau dituliskan dengan:<br />

x(n) = x(n-1) + x(n-2)<br />

Dan kode programnya adalah:<br />

x(1) = 1<br />

x(2) = 1<br />

For i=1 To N<br />

x(i) = x(i-1) + x(i+1)<br />

Next i<br />

‘ Menampilkan hasilnya<br />

For i=1 To N<br />

List1.AddItem x(i)<br />

Next i<br />

6.2. Array 2 Dimensi<br />

Array bisa menggunakan satu indeks yang disebut dengan satu dimensi<br />

seperti yang sudah dijelaskan di atas. Dan juga bisa menggunakan lebih dari satu,<br />

misalkan 2 indeks yang dinamakan dengan array 2 dimensi dan ditulis dengan:<br />

variabel(indeks1,indeks2)<br />

Array 2 dimensi ini biasa digunakan untuk keperluan matrik, dimana indeks pertama<br />

menyatakan baris dan indeks kedua menyatakan kolom. Sebagai contoh a(2,3) adalah<br />

nilai a pada baris 2 dan kolom 3.<br />

Contoh Aplikasi 6.3:<br />

Membuat program untuk memasukkan matrik dan menampilkan matrik sebagai<br />

berikut:<br />

(1) Buat project baru dengan st<strong>and</strong>ardEXE<br />

(2) Tambahkan komponen-komponen: 1 buah labe, 1 buah textbox, 1 buah listbox,<br />

dan 2 buah comm<strong>and</strong> buttom<br />

(3) Isi property setiap komponen seperti pada tabel d bawah ini, dan atur posisinya<br />

seperti gambar 6.3<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 67


Komponen Property Nilai<br />

Form1 Name<br />

Caption<br />

StartUpPosition<br />

formLatihan63<br />

Latihan Array 3<br />

2 – CenterSreen<br />

Label1 Caption POSISI MATRIK: BARIS =<br />

Label2 Caption KOLOM=<br />

Label3 Caption NILAI ELEMEN MATRIk =<br />

Text1 Text (Kosong)<br />

Text2 Text (Kosong)<br />

Text3 Text (Kosong)<br />

Comm<strong>and</strong>1 Caption Simpan<br />

Comm<strong>and</strong>2 Caption Tampilkan<br />

Gambar 6.3. Tampilan latihan 6.3<br />

(4) Pada jendela code, tambahkan kode perogram sebagai berikut:<br />

'Definisi matrik berukuran 4x4<br />

Dim m(4, 4) As Single<br />

Private Sub Comm<strong>and</strong>1_Click()<br />

'Memasukkan nilai matrik sesuai dengan<br />

'baris dan kolom yang dimasukkan<br />

baris = Val(Text1)<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 68


kolom = Val(Text2)<br />

m(baris, kolom) = Val(Text3)<br />

End Sub<br />

Private Sub Comm<strong>and</strong>2_Click()<br />

'Menampilkan semua isi matrik<br />

List1.Clear<br />

For i = 1 To 4<br />

kal = ""<br />

For j = 1 To 4<br />

kal = kal & m(i, j) & " "<br />

Next j<br />

List1.AddItem kal<br />

Next i<br />

End Sub<br />

(5) Simpan project ini dengan nama projectLatihan63.<br />

Contoh 3:<br />

Membuat penjumlahan dua buah matrik a dan b yang berukuran sama (mxn)<br />

menggunakan rumus:<br />

c(i, j) = a(i, j) + b(i, j)<br />

dapat dilakukan dengan:<br />

For baris=1 To m<br />

For kolom=1 To n<br />

c(baris,kolom) = a(baris,kolom) + b(baris,kolom)<br />

Next kolom<br />

Next baris<br />

Contoh 4:<br />

Membuat perkalian dua buah matrik a dan b yang berukuran sama (nxn)<br />

menggunakan rumus:<br />

n<br />

c(i, j) = ∑ a(i, k ) * b(k , j)<br />

k =1<br />

dapat dilakukan dengan:<br />

For baris=1 To n<br />

For kolom=1 To n<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 69


z = 0<br />

For i=1 To n<br />

z = z + a(baris,i) * b(i,kolom)<br />

Next i<br />

c(baris,kolom) = z<br />

Next kolom<br />

Next baris<br />

6.3. Control Array<br />

Pada visual Basic, array tidak hanya berlaku untuk variabel tetapi juga<br />

berlaku untuk komponen. Pemakaian array pada komponen ini dinamakan dengan<br />

control array. Control array ini banyak terjadi ketika membuat komponen dengan<br />

cara meng-copy dari komponen yang sudah ada, misalkan untuk membuat comm<strong>and</strong><br />

button dengan meng-copy comm<strong>and</strong>1 akan muncul konfirmasi “You already have a<br />

control named comm<strong>and</strong>1. Do you want to create a control array ”. Bila pertanyaan<br />

ini djawab dengan Yes, maka hasil comm<strong>and</strong> yang kedua mempunyai nama<br />

comm<strong>and</strong>1(1), sedangkan comm<strong>and</strong> yang pertama mempunyai nama comm<strong>and</strong>1(0).<br />

Control array ini sangat berguna bila membuat suatu project dengan banyak<br />

komponen yang mempunyai model dan kegunaan yang sama. Control array juga<br />

berguna untuk membuat project dengan komponen serupa yang sangat banyak<br />

misalkan untuk lampu indikator yang menyatakan volume atau kekuatan.<br />

Contoh Aplikasi 6.4:<br />

Membuat kalkulator dengan kemampuan penjumlahan dan pengurangan, dapat<br />

dilakukan dengan memanfaatkan control array pada tombol-tombol yang digunakan.<br />

(1) Buat project baru dengan St<strong>and</strong>ardEXE. Untuk form, isi porperty [Name] dengan<br />

formLatihan64.<br />

(2) Tambahkan komponen TextBox, atur property [Font] dengan size 18 dan bold,<br />

atur property alignment dengan 1-Right Justify. Isi property [Text] dengan 0<br />

(nol).<br />

(3) Tambahkan comm<strong>and</strong> Button, atur property [Font] dengan size 14 dan bold.<br />

Buatlah 14 buah comm<strong>and</strong> button dengan cara meng-copy dan jadikan control<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 70


array sehingga menjadi comm<strong>and</strong>1(0), comm<strong>and</strong>1(1), comm<strong>and</strong>1(2) sampai<br />

dengan comm<strong>and</strong>1(13).<br />

(4) Atur posisinya seperti gambar 6.4 berikut.<br />

Gambar 6.4. Tampilan latihan 6.4 membuat kalkulator<br />

(5) Pada jendela code, tambahkan kode program sebagai operasi kalkulator sebagai<br />

berikut:<br />

% Definisi variabel global<br />

Dim kal, operasi As String<br />

Dim bil As Integer<br />

Private Sub Comm<strong>and</strong>1_Click(Index As Integer)<br />

% Penambahan kerakter setiap tombol angka ditekan<br />

kal = kal + Trim(Str(Index))<br />

Text1 = kal<br />

End Sub<br />

Private Sub Comm<strong>and</strong>2_Click()<br />

% Membersihkan memory dan text1<br />

Text1 = "0"<br />

kal = ""<br />

End Sub<br />

Private Sub Comm<strong>and</strong>3_Click(Index As Integer)<br />

Select Case Index<br />

Case 0:<br />

% Operasi perhitungan bila tombol = ditekan<br />

bil2 = Val(kal)<br />

If operasi = "+" Then bil = bil + bil2<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 71


If operasi = "-" Then bil = bil - bil2<br />

Text1 = bil<br />

kal = Trim(Str(bil))<br />

Case 1:<br />

%Penampungan variabel dan operator untuk penjumlahan<br />

bil = Val(kal)<br />

operasi = "+"<br />

kal = ""<br />

Case 2:<br />

%Penampungan variabel dan operator untuk pengurangan<br />

bil = Val(kal)<br />

operasi = "-"<br />

kal = ""<br />

End Select<br />

End Sub<br />

(6) Simpan project dengan nama projectLatihan64. Cobalah lakukan proses<br />

perhitungan seperti kalkulator biasa. Kalkulator ini memang masih sederhana,<br />

dan bisa ditambah fasilitasnya dengan menambah comm<strong>and</strong> button dan setiap<br />

eventnya.<br />

Contoh Aplikasi 6.5:<br />

Membuat indikator proses dengan memanfaatkan control array. Lakukan<br />

pengulangan 1 sampai dengan 20, setiap pengulangan lakukan pengulangan lagi<br />

sebanyak 1000000 dn lakukan proses perhitungan sederhana misalkan x=2*j+1.<br />

Buatlah indikator yang menunjukkan sudah berapa pengulangan pertama yang<br />

selesai dengan indikator dibuat memanfaatkan property [Visible] pada shape. Untu<br />

membuat program ini lakukan langkah-langkah sebagai berikut:<br />

(1) Buat project baru dengan St<strong>and</strong>ardEXE. Untuk form1, isi property [Name]<br />

dengan formLatihan65<br />

(2) Tambahkan komponen Comm<strong>and</strong>, isi property [Caption] dengan Proses.<br />

(3) Tambahkan komponen shape, isi property [FillColor] dengan Pallete Merah, dan<br />

isi property [FillStyle] dengan 0-Solid. Copy komponen shape ini sebanyak 19<br />

kali sehingga totalnya adalah 20 shape dan letakkan berjajar, seperti pada gambar<br />

6.5 berikut.<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 72


Gambar 6.5. Tampilan latihan 6.5<br />

(4) Pada jendela code, tambahkan kode program untuk menampilkan indikator<br />

pengulangan sebagai berikut:<br />

Private Sub Comm<strong>and</strong>1_Click()<br />

'Hilangkan semua shape dengan mengatur visible<br />

For i = 0 To 19<br />

Shape1(i).Visible = False<br />

Next i<br />

'Lakukan pengulangan<br />

For i = 1 To 20<br />

'Lakukan pengulangan sebanyak 1000000<br />

For j = 1 To 1000000<br />

'Lakukan proses perhitungan sederhana<br />

x = 2 * i + 1<br />

Next j<br />

'Tampilkan shape ke i-1<br />

Shape1(i - 1).Visible = True<br />

Shape1(i - 1).Refresh<br />

Next i<br />

End Sub<br />

(5) Simpan project dengan nama projectLatihan65<br />

6.4. Latihan<br />

(1) Buat program untuk memasukkan nama dan alamat menggunakan array, dan<br />

ditampilkan di listbox. Masukkan nama dan tekan tombol Cari, tampilkan alamat<br />

dari nama yang dipanggil, dengsn tampilan seperti gambar 6.6 berikut:<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 73


Gambar 6.6. Contoh tampilan soal 6.1<br />

(2) Buat program untuk untuk memasukkan nama siswa dan nilai, dan cari nama<br />

siswa yang mempunyai nilai terbaik, dengan tampilan seperti gambar 6.7 berikut:<br />

Gambar 6.7. Contoh tampilan soal 6.2<br />

(3) Buat program untuk memasukkan penjualan bulanan, dan menampilkan seluruh<br />

selisih penjualan saat ini dikurangi dengan penjualan bulan yang lalu, yang<br />

ditulis dengan:<br />

selisih(bulan) = penjualan(bulan) – penjualan(bulan-1)<br />

Dan menampilkan selisih penjualan terbesar untuk menunjukkan pada bulan apa<br />

terjadi kemajuan penjualan terbesar. Dengan tampilan seperti gambar 6.8<br />

berikut.<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 74


Gambar 6.8. Contoh tampilan soal 6.3<br />

(4) Buat program untuk memasukkan jumlah penjualan komputer dalam bulanan<br />

dan mingguan, dengan array 2 dimensi sebagai berikut:<br />

Tampilkan semua jumlah penjualan komputer, dengan tampilan seperti gambar<br />

6.9 berikut:<br />

Gambar 6.9. Contoh tampilan soal 6.4<br />

(5) Buat program untuk memasukkan jumlah user yang menggunakan internet di<br />

sebuah warnet pada setiap harinya, dan menampilkan semua jumlah user perhari.<br />

Tampilkan juga, rata-rata dan pada hari ke berapa usernya yang paling<br />

banyak.<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 75


(6) Pada contoh aplikasi 6.4 untuk membuat kalkulator, operatornya hanya<br />

penjumlahan (+) dan pengurangan (-), tambahkan operator perkalian (*),<br />

operator pembagian (/) dan operator pangkat (^). Selain itu tambahkan tombol<br />

titik (.) untuk bisa mengoperasikan bilangan pecahan.<br />

(7) Buatlah aplikasi yang dapat menunjukkan indikator dari 5 volume (Diulang<br />

sebanyak 200 kali), dimana setiap nilai volume beriksar dari 0 sampai dengan 6.<br />

Besarnya volume setiap periode berganti secara acak, seperti terlihat pada<br />

gambar 6.10 berikut.<br />

Gambar 6.10. Contoh tampilan soal 6.7<br />

Modul Dasar Pemrograman 2 Dengan Visual Basic 76

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!