laporanpraktdb01_240110140087

28
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

Upload: risti-kartikasari

Post on 06-Dec-2015

216 views

Category:

Documents


1 download

DESCRIPTION

jhljh

TRANSCRIPT

Page 1: LaporanpraktDB01_240110140087

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

Page 2: LaporanpraktDB01_240110140087

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.

Page 3: LaporanpraktDB01_240110140087

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:

Page 4: LaporanpraktDB01_240110140087

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 :

Page 5: LaporanpraktDB01_240110140087

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

Page 6: LaporanpraktDB01_240110140087

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 :

Page 7: LaporanpraktDB01_240110140087

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

Page 8: LaporanpraktDB01_240110140087

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 :

Page 9: LaporanpraktDB01_240110140087

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 :

Page 10: LaporanpraktDB01_240110140087

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

Page 11: LaporanpraktDB01_240110140087

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.

Page 12: LaporanpraktDB01_240110140087

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

Page 13: LaporanpraktDB01_240110140087

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 :

Page 14: LaporanpraktDB01_240110140087

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 :

Page 15: LaporanpraktDB01_240110140087

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 :

Page 16: LaporanpraktDB01_240110140087

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 :

Page 17: LaporanpraktDB01_240110140087

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”

Page 18: LaporanpraktDB01_240110140087

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

Page 19: LaporanpraktDB01_240110140087

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 :

Page 20: LaporanpraktDB01_240110140087

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.

Page 21: LaporanpraktDB01_240110140087

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

Page 22: LaporanpraktDB01_240110140087

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.