Komputer Aplikasi Sipil 3
Pertemuan 1
DASAR – DASAR VISUAL BASIC 6
1. PENGENALAN
Visual Basic 6 merupakan jenis pemrograman visual berbasiskan objek, dimana pemrograman dilakukan secara drag-drop objek untuk membuat tampilan (interface) dan baru dilanjutkan dengan penulisan kode program untuk mengendalikan objek dan memberi perintah-perintah tertentu. Hal demikian sering pula dinamakan pemrograman Rapid
Application Development (RAD) atau Object Oriented Programming (OOP).
Gambar 1.1 Awal Pertama Kali Menjalankan Visual Basic2. Latihan 1 : Program Menghitung Luas Tulangan
Gambar 1.3 Penempatan Kontrol / ObjekTabel 1.1 Properti dari Objek Nama Objek
Properti
Jenis Properti NilaiForm1 Name Caption Lat1 Program Luas Tulangan
Form Label1 Caption &Jumlah Tulangan Label Label2 Caption &Diameter Label Label3 Caption Lu&as Label Text1 Name Text
Jum (dikosongkan) TextBox Text2 Name
Text Dia (dikosongkan) TextBox
Text3 Name Text Luas (dikosongkan)
TextBox Command1 Name Caption CmdHitung
&Hitung CommandButton Command2 Name Text
CmdKeluar K&eluar CommandButton
Gambar 1.4 Objek yang Telah Di-edit PropertinyaGambar 1.5 Kode Prosedur Event Click Tombol HitungKlik dua kali pada cmdHitung lalu ketikkan statement/kode berikut: Private Sub CmdHitung_Click() Luas.Text = Val(Jum.Text) * 0.25 * 3.14 * (Val(Dia.Text)) ^ 2 End Sub
Klik dua kali pada cmdKeluar lalu ketikkan statement/kode berikut: Private Sub CmdKeluar_Click() Unload Me End Sub
Gambar 1.6 Menyimpan File (Save) Selalu Dalam Bentuk *.vbp dan *.frmGambar 1.7 Program dalam Kondisi Run
Pertemuan 2
PENGENALAN OBJEK
Berikut ini adalah macam-macam objek yang sering digunakan dalam pemrograman.Masing objek memiliki properti yang unik penting untuk dipahami sehingga dapat memanfaatkan sebesar-besarnya untuk pembuatan aplikasi.
1. Label Untuk menampilkan teks pada form, dimana teks ini tidak dapat diubah oleh pengguna program melainkan hanya dapat diubah melalui kode pemrograman
(Dewobroto, 2003)
2. CommandButton Fungsinya seperti tombol, jika diklik maka prosedur event akan jalan
(Dewobroto, 2003) 3.
4. TextBox Akan menampilkan teks informasi diproperti text dan dapat diedit langsung di jendela text box tersebut
(Dewobroto, 2003)
5. ListBox Daftar pilihan properti List dapat diedit dengan metode AddItem atau RemoveItem atau dari Jendela Properti
(Dewobroto, 2003)
6. CheckBox Menampilkan tanda jika dipilih dan jika tidak dipilih. Tanda tersebut dapat dipilih satu atau lebih secara bersamaan Contoh Penggunaan CheckBox:
Tabel 2.1 Properti dari Objek PropertiNama Objek Jenis Properti Nilai frmCheck Caption Contoh CekBox Form txtDisplay Text Beberapa Contoh Teks TextBox chkBold Caption &Bold CheckBox chkBold Caption &Italic CheckBox Label1 Caption Pada Check Box pilih Bold atau Italic Label untuk melihat pengaruhnya pada teks di atas
cmdClose Caption &Keluar CommandButton Kode program yang harus diketik:
Private Sub chkBold_Click() If chkBold.Value = 1 Then txtDisplay.FontBold = True Else txtDisplay.FontBold = False End If End Sub Private Sub chkItalic_Click() If chkItalic.Value = 1 Then txtDisplay.FontItalic = True Else txtDisplay.FontItalic = False End If End Sub Private Sub Command1_Click() Unload Me End Sub
Pertemuan 3
PENGENALAN OBJEK 2
Berikut ini adalah kelanjutan macam-macam objek yang sering digunakan dalam pemrograman. Masing objek memiliki properti yang unik penting untuk dipahami sehingga dapat memanfaatkan sebesar-besarnya untuk pembuatan aplikasi.
1. OptionButton Menampilkan pilihan yang aktif (dipilih) atau tidak. Jika lebih dari satu, maka hanya satu yang aktif. Beberapa kontrol OptionButton yang akan difungsikan harus dijadikan satu grup dengan menempatkannya di dalam kontrol Frame atau PictureBox. Untuk membuatnya, tempatkan terlebih dahulu Frame atau PictureBox, kemudian baru tempatkan kontrol optionbutton di dalamnya, otomatis semua kontrol OptionButton akan menjadi satu kontrol grup.
2. Frame Untuk mengelompokkan beberapa objek menjadi satu kesatuan tugas atau hanya sebagai hiasan saja. Pada kontrol frame yang telah diisi objek-objek, jika kontrol ini dihapus, maka objek-objek didalamnya juga ikut terhapus. Kontrol ini banyak dipakai
3. Timer Kontrol tersembunyi untuk menjalankan program terus menerus dalam selang tertentu yang diatur dengan event time.
4. PictureBox Menampilkan gambar bitmap, container mode grafis/teks dari perintah Print. Untuk menciptakan animasi atau simulasi, diperlukan manulasi properti atau metode grafis dengan kode-kode program.
5. Image
7. Line Membuat garis horisontal, vertikal, atau diagonal di form, picturebox dan frame.
Latihan 3: Penggunaan OptionButton
Tabel 3.1 Properti dari Objek Nama ObjekProperti Jenis Properti Nilai
frmOption Caption Penggunaan Option Form
Display BorderStyle Fixed Single Label
Option1 Caption Unit Load OptionButton Option2 Caption Conjugated Beam OptionButton Option3 Caption Double Integration OptionButtonFrame Caption Menghitung Besarnya : Frame
Option4 Caption Lendutan OptionButton Option5 Caption Putaran Sudut OptionButton Label Caption FontPilih apa yang mau dihitung dan metodenya Bold, Times New Roman Label
Command Caption Exit Command
ButtonKode Program yang harus diketik :
Dim Metode As String Dim Menghitung As String Sub DisplayCaption() Display.Caption = "Kamu memilih metode " & Metode & " dan menghitung " & Menghitung End Sub Private Sub Command_Click() Unload Me End Sub Private Sub Form_Load()
Option4_Click End Sub
Private Sub Option1_Click()
Metode = "Unit Load" Call DisplayCaption End SubPrivate Sub Option2_Click()
Metode = "Conjugated Beam"
Call DisplayCaption End SubPrivate Sub Option3_Click()
Metode = "Double Integral" Call DisplayCaption End SubPrivate Sub Option4_Click()
Menghitung = "Lendutan" Call DisplayCaption End SubPrivate Sub Option5_Click()
Menghitung = "Putaran Sudut"
Call DisplayCaption End SubPertemuan 4 PENGENALAN OBJEK 2 Latihan 4:Simulasi Jam Analog Tabel 3.2
Properti dari Objek
Nama Objek Properti Jenis
Properti Nilai
frmClock Caption MaxButtonMinButton Jam Analog
False
False
Form
tmrQuartz Interval 1000 Timer
jrDetikLine jrMenit BorderWidth
3 Line jrJam BorderWidth
5 Line lblTime Label Shape1 BorderWidth
Shape FilStyle FillColor
5
4 &H00C0FFFF& Shape
lblNama Caption JOJON – SIPIL 2008 Label
Kode Program yang harus diketik :
Const PI = 3.14159 Private Sub Form_Load() yo = ScaleHeight / 2 'menempatkan titik awal kontrol line sebagai jarum di xo, yo jrJam.X1 = xo jrJam.Y1 = yo jrMenit.X1 = xo jrMenit.Y1 = yo jrDetik.X1 = xo jrDetik.Y1 = yo 'menggambar jarum jam dengan setiap selang waktu tertentu 'dengan menggeser koordinat kontrol line pada sisi luar Call tmrQuartz_Timer End Sub Private Sub tmrQuartz_Timer() Dim Jam, Menit, Detik Dim TrueJam lblTime.Caption = Time Jam = Hour(Time) Menit = Minute(Time) Detik = Second(Time) TrueJam = Jam + Menit / 60 'mencari koordinat luar dari kontrol line
jrJam.X2 = 1200 * Cos(PI / 180 * (30 * TrueJam - 90)) + jrJam.X1
jrJam.Y2 = 1200 * Sin(PI / 180 * (30 * TrueJam - 90)) + jrJam.Y1
jrMenit.X2 = 1600 * Cos(PI / 180 * (6 * Menit - 90)) + jrJam.X1 jrMenit.Y2 = 1600 * Sin(PI / 180 * (6 * Menit - 90)) + jrJam.Y1 jrDetik.X2 = 1600 * Cos(PI / 180 * (6 * Detik - 90)) + jrJam.X1 jrDetik.Y2 = 1600 * Sin(PI / 180 * (6 * Detik - 90)) + jrJam.Y1 End Sub
Pertemuan 5
AKSES FILE
Perintah perintah VB yang berkaitan dengan akses file: Line Input = perintah membaca satu baris data sebagai teks Input = perintah membaca data dari file Write = menulis data ke file teks dengan separator “koma” Print = menulis data ke file teks dengan separator “spasi kosong” Spc = digunakan bersama dengan perintah Print agar beberapa data yang dicetak meloncat beberapa spasi arah horisontal Tab = digunakan bersama dengan perintah Print agar beberapa data yang dicetak meloncat ke lokasi TAB terdekat Sebelum perintah-perintah di atas digunakan, file yang diakses harus disiapkan terlebih dahulu, biasanya ditulis oleh program Notepad.
Contoh: Tulis data berikut dalam program Notepad dengan nama file “Contoh.txt”. Jumlah kolom perbaris ada 10, dan setiap kolom berisi data 3 bilangan numerik yang dipisahkan oleh spasi tunggal. Diminta untuk mengakses 3 kolom pertama dan cetak di layar komputer Isi file Contoh.txt 123 234 345 456 567 678 789 890 123 234 234 345 456 567 678 789 890 123 234 345 345 456 567 678 789 890 123 234 345 456 456 567 678 789 890 123 234 345 456 567 567 678 789 890 123 234 345 456 567 678 678 789 890 123 234 345 456 567 678 789
Tabel 9.1
Properti dari Objek
Properti
Nama Objek Jenis Properti NilaiForm1 Caption Pembaca File Data Form Kode Program yang harus diketik : Private Sub Command1_click() Open "Contoh.txt" For Input As #1 Open "BacaW.txt" For Output As #2 Open "BacaP.txt" For Output As #3 While Not EOF(1) ' terus bekerja sampai selesai Line Input #1, temp$ ' membaca satu brs data file Num1 = Val(Mid$(temp$, 1, 3)) ' membaca dr kol 1 sampai 3 Num2 = Val(Mid$(temp$, 5, 3)) ' membaca dr kol 5 sampai 7 Num3 = Val(Mid$(temp$, 9, 3)) ' membaca dr kol 9 sampai 11 Print Num1, Num2, Num3 ' mencetak ke layar Write #2, Num1, Num2, Num3 ' cetak ke file "BacaW.txt" Print #3, Num1, Num2, Num3 ' cetak ke file "BacaP.txt" Wend Close #1, #2, #3 End Sub Hasilnya: o Akan muncul file baru, yaitu BacaW dan BacaP o 3 kolom pertama akan terakses
Pertemuan 6
DATA ARRAY (1)
Array memungkinkan satu variabel mempunyai banyak ruang yang diisi data. Untuk menandai data diruang-ruang tersebut digunakan indeks (angka). Elemen array perlu alokasi tempat terlebih dahulu di memori komputer, jadi tetapkan ukuran elemen seperlunya saja.
Macam-macam array:
Array Statis : ukuran selalu sama 1. array diakses di setiap prosedur di semua form atau module: Array Public
Contoh: Public Counters (14) As Integer, Public Sums (20) As Double 2. array diakses dari module sendiri
Contoh: Static MatrixA (9, 9) As Double, Dim Counters (14) As Integer, Dim Sums (20) As Double
Array Dinamis : ukuran dapat berubah ketika program dijalankan Untuk membuat array dinamis dapat dipakai perintah yang sama dengan array statis namun tanpa besaran dalam kurung (biarkan kosong)
Contoh 10.1: Tulis data berikut dalam program Notepad dengan nama file “MatA.txt”.
Isi filenya 0.654 5.554 7.584 9.654 10.50 5.554 7.584 9.654 10.50 0.654 7.584 9.654 10.50 0.654 5.554 9.654 10.50 0.654 5.554 7.584 10.50 0.654 5.554 7.584 9.654
Tabel 10.1 Properti dari Objek PropertiNama Objek Jenis Properti Nilai
Form1 Caption Membaca File Teks Sebagai Array Form
Command1 Caption Mulai Command Button Kode Program yang harus diketik : Private Sub Command1_Click() Open "MatA.txt" For Input As #1 ' membuka file teks Dim Mtrx(1 To 5, 1 To 5) As Double ' alokasi memori For I = 1 To 5 For J = 1 To 5 Input #1, Mtrx(I, J) Debug.Print "Matrix A("; I; ","; J; ")="; Mtrx(I, J) Next J Next I Close #1 End Sub Private Sub Form_Load() Label1.Caption = "Hasilnya dijendela Immediate, jika" + _ " tidak kelihatan maka sebelum RUN tekan << Ctrl+G >>" + _ " sedangkan untuk membersihkah jendela gunakan " + _ " perintah << Ctrl+A >> lalu << DEL >>" End Sub
Hasilnya:
o Akan muncul isi Mat A pada layar jendela immediate
Pertemuan 7
DATA ARRAY (2)
Contoh 10.2:
Buat Program Pengolah Nilai dengan memanfaatkan data array sebagai berikut:
1. Nilai akhir semester (NAS) = 40% UTS + 60% UAS
2. NAS 80 A, 68 NAS < 80 B, 56 NAS < 68 C, 45 NAS < 56 D, dan NAS < 45
E
3. Data nilai yang akan diinput adalah seperti tabel 10.2 berikut:
Tabel 10.2 Data Nilai Mahasiswa No Nama Mahasiswa Nilai Ujian1. Bejo
56.5
90
2. Paimo
60
60
3. Digot
45
90
4. Mangot
90
75
5. Haina
90
75
6. Kiki
80.5
75
7. Tuyul
70.55
75
8. Kiwil
60
75
9. Luna
45
60 Tulis data nilai tersebut dalam program Notepad dengan nama file “NilaiKelasA.txt”.
Isi filenya:
56.5
90
60
60
45
90
90
75
90
75 80.50 75 70.55 75
60
75
45
60 Tabel 10.3 Properti dari Objek Form1 Caption Pengolah Nilai Form Command1 Caption Mulai Command Button
Kode Program yang harus diketik :
Option Base 1 Dim Murid(9, 2) Dim NAS(9) Dim Score(9) Sub BacaDataFile() 'baca data dari file teks ************************************* Open "NilaiKelasA.txt" For Input As #1 For I = 1 To 9 For J = 1 To 2 Input #1, Murid(I, J) Next J Next I Close #1 End Sub Sub HitungNAS() 'hitung NAS (nilai akhir semester) **************************** 'NAS = 40% UTS + 60% UAS For I = 1 To 9 NAS(I) = 0.4 * Murid(I, 1) + 0.6 * Murid(I, 2) Next I End Sub Sub CetakHasil() Cls Print "No UTS UAS NAS SCORE" For I = 1 To 9 NAS(I) = 0.4 * Murid(I, 1) + 0.6 * Murid(I, 2) Print I, Murid(I, 1), Murid(I, 2), NAS(I), Score(I) Next I End Sub Private Sub Command1_Click() BacaDataFile
HitungNAS For I = 1 To 9 If NAS(I) < 45 Then Score(I) = "E" ElseIf NAS(I) < 56 Then Score(I) = "D" ElseIf NAS(I) < 68 Then Score(I) = "C" ElseIf NAS(I) < 80 Then Score(I) = "B" Else Score(I) = "A" End If Next I 'cetak hasil *********************************************** CetakHasil End Sub
VISUAL BASIC FOR APLICATION
Visual basic application (VBA), atau lebih dikenal dengan sebutan Macro, merupakan pengembangan bahasa pemograman Visual Basic yang digunakan dalam aplikasi Microsoft Office (Words, Excel, Access, Power point atau Outlock).
1 Visual Basic Editor (VBE)
Visual Basic Editor merupakan tools pemograman VBA yang digunkan untuk membuat aplikasi sederhana maupun kompleks pada aplikasi utama Microsoft Excel. Untuk menampilkan VBE di Excel 2003, pilih menu Tools Macro Visual Basic Editor.
2 Project Explorer
Project explorer digunakan untuk melakukan navigasi terhadap seluruh object yang ada dalam proyek VBA sebuah workbook.
3 Merekam macro
Macro dapat dilakukan dengan menuliskan kode program pada window code VBE atau dengan cra merekam setiap langkah yang terjadi pada saat excel digunakan.
4 Menjalankan macro
Anda dapat menjalankan Macro yang telah direkam sebelumnya melalui kotak dialog Macro atau menggunakan shortkey yang telah dituliskan sebelumnya.
Pertemuan 9 SUB PROCEDURE
Sub Procedure :jenis procedure yang tidak menghasilkan nilai setelah menjalankan perintah Format penulisan : Sub NamaProcedure()
Statement End Sub
Contoh 1 :
Sub HapusData()
'Menghapus seluruh data dalam worksheet aktif
Application.Cells.ClearContents
'Seleksi sel A1
Range("A1").Select End Sub
Contoh 2 :
Sub BuatWorkbook() Workbooks.Add End Sub
Contoh 3 :
Sub MenambahkanWorksheet() Worksheets.Add Before:=Sheets(2), Count:=5, _ Type:=xlWorksheet End Sub
Contoh 4 :
Sub UbahNamaWorksheet() Sheets("Laporan2").Name = "Laporan2 OK" End Sub
Sub DERET()
'membuat deret angka urut mulai 1 sampai 15
Range("A2").Value = 1 Range("A2").AutoFill Range("A2:A16"), xlFillSeries
'membuat deret bulan jan sampai jun
Range("B2").Value = "jan" Range("B2").AutoFill Range("B2:B16"), xlFillSeries End Sub
Contoh 4 :
Sub FILL() Range("G6:G11").FillDown End Sub
Pertemuan 10
FUNCTION PROCEDURE
Function Procedure :jenis procedure yang menghasilkan nilai setelah menjalankan perintah Format penulisan : Function NamaFunction()
Statement Nama fungsi = nilai End Function
Contoh 1 :
Function VOLUMEKUBUS(panjang_sisi)
VOLUMEKUBUS = panjang_sisi ^ 3 End Function
Contoh 2 :
Function luas(p, l) luas = p * l End Function End Sub
KOTAK PESAN
vbCritical vbExclamation vbInformation vbQuestion
Kode macro : InputBox([prompt], [title], [default])
Kotak input
Kode macro : Nilai = MsgBox [prompt], [buttons], [title]
Nilai Kotak pesan
? Ikon pesan kritis Ikon peringatan Ikon informasi Ikon pertanyaan
X ! i
Kotak pesan Kode macro : MsgBox [prompt], [buttons], [title]
[prompt], merupakan pesan yang akan disampaikan, apabila pesan akan dibuat lebih dari 1
baris, pisahkan dengan kode vbCrLf.[buttons], merupakan argument yang digunakan unt memilih jenis tombol,memilih jenis
Tombol Abort, Retry, dan Ignore Tombol OK dan Cancel Hanya tombol OK Tombol Retry dan Cancel Tombol Yes dan No Tombol Yes, No, dan Cancel
vbAbortRetryIgnore vbOKCancel vbOKOnly vbRetryCancel vbYesNo vbYesNoCancel
Kode Macro Jenis Tombol
Excel
Jenis tombol yang dapat dibuat pada kotak pesan menggunakan Macro
sebagai berikut :maupun tidak. Apabila tidak diisi, secara default hanya akan menampilkan Microsoft
[title], merupakan judul pada kotak pesan. Argument title bersifat opsional shg dapat diisi
ikon dan memilih tombol default pada kotak pesan. Argumen buttons bersifat opsional shg dapat diisi maupun tidak. Apabila tidak diisi, kotak pesan secara default hanya akan menampilkan tombol OK
Jenis ikon yang dapat dibuat pada kotak pesan menggunakan Macro sebagai berikut : Kode Macro Gambar Ikon Jenis Ikon
Pertemuan 12 LATIHAN KOTAK PESAN Contoh 1:
"e-mail: [email protected]", vbOKOnly + vbInformation, _ "Data Penulis" End Sub
Contoh 2:
Sub KotakInput()
'Kotak input
Berat = InputBox("Berapa berat badan Anda?" _ & vbCrLf & "Dalam kg", "Berat Badan", 50)
'Jika kotak input kosong atau tombol Cancel dipilih
If Berat = "" Or Berat = "Boolean" Then 'Keluar dari Sub Prosedur Exit Sub End If
'Kotak pesan
MsgBox "Berat badan Anda adalah " & Berat & _ " Kilogram", vbOKOnly, "Berat Badan" End Sub
Contoh 3:
Sub tes() no = InputBox("berapa no hp anda?" & vbCrLf) If no = "" Or no = "boolean" Then Exit Sub End If MsgBox "no hp anda adalah " & no, vbOKCancel End Sub
Contoh 4:
Sub Auto_Open() MsgBox "Selamat datang" _ & vbCrLf & "Pelajari kuliah ini dengan rileks", _
Contoh 5:
Sub Auto_Close() MsgBox "Terima kasih" _ & vbCrLf & "Atas perhatian anda", _ vbOKOnly + vbInformation, "Dyah Chandra K.S" End Sub
Pertemuan 13 GRAFIK
Membuat grafik
Contoh 1:
Sub BuatGrafik()
' add grafik
ActiveSheet.Shapes.AddChart.Select
' penentuan source
ActiveChart.SetSourceData Source:=Range("A3:B11")
'tipe grafik
ActiveChart.ChartType = xlColumnClustered End Sub
Contoh 2:
Sub UbahTipeGrafik() ActiveSheet.ChartObjects("Chart 5").Activate ActiveChart.ChartType = xlLine End Sub
Contoh 3:
Sub UbahNamaGrafik() ActiveSheet.ChartObjects("Chart 5").Name = "Penjualan" End Sub
Pertemuan 14 KONTROL PROGRAM
If…Then Format penulisan : If Kondisi Then
Statement End If
If…Then..Else Format penulisan : If Kondisi 1 Then
Statement 1 ElseIf Kondisi 2 Then Statement 2 Else Statement 3 End If
CONTOH 1:
Sub IfThen() Test = InputBox(“masukan nilai lebih besar dari 75”, _ “Masukan angka”) If Test > 75 Then MsgBox “nilai yg anda masukan” & Test & vbCrLf & _ “nilai tersebut memenuhi standar”, vbOKOnly, “Nilai standar” End If End Sub
CONTOH 2:
Sub IfThenElse() Test = InputBox(“masukan nilai tertentu”, _
If Test < 50 Then MsgBox “nilai anda kurang” ,vbOKOnly, “Nilai kurang” ElseIf Test < 75 Then MsgBox “nilai anda cukup” ,vbOKOnly, “Nilai cukup” ElseIf Test < 100 Then MsgBox “nilai anda bagus” ,vbOKOnly, “Nilai bagus” Else MsgBox “nilai yg anda masukan salah” ,vbOKOnly, “Nilai salah” End If End Sub