laporanpraktdb01_240110140087
DESCRIPTION
jhljhTRANSCRIPT
LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER
(Pengenalan VBA, Pengkondisian, dan Peulangan)
Oleh:
Nama : Risti Kartikasari
NPM : 240110140087
Hari, Tanggal : Rabu,29 April 2015
Asisten Dosen : Alfonsus Mario Agung
LABORATORIUM KOMPUTER
DEPARTEMEN TEKNIK DAN MANAJEMEN INDUSTRI PERTANIAN
FAKULTAS TEKNOLOGI INDUSTRI PERTANIAN
UNIVERSITAS PADJADJARAN
JATINANGOR
2015
Dari Praktikum Pemograman Komputer pada Rabu, 29 April 2015
diperoleh hasil sebagai berikut:
A. Pengenalan Lingkungan VBA
Untuk membuka Microsoft Visual Basic, langkah awalnya adalah
membuka program Microsoft Excel, setelah itu tekan tombol kombinasi
[Alt] + [F11]. Setelah itu layar akan menampilkan Microsoft Visual Basic,
kemudian klik menu Insert > Module. Hingga muncul tampilan seperti
ini:
B. Pengenalan Koding01
Pada Book 1 – Module, ketik koding berikut:
Sub program01()
pencacah = pencacah + 1
MsgBox pencacah
End Sub
Keterangan penjelas:
1. Sub program: sebagai perintah untuk memulai program.
2. Pencacah: sebagai variabel yang dapat diisikan dengan nilai
berapapun tetapi nama variabel tidak boleh sama dengan fungsi
bawaan VBA.
3. MsgBox: sebagai kotak dialog yang akan menampilkan nilai dari
pencacah.
4. End : untuk mengakhiri program.
Setelah koding telah selesai diketikan, tekan tombol [F5] untuk
menjalankan program. Hingga keluar tampilan berikut: (lalu klik OK)
Coba jalankan program sekali lagi, tetapi dengan menggunakan tombol
[F8]. Dengan menggunakan [F8] akan ada pengecekan per barisnya yang ditandai
dengan panah dan blok berwarna kuning seperti pada gambar berikut:
Pada penggunaan tombol [F5] program akan berjalan langsung secara
keseluruhan, sedangkan [F8] akan menunjukkan tahapan-tahapan perbaris
sebelum program dijalankan.
C. Pengenalan Koding02
Ubah koding pada poin sebelumnya menjadi sebagai berikut :
Sub program02()
pencacah = pencacah + 2
MsgBox "nilai pencacah saat ini adalah..."
MsgBox pencacah
End Sub
Pada koding diatas terdapat Kalimat yang berada diantara tanda kutip,
kalimat tersebut akan muncul dalam kotak dialog.
kemudian tekan tombol [F5] untuk menjalankan program. Kemudian akan
muncul tampilan :
saat tampilan diatas muncul, Tekan tombol [Ctrl]+[Break]. Kemudian
akan tampil kotak berikut :
Kemudian klik [Debug]. Setelah itu, ‘MsgBox pencacah’ akan terblok
dengan warna kuning.
Selanjutnya tekan tombol [F8] , sehingga akan muncul tampilan :
Fungsi [Ctrl]+[Break] adalah untuk menghentikan program dan melakukan
pengecekan, fungsi tersebut dapat dilakukan saat program sedang berjalan.
D. Pengenalan Variabel01
Ketik koding sebagai berikut :
Sub program03
pencacah = pencacah + 2
MsgBox “Nilai pencacah saat ini adalah : “ & pencacah +
10
MsgBox pencacah
End sub
Pada koding diatas terdapat “Nilai data saat ini adalah : “ yang disebut
juga tipe data STRING.
Tekan tombol [F5] untuk menjalankan program. Maka hasil dari perintah
diatas adalah :
Ubah kotak pesan menjadi
MsgBox “Nilai pencacah saat ini adalah
: “ + pencacah & 10, kemudian Tekan [F5]
untuk menjalankan program, maka akan muncul
mismatch seperti berikut :
Coba ubah kotak pesan menjadi MsgBox “Nilai pencacah saat ini
adalah : “ + pencacah + 10 kemudian Tekan [F5] untuk menjalankan
program, maka akan muncul mismatch seperti pada gambar sebelumnya.
kemudian coba ubah kotak pesan lagi menjadi MsgBox “Nilai
pencacah saat ini adalah : “ & pencacah & 10 kemudian Tekan [F5]
untuk menjalankan program maka hasil dari perintah tersebut adalah :
Pada percobaan perubahan lambang & dan + pada koding diatas, dapat
diketahui bahwa:
- Kombinasi lambang yang bisa menampilkan kotak dialog dengan
benar adalah kombinasi “& , &” dan “&,+”
- Kemudian nilai yang ditampilkan adalah: pada “&,&” tampil nilai 12,
sedangkan pada “&,+” tampil nilai 210
- Hal ini karena pada VBA berlaku: 2+10 =12, dan 2&10=210
E. Pengenalan Variabel02
Ubah koding pada poin sebelumnya menjadi sebagai berikut :
Sub program04
pencacah = pencacah + 3
txtInfo = “Nilai pencacah saat ini adalah : “
MsgBox txtInfo & pencacah +10
End sub
Pada koding diatas terdapat ‘txtInfo’ dan ‘pencacah’ yang merupakan
alamat memori yang dapat diisi suatu data/nilai.
Jalankan program dengan menekan tombol [F5], maka program akan
menghasilkan sebagai berikut :
Nama variabel pada umumnya dinamai sesuai dengan pencerminan isi
nilainya. Variabel harus diawali dengan alfabet, angka dapat dimasukan namun
tidak bisa menjadi karakter pertama dalam variabel. Selain itu dalam penamaan
variabel tidak boleh menggunakan karakter tanda baca atau karakter khusus
kecuali underscore. Huruf besar dan kecil tidak dibedakan dalam VBA. Variabel
juga tidak boleh mempunyai nama yang sama dnegan fungsi bawaan dari VBA
seperti MsgBox atau InputBox dan lain-lain.
F. Pengenalan Variabel04
Ubah koding pada poin sebelumnya menjadi sebagai berikut :
Sub program05
Ulangi :
pencacah = pencacah + 1
MsgBox pencacah
Debug.Print pencacah
Goto Ulangi
End sub
Tekan tombol [F5] untuk menjalankan program, maka hasilnya adalah :
Tetapi program tidak akan berhenti dan akan terus berulang ketika
menekan tombol [ok] menjadi seperti gambar berikut dan seterusnya :
Untuk menghentikan program tekan tombol [Ctrl]+[Break] lalu tekan
[End]. Tambahkan kalimat ‘Option Explicit’ sebelum ‘Sub program05’ seperti
pada gambar berikut :
Program akan gagal dijalankan dan akan muncul tampilan berikut :
Dengan penambahan deklarasi ‘Option Explicit’ maka semua variabel
harus dideklarasikan untuk membantu penelusuran variabel dan menghindari
penggunaan variabel yang salah ketik. Untuk menyelesaikan masalah tersebut,
gunakan koding sebagai berikut :
Sub program05()
Dim pencacah As Integer
Dim ulangi As Label
Dim txtInfo As String
txtInfo = "Nilai saat ini :"
ulangi:
pencacah = pencacah + 1
MsgBox txtInfo & pencacah
Debug.Print pencacah
GoTo ulangi
End Sub
Terdapat penambahan variabel txtInfo dengan tipe data string dan tipe data
Label dimaksudkan sebagai penanda pada baris koding. Tekan tombol [F5] untuk
menjalankan program, maka perintah akan diajalankan sebagai berikut dan terus
mengalami perulangan :
G. Jenis tipe data dalam VBA (Visual Basic for Application)
1. Integer : Data numerik dengan jangkauan input antara -32768
sampai dengan 32767.
2. Long : Data numerik dengan jangkauan input antara -
2147483648 sampai dengan 2147483647.
3. String : Data berupa teks.
4. Single : Data numerik dengan jangkauan input antara
3.402823E38 sampai dengan -1.401298E-45 jika negatif, dan antara
1.401298E-45 sampai dengan 3.402823E38 jika positif.
5. Double : Data numerik dengan jangkauan input antara -
1.79769313486232E308 sampai dengan -4.94065645841247E-324
jika negatif, dan antara 4.94065645841247E-324 sampai dengan
1.79769313486232E308 jika positif.
6. Variant : Data inout sembarang angka dengan jangkauan tipe
double dan teks yang jangkauannya sama dengan string.
7. Currency : Data berupa nilai uang.
8. Boolean : Data yang hanya memiliki nilai benar (True) dan salah
(False).
9. Object : Data mengacu pada object yang digunakan.
10. Byte : Data berupa bilangan bulat antara 0 sampai dengan 255.
11. Date : Data berupa tanggal.
H. Pengenalan Keluaran/Tampilan (dalam Excel)
Ubah koding pada poin sebelumnya sebagai berikut :
Option Explicit
Sub program07
Dim a As Integer
‘a sebagai pencacah/counter
a = a + 1
‘pesan ini tampil dalam kotak dialog
MsgBox a
Debug.Print a ‘mencetak debug
Cells (a,1) = a ‘ini akan tampil dalam sel
End sub
Setelah itu tampilkan area debugging dengan menekan tombol [Ctrl]+G
atau menggunakan menu View – Immediate Window.
Maka perintah akan dieksekusi sebagai berikut :
Setelah dilakukan pengecekan dengan menggunakan [Ctrl] + [Break]
diperoleh baris perintah yang menghasilkan penulisan dalam sel Excel adalah:
I. Pengenalan Microsoft Access versi 2007
Untuk memulai Microsoft Access pertama-tama buka Microsoft Access
kemudian klik Icon Blank Database.
Tentukan nama file dan folder. Klik icon folder terbuka dan namai folder
lalu klik tombol [Create].
Untuk pemrograman visual abaikan tampilan tabel yang ditampilkan.
J. Pengenalan Form Microsoft Access (versi 2007)
Pertama-tama buatlah Form dari Menu : Create, Form Design
Kemudian ubahlah Navigation Buttons dan Record Selectors pada tab
Format menjadi [No]. Lalu save form tersebut.
K. Pemrograman Visual (Visual Basic for Application dengan Ms Access)
Mulailah dari Form yang telah dibuat di poin sebelumnya. Kemudian
buatlah dua buah kontrol Textbox dan satu buah Button.
Jika saat membuat Button muncul sebuah panduan, maka klik cancel
seperti pada gambar berikut :
Ubah caption untuk label dan button (ganti caption button menjadi
‘gra&ding’), kemudian ganti nama kontrol Textbox menjadi ndata dan tkelas
sedangkan button menjadi cmd_grading seperti pada gambar berikut :
Pada Button beri Event on Click. Tekan tombol panah ke bawah lalu pilih
event procedure lalu klik [...] maka akan muncul tampilan Visual Basic. Setelah
itu ketikan ‘MsgBox “Pesan ini tampil saat TOMBOL di KLIK”’ diantara
Sub dan End sub seperti pada gambar berikut :
Untuk menjalankan program kembali pada tampilan form dan pilih
tampilan Form View. Pada tampilanView, klik [grading] kemudian hasilnya akan
seperti gambar berikut :
1. Pertanyaan :Sebutkan minimal lima jenis kontrol!
Jawaban :Command Button, Frame, DataCombo, Listbox, dan
Combo Box
2. Pertanyaan : Terangkan minimal lima buah event!
Jawaban : Event adalah peristiwa yang diterima suatu objek.
Beberapa contoh diantaranya adalah :
1. Dbl Click : event terjadi jika menekan sebanyak dua kali
2. Mouse Down : event dapat terjadi jika menekan mouse
kiri dan ditahan
3. Resize : event terjadi jika ukuran sebuah form diubah
4. Click event: event dikerjakan bila objek diklik
5. Mouse Up : event terjadi jika tombol mouse dilepas
sehabis ditekan.
L. Pengambilan Keputusan#4 : Grading
Rancangan program adalah menginput suatu nilai bilangan bulat
sembarang dalam rentang [1 s.d 10] dengan ketentuan sebagai berikut :
Masukkan koding berikut pada event : cmd_grading_click ()
Option Explicit
Private Sub cmd_grading_Click()
Dim nilai As Integer
Dim grade As String
nilai = Val(ndata.Value)
'periksa kriteria grading
If nilai >= 9 And nilai <= 10 Then
grade = "a"
ElseIf nilai >= 7 And nilai < 9 Then
grade = "b"
ElseIf nilai >= 5 And nilai < 7 Then
grade = "c"
Elseif nilai < 5
grade = “d”
End If
tkelas = grade
End Sub
Jalankan program dengan mengetikkan angka 3, 6.7, dan 13 pada kontrol
textBox ‘data’ dan klik tombol [grading]. Maka perintah akan dijalankan sebagai
berikut :
Maka pada kontrol textBox grade juga akan muncul nilai yang dinginkan
sesuai dengan kodingnya untuk nilai 3 dan 6,7 yaitu D dan C.
Namun saat angka 13 dimasukkan,tidak ada nilai yang muncul. Hal ini
disebabkan program hanya mengenali angka dibawah 10. Jika angka yang
dimasukkan lebih dari 10 maka nilai tidak akan muncul pada kontrol textBox
grade.
Ubah koding sebelumnya menjadi sebagai berikut :
Option Explicit
Private Sub cmd_grading_Click()
Dim nilai As Integer
Dim grade As String
nilai = Val(ndata.Value)
'periksa kriteria grading
If nilai >= 9 Then
grade = "a"
ElseIf nilai >= 7 Then
grade = "b"
ElseIf nilai >= 5 Then
grade = "c"
Elseif nilai < 5
grade = “d”
End If
tkelas = grade
End Sub
Kemudian uji program dengan mengetikkan angka 3, 6.7, dan 13 pada
kontrol textBox ‘data’. Maka perintah akan dijalankan sebagai berikut :
Setelah mengeksekusi program dengan menekan button grading, maka
pada kontrol textBox grade juga akan muncul nilai yang dinginkan sesuai dengan
kodingnya untuk nilai 3 dan 6,7 yaitu D dan C.
Namun saat angka 13 dimasukkan, nilai yang muncul pada kontrol
textBox grade adalah A. Padahal seharusnya nilai yang terbaca hanya sampai 10
saja, namun dengan koding ini angka diatas 10 pun terdeteksi sehinggal
menyebabkan kekeliruan data yang diinginkan.
Kedua program dapat menghasilkan data meskipun angka yang
dicantumkan kurang dari 1 dan hasil yang akan muncul adalah D. Hal ini
disebabkan juga karena tidak ada batasan nilai untuk bilangan yang lebih kecil
dari 1 agar tidak dimunculkan.
Saya lebih memilih koding pertama, karena adanya batasan nilai sehingga
diperoleh hasil yang lebih mendekati tepat.
M. Penggunaan SELECT CASE
Beri tambahan dari kriteria poin sebelumnya :
Kemudian buat koding tambahan Select Case, pada koding sebelumnya
dan diletakan sebelum End sub.
Select Case tkelas
Case "a"
tkelas = tkelas & " (amat baik) "
Case "b", "c"
tkelas = tkelas & " (baik) "
Case Else
tkelas = tkelas & "(kurang)"
End Select
End Sub
Kemudian uji program dengan mengetikkan angka (misalnya : 3, 6.7, dan
13) pada kontrol textBox ‘data’. Maka perintah akan dijalankan sebagai beri kut :
Setelah mengeksekusi program dengan menekan button grading, maka
pada kontrol textBox grade juga akan muncul nilai yang dinginkan sesuai dengan
kodingnya untuk nilai 3 dan 6,7 yaitu d(kurang) dan c(baik). Tetapi saat
menginput angka 13 muncul a(amat Baik). Seharusnya grade pada angka 13 tidak
muncul karena data yang diminta untuk diidentifikasi tidak lebih dari 10.
Tambahkan koding berikut :
nilai = Val(ndata.Value)
If nilai < 0 Or nilai > 10 Then
MsgBox "angka yang diberikan tidak sesuai!"
ndata.SetFocus
Exit Sub
End If
Maka jika kita menginput data yang lebih dari 10 atau kurang dari 0
hasilnya akan seperti berikut :
Pada gambar diatas kita coba menginput data yang lebih dari 10 yaitu 13,
maka akan tampilan sebagai peringatan yang muncul bertuliskan “angka yang
diberikan tidak sesuai!”.
Perbedaan IF dan SELECT CASE: terdapat pada jumlah kondisi yang
ditest. Pada SELECT CASE, kondisi yang ditest hanya satu, jika memenuhi, maka
akan diproses dan akan diteruskan dari suatu program berdasarkan nilai kondisi
yang ditest. Jika tidak akan berlanjut ke kondisi berikutnya. Sedangkan IF banyak
baris dapat mentest lebih dari sebuah kondisi yang satu sama lain saling berbeda.
Sehingga, SELECT CASE lebih efektif dan efisien dari IF.
val() berfungsi untuk mengembalikan angka yang terkandung dalam string
sebagai nilai numerik dari jenis yang sesuai.
Exit sub adalah perintah yang menghentikan program yang sedang
berjalan lebih awal jika diperlukan. Berbeda dengan Goto, exit sub tidak langsung
menghentikan program secara mendadak yang dapat menyebabkan kode yang
sangat kompleks.
SetFocus adalah Metode dengan sistem kerja memindahkan fokus input
ke kontrol tertentu. Sesuatu masalah yang sering terjadi adalah metode ini akan
menyebabkan error ketika diterapkan pada kontrol yang sedang Disable atau
dalam keadaan Invisible. Untuk menhindari hal ini, metode SetFocus jangan
digunakan pada bagian Form Load.
N. Perulangan dengan FOR – NEXT
Buatlah sebuah program yang menjumlah seluruh bilangan asli dari 1
hingga 200, dengan diawali menentukan tampilan pada form seperti sebelumnya:
Sesuaikan juga nama-nama textbox berikut : nAwal, nAkhir, nHasil, juga
pada tombol lakukan penyesuaian cmd_hitung. Berikan event Onclick pada
cmd_hitung. Kemudian isikan koding berikut ini:
Option Explicit
Private Sub cmd_hitung_Click()
Dim na As Integer
Dim nb As Integer
Dim nh As Long
Dim i As Integer
na = Val(nawal)
nb = Val(nakhir)
nh = 0
For i = na To nb
nh = nh + i
Debug.Print "i: " & i & " - nh: " & nh
Next i
nhasil.Value = nh
End Sub
Setelah kita jalankan programnya maka, akan diperoleh hasil:
FOR – NEXT merupakan Perulangan yang sudah dapat dipastikan jumlah
perulangannya. Sistem pemrograman ini perulangan dilakukan untuk
menjumlahkan urutan bilangan 1 sampai dengan 200 yaitu 1+2+3+4…+200=
20100. Selain itu dilakukan juga percobaan untuk menghitung dengan nilai awal
tidak sama dengan 1, dalam percobaan ini menggunakan nilai awal= 4 dan nilai
akhir= 6 yaitu 4+5+6=15, ternyata diperoleh hasil yang tepat yaitu 15.