Top Banner
 2 Chapter 1 Latihan 1 Membuat program hello World Buat sebuah form dengan tampilan sebagai berikut : Form1 Properties Value Name FrmUtama BackColor PapayaWhip(bebas) FormBorderSt yl e Fi xe dTool Wi ndow StartPosition CenterScreen Coding : Public Class FrmUtama Private Sub BtnPesan_Click( ByVal sender As System.Object,  ByVal e As System.EventArgs) Handles BtnPesan.Click MsgBox("haloo..^_^" , MsgBoxStyle.Information,  "Pesan") End Sub Private Sub BtnQuit_Click( ByVal sender As System.Object,  ByVal e As System.EventArgs) Handles BtnQuit.Click Me.Close() End Sub End Class Latihan 2 : Variable dan Contanta Design form : Label1 Properties Value Name LblJudul Font Segoe UI; 15pt Text Welcome Button1 Properties Value Name BtnPesan FlatStyle Flat Text Pesan Button2 Properties Value Name BtnQuit FlatStyle Flat Text Quit
42

Modul Visual 1

Oct 07, 2015

Download

Documents

RonyGirsang

program perhitungan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 2Chapter 1Latihan 1Membuat program hello WorldBuat sebuah form dengan tampilan sebagai berikut :

    Form1Properties Value

    Name FrmUtamaBackColor PapayaWhip(bebas)FormBorderStyle FixedToolWindowStartPosition CenterScreen

    Coding :Public Class FrmUtama

    Private Sub BtnPesan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles BtnPesan.Click

    MsgBox("haloo..^_^", MsgBoxStyle.Information, "Pesan")End Sub

    Private Sub BtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles BtnQuit.Click

    Me.Close()End Sub

    End Class

    Latihan 2 :Variable dan ContantaDesign form :

    Label1Properties Value

    Name LblJudulFont Segoe UI; 15ptText Welcome

    Button1Properties Value

    Name BtnPesanFlatStyle FlatText Pesan

    Button2Properties Value

    Name BtnQuitFlatStyle FlatText Quit

  • 3Form1Properties Value

    Name FrmUtamaBackColor PapayaWhip(bebas)FormBorderStyle FixedToolWindowStartPosition CenterScreen

    Coding :

    Public Class FrmUtama

    'Dim singkatan dari dimensi, sudah digunakan sejak vb versi 1'Dim digunakan untuk mendaftarkan variable ke tipe2 nyaDim Nama As StringDim NPM As StringDim Tanggal As Date

    'contoh mnggunakan constanta pada vb.netConst Angka1 As Integer = 10Const Angka2 As Double = 7

    Private Sub BtnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles BtnTest.Click

    'mengisi variableNama = "Boi"NPM = "4115.505.006.0001"Tanggal = Now.Date 'mangambil waktu sekarang dari komputer

    'menampilkan variable pada textboxTxtNama.Text = NamaTxtNPM.Text = NPMTxtTanggal.Text = Tanggal

    Button1Properties Value

    Name BtnTestText Test

    Button2Properties Value

    Name BtnTambahText +

    TextBox1Properties Value

    Name TxtNama

    TextBox2Properties Value

    Name TxtNPM

    Button3Properties Value

    Name BtnKurangText -

    TextBox3Properties Value

    Name TxtTanggalButton4

    Properties ValueName BtnKaliText xTextBox4

    Properties ValueName TxtAngka1 Button5

    Properties ValueName BtnBagiText /

    TextBox5Properties Value

    Name TxtAngka2GroupBox2

    Properties ValueText | Contoh Constanta |

    TextBox6Properties Value

    Name TxtHasil

    GroupBox1Properties ValueText :: Contoh Variable ::

  • 4End Sub

    Private Sub BtnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles BtnTambah.Click

    TxtAngka1.Text = Angka1TxtAngka2.Text = Angka2TxtHasil.Text = Angka1 + Angka2

    End Sub

    Private Sub BtnKurang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles BtnKurang.Click

    TxtAngka1.Text = Angka1TxtAngka2.Text = Angka2TxtHasil.Text = Angka1 - Angka2

    End Sub

    Private Sub BtnKali_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles BtnKali.Click

    TxtAngka1.Text = Angka1TxtAngka2.Text = Angka2TxtHasil.Text = Angka1 * Angka2

    End Sub

    Private Sub BtnBagi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles BtnBagi.Click

    TxtAngka1.Text = Angka1TxtAngka2.Text = Angka2TxtHasil.Text = Angka1 / Angka2

    End SubEnd Class

    Latihan 3Deklarasi Variable dan Contanta secara global menggunakan moduleBuat seperti form latihan 2. Tambahkan sebuah module dengan cara klik kanan pada project(diSolution Explorer), kemudian klik add module.

    Coding pada form sama dengan Latihan 2. Semua variable dan constanta dideklarasikandimodule. Berikut cara penulisannya :

    Module Module_Var_dan_constPublic Nama As StringPublic NPM As StringPublic Tanggal As Date

    Public Const Angka1 As Integer = 10Public Const Angka2 As Double = 7

    End Module

  • 5Chapter 2Conditional (If Then Else)

    Latihan 1Buatlah Sebuah Form dengan design seperti gambar dibawah ini :

    Coding :

    Public Class Form1

    Private Sub BtnCoba_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles BtnCoba.Click

    If OptBaso.Checked = True ThenMsgBox("Kamu suka baso", , "Pesan")

    ElseIf OptIkan.Checked = True ThenMsgBox("Kamu suka ikan", , "Pesan")

    ElseIf OptNasiPadang.Checked = True ThenMsgBox("Kamu suka Nasi Padang", , "Pesan")

    ElseMsgBox("Kamu belum memilih", , "Pesan")

    End IfEnd Sub

    End Class

    Latihan 2Buatlah Sebuah Form dengan design seperti gambar dibawah ini :

    RadioButton1Properties Value

    Name OptBasoText Baso

    RadioButton3Properties Value

    Name OptIkanText Ikan

    RadioButton2Properties Value

    Name OptNasiPadangText Nasi Padang

    Button1Properties Value

    Name BtnCobaText If

    Form1Properties ValueName Form1FormBorderSyle FixedToolWindowText If Then Else

  • 6Coding :

    Public Class Form1

    Private Sub BtnHitung_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtnHitung.Click

    If OptHitungPersegi.Checked = True ThenTxtHasilPersegi.Text = (Val(TxtPanjang.Text * TxtLebar.Text))

    ElseIf OptHitungSegitiga.Checked = True ThenTxtHasilSegitiga.Text = (Val((0.5 * TxtAlas.Text) * TxtTinggi.Text))

    End IfEnd Sub

    Private Sub OptHitungPersegi_CheckedChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles OptHitungPersegi.CheckedChanged

    If OptHitungPersegi.Checked = True ThenGrpBoxPersegi.Enabled = TrueGrpBoxSegitiga.Enabled = False

    End IfEnd Sub

    Private Sub OptHitungSegitiga_CheckedChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles OptHitungSegitiga.CheckedChanged

    If OptHitungSegitiga.Checked = True ThenGrpBoxPersegi.Enabled = FalseGrpBoxSegitiga.Enabled = True

    End IfEnd Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load

    TxtHasilPersegi.Enabled = FalseTxtHasilSegitiga.Enabled = False

    End Sub

    Private Sub BtnNew_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtnNew.Click

    'Membersihkan semua TextboxTxtAlas.Text = ""TxtHasilPersegi.Text = NothingTxtHasilSegitiga.Text = ""TxtLebar.Text = ""TxtPanjang.Text = NothingTxtTinggi.Text = ""OptHitungSegitiga.Checked = TrueTxtAlas.Focus()

    End Sub

    Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtnExit.Click

    Me.Close()End Sub

    End Class

    Latihan 3

  • 7Buatlah Sebuah Form dengan design seperti gambar dibawah ini :

    Coding :

    Public Class Form1

    Private Sub BtnTest_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles BtnTest.Click

    If CmbPilihan.Text = "Baso" ThenMsgBox("Pilihan Anda adalah baso", , "Pesan")TxtOutput.Text = CmbPilihan.Text

    ElseIf CmbPilihan.Text = "Nasi Padang" ThenMsgBox("Pilihan Anda adalah Nasi Padang", , "Pesan")TxtOutput.Text = CmbPilihan.Text

    ElseIf CmbPilihan.Text = "Nasi Goreng" ThenMsgBox("Pilihan Anda adalah Nasi Goreng", , "Pesan")TxtOutput.Text = CmbPilihan.Text

    End IfEnd Sub

    End Class

  • 8Chapter 3Looping

    Latihan 1Buat sebuah form dengan tampilan sebagai berikut :

    Coding :Public Class Form1

    #Region "Variable Class Form1"Dim i As Short

    #End Region

    #Region "Method"

    Private Sub BtnForNext_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles BtnForNext.Click

    LstAngka.Items.Clear()For Me.i = 1 To TxtJumlahLoop.Text

    LstAngka.Items.Add(i)Next

    End Sub

    Private Sub BtnDoWhile_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles BtnDoWhile.Click

    LstAngka.Items.Clear()i = 1Do While i TxtJumlahLoop.Text

    LstAngka.Items.Add(i)

  • 9i += 1Loop

    End Sub

    Private Sub BtnClear_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles BtnClear.Click

    TxtJumlahLoop.Text = ""LstAngka.Items.Clear()TxtJumlahLoop.Focus()

    End Sub

    Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles BtnExit.Click

    Me.Close()End Sub

    #End Region

    End Class

    Latihan 2Buat sebuah form dengan tampilan sebagai berikut :

    Coding :Public Class Form1

    Dim i As Short

    Private Sub BtnDoWhile_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles BtnDoWhile.Click

    i = 10Do While i >= 1

    LstAngka.Items.Add(i)i -= 1

    LoopEnd Sub

    Private Sub BtnRepeatDown_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtnRepeatDown.Click

    i = 10Do Until i < 1

    LstAngka.Items.Add(i)i -= 1

    Loop

  • 10

    End Sub

    End ClassLatihan 3Buat sebuah form dengan tampilan sebagai berikut :

    Coding :Public Class Form1

    #Region "Variable"Dim i, j As Short

    #End Region

    Private Sub BtnClear_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles BtnClear.Click

    TxtHasil.Text = ""TxtJmlDeret.Text = ""TxtJmlDeret.Focus()

    End Sub

    Private Sub BtnHasil_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles BtnHasil.Click

    i = 1j = 0Do While i

  • 11

    Chapter 4Modular Programming Languange

    Latihan 1(Function)Buat sebuah form dengan tampilan sebagai berikut :

    Coding :Public Class Form1

    'ini fungsi(local) jumlah pake parameterFunction Jumlah(ByVal Bil1 As Integer, ByVal Bil2 As Integer) As Integer

    Jumlah = Bil1 + Bil2Return Jumlah

    End Function

    Private Sub BtnFunction_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtnFunction.Click

    'pemanggilan fungsi dan pengiriman nilai ke parameterTxtHasil.Text = Jumlah(Bil1:=TxtAngka1.Text, Bil2:=Txtangka2.Text)

    End Sub

    Private Sub BtnFunction2_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtnFunction2.Click

    TxtHasil2.Text = Jumlah(Bil1:=TxtBil1.Text, Bil2:=TxtBil2.Text)End Sub

    Private Sub BtnFunctionKali_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles BtnFunctionKali.Click

    'fungsi yang ini ada di module sebagai public function perkalianTxtHailKali.Text = Perkalian(Bil1:=Txt1.Text, Bil2:=Txt2.Text)

    End Sub

    Private Sub BtnForm2_Click(ByVal sender As System.Object, ByVal e As

  • 12

    System.EventArgs) Handles BtnForm2.ClickForm2.Show()

    End Sub

    End Class

    Tambahkan sebuah Module pada solution Explorer dengan coding sebagai berikut :

    Module Module1Public Function Perkalian(ByVal Bil1 As Integer, ByVal Bil2 As Integer) As

    IntegerPerkalian = Bil1 * Bil2Return Perkalian

    End FunctionEnd Module

    Jika sudah maka tambahkan sebuah form lagi pada project anda dengan nama Form2. Berikutdesign tampilannya :

    Coding :Public Class Form2

    Private Sub Btnkali_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Btnkali.Click

    Txthasil.Text = Perkalian(Bil1:=txtAngka1.Text, Bil2:=TxtAngka2.Text)End Sub

    End Class

    Latihan 2 (Procedure)Buatlah sebuah form dengan tampilan sebagai berikut :

  • 13

    Coding :Public Class Form1

    #Region "Procedure"

    Sub DoUntil()Dim Counter As IntegerCounter = 1Do

    LstHasil.Items.Add(Counter)Counter += 1

    Loop Until Counter > TxtJumlahLoop.TextEnd Sub

    Sub ForDown()Dim Counter As Integer'Step berfungsi untuk pertambahan nilaiFor Counter = TxtJmlLoop.Text To 1 Step -1

    LstLoop.Items.Add(Counter)Next

    End Sub

    Sub Bersihin_TextBox()TxtJmlLoop.Text = ""TxtJumlahLoop.Text = ""LstHasil.Items.Clear()LstLoop.Items.Clear()TxtJumlahLoop.Focus()

    End Sub

    Sub Keluar()Me.Close()

    End Sub

  • 14

    #End Region

    Private Sub BtnDoUntil_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtnDoUntil.Click

    Call DoUntil()End Sub

    Private Sub BtnForDown_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtnForDown.Click

    Call ForDown()End Sub

    Private Sub BtnClear_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtnClear.Click

    Call Bersihin_TextBox()End Sub

    Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtnExit.Click

    Call Keluar()End Sub

    End Class

  • 15

    Chapter 5Array

    Latihan 1(Array)Buat sebuah form dengan tampilan sebagai berikut :

    Coding :Public Class Form1

    Dim Jumlah_Alamat As IntegerDim index_Code, Alamat_Terakhir As ShortDim Total_Harga, Harga_Barang, Jumlah_Barang As DoubleDim i, Counter, idx As ShortDim Array_Kode_Barang(100) As StringDim Array_Nama_Barang(100) As StringDim Array_Supplier(100) As StringDim Array_Jumlah(100) As IntegerDim Array_Harga_Barang(100) As Integer

    #Region "Procedure"

    Sub Create_Array()'Isi default dataArray_Kode_Barang(1) = "0001"Array_Kode_Barang(2) = "0002"Array_Kode_Barang(3) = "0003"Array_Kode_Barang(4) = "0004"

    Array_Nama_Barang(1) = "Processor"Array_Nama_Barang(2) = "Mainboard"Array_Nama_Barang(3) = "RAM"Array_Nama_Barang(4) = "Harddisk"

    Array_Supplier(1) = "Boi"Array_Supplier(2) = "Umar"Array_Supplier(3) = "Babeh"Array_Supplier(4) = "Adji"

  • 16

    Array_Jumlah(1) = 20Array_Jumlah(2) = 30Array_Jumlah(3) = 35Array_Jumlah(4) = 60

    Array_Harga_Barang(1) = 1200000Array_Harga_Barang(2) = 750000Array_Harga_Barang(3) = 200000Array_Harga_Barang(4) = 400000

    End Sub

    Sub Tampilkan_Array_Pertama()TxtKodeBarang.Text = Array_Kode_Barang(1)TxtNamaBarang.Text = Array_Nama_Barang(1)TxtSuplier.Text = Array_Supplier(1)TxtJumlah.Text = Array_Jumlah(1)TxtHargaBarang.Text = Array_Harga_Barang(1)index_Code = 1

    End Sub

    Sub Tampilkan_Array_Terakhir()TxtKodeBarang.Text = Array_Kode_Barang(Alamat_Terakhir)TxtNamaBarang.Text = Array_Nama_Barang(Alamat_Terakhir)TxtSuplier.Text = Array_Supplier(Alamat_Terakhir)TxtJumlah.Text = Array_Jumlah(Alamat_Terakhir)TxtHargaBarang.Text = Array_Harga_Barang(Alamat_Terakhir)index_Code = Alamat_Terakhir

    End Sub

    Sub Hitung_Total_Harga()Jumlah_Barang = TxtJumlah.TextHarga_Barang = TxtHargaBarang.TextTotal_Harga = Jumlah_Barang * Harga_BarangTxtTotalHarga.Text = "Rp. " & Format(Total_Harga, "###,###")

    End Sub

    Sub Insert_Array()Array_Kode_Barang(i) = TxtKodeBarang.TextArray_Nama_Barang(i) = TxtNamaBarang.TextArray_Supplier(i) = TxtSuplier.TextArray_Jumlah(i) = TxtJumlah.TextArray_Harga_Barang(i) = TxtHargaBarang.Texti += 1Alamat_Terakhir += 1

    End Sub

    Sub Cek_Array_apakah_sudah_Full()If Alamat_Terakhir = Jumlah_Alamat Then

    BtnSave.Enabled = FalseBtnCreate.Enabled = TrueTxtJumlahAlamat.Enabled = TrueTxtJumlahAlamat.Text = ""Call Tampilkan_Array_Pertama()Call Hitung_Total_Harga()

    End IfEnd Sub

    Sub Bersihkan_Textbox()TxtKodeBarang.Text = ""TxtNamaBarang.Text = ""TxtSuplier.Text = ""TxtJumlah.Text = ""TxtHargaBarang.Text = ""TxtTotalHarga.Text = ""

  • 17

    End Sub

    Sub Search_Array()Counter = 0While (Counter

  • 18

    Private Sub BtnPrevious_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles BtnPrevious.Click

    If index_Code

  • 19

    Chapter 6MDI & System Interaction

    Latihan 1Buat sebuah form MDI dengan tampilan sebagai berikut :

    Coding :Public Class Form1

    Sub SystemUpTime()Dim dblTick As DoubleDim intHour As IntegerDim intMinute As IntegerDim intSec As Integer

    'Mendapatkan total waktu dalam detik sejak system dihidupkandblTick = Environment.TickCount / 1000

    'menghitung total jam, menit dan detikintHour = CInt(Int(dblTick / 3600))dblTick = dblTick - (Int(dblTick / 3600) * 3600)intMinute = CInt(Int(dblTick / 60))dblTick = dblTick - (Int(dblTick / 60) * 60)intSec = CInt(dblTick)

    'OutputkanTsrSystemUp.Text = "System Up = " & intHour & " jam : " & _

    intMinute & " menit : " & _intSec & " detik"

    End Sub

    Private Sub KeyboardToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesKeyboardToolStripMenuItem.Click

    FrmKeyboard.MdiParent = MeFrmKeyboard.Show()

  • 20

    End Sub

    Private Sub MouseToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesMouseToolStripMenuItem.Click

    FrmMouse.MdiParent = MeFrmMouse.Show()

    End Sub

    Private Sub TaskManajerToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesTaskManajerToolStripMenuItem.Click

    FrmTaskManager.MdiParent = MeFrmTaskManager.Show()

    End Sub

    Private Sub TmrSystemUp_Tick(ByVal sender As System.Object, ByVale As System.EventArgs) Handles TmrSystemUp.Tick

    Call SystemUpTime()End Sub

    Private Sub ServiceManagerToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesServiceManagerToolStripMenuItem.Click

    FrmService.MdiParent = MeFrmService.Show()

    End Sub

    Private Sub SegitigaToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesSegitigaToolStripMenuItem.Click

    Me.Close()End Sub

    Private Sub TileHorizontalToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesTileHorizontalToolStripMenuItem.Click

    Me.LayoutMdi(MdiLayout.TileHorizontal)End Sub

    Private Sub TileVerticalToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesTileVerticalToolStripMenuItem.Click

    Me.LayoutMdi(MdiLayout.TileVertical)End Sub

    Private Sub CascadeToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesCascadeToolStripMenuItem.Click

    Me.LayoutMdi(MdiLayout.Cascade)End Sub

    Private Sub ArrangeByIconToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesArrangeByIconToolStripMenuItem.Click

    Me.LayoutMdi(MdiLayout.ArrangeIcons)End Sub

    Private Sub AboutToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesAboutToolStripMenuItem.Click

  • 21

    AboutBox.MdiParent = MeAboutBox.Show()

    End SubEnd Class

    Tambahkan beberapa form dengan tampilan sebagai berikut :

  • 22

    Coding Form Keyboard :Public Class FrmKeyboard

    Private Sub TxtKey_KeyDown(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.KeyEventArgs) Handles TxtKey.KeyDown

    Me.LblInfo.Text = ""LblInfo.Text &= "KeyCode: " & _

    e.KeyCode.ToString & vbCrLf & _"KeyData: '" & e.KeyData.ToString & _vbCrLf & "KeyValue: " & e.KeyValue

    End Sub

    Private Sub TxtKey_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles TxtKey.KeyPress

    Me.TxtKey.Text = ""Me.Text = "Key: " & e.KeyChar

    End SubEnd Class

    Coding Form Mouse :Public Class FrmMouse

    Sub Clear()LblMouseLeft.Text = "-"LblMouseMiddle.Text = "-"LblMouseRight.Text = "-"

    End Sub

    Private Sub FrmMouse_MouseDown(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.MouseEventArgs) Handles Me.MouseDown

    If e.Button = Windows.Forms.MouseButtons.Left ThenLblMouseLeft.Text = "Left Click"

    ElseIf e.Button = Windows.Forms.MouseButtons.Middle ThenLblMouseMiddle.Text = "Middle Click"

    ElseIf e.Button = Windows.Forms.MouseButtons.Right ThenLblMouseRight.Text = "Right Click"

    End IfEnd Sub

    Private Sub FrmMouse_MouseMove(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.MouseEventArgs) Handles Me.MouseMove

    Me.Text = "X = " & e.X.ToString() & _", Y = " + e.Y.ToString()

    End Sub

    Private Sub FrmMouse_MouseWheel(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel

    If e.Delta > 0 ThenMe.Text = "Up Scrolling"Clear()

    ElseMe.Text = "Down Scrolling"Clear()

    End IfEnd Sub

    Private Sub FrmMouse_Load(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles MyBase.Load

  • 23

    Call Clear()End Sub

    End Class

    Coding Form Task Manager :Public Class FrmTaskManager

    Sub GetProcess()Me.Lvw.Items.Clear()Dim oProc As New Process

    'mendapatkan semua koleksi current prosesDim oProcess() As Diagnostics.Process = _

    Process.GetProcesses()

    For Each oProc In oProcess'masukan nama proses dan status ke listviewWith Me.Lvw.Items.Add(oProc.ProcessName)

    .SubItems.Add(oProc.Responding.ToString)End With

    Next oProcoProc.Dispose()

    End Sub

    Private Sub BtnNewTask_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles BtnNewTask.Click

    Dim oIdlg As Object, strNew As StringoIdlg = InputBox("Nama Proses: ", _

    "Buat Proses Baru")strNew = DirectCast(oIdlg, String)

    If (strNew.Trim.Length 0) Then'Menjalankan proses baruProcess.Start(strNew)'Reload ProsesCall GetProcess()

    End IfEnd Sub

    Private Sub BtnEndTask_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles BtnEndTask.Click

    Dim oProc As Process, arrProc() As ProcessTry

    If Me.Lvw.SelectedItems.Count = 1 Then'mendapatkan proses berdasarkan namaarrProc = Process.GetProcessesByName( _

    Me.Lvw.SelectedItems(0).Text)For Each oProc In arrProc

    'perintah untuk menuptup sendiriIf oProc.Responding Then

    oProc.CloseMainWindow()Else

    'hentikan segeraoProc.Kill()

    End IfNext oProc

    End IfCatch ex As Exception

    MessageBox.Show(ex.ToString)End Try

  • 24

    End Sub

    Private Sub FrmTaskManager_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load

    Call GetProcess()End Sub

    End Class

    Coding Form Service :Public Class FrmService

    Private selectedSC As ServiceProcess.ServiceControllerPrivate selectedSCName As String

    Private Function GetServiceTable() As DataTableDim dt As New DataTabledt.Columns.Add("Service Name")dt.Columns.Add("Display Name")dt.Columns.Add("Status")

    Dim arrSC() As ServiceProcess.ServiceControllerDim mySC As ServiceProcess.ServiceControllerDim drw As DataRow

    'mendapatkan service disistemarrSC = ServiceProcess.ServiceController.GetServices()

    For Each mySC In arrSCdrw = dt.NewRowdrw.Item("Service Name") = mySC.ServiceNamedrw.Item("Display Name") = mySC.DisplayNamedrw.Item("Status") = mySC.Status.ToStringdt.Rows.Add(drw)

    Next mySCReturn dt

    End Function

    Private Sub LoadService()Threading.Thread.Sleep(5000)Me.grd.DataSource = GetServiceTable()Me.grd.Refresh()Application.DoEvents()

    End Sub

    Private Sub FrmService_Load(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles MyBase.Load

    LoadService()End Sub

    Private Sub RefreshSelected()selectedSC.Refresh()LoadService()

    End Sub

    End Class

  • 25

    Chapter 7VB.NET Database Connection I

    Latihan 1Buatlah sebuah database menggunakan MS Access dengan nama database dbMahasiswa.Kemudian buat sebuah table baru dengan nama TMahasiswa. Berikut struktur tablenya :

    Gambar 7.1

    Koneksi yang akan kita gunakan kali ini adalah dengan menggunakan file DSN. DSN (DataSource Name) adalah sebuah file yang digunakan sebagai sumber data untuk mengkoneksikanantara Database (Back End) dengan VB.NET (Front End). Sebelum membuat program terlebihdahulu kita harus membuat file DSN-nya dulu. Berikut langkah langkah pembuatannya :

    1. Pada Control Panel, klik ganda icon Administrative Tools, kemudian klik gandaData Source (ODBC).

    2. Pilih tab User DSN.3. Lanjutkan pembuatan sumber data baru dengan mengklik Add, dan akan terlihat kotak

    dialog Create New Data Source.4. Karena kita menggunakan database MS access, pilih driver Microsoft Access

    Driver(*.mdb), kemudian klik Finish.5. Langkah selanjutnya adalah menentukan nama DSN dan memilih database MS Access,

    perhatikan contohnya pada gambar 7.2.

  • 26

    Gambar 7.2

    Buat sebuah form dengan tampilan sebagai berikut :

    Gambar 7.3

    Tambahkan sebuah komponen ODBCDataAdapter pada form. Setelah ditambahkan makaakan muncul kotak dialog Data Adapter Wizard. Lakukan konfigurasi pada komponen ini,berikut langkah-langkahnya :

  • 27

    Gambar 7.4

    1. Klik New Connection untuk membuat koneksi baru, kemudian akan terlihat kotakdialog Add Connection. Berikut gambarnya :

    Gambar 7.5

  • 28

    2. Pilih data source namenya dengan nama file DSN yang telah kita buat pada ControlPanel tadi. Jangan lupa mengganti Data Source dengan Microsoft ODBC Data Source(ODBC) dengan mengklik tombol Change.

    3. Kemudian klik Ok.4. Lanjutkan pembuatan koneksi dengan mengklik tombol Next, pilih SQL Statement,

    Next lagi, buat sebuah query dengan Query Builder.5. Kemudian Next dan Finish.

    Coding :Imports System.Data.OdbcImports System.Data

    Public Class Form1

    #Region "Kumpulan Variable"

    Dim Result As IntegerDim connStr As String = "DSN=MyDSN"Dim Conn As OdbcConnection = NothingDim Sql As String = NothingDim ds As DataSet = NothingDim dr As DataRow = NothingDim dt As DataTable = NothingDim currRow As Integer = Nothing

    #End Region

    #Region "Kumpulan Procedure"

    Sub BlankForm()txtNPM.Text = ""txtNama.Text = ""txtJurusan.Text = ""txtNPM.Focus()

    End Sub

    Sub Navigasi(ByVal tombol As Boolean)btnAdd.Enabled = tombolbtnSave.Enabled = Not tombolBtnCancel.Enabled = Not tombolbtnEdit.Enabled = tombolbtnDelete.Enabled = tombol

    End Sub

    Sub ListRecord()Try

    ds = New DataSet("TMahasiswa")Me.OdbcDataAdapter1.Fill(ds)'Menambahkan DataTable ke datasetMe.OdbcDataAdapter1.FillSchema(ds, SchemaType.Source,

    "TMahasiswa")'Menggunkan commandBuilderDim cmdBuild As OdbcCommandBuilder = New

    OdbcCommandBuilder(OdbcDataAdapter1)currRow = 0ShowData()DGView.DataSource = dsDGView.DataMember = "TMahasiswa"

  • 29

    Catch ex As ExceptionMsgBox(ex.Message.ToString)

    End TryNavigasi(True)

    End Sub

    Sub ShowData()txtNPM.Text = ds.Tables("TMahasiswa").Rows(currRow) _

    ("npm").ToString()txtNama.Text = ds.Tables("TMahasiswa").Rows(currRow) _

    ("nama").ToString()txtJurusan.Text = ds.Tables("TMahasiswa").Rows(currRow) _

    ("jurusan").ToString()End Sub

    Sub Refresh_ODBC()Try

    ds = New DataSetOdbcDataAdapter1.Fill(ds)currRow = 0Call ShowData()Navigasi(True)

    Catch ex As ExceptionMsgBox("Error : " & ex.Message)

    End TryEnd Sub

    Sub saveData()dt = ds.Tables("TMahasiswa")Try

    dr = dt.NewRow()dr("npm") = txtNPM.Textdr("nama") = txtNama.Textdr("jurusan") = txtJurusan.Text

    dt.Rows.Add(dr)

    OdbcDataAdapter1.Update(ds, "TMahasiswa")DGView.Refresh()

    Catch ex As ExceptionMsgBox("Insert Err : " & ex.Message)

    End TryEnd Sub

    Sub editData()dt = ds.Tables("TMahasiswa")Try

    dr = dt.Rows.Find(txtNPM.Text)dr.BeginEdit()dr("npm") = txtNPM.Textdr("nama") = txtNama.Textdr("jurusan") = txtJurusan.Textdr.EndEdit()OdbcDataAdapter1.Update(ds, "TMahasiswa")DGView.Refresh()

    Catch ex As ExceptionMsgBox("Edit Error : " & ex.Message)

    End TryEnd Sub

    Sub deleteData()

  • 30

    dt = ds.Tables("TMahasiswa")Try

    dr = dt.Rows.Find(txtNPM.Text)dr.Delete()OdbcDataAdapter1.Update(ds, "TMahasiswa")DGView.Refresh()

    Catch ex As ExceptionMsgBox("Delete Error : " & ex.Message)

    End TrycurrRow = ds.Tables("TMahasiswa").Rows.Count - 1Call ShowData()

    End Sub

    #End Region

    #Region "Kumpulan Event"

    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnSave.Click

    Call saveData()Navigasi(True)

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load

    Call ListRecord()End Sub

    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles btnAdd.Click

    Call BlankForm()Navigasi(False)

    End Sub

    Private Sub BtnCancel_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles BtnCancel.Click

    Call ListRecord()Navigasi(True)

    End Sub

    Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnEdit.Click

    Call editData()End Sub

    Private Sub btnNext_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnNext.Click

    If currRow < ds.Tables("TMahasiswa").Rows.Count - 1 ThencurrRow += 1

    End IfCall ShowData()

    End Sub

    Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnFirst.Click

    currRow = 0Call ShowData()

    End Sub

    Private Sub btnPrevious_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles btnPrevious.Click

  • 31

    If currRow > 0 ThencurrRow -= 1

    End IfCall ShowData()

    End Sub

    Private Sub btnLast_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnLast.Click

    currRow = ds.Tables("TMahasiswa").Rows.Count - 1Call ShowData()

    End Sub

    Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnDelete.Click

    Dim msg As DialogResultmsg = MessageBox.Show("Yakin mau menghapus data Mahasiswa " &

    _

    "dengan NPM : " & txtNPM.Text & "..??", _

    "Konfirmasi", MessageBoxButtons.YesNo,_

    MessageBoxIcon.Question, _MessageBoxDefaultButton.Button2)

    TryIf (msg = DialogResult.Yes) Then

    Call deleteData()End If

    Catch ex As ExceptionMsgBox("Gagal : " & ex.Message)

    End TryEnd Sub

    Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnSearch.Click

    Dim Result As String = NothingCall ListRecord()

    TryWhile Result txtSearch.Text

    Result =ds.Tables("TMahasiswa").Rows(currRow)("npm").ToString

    currRow += 1End While

    Catch ex As ExceptionMsgBox("Data Tidak ada", 64, "Mesin Pencari")txtSearch.Text = ""txtSearch.Focus()

    End Try

    currRow -= 1ShowData()

    End Sub

    #End Region

    End Class

  • 32

    Chapter 8VB.NET (Crystal Report Approaching)

    Latihan 1Pada Latihan ini kita akan membuat sebuah laporan menggunakan Crystal Report. Kali ini kitaakan membuat laporan database mahasiswa. Program yang dari pertemuan sebelumnya.Langkah langkah yang harus kita lakukan dalam pembuatan report atau laporan ini adalahsebagai berikut :

    1. Tambahkan komponen Crystal Report pada program.2. Selanjutnya lakukan setting pada komponen tersebut.

    Lakukan seting awal sesuai dengan gambar diatas.3. Seting koneksi dengan mengklik folder New Connection ODBC(RDO)

  • 33

    4. Setelah diklik maka akan muncul kotak dialog Data Source Selection. Pilih DSN yangtelah kita buat sebelumnya (MyDSN), kemudian klik Next Finish

    5. setelah itu akan muncul kotak dialog yang awal tadi, lakukan seting seperti gambarberikut :

  • 34

    6. Klik Finish.7. Tambahkan sebuah komponen lagi, yaitu CristalReportViewer, kemudian tanamkan

    pada form. Berikut gambar designnya :

  • 35

    8. Tambahkan sebuah procedure untuk menampilkan report tersebut.

    Sub Tampil_Report()Dim rpt As New CrystalReport1Try

    Me.CrystalReportViewer1.ReportSource = rptCatch ex As Exception

    MessageBox.Show(ex.Message.ToString)End Try

    End Sub

    9. Panggil procedure Tampil_Report pada event form Load, save, edit dan delete.

  • 36

    Chapter 9VB 6.0 Database Connection I

    Latihan 1Buatlah sebuah database menggunakan MS Access dengan nama database dbPenjualan.Kemudian buat sebuah table baru dengan nama TBarang. Berikut struktur tablenya :

    Gambar 7.1

    Koneksi yang akan kita gunakan kali ini adalah dengan menggunakan file DSN. DSN (DataSource Name) adalah sebuah file yang digunakan sebagai sumber data untuk mengkoneksikanantara Database (Back End) dengan VB.NET (Front End). Sebelum membuat program terlebihdahulu kita harus membuat file DSN-nya dulu. Berikut langkah langkah pembuatannya :

    6. Pada Control Panel, klik ganda icon Administrative Tools, kemudian klik gandaData Source (ODBC).

    7. Pilih tab File DSN.8. Lanjutkan pembuatan sumber data baru dengan mengklik Add, dan akan terlihat kotak

    dialog Create New Data Source.9. Karena kita menggunakan database MS access, pilih driver Microsoft Access

    Driver(*.mdb), kemudian klik Finish.10. Langkah selanjutnya adalah menentukan nama DSN dan memilih database MS Access,

    perhatikan contohnya pada gambar 7.2.

    Buat sebuah form dengan tampilan sebagai berikut :

    Gambar 7.3

  • 37

    Tambahkan sebuah komponen Adodc pada form, dan lakukan seting koneksi database padakomponen tersebut. Berikut langkah langakah koneksinya :

    1. Klik kanan pada komponen Adodc kemudian klik Adodc Properties.2. Pada Tab General pilih Use Data Link File kemudian Browse file DSN yang telah kita

    buat sebelumnya. Lihat gambar berikut :3.

    4. Kemudian pilih Tab RecordSource. Pada ComboBox Command Type pilih pilihan 2-adTmdTable, pada comboBox Table pilih table database yang akan ditampilkan atauyang akan diproses. Lihat gambar berikut :

    5. Klik OK.

    Coding :Sub hitungHargaTotal()

    On Error Resume NextIf txtHargaSatuan.Text = "" Then

    txtHargaTotal.Text = ""Else

    txtHargaTotal.Text = Val(txtHargaSatuan.Text * txtStock.Text)End If

  • 38

    End Sub

    Sub Blankform()txtKodeBarang.Text = ""txtNamaBarang.Text = ""txtStock.Text = ""txtHargaSatuan.Text = ""txtHargaTotal.Text = ""

    End Sub

    Sub Navigasi(Tombol As Boolean)cmdNew.Enabled = TombolcmdSave.Enabled = Not TombolcmdCancel.Enabled = Not TombolcmdEdit.Enabled = TombolcmdDelete.Enabled = TombolcmdClose.Enabled = Tombol

    End Sub

    Sub Navigasi2(Tombol As Boolean)cmdFirst.Enabled = Not TombolcmdLast.Enabled = Not TombolcmdBack.Enabled = Not TombolcmdNext.Enabled = Not Tombol

    End Sub

    Sub ListRecord()txtKodeBarang.Text = adoBarang.Recordset!kode_barangtxtNamaBarang.Text = adoBarang.Recordset!nama_barangtxtStock.Text = adoBarang.Recordset!stocktxtHargaSatuan.Text = adoBarang.Recordset!harga_satuantxtHargaTotal.Text = adoBarang.Recordset!harga_total

    End Sub

    Private Sub cmdBack_Click()adoBarang.Recordset.MovePreviousIf adoBarang.Recordset.BOF Then

    adoBarang.Recordset.MoveNextMsgBox "Ini yang pertama", vbInformation, "Data Barang"

    End IfCall ListRecord

    End Sub

    Private Sub cmdCancel_Click()adoBarang.Recordset.MoveLastadoBarang.Recordset.DeleteadoBarang.Recordset.MoveFirstCall ListRecordNavigasi TrueNavigasi2 False

    End Sub

    Private Sub cmdClose_Click()On Error Resume NextUnload Me

    End Sub

    Private Sub cmdDelete_Click()Dim Hapus As String

  • 39

    Hapus = MsgBox("Data Barang " & txtNamaBarang.Text & " akandihapus ?", vbInformation + vbOKCancel, "Deleter")

    If Hapus = vbOK ThenadoBarang.Recordset.DeleteadoBarang.Recordset.MoveFirstCall ListRecord

    End IfEnd Sub

    Private Sub cmdEdit_Click()With adoBarang.Recordset

    !kode_barang = txtKodeBarang.Text!nama_barang = txtNamaBarang.Text!stock = txtStock.Text!harga_satuan = txtHargaSatuan.Text!harga_total = txtHargaTotal.Text

    End WithadoBarang.Recordset.UpdateMsgBox "Data telah diupdate", vbExclamation, "Updater"

    End Sub

    Private Sub cmdFirst_Click()adoBarang.Recordset.MoveFirst

    End Sub

    Private Sub cmdLast_Click()adoBarang.Recordset.MoveLast

    End Sub

    Private Sub cmdNew_Click()adoBarang.Recordset.AddNewCall BlankformtxtKodeBarang.Text = "B-"Navigasi FalseNavigasi2 True

    End Sub

    Private Sub cmdNext_Click()On Error Resume NextadoBarang.Recordset.MoveNextIf adoBarang.Recordset.EOF Then

    adoBarang.Recordset.MoveLastMsgBox "Ini yang terakhir", vbInformation, "Data Barang"

    End IfCall ListRecord

    End Sub

    Private Sub cmdSave_Click()With adoBarang.Recordset

    !kode_barang = txtKodeBarang.Text!nama_barang = txtNamaBarang.Text!stock = txtStock.Text!harga_satuan = txtHargaSatuan.Text!harga_total = txtHargaTotal.Text

    End With

    MsgBox "Data barang telah disimpan", vbExclamation, "Storager"adoBarang.Recordset.MoveLastCall ListRecord

    End Sub

  • 40

    Private Sub cmdSearch_Click()Dim StrCari As StringStrCari = InputBox("Kode Barang : ", "Searching", "")If StrCari = Empty Then

    MsgBox "Batalkan pencarian"Exit Sub

    End If

    adoBarang.Recordset.MoveFirstadoBarang.Recordset.Find ("kode_barang='" & StrCari & "'")If adoBarang.Recordset.EOF Then

    MsgBox " Data Barang ga da", vbInformation, "Not Found"adoBarang.Recordset.MoveFirstCall ListRecordExit Sub

    End IfEnd Sub

    Private Sub Form_Load()Navigasi TrueadoBarang.RefreshCall ListRecord

    End Sub

    Private Sub txtHargaSatuan_Change()Call hitungHargaTotal

    End Sub

  • 41

    Chapter 10VB 6.0 Data Report

    Latihan 1Buatlah sebuah koneksi yang baru dengan menggunakan Data Environtment, caranya adalahdengan klik kanan pada Project Add Data Environtment. Selanjutnya akan muncul sebuahkotak dialog seperti gambar berikut ini :

    Gambar 1 Data Environment

    Lakukan setting koneksi pada DataEnvironment1 dengan langkah langkah sebagai berikut :

    1. Klik pada Connection1 kemudian ubah properties nama menjadi ConnPenjualan.2. Klik kanan pada ConnPenjualan Properties, maka akan muncul sebuah kotak dialog

    seperti pada gambar dibawah ini :

    Gambar 2 Data Link Properties

    3. Pada Tab Provider, pilih provider sesuai dengan DBMS yang kita gunakan. Karenakita menggunakan MS Access maka kita pilih Microsoft Jet 4.0 OLE DB Provider.

  • 42

    Selanjutnya klik tombol Next, maka kita akan dihadapkan langsung dengan TabConnection seperti pada gambar berikut ini :

    Gambar 3 Connection

    4. Browse database yang telah kita buat, kemudian klik tombol Test Connection. Jikaberhasil maka akan muncul seperti pada gambar berikut :

    Gambar 4 Koneksi berhasil

    5. Klik ok.6. Selanjutnya pada ConnPenjualan, kita akan membuat sebuah Command atau perintah

    yang akan menampilkan table mana yang akan kita tampilkan pada Data Report.Caranya adalah dengan klik kanan pada ConnPenjualan Add Command.

    7. Pada properties Command1 ubah name menjadi CmdPenjualan.8. Pada CmdPenjualan klik kanan Properties dan lakukan beberapa setting. Terlihat

    seperti gambar berikut ini :

  • 43

    Gambar 5 Setting CmdPenjualan

    9. Klik ok.10. Close Data Environment.

    Setelah selesai melakukan koneksi maka kita tambahkan sebuah Data Report. Caranya adalahdengan klik kanan pada Project Add Data Report.

    Lakukan beberapa setting pada data report tersebut :

    1. Ubah nilai beberapa propertiesnya seperti tabel berikut :

    Tabel 1 Data Report Properties

    2. Untuk menampilkan field field table, kita tinggal melakukan drag & drop melaluiDataEnvironment1.