LANDASAN TEORI
Dalam kesempatan kali ini, kita akan menggunakan For...Next Loop untuk
mengeksekusi statement selama beberapa kali dan Do loop untuk mengeksekusi
statements hingga kondisi yang diinginkan tercapai.
For...Next loop adalah struktur bahasa yang paling umum digunakan dan ada di
hampir semua bahasa pemrograman. Dengan For...Next loop, kita dapat mengeksekusi
baris pemrograman tertentu beberapa kali dalam sebuah event procedure atau code
module. Pendekatan menggunakan cara ini kan sangat berguna ketika membuat
program yang berkaitan dengan perhitungan, pengerjaan data di layar, atau memproses
beberapa masukan. For...Next loop merupakan jalan pintas dalam penulisan daftar baris
pemrograman atau syntax yang terlalu panjang, karena pada setiap blok kode yang
memiliki tujuan perintah sama, kita hanya perlu perlu mendefinisikan satu grup saja
maka grup kode tersebut dapat dieksekusi dan dijalankan sebanyak perintah yang kta
masukkan.
Format:
statements to be repeated
Next [variable]
1
Syntax For, To dan Next diatas membutuhkan keywords yang berupa operator sama
dengan (=). Kita dapat mengganti variable dengan numeric variable yang tetap mengacu
pada hitungan loop yang sedang dikerjakan (variable setelah Next merupakan optional),
dan gantilah start dan end dengan nilai numeric yang merupakan starting dan stopping
point pada sebuah loop. Perlu diperhatikan bahwa kita harus mendeklarasikan vaiable
terlebih dahulu sebelum digunakan di struktur For...Next.
Contoh :
Dim i As Integer
For i = 0 To 5
Beep()
Next i
Loop di atas memiliki hasil yang sama ketika kita menuliskan kode Beep sebanyak lima
kali agar komputer berbunyi beep sebanyak lima kali
Beep()
Beep()
Beep()
Beep()
Beep()
Variable yang digunakan pada loop adalah i yang dideklarasikan sebagai Integer.
Setiap kali loop dijalankan, variable counter akan mengalami pertambahan nilai 1. Saat
pertama kali dijalankan, variable bernilai 1 yang merupakan nilai start; dan yang terakhir
bernilai 5 adalah nilai end.
Kebanyakan struktur For...Next loop berjalan baik hingga akhir tanpa suatu
kesulitan, namun suatu kondisi tertentu memiliki kesulitan untuk mengakhiri komputasi
hingga diperlukannya statement Exit For yang memungkinkan kita untuk mengakhiri
komputasi lebih awal dan mengembalikannya ada statement awal. Sebagai contoh,
sebuah program meminta user untuk memasukkan 5 nama dan menampilkannya satu
persatu hingga user memasukkan kata “Selesai” pada input box.
Dim i As Integer
2
For i = 1 To 5
TextBox1.Text = InpName
Next i
Jika user mengetikkan “Selesai”, Exit For statement akan mengakhiri loop dan akan
dilanjuttkan pada syntax setelah Next.
I.3 DO...LOOP
Sebagai alternative penulisan dari For...Next loop dapat digunakan Do Loop yang
akan mengeksekusi sekelompok statement atau syntax hingga suatu kondisi bernilai
True. Do.. loop terdiri atas Do-While dan Do-Until yang akan sangat membantu kita
dalam penyelesaian program dengan sistem perulangan atau looping. Do Loop sangatlah
penting karena seringkali kita tidak mengetahui berapa kali looping yang dilakukan
sebuah program dan user juga harus memasukkan nilai pada input berkali-kali kecuali
user memasukkan perintah Exit For untuk mengakhiri looping.
3
Format :
Do While condition
Loop
Contoh :
Loop
Contoh di atas mengharuskan anda menuliskan Nama hingga kata “Done” dimasukkan
dalam input box. Jika kita ingin program mengulang printah paling sedikit satukali,
letakkan conditional test pada bawah loop.
Do
1. Pada menu File, click perintah New Project. Kotak dialog New Project tampil di
layar
2. Buatlah Windows Form Application yang baru dengan nama For Loop
Picture.Judul form dapat diedit di property form text.
3. Masukkan pilihan Picture Box dari toolbox ke dalam form design. Set ukuran
objek picture box menjadi lebih besar dan letakkan di tengah form.
4. Masukkan Button objek control dan letakkan di bawah picture box.
4
1.2 Tampilan Interface
5. Atur properties dari kedua objek.
6. Buat folder di My Document dengan berisikan empat buah gambar. Berilah nama
gambar-gambar tersebut dengan nama we0x.jpg dimana x adalah angka 1-4
sesuai dengan urutan gambar yang diinginkan.
7. Double-click Display button untuk menampilkan event procedure pada object
button. Masukkan syntax:
Dim i As Integer
For i = 1 To 4
PictureBox1.Image = System.Drawing.Image.FromFile _
5
End
End If
Next
8. Click Star Debugging untuk menjalankan program dan klik tombol display.
9. Program menampilkan ke-empat gambar yang ada dalam folder secara gantian.
6
BAB II
PERMASALAHAN
Menu & ToolBars ToolBox dalam Visual Studio .NET 2008, praktikan ditugaskan untuk
menganalisa sebuah program yang telah siap digunaka.n Setelah itu praktikan diminta
Program yang telah disiapkan merupakan program dengan memiliki fungsi penghitung
waktu. Fungsi penghitung yang ada terbagi atas dua jenis, yang pertama penghitung
waktu maju selayaknya timer atau penghitung waktu mundur (countdown). User hanya
dapat memilih salah satu dari dua fungsi penghitung waktu yang disediakan yang artinya
program tidak dapat menampilkan fungsi timer atau stopwatch pada waktu yang
bersamaan. Kedua penghitung waktu yang berlawanan tersebut terletak pada satu form
aplikasi dan hasil keluaran penghitung waktu akan ditampilkan pada satu label. Untuk
memulai perhitungan waktu, baik itu timer atau countdown, disediakan satu tombol ‘Start’
yang dapat berfungsi pada penghitung timer atau countdown. Pada fungsi countdown,
ditambahkan pula sebuah textbox agar user dapat memasukkan input niai maksimal
waktu untuk dihitung mundur. Sebagai aplikasi dari praktik yang telah dilakukan,
praktikan juga diminta untuk menambahkan MenuStrips dan ToolStrips pada program
7
BAB III
PENYELESAIAN MASALAH
8
9
Gambar 3.1 Diagram Alir (Flowchart) Pengerjaan
10
III.2 LANGKAH PENGERJAAN
1. Menyalakan komputer
6. Menata tampilan Form dan memasukkan objek-objek ke dalam inter face. Objek-
objek yang ada terdiri atas:
1 buah label yang digunakan untuk menampilkan Teks yang tidak dapat
diperbaiki oleh User. Label ini digunakan untuk menampilkan keluaran
perhitungan waktu, baik itu timer atau stopwatch.
1 buah text box untuk memasukkan input text yang merupakan input dari nilai
maksimal waktu yang digunakan pada pilihan penghitung waktu countdown.
1 picture box untuk menampilkan gambar sesuai dengan kode syntax yang
ada pada OpenFileDialogue.
11
- Countdown (RadioButton2) untuk mengaktifkan fungsi penghitung waktu
Countdown pada program.
12
File Text &File
ToolStripMenuItem Shortcut Keys
13
Gambar 3.2 Tampilan form aplikasi Stopwatch
m_StopTime = Now
m_StopTime =
DateAdd(Microsoft.VisualBasic.DateInterval.Hour, hours,
m_StopTime)
m_StopTime =
DateAdd(Microsoft.VisualBasic.DateInterval.Minute, minutes,
m_StopTime)
m_StopTime =
DateAdd(Microsoft.VisualBasic.DateInterval.Second, seconds,
m_StopTime)
TmrCount.Enabled = True
14
ElseIf RadioButton1.Checked = True Then
Timer1.Enabled = True
End If
End Sub
time_now = Now
If time_now >= m_StopTime Then
TmrCount.Enabled = False
Label1.Text = "00:00:00"
Else
seconds =
DateDiff(Microsoft.VisualBasic.DateInterval.Second, time_now,
m_StopTime)
minutes = seconds \ 60
seconds = seconds - minutes * 60
hours = minutes \ 60
minutes = minutes - hours * 60
End Sub
15
If RadioButton1.Checked = True Then
Timer1.Enabled = False
TmrCount.Enabled = False
TextBox1.Enabled = False
End If
End Sub
If sec = 60 Then
min = min + 1
sec = 0
End If
If min = 60 Then
hr = hr + 1
min = 0
End If
Sec2 = Format(Val(sec), "00")
Min2 = Format(Val(min), "00")
hr2 = Format(Val(hr), "00")
Label1.Text = hr2 & ":" & Min2 & ":" & Sec2
End Sub
16
FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
FileClose(1)
End If
End Sub
m_StopTime = Now
m_StopTime =
DateAdd(Microsoft.VisualBasic.DateInterval.Hour, hours,
m_StopTime)
m_StopTime =
DateAdd(Microsoft.VisualBasic.DateInterval.Minute, minutes,
m_StopTime)
m_StopTime =
DateAdd(Microsoft.VisualBasic.DateInterval.Second, seconds,
m_StopTime)
TmrCount.Enabled = True
ElseIf RadioButton1.Checked = True Then
Timer1.Enabled = True
End If
End Sub
17
Label1.Text = TimeString
End Sub
End Class
18
III.3.3 TAMPILAN RUN
Tampilan Run terbagi ketika memberikan memberikan dua pilihan output yaitu
pilihan Timer dan Countdown dimana user bebas memilih sesuai dengan keinginan user.
Selain itu, pada MenuStrips terdapat pilihan Clock untuk menampilkan tanggal dan jam
sekarang mengacu pada tanggal yang tertera di komputer.
Selain itu, karena adanya dua buah control variable berupa OpenFileDialog dan
SaveFileDialog maka program dapat menampilkan gambar pada PictureBox yang telah
19
disediakan dan menyimpan file dengan format-format tertentu. Untuk membuka gambar
Jika program dapan menampilkan file, maka aplikasi ini juga dapat menyimpan
file dengan format yang telah tertulis dalam coding SaveFileDialog.
20
Selain itu pada MenuStrips juga dapat ditampilkan tanggal di Label1.
21
III.4 ANALISIS
Program ini merupakan sebuah aplikasi yang bergerak dengan sistem .NET
Framework yang memiliki fungsi untuk melakukan dua jenis perhitungan waktu, yaitu
perhitungan Countdown dan Timer. Selain itu pada program ini juga terdapat beberapa
Menu Strips dan Menu Toolbars untuk lebih melengkapi program. Praktikan akan
mencoba menganalisis script kode di masing-masing object yang terdapat pada program.
Timer1.Enabled = False
TmrCount.Enabled = False
sec = 0
min = 0
hr = 0
Saat form pertama kali dijalankan maka yang ada adalah kedua timer control
tidak aktif. Hal ini dilakukan agar kedua timer tidak langsung berjalan dan baru dapat
difungsikan setelah menekan tombol ‘Start’. Selain itu, pada saat program pertama
kali dijalankan maka variabel sec, min dan hr bernilai 0.
3. Timer1
counter = counter + 1
Sec2 = counter
Sebelumnya, variabel Counter telah dideklarasikan pada Publik Class Form sehingga
tidak perlu dideklarasi ulang. Yang perlu diperhatikan adalah variabel counter ini akan
bertambah nilai satu pada tiap interval 100 milisec dan variabel Counter ini digunakan
pada variabel Sec2
If counter = 10 Then
sec = sec + 1
counter = 0
End If
If sec = 60 Then
min = min + 1
22
sec = 0
End If
If min = 60 Then
hr = hr + 1
min = 0
End If
Jika counter teah bernilai 10 maka pada variabel sec akan bertambah 1 nilai dan
variabel counter akan kembali pada nilai 0. Setelah itu, ketika sec mencapai nilai 60
maka variabel min akan bertambah satu nilai dan nilai sec menjadi 0 lagi. Nilai min
juga akan berpengaruh pada nilai hr. Begitu seterusnya statement ini akan berulang
terus mengikuti kode pada event procedure.
Sec2 = Format(Val(sec), "00")
Min2 = Format(Val(min), "00")
hr2 = Format(Val(hr), "00")
Label1.Text = hr2 & ":" & Min2 & ":" & Sec2
Script di atas menjelaskan format dari Timer itu sendiri dimana variabel sec2 memiliki
format 00 dan merupakan nilai dari variabel sec. Selain itu pada label1, ketiga nilai
variabel tersebut akan dipisahkan oleh tanda “:”
4. TmrCount
time_now = Now
If time_now >= m_StopTime Then
TmrCount.Enabled = False
Label1.Text = "00:00:00"
Else
seconds =
DateDiff(Microsoft.VisualBasic.DateInterval.Second,
time_now, m_StopTime)
minutes = seconds \ 60
seconds = seconds - minutes * 60
hours = minutes \ 60
minutes = minutes - hours * 60
23
fields = Split(TextBox1.Text, ":")
hours = CInt(fields(0))
minutes = CInt(fields(1))
seconds = CInt(fields(2))
m_StopTime = Now
m_StopTime = DateAdd(Microsoft.VisualBasic.DateInterval.Hour, hours,
m_StopTime)
m_StopTime = DateAdd(Microsoft.VisualBasic.DateInterval.Minute, minutes,
m_StopTime)
m_StopTime = DateAdd(Microsoft.VisualBasic.DateInterval.Second, seconds,
m_StopTime)
TmrCount.Enabled = True
ElseIf RadioButton1.Checked = True Then
Timer1.Enabled = True
End If
Script di atas menunjukkan bahwa jika user memilih Timer (RadioButton1) maka yang
berjalan adalah variabel kontrol Timer1, namun jika user memilih Countdown
(RadioButton2) maka yang berjalan adalah TmrCount.
6. Tombol Pause (Button1)
TextBox1.Text = Label1.Text
TmrCount.Enabled = False
Timer1.Enabled = False
Jika tombol Pause ditekan, maka pada TextBox1 akan menampilkan teks sesuai
dengan teks yang terdapat pada Label1 dan kedua fungsi timer akan berhenti, namun
yang perlu diperhatikan adalah walau fungsi timer di nonaktifkan namun hal tersebut
tidak membuat nilai pada kedua timer kembali ke-0. Ketika user menekan tombol
Pause setelah itu Start tanpa menekan tombol Reset terlebih dahulu akan membuat
fungsi timer melanjutkan nilai terakhir waktu.
7. Tombol Reset (Button2)
Dim mYes_No As String = MsgBox("Do you want Reset the Timer ?",
vbYesNo)
If mYes_No = vbYes Then
sec = 0
min = 0
hr = 0
Timer1.Enabled = False
TmrCount.Enabled = False
End If
TextBox1.Text = "00:00:00"
Label1.Text = "00:00:00"
Kode di atas menunjukkan bahwa jika user memilih Yes pada msgbox maka nilai
variabel sec, min dan hr menjadi 0 dan kedua Timer tidak berfungsi serta text pada
textbox dan label1 menjadi”00:00:00”
8. Pilihan Timer (RadioButton1)
If RadioButton1.Checked = True Then
Timer1.Enabled = False
TmrCount.Enabled = False
TextBox1.Enabled = False
End If
24
Jika RadioButton1 di cek, maka timer1 tidak akan berfungsi dahulu sebelum menekan
tombol ‘Start’ dan TextBox1 tidak berfungsi. Hal yang sama juga terdapat pada
RadioButon2 (Countdown), dimana ketika kita mengklik CountDown maka kita baru
dapat memasukkan input pada TextBox1.
25
BAB IV
KESIMPULAN
Visual Basic 2008 Express Edition, kita harus meperhatikan urutan coding pada setiap
objek, karena hukum komutatif tidak berlaku pada coding di Visual Basic. Jika urutan
script pada Visual Basic berubah, maka hal tersebut akan mempengaruhi keseluruhan
jalannya program. Maka dari itu, penting bagi seorang creator untuk mengetahui sistem
coding beserta logika pada Visual Basic dimulai dari sistem format penulisan coding,
urutan script dan peletakkan pada masing-masing object. Proses dari logika program
tergambarkan melaui diagram alur (flowchart). Ketika kita hendak menjalankan program
menjalankan program secara berurut, mulai dari Countdown lalu Timer, perhitungan
Timer tidak dimulai dari 00:00:00 melainkan dari perhitungan sebelumnya yang telah
terhenti. Selain itu,praktikan juga belum mengetahui pengaturan speed interval waktu
seperti pada program sebelumnya. Praktikan juga belum menguasai script kode pada
26
BAB V
REFERENSI
- Easton, Chuck. 2002. Learn VB .NET. Texas : Wordware Publishing Inc, 2002
Press, 2008
27
BAB VI
LAMPIRAN
28