indra keren modul belajar vbnet2005 10-6-2012

Post on 09-Aug-2015

535 Views

Category:

Documents

21 Downloads

Preview:

Click to see full reader

TRANSCRIPT

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 1 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Modul belajar sendiri, dibuat sendiri & untuk yang mau belajar sendirian aja..

Oleh: Indra Erawan Sanjaya,Skom

VBNet 2005 &

SQL 2005

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 2 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

PDF ini diupdate tanggal:

10-juni-2012

(b)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 3 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

DAFTAR ISI

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 4 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

KONTAK:

Indra Erawan Sanjaya,Skom CIRI-CIRI: Keren, ganteng manis, imut, manis, penyayang, tegar, lucu, lincah, murah senyum, idaman wanita.. dll dll Banyak yang bilang ane Mirip banget sama artis afgan,, DARI MANA: Dari kuliah sudah senang & mulai ngajar Jadi sampe sekarang pun masih suka ngajar HARI-HARI: Aktivitas sehari-hari adalah programmer khusus untuk system di PABRIK (manufacture) Suka bolak-balik ke pt-pt di kawasan bekasi (ejip, jababeka, delta..) buat jualan mie ayam... heheehee Membuat system untuk pabrik dengan nama system : MySYSTEM FOTONYA ane pas kuliah di Gunadarma:

( foto ane pas masih kuliah di Gunadarma depok )

Stttt..... foto ini harap di

rahasiakan, tidak semua

orang tahu akan hal ini..

apalagi media Infotaiment

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 5 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

KONTAK ANE:

Im3:

0857.73.59.59.69 (terima Transafer PULSA, yg transfer pulsa akan ane catat NAMA+KELAS nya.. hehehehe)

Email untuk surat menyurat ane:

Indraes.ok@ gmail.com

yang mau curhat, konsultasi pemograman bias sms/telp/imel/fb inbox ane...

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 6 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

foto-foto keren:

Waktu SMA (keren abizzz):

Waktu KULIAH (ganteng nya masih ada banyak..)

Nah ini yang sekarang,sisa2 gantengnya masih ada loh..

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 7 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 8 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Web ane :

www.mysystem-indonesia.com

web yang menjual program untuk perusahaan manufacture | masih BETA

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 9 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 10 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

VB Net

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 11 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 12 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Hal2 versi VbNet & Database

VERSI VISUAL BASIC: 1. VB 4, VB 5, 2. VB 6 masih tetap digunakan 3. VB Net 2002, VB Net 2003 4. VB Net 2005 pengguna VBNet minimal pake versi 2005 5. VB Net 2008, VB Net 2010

VERSI DATABASE ACCESS:

1. Access 97 (Office 97), Access 2000 (Office 2000) 2. Access 2003 (Office 2003) bagus untuk pemograman (disarankan) 3. Access 2008 (office 2008), Access 2010 (Office 2010)

VERSI DATABASE SQL SERVER:

1. SQL server 7 2. SQL server 2000 ada kendala koneksi di windows7 3. SQL server 2005 minimal versi sekarang, banyak digunakan 4. SQL server 2008

VERSI DATABASE SQL SERVER (GRATIS –tidak perlu bayar LISENSI):

1. SQL server 2005 EXPRESS ringan digunakan dibandingkan 2008 2. SQL server 2008 EXPRESS

Ket: Microsoft memang mengeluarkan versi EXPRESS, jadi FREE, tidak perlu bayar, bebas digunakan

untuk akademis, pribadi ataupun bisnis.. (Lumayan)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 13 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

File project (utama) VBNet

File utama project VBNet mempunyai EXTENTION = VBPROJ (kalo di VB6: ber-extensi .VBP)

Klik 2x file ini untuk langsung membuka vbnet

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 14 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

P e n t I n g…… (Start-up form)

Mengatur FORM AWAL yang akan di

RUNNING

1. Klik 2x My Project , atau dari menu = PROJECT + PROPERTIES 2. Muncul form diatas…. Pilih START-UP FORM, pilih form nya deh..

1

2

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 15 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Beberapa Code-code dasar

perbedaan VB6 & VBNet

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 16 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Beberapa perbedaan code

VB6 & VBNet

Ingat: VBNet TIDAK ADA CAPTION lagi.. gantinya TEXT Ingat: di VBNET penulisan PROPERTIES harus lengkap (contoh: TextBox1=”OK”

TextBox1.Text=”OK”)

MENUTUP FORM

Unload me Me.close

FORM : MENAMPILKAN FORM

Form1.Show Form1.Show()

FORM : MENAMPILKAN FORM SECARA MODAL (Focus)

Form1.Show (1) Form1.ShowDialog()

Mouse,Cursor,Bersihkan data

MOUSE : MERUBAH BENTUK MOUSE SAAT PROSES

Screen.MousePointer = vbHourglass System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Help

MELETAKKAN KURSOR

Text1.Setfocus TextBox1.Focus()

ME-NGOSONGKAN DATA YANG ADA DI TEXTBOX,dll

Text1=”” TextBox1.Clear ….atau

TextBox1.Text=””

Mengecek Penekanan Tombol Keyboard

PENEKANAN TOMBOL, MENGECEK TOMBOL APA YANG DI TEKAN Contoh :

di TEXTBOX3 akan di CEK, apakah tombol ENTER di tekan.

Lokasi kode = TEXTBOX3 – KEYDOWN

If KEYCODE = VBKEYReturn Then

Msgbox “TOMBOL ENTER DI TEKAN”

End If

di TEXTBOX3 akan di CEK, apakah tombol ENTER di tekan.

Lokasi kode = TEXTBOX3 – KEYDOWN

IF e.KeyCode = Keys.Return Then

Msgbox “TOMBOL ENTER DI TEKAN”

End If

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 17 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Mengecek Penekanan Tombol Keyboard dg SENDKEYS

PENEKANAN TOMBOL, MENGECEK TOMBOL APA YANG DI TEKAN

Contoh :

di TEXTBOX3 akan di CEK, apakah tombol

ENTER di tekan.

Lokasi kode = TEXTBOX3 – KEYDOWN

If KEYCODE = VBKEYReturn Then SENDKEYS “{TAB}”

End If

di TEXTBOX3 akan di CEK, apakah tombol ENTER di tekan.

Lokasi kode = TEXTBOX3 – KEYDOWN

IF e.KeyCode = Keys.Return Then

SendKeys.Send("{TAB}") End If

LOOPING : WHILE Contoh :

WHILE …. WEND WHILE … END WHILE

COMBO Box

COMBO BOX

Combo1.Clear Combo1.AddItem “IT”

Combo2.AddItem “OM”

ComboBox1.Items.Clear ComboBox1.Items.Add(“IT”)

ComboBox1.Items.Add(“OM”)

Lokasi Default Project

PROJECT : MENGAMBIL LOKASI PROJECT Contoh :

App.path Dim Lokasi As String

Lokasi = Application.StartupPath

(atau)

Lokasi = System.Environment.CurrentDirectory

M s g B o x, I n p u t B o x

KOTAK PESAN MASIH SAMA, SEDIKIT BEDA UNTUK ICON DAN KOTAK

Contoh :

Tanya=Msgbox(“INGIN KELUAR?”,VbQuestion+VbYesNo)

If Tanya=VbYes Then Unload me

End if

Dim Tanya As String

Tanya = MsgBox("KELUAR?", MsgBoxStyle.Question + MsgBoxStyle.YesNo)

If Tanya = vbYes Then Me.Close() End If

Bentuk lain;

MessageBox.Show("Programmer: IndraES", "Info",

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 18 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

MessageBoxButtons.OK, MessageBoxIcon.Information)

KOTAK INPUTBOX MASIH SAMA

Nama=Inputbox (“Nama kamu sapaaa?”)

MsgBox nama,VbInformation

Dim nama As String

nama = InputBox("Nama kamu siapa..?")

MsgBox(nama, MsgBoxStyle.Information)

Code ERROR

ERROR

On Error resume next

Atau: On Error Goto Cek

..

.. Exit sub

Cek:

Msgbox ERR.Description

Code yang lama bisa digunakan:

ON ERROR RESUME NEXT

On Error Goto Cek

..

.. Exit Sub

Cek:

Msgbox ERR.Description

Code baru:

Try

' ---kode yg ingin di cek

' ... Catch e As Exception

' Handle any exceptions.

' ... Finally

' The stream should be closed whether or not error

End Try

Format Angka, Tanggal & Jam

FORMAT ANGKA

Dim a as Double

A=10000 B=Format(a,”###.###,00”) 100.000,00

Yang lama bisa di gunakan:

Label1.Text = Format(Jml, "#,##0")

Yang Baru:

Dim a As String = 100000

Me.Text = FormatNumber(a) 100,000.00 Me.Text = FormatNumber(a,4) 100,000.0000

Me.Text = FormatNumber(a,0) 100,000

FORMAT TANGGAL DAN JAM

Msgbox DATE Me.Text = "ShortTime :" & FormatDateTime(Now, DateFormat.ShortTime)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 19 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Msgbox Format(DATE,”dd-MMM-

yyyy”)

Format (DATE,”dd”) Format (DATE,”MMM”)

Format(DATE,”yyyy”)

Msgbox Day(Date)/ Month(Date)/ Year(Date)

Msgbox Hour(Time)/ Minute(Time)/ Second(Time)

HH:MM

Me.Text = "LongTime :" & FormatDateTime(Now, DateFormat.LongTime) HH:MM:SS

Me.Text = "ShortDate :" & FormatDateTime(Now, DateFormat.ShortDate) dd-MMM-yyyy Me.Text = FormatDateTime(Now, DateFormat.LongDate) dd-MMMM-yyyy

Me.Text = "GeneralDate :" & FormatDateTime(Now, DateFormat.GeneralDate)

dd-MMMM-yyyy HH:MM:SS Me.LBL_jam.Text = Now dd-MMM-yyyy HH:MM:SS

Me.Label8.Text = "Now.date :" & Now.Date dd-MMM-yyyy Me.Label9.Text = "Now.day :" & Now.Day dd

Me.Label10.Text = "Now.month :" & Now.Month mm Me.Label11.Text = "Now.year :" & Now.Year yyyy

Me.Label12.Text = "Now.hour :" & Now.Hour HH

Me.Label13.Text = "Now.minute :" & Now.Minute MM Me.Label14.Text = "Now.second :" & Now.Second SS

Me.Label15.Text = "Now.Millisecond :" & Now.Millisecond Milisecond /1000 Me.Label16.Text = "Now.DayOfWeek :" & Now.DayOfWeek urutan hr dlm 1 mg

(SENIN=1, SELASA=2,… MINGGU=7) Me.Label22.Text = "Now.DayOfYear :" & Now.DayOfYear urutan hr dlm 1 thn

FUngsi FORMAT masih bisa digunakan…

M D I Form

MDI : MEMBUAT FORM PARENT MDI

-Dari menu PROJECT + Add Form + pilih MDI

-Buka FORM + (PROPERTIES) .IsMDIContainer = TRUE

-form ini dijadikan form UTAMA yang menaggil FORM2

lainnya, pada saat memanggil FORM lainnya yg akan di

jadikan MDI CHILD bari diketikkan KODE dibawah ini …

MDI : MEMBUAT FORM CHILD MDI

-Buka FORM + (PROPERTIES) .MDIChild = TRUE

-Membuat FORM menjadi MDI CHILD dengan CODE, bukan

dengan mengatur PROPERTIES. Tapi dengan CODE sbb:

Code FORM MDI Child:

Dim MyChild As New Form1

MyChild.MdiParent = Me MyChild.Show()

MyChild.Text = "Halo ini Form MDI Child"

-Code di letakkan di PEMANGGILAN FORM, misalnya

pada MENU yang memanggil/memunculkan FORM, FORM

yg muncul jadi MDI

-FORM yg memanggil jadi FORM PARENT

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 20 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

MENU EDITOR dan FLOATING MENU

MENU : MEMUNCULKAN FLOATING MENU di FORM

PopUpMenu MenuReport

●Jika di di form ,maka MUNCUL FLOATING menu

●Floating menu memerlukan componen CONTEXTMENUSTRIP

Me.ContextMenuStrip1.Show(System.Windows.Forms.Cursor.Position.X,

System.Windows.Forms.Cursor.Position.Y)

●kalo CODE untuk MENG-AKTIF kan salah satu MENU=

DataMasterToolStripMenuItem.ShowDropDown()

…akan d update terus

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 21 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Yooook... Mulai latihan

VbNet Tanpa

Database

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 22 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat project baru

Bukalah visual studio net

Nanti akan muncul tampilan awal untuk project sbb

Untuk membuat PROJECT BARU : klik CREATE PROJECT

Untuk membuka PROJECT : klik OPEN PROJECT atau biasanya sudah ada daftar diatas jadi tinggal di klik aja

Lalu muncul kotak NEW Project

1

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 23 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

1. Ketik nama FILE PROJECT nya

2. Tentukan LOKASI tempat folder nya, klik tombol BROWSE

3. Jika sudah klik TOMBOL OK

4. Program visual basic Net sudah siap dehhhhhhhhh..

1

2

3

Form design

Toolbox

Project, form,

modul, dll

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 24 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Latihan 1 Materi yang di dapat Keterangan

1. Fungsi mengosongkan textbox

2. Ber-pindah antar TEXTBOX (di ENTER) atau fungsi TAB INDEX

3. Menggunakan perintah ISNUMERIC untuk cek angka

4. Format angka RIBUAN dan DESIMAL dg FORMAT()

5. Keluar form dengan KONFIRMASI pertanyaan

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 25 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

SETINGAN PROPERTIES:

LABEL

Properties Keterangan

TEXT Untuk ngetik text nya

AUTOSIZE=False Agar bias dirubah ukurannya

BACKCOLOR=Transparant Agar backgraound warna transparan

TEXTALIGNMENT Jenis kerataan/ posisi

IMAGE Untuk ambil/memberi gambar pada label

IMAGEALIGMENT Untuk posisi gambar

PICTUREBOX Terkadang object di VBNET mucul SEGITIGA KECIL, ini adalah setingan pokok

Properties Keterangan

CHOOSE IMAGE Ambil gambar

SIZE MODE Pengaturan ukuran gambar

TEXTBOXBOX

Properties Keterangan

TEXT Untuk ngetik text nya

FONT Pengaturan huruf (model,efek,dll)

FORECOLOR Warna huruf

MAXLENGTH Panjang maximal input data

PASSWORD CHART Symbol untuk password agar tidak terbaca

BUTTON

Properties Keterangan

TEXT Untuk ngetik text nya

TEXT ALIGMENT Posisi text

IMAGE Ambil gambar

IMAGE ALIGMENT Posisi gambar

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 26 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CODE-CODE PROCEDURE:

Procedure kosong untuk mengosongkan textbox

Sub KOSONG() Me.TextBox1.Clear()

Me.TextBox2.Clear()

Me.TextBox3.Text=””

END SUB

CODE-CODE :

Code: TOMBOL KOSONG

CALL KOSONG '/ panggil procedure kosongkan textbox

Me.TextBox1.Focus()

Code: TOMBOL PROGRAMMER

'/ Menampilkan info program dengan MSGBOX

MsgBox("Dibuat oleh: IndraES Keren", MsgBoxStyle.Information)

Code: TOMBOL EXIT

'/ munculkan KOTAK KONFIRMASI untuk KELUAR FORM

Dim Indra_IMUT As String

Indra_IMUT = MsgBox("MAU UDAHAN YAH?", MsgBoxStyle.Question + MsgBoxStyle.YesNo)

If Indra_IMUT = vbYes Then

Me.Close() „/Close tutup form

End If

Catatan:

Me.CLOSE keluar dari form, form nya close, program masih jalan.

Tapi Kalo form Cuma ada 1 maka form keluar & program keluar END keluar dari program, program akan berhenti,keluar,selesai..

.FOCUS taro

kursor di textbox

.Clear

kosongkan object

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 27 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code: TOMBOL HITUNG TAMBAH (+)

'/penjumlahan

Me.TextBox3.Text = Val(Me.TextBox1.Text) + Val(Me.TextBox2.Text)

Code: TOMBOL HITUNG KURANG ( - )

'/ contoh mengecek data yg di input untuk kalkulasi

'/ apakah yg diinput ANGKA atau BUKAN

If IsNumeric(Me.TextBox4.Text) = False Then MsgBox("INPUT DATA DENGAN ANGKA..", MsgBoxStyle.Information)

Me.TextBox4.Focus()

Exit Sub

End If

If IsNumeric(Me.TextBox5.Text) = False Then MsgBox("INPUT DATA DENGAN ANGKA..", MsgBoxStyle.Information)

Me.TextBox5.Focus()

Exit Sub „/keluar dari sub kembali ke form

End If

Me.TextBox3.Text = Val(Me.TextBox1.Text) - Val(Me.TextBox2.Text)

Code: TOMBOL HITUNG PERKALIAN ( * )

Me.TextBox3.Text = Me.TextBox1.Text * Me.TextBox2.Text

Code: TOMBOL HITUNG PEMBAGIAN ( / )

'/ hasilnya menggunakan format ribuan dan DESIMAL

Dim MANIS_deh As Double

MANIS_deh = Val(Me.TextBox10.Text) / Val(Me.TextBox11.Text)

Me.TextBox12.Text = Format(MANIS_deh, "#.00") '/2 digit desimal

VAL fungsi untuk

merubah string ke numeric

IsNumeric fungsi untuk cek apakah

yg di input angka

numeric?

Format fungsi

format angka, tgl, jam, dll

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 28 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 29 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

UPGRADE code: Membuat KOSONG otomatis

Procedure kosong TextBox otomatis (di lokasi tertentu) Public Sub KOSONG_aja(ByVal obj As Object)

'#object diisi bergantung dimana text itu diletakkan,

'misal didalam groupbox pemanggilan jadi : call KOSONG(Me.groupbox)

'didalamForm : call KOSONG(Me))

For Each ctl As Control In obj.controls

If TypeOf ctl Is TextBox Then

ctl.Text = ""

End If

Next

End Sub

Kode lainnya;

Procedure kosong TextBox otomatis (semua TEXTBOX)

Public Sub KOSONG_all(ByVal ctr As Control)

'/-------------------------------------------------------------/

'/ PANGGIL/CEK SEMUA TEXTBOX, WALAUPUN ADA DI DALAM GROUP

'/-------------------------------------------------------------/

'Untuk pemanggilan fungsinya :

'For Each ctrl As Control In Me.Controls

'objClass.RecurseControl(ctrl)

'Next

If TypeOf ctr Is TextBox Then

ctr.Text = ""

End If

If ctr.HasChildren Then

For Each c As Control In ctr.Controls

KOSONG_all(c)

Next

End If

End Sub

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 30 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 31 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 32 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

(1).Membuat CURSOR pindah antar textbox pas di ENTER

(menggunakan TAB )

Langkahnya: 1. Aturlah TAB INDEX di PROPERTIES disetiap TEXTBOX menjadi urutan. Urutan ini

dijadikan URUTAN PINDAH CURSOR. (dari: 1,2,3,4…seterusnya)

Jika di TEXTBOX1 di ENTER,

maka CURSOR pindah ke

TEXTBOX2

1

2

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 33 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

..begitu seterusnya, buatlah urutan angka di TABINDEX sbg inisial urutan perpindahan cursor nya

Code:

Code di : TEXTBOX1 – KEYDOWN

'/ cek; jika ENTER ditekan, maka lakukan TAB

'/ yaitu PINDAH KE TABINDEX berikutnya

If e.KeyCode = Keys.Enter Then

SendKeys.Send("{TAB}") End If

Code di : TEXTBOX2 – KEYDOWN

If e.KeyCode = Keys.Enter Then

SendKeys.Send("{TAB}") End If

..code begitu seterusnya, di setiap textbox

3

4 2

Sendkeys perintah untuk mengirim

penekanan tombol keyboard ke komp (jadi

kita seakan2 menekan tombol keyboard)

Keycode untuk memeriksa tombol

apa yang di tekan oleh user

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 34 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Keuntungan menggunakan SENDKEYS :

CODE disetiap textbox / combobox SAMA SendKeys.Send("{TAB}")

Mudah dalam mengatur URUTAN CURSOR, hanya mengatur properties TABINDEX nya sahaja

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 35 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

(2).Membuat CURSOR pindah antar textbox pas di ENTER

(menggunakan ENTER )

Untuk berpindah cursor dengan menggunakan ENTER (bukan sendkeys) tidak ada yang diatur, langsung di ketik CODE nya di setiap TEXTBOX nya Text1 ke text2

Code di : TEXTBOX1 – KEYDOWN

'/ cek;apakah ENTER di tekan?

'/ jika ENTER di tekan, maka taro KURSOR di TEXTBOX berikutnya

If e.KeyCode = Keys.Enter Then „/apakah ENTER ditekan di Text7 ???

Me.TextBox2.Focus() „/jika YA, taro cursor di Text8 End If

Text2 ke text3

Code di : TEXTBOX2 – KEYDOWN

'/ cek;apakah ENTER di tekan?

'/ jika ENTER di tekan, maka taro KURSOR di TEXTBOX berikutnya

If e.KeyCode = Keys.Enter Then „/apakah ENTER ditekan di Text8 ???

Me.TextBox3.Focus() „/jika YA, taro cursor di Text9 End If

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 36 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Latihan 2 Materi yang di dapat Keterangan

1. Buatlah form untuk input nilai siswa

2. Gunakan ENTER untuk pindah antar textbox

3. Gunakan fungsi ISNUMERIC untuk cek input angka

4.

Keterangan: 1.COMBO JURUSAN = INFORMATION TEHNOLOGY, MANAJEMEN INFORMATIKA, 2. hitunglah: TOTAL NILAI = (nilai inggris+vb+sisco) 3. hitunglah: RATA RATA = TOTAL NILAI / 3 4. hitunglah: KETERANGAN: a. jika RATA RATA 61-100 LULUS b. jika RATA RATA 49 – 60 HER

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 37 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

c. jika RATA RATA 0-50 TIDAK LULUS

5. Buatlah PROCEDURE KOSONG untuk mengosongkan textbox 6. Gunakan fungsi ISNUMERIC untuk mengecek angka yang di input di TEXT2, TEXT3, TEXT4

CODE untuk MENGISI COMBOBOX di FORM_LOAD

Code di: FORM _ LOAD

'/ kosongkan form

Call KOSONG()

'/ isi combom jurusn dgn jurusan

With Me.ComboBox1

.Items.Clear()

.Items.Add("TEHNIK KOMPUTER")

.Items.Add("INFO.TEHNOLOGI")

.Items.Add("MANAJEMEN INFORMASI")

End With

.Item.clear kosongkan combobox

.Item.ADD isi combo

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 38 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Latihan 3. Materi yang di dapat Keterangan

1. Ambil tanggal dan jam

2. Memisahkan TAHUN, BULAN, HARI, JAM , MENIT, DETIK

3. Selisih tanggal dan jam

Tanggal & Jam

Timer untuk membuat

TGL,JAM berjalan

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 39 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Tampilan saat running:

PROPERTIES:

DateTimePicker untuk TANGGAL .Format=Custom, CustomFormat=dd/MMM/yyyy

DateTimePicker untuk JAM .Format=Custom, CustomFormat=HH:mm:ss

Pengurangan JAM

untuk PARKIR

Selisih TGL untuk

PEMINJAMAN/SEWA

Maju mundur untuk

JATUH TEMPO

Tgl dan Jam untuk

informasi

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 40 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code – code:

Code di: TIMER - TICK

'bikin tgl dan jam konputer

Me.LBL_tgl.Text = Format(Now, "dd-MMM-yy")

Me.lbl_jam.Text = Format(Now, "HH:mm:ss")

Code di: TOMBOL -AMBIL TGL dan JAM

Dim TANGGAL_JAM As Date 'difinisi varisbel sbg TGL

TANGGAL_JAM = Now 'ambil TGL JAM komputer

Me.TextBox1.Text = Format(Now, "dd-MMM-yy HH:mm:ss")

Me.TextBox2.Text = TANGGAL_JAM.Year

Me.TextBox3.Text = Format(Now, "yy")

Me.TextBox4.Text = TANGGAL_JAM.Month

Me.TextBox5.Text = Format(Now, "MMM")

Me.TextBox6.Text = Format(Now, "MMMM")

Me.TextBox7.Text = Format(Now, "MM")

Me.TextBox8.Text = TANGGAL_JAM.Day 'Format(Now, "dd")

Me.TextBox9.Text = Format(Now, "dddd") 'nama hari

Me.TextBox10.Text = Format(Now, "HH:mm:ss") 'jam komputer

Me.TextBox11.Text = TANGGAL_JAM.Hour

Me.TextBox12.Text = TANGGAL_JAM.Minute

Me.TextBox13.Text = TANGGAL_JAM.Second

Me.TextBox14.Text = TANGGAL_JAM.Millisecond

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 41 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di: TOMBOL HASIL (tahun maju mundur)

'cek apakah inputnya angka?

If IsNumeric(Me.TextBox15.Text) = False Then

MsgBox("INPUT DENGAN ANGKA..", MsgBoxStyle.Information)

Exit Sub

End If

Dim TGL As Date 'variable

Dim TAHUN_maju As Date

TGL = Now 'ambil tgl komputer

TAHUN_maju = TGL.AddYears(Me.TextBox15.Text) 'majukan tahun Me.TextBox16.Text = TAHUN_maju.Date 'tampilkan

'/--------------------------------------------------/

'/metode lain dengan fungsi DATEADD, hasilnya sama

'/--------------------------------------------------/

MsgBox("sekarang dengan fungsi DateAdd....")

TGL = Now 'ambil tgl

TAHUN_maju = DateAdd("yyyy", Val(Me.TextBox15.Text), TGL) 'majukan tahun Me.TextBox16.Text = TAHUN_maju.Date 'tampilkan

Code di: TOMBOL HASIL (bulan maju mundur)

'cek apakah inputnya angka?

If IsNumeric(Me.TextBox17.Text) = False Then

MsgBox("INPUT DENGAN ANGKA..", MsgBoxStyle.Information)

Exit Sub

End If

Dim TGL As Date

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 42 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Dim BULAN_maju As Date

TGL = Now 'ambil tgl komputer

BULAN_maju = TGL.AddMonths(Me.TextBox17.Text) 'majukan tahun Me.TextBox18.Text = BULAN_maju.Date 'tampilkan

'/--------------------------------------------------/

'/metode lain dengan fungsi DATEADD, hasilnya sama

'/--------------------------------------------------/

MsgBox("sekarang dengan fungsi DateAdd....")

TGL = Now 'ambil tgl

BULAN_maju = DateAdd("m", Val(Me.TextBox17.Text), TGL) 'majukan tahun Me.TextBox18.Text = BULAN_maju.Date 'tampilkan

Code di: TOMBOL HASIL (hari maju mundur)

'cek apakah inputnya angka?

If IsNumeric(Me.TextBox19.Text) = False Then

MsgBox("INPUT DENGAN ANGKA..", MsgBoxStyle.Information)

Exit Sub

End If

Dim TGL As Date

Dim HARI_maju As Date

TGL = Now 'ambil tgl

HARI_maju = TGL.AddDays(Me.TextBox19.Text) 'majukan tahun Me.TextBox20.Text = HARI_maju.Date 'tampilkan

'/--------------------------------------------------/

'/metode lain dengan fungsi DATEADD, hasilnya sama

'/--------------------------------------------------/

MsgBox("sekarang dengan fungsi DateAdd....")

TGL = Now 'ambil tgl

HARI_maju = DateAdd("d", Val(Me.TextBox19.Text), TGL) 'majukan tahun Me.TextBox20.Text = HARI_maju.Date 'tampilkan

KET: pake tanda MINUS ( - ) untuk mundur

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 43 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di: TOMBOL HASIL (jam maju mundur)

'cek apakah inputnya angka?

If IsNumeric(Me.TextBox22.Text) = False Then

MsgBox("INPUT DENGAN ANGKA..", MsgBoxStyle.Information)

Exit Sub

End If

Dim TGL As Date

Dim JAM_maju As Date

TGL = Now 'ambil tgl

JAM_maju = TGL.AddHours(Me.TextBox22.Text) 'majukan tahun Me.TextBox23.Text = Format(JAM_maju, "HH:mm:ss") 'tampilkan

'/--------------------------------------------------/

'/metode lain dengan fungsi DATEADD, hasilnya sama

'/--------------------------------------------------/

MsgBox("sekarang dengan fungsi DateAdd....")

TGL = Format(Now, "HH:mm:ss") 'ambil jam

JAM_maju = DateAdd("h", Val(Me.TextBox22.Text), TGL) 'majukan tahun Me.TextBox23.Text = Format(JAM_maju, "HH:mm:ss") 'tampilkan

Code di: TOMBOL HASIL (menit maju mundur)

'cek apakah inputnya angka?

If IsNumeric(Me.TextBox24.Text) = False Then

MsgBox("INPUT DENGAN ANGKA..", MsgBoxStyle.Information)

Exit Sub

End If

Dim TGL As Date

Dim MENIT_maju As Date

TGL = Now 'ambil tgl

MENIT_maju = TGL.AddMinutes(Me.TextBox24.Text) 'majukan tahun Me.TextBox25.Text = Format(MENIT_maju, "HH:mm:ss") 'tampilkan

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 44 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

'/--------------------------------------------------/

'/metode lain dengan fungsi DATEADD, hasilnya sama

'/--------------------------------------------------/

MsgBox("sekarang dengan fungsi DateAdd....")

TGL = Format(Now, "HH:mm:ss") 'ambil jam

MENIT_maju = DateAdd("n", Val(Me.TextBox24.Text), TGL) 'majukan tahun Me.TextBox25.Text = Format(MENIT_maju, "HH:mm:ss") 'tampilkan

Code di: TOMBOL SELISIH (T2 – T1)

'selisih

Dim T1 As Date = Me.DateTimePicker1.Text 'ambil tgl

Dim T2 As Date = Me.DateTimePicker2.Text 'ambil tgl

Dim SELISIH_tgl As TimeSpan 'variable tempat pengurangan tgl

SELISIH_tgl = T2.Date - T1.Date

Me.TextBox21.Text = SELISIH_tgl.TotalDays & " hari"

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 45 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di: TOMBOL SELISIH (T2 – T1)

'/--------------------------------------/

' cari selisih (TOTAL MENIT)

'/--------------------------------------/

Dim Jam1 As DateTime = Me.DateTimePicker3.Text 'ambil jam

Dim Jam2 As DateTime = Me.DateTimePicker4.Text 'ambil jam

Dim SELISIH_jam As TimeSpan 'var.untuk hitungan jam

SELISIH_jam = Jam2 - Jam1

Me.TextBox26.Text = SELISIH_jam.TotalMinutes

'/--------------------------------------/

' cari lama satuan JAM nya (parkir)

'/--------------------------------------/

'variabel buat cari rincian selisih jam

Dim Total_menit As Integer

Dim JAM_nya As Integer

Dim MENIT_nya As Integer

'dipecah menjadi jam

Total_menit = SELISIH_jam.TotalMinutes

JAM_nya = Int(Total_menit / 60)

MENIT_nya = Total_menit Mod 60

Me.TextBox27.Text = JAM_nya & " jam," & MENIT_nya & " menit"

TOMBOL EXIT:

Code di: TOMBOL EXIT

Dim indra As String

indra = MsgBox("MAU KELUAR PROGRAM..?", MsgBoxStyle.Question + MsgBoxStyle.YesNo)

If indra = vbYes Then

End

End If

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 46 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

INFORMASI: Untuk perintah MAJU MUNDUR TANGGAL bisa juga menggunakan fungsi DATEADD

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 47 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Latihan 4. Animasi

Latihan 4 : Animasi

Membuat ANIMASI menggunakan TIMER

Membuat TANGGAL dan JAM

Ambil TIMER lalu tempelkan di Form

Name: PANAH

Name: ROKET

Name: KAPAL Name: SUPERMEN

Name: MATAHARI

Berkedip-kedip genit

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 48 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di TIMER1 – TICK

'----- MEMBUAT TGL dan JAM -----'

Me.LBL_TANGGAL.Text = Format(Now, "dd-MMM-yyyy")

Me.LBL_JAM.Text = Format(Now, "HH:mm:ss")

'----- MATAHARI KEDIP KEDIP -----'

If Second(Now) Mod 2 = 0 Then

Me.MATAHARI.Visible = True

Else

Me.MATAHARI.Visible = False

End If

'===== ANIMASI GERAK ====='

'----- SUPERMEN: KE KIRI -----' Me.SUPERMEN.Left = Me.SUPERMEN.Left - 50

If Me.SUPERMEN.Left + Me.SUPERMEN.Width < 0 Then

Me.SUPERMEN.Left = Me.Width

End If

'----- KAPAL: KE KANAN -----' Me.KAPAL.Left = Me.KAPAL.Left + 50

If Me.KAPAL.Left > Me.Width Then

Me.KAPAL.Left = -Me.KAPAL.Width

End If

'----- ROKET : KE ATAS -----' Me.ROKET.Top = Me.ROKET.Top - 50

If Me.ROKET.Top + Me.ROKET.Height < 0 Then

Me.ROKET.Top = Me.Height

End If

'----- PANAH : KE BAWAH -----' Me.PANAH.Top = Me.PANAH.Top + 50

If Me.PANAH.Top > Me.Height Then

Me.PANAH.Top = -Me.PANAH.Height

End If

NOW= perintah

menampilkan TGL

dan JAM

Gunakan FORMAT

untuk

memisahkan

antara TGL dan

JAM

MOD = operasi

sisa hasil bagi

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 49 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Latihan 5

Latihan 5 : TANGGAL dg fungsi FORMAT

COMPONEN TAMBAHAN :

Tambahkan TIMER

CODE di TIMER1 – Tick

„-----AMBIL TGL dan JAM

Me.Label1.Text = Format(Now, "dd-MMM-yyyy")

Me.Label2.Text = Format(Now, "HH:mm:ss")

„-----AMBIL TGL, BULAN dan TAHUN TANGGAL

Me.Label5.Text = Format(Now, "dd")

Me.Label7.Text = Format(Now, "MMMM")

Me.Label9.Text = Format(Now, "yyyy")

„-----AMBIL JAM, MENIT dan DETIK JAM

Me.Label11.Text = Format(Now, "HH")

Me.Label13.Text = Format(Now, "mm")

Me.Label15.Text = Format(Now, "ss")

FUngsi FORMAT:

sangat bermamfaat untuk memformat

angka. (format tgl, jam, angka

ribuan, angka decimal, dll)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 50 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CODE di TOMBOL JAM MULAI – Click

Me.Timer1.Enabled = True TRUE mengaktifkan timer

CODE di TOMBOL JAM BERHENTI – Click

Me.Timer1.Enabled = False TRUE mematikan timer

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 51 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat

MENU UTAMA, TOOLBAR

& FLOATING

MENU

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 52 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat MENU UTAMA (MenuStrip)

Untuk latihan MENU, tambahkanlah FORM lagi sebanyak 2 form, jadi sekarang ada 3 FORM

AKTIFKAN FORM1 (Klik 2x Form 1)

Tambahkan component : MENUSTRIP

Form :

MENU DATA MOTOR:

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 53 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

SUB MENU: HONDA

SUB MENU: YAMAHA

SUB MENU : SUZUKI

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 54 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

SUB MENU: BAJAJ

DATA MOBIL:

SUB MENU: HONDA

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 55 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

SUB MENU: SUZUKI

SUB MENU: DAIHATSU

MENU KELUAR PROGRAM:

CODE UNTUK MENAMPILKAN FORM2:

Form2.Show()

Ket:

menampilkan FORM 2 yang bukan MDI Child

Form2.ShowDialog()

Ket:

menampilkan FORM 2 yang bukan MDI Child,

secara FOCUS/MODAL

Code: menu EXIT - Click

Dim tanya As String

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 56 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

tanya = MsgBox("Mau keluar program", MsgBoxStyle.Question + MsgBoxStyle.YesNo)

If tanya = vbYes Then

END End If

END selesai

Program

Code: menu PROGRAMMER - Click

Msgbox “Yang buat keren loh” & CHR(13) & “Nama nya: INDRA ES” , MsgBoxStyle.Information Chr(13) Enter

(ganti baris)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 57 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat TOOLBAR (ToolStrip)

Tambahkan COMPONEN : TOOLSTRIP

LAYOUT TOOLBAR:

ToolStrip

Design toolbar

Sub Menu

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 58 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

DESIGN TOOLSTRIP

Properties:

BUTTON

DISPLAY TYPE : menampilkan gambar saja/ gambar + text / Text saja FONT : jenis huruf

Lokasi toolbar

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 59 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

FORE COLOR : warna huruf IMAGE : mengambil gambar menu

IMAGE ALIGN : lokasi gambar

IMAGE SCALING : mengatur UKURAN GAMBAR TEXT : judul huruf

TEXT ALIGN : lokasi huruf TEXT IMAGE RELATION : pengaturan LOKASI huruf & gambar

TOOL TIP TEXT : keterangan text (saat mouse berada dg toolbar)

TEXT DIRECTION : rotasi huruf

ToolStrip DROPDOWN BUTTON (untuk membuat SubMenu)

DROP DOWN ITEMs : untuk membuat SUB MENU

DESIGN SUB MENU:

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 60 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Properties:

ToolStrip TEXT BOX TEXT : judul menu

TEXT BOX TEXT ALIGN : atur rata kiri, tengah, kanan text TOOL TIP TEXT : memunculkan kotak keterangan saat MOUSE berada di MENU

CODE di TOOLSTRIP

Untuk mengetikkan CODE di toolstrip, cukup dengan meng-KLIK 2x pada ICON yang dituju, misalnya KLIK 2x pada icon EXIT

Code: ToolSript: EXIT - Click

Dim tanya As String tanya = MsgBox("Mau keluar program", MsgBoxStyle.Question + MsgBoxStyle.YesNo)

If tanya = vbYes Then

END End If

END selesai

Program

Code: ToolScript PROGRAMMER - Click

Msgbox “Yang buat keren loh” & CHR(13) & “Nama nya: INDRA ES” , MsgBoxStyle.Information Chr(13) Enter

(ganti baris)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 61 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 62 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat FLOATING MENU (ConTextMenuStrip)

Jika FORM di KLIK maka akan MUNCUL FLOATING MENU di POSISI KURSOR MOUSE. Untuk membuat MENU ini maka kita

butuhkan sebuah MENU KHUSUS dg component CONTEXTMENUSTRIP

TAMBAHKAN COMPONEN : ConTextMenuStrip

DESIGN:

DESIGN menu ini sama dengan design MENU pada MENUSCTIP

CODE untuk MEMUNCULKAN ConTextMenuStrip. Jika TOMBOL KANAN MOUSE di KLIK di FORM

ConTextMenuStrip:

Menu khusus untuk

Floating Menu

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 63 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CODE: FORM – Mouse Down

If e.Button = Windows.Forms.MouseButtons.Right Then

Me.ContextMenuStrip1.Show

(System.Windows.Forms.Cursor.Position.X, System.Windows.Forms.Cursor.Position.Y)

End If

ATAU:

Me.ContextMenuStrip1.Show (Cursor.Position.X, Cursor.Position.Y)

Code: ConTextMenuStrip : EXIT PROGRAM - Click

Dim tanya As String

tanya = MsgBox("Mau keluar program", MsgBoxStyle.Question + MsgBoxStyle.YesNo)

If tanya = vbYes Then END

End If

END selesai Program

TAMPILAN Floating Menu saat dijalankan, dan saat MOUSE TOMBOL KANAN di KLIK:

Floating menu

muncul jika klik

kanan mouse di

klik

Nyambung

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 64 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat

MDI FORM

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 65 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat MDI Form

Untuk FORM dalam visual basic dapat dibedakan menjadi 3 jenis:

1. FORM BIASA (Single Form) 2. MDI Form (MDI PARENT)

3. MDI Child Form

CONTOH aplikasi menggunakan MDI: Ms WORD, Excel, dll

MEMBUAT MDI PARENT FORM Untuk latihan MDI, tambahkan FORM sebanyak 5 FORM (jadi ada FORM 1 s/d FORM 5)

AKTIFKAN FORM 1 (Klik 2x Form 1), FORM 1 akan kita jadikan MDI PARENT

Untuk membuat MDI biasa menjadi MDI PARENT FORM ,cukup rubah PROPERTIES : IsMDIContainer = TRUE

Merubah FORM biasa meniadi MDI PARENT Form:

PROPERTIES SETTING

Is MDI Container TRUE

Form biasa menjadi

MDI parent

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 66 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat MENU untuk MDI Form

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 67 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CODE

CODE untuk MENAMPILKAN FORM biasa sebagai FORM MDI CHILD

CODE: Menu : BUKA FORM 2 – Click

‘---MENAMPILKAN FORM BIASA MDI CHILD

Dim Imut As New Form2 Imut.MdiParent = Me Imut.Show()

Ket:

Dim FormChild As New Form2 FORM2 adalah FORM biasa yg akan di MUNCULKAN

FormChild.MdiParent = Me

Me Ini bisa di GANTI dengan NAMA MDI PARENT nya, misalnya MDI PARENT namanya Form1:

FormChild.MdiParent = Form1

CODE: Menu : BUKA FORM 3 – Click ‘---MENAMPILKAN FORM BIASA MDI CHILD

Dim Manis As New Form3 Manis.MdiParent = Me Manis.Show()

begitu seterus nya

FORM3 form child nya, yg di panggil

CODE: Menu : WINDOWS Cascade – Click

‘---MENGATUR FORM CHILD secara CASCADE

Me.LayoutMdi(MdiLayout.Cascade)

Ket:

CASCADE ; mengatur tampilan FORM CHILD secara bertumpuk – puk – puk

CODE: Menu : WINDOWS Vertical – Click

‘---MENGATUR FORM CHILD secara VERTICAL

Me.LayoutMdi(MdiLayout. TileVertical)

Ket:

VERTICAL ; mengatur tampilan FORM CHILD

secara berjajar ke ATAS

CODE: Menu : WINDOWS Horizontal – Click

‘---MENGATUR FORM CHILD secara HORIZONTAL

Me.LayoutMdi(MdiLayout. TileHorizontal)

Ket:

HORIZONTAL ; mengatur tampilan FORM CHILD

secara berjajar ke KESAMPING

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 68 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 69 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

TAMPILAN pada saat program MDI dijalankan:

WINDOWS CASCADE

WINDOWS VERTICAL

WINDOWS HORIZONTAL

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 70 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 71 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

S E L I N G A N

Idih… aa’ …

cilup baaaa

mas Indra ES

senyum nya

wow…

Ah.. ajak makan

siang ah…..

Ih.. akang

indraES.. cute,

mirip Afgan

deh..

Main game

yuk….

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 72 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 73 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Pemograman Database

VBNet

+ SQL server 2005

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 74 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

SYSTEM

BENGKEL MOTOR

Indra bengkel + cuci motor selalu bersih dan rapi sekaleeeeeeeeee

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 75 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

SYSTEM BENGKEL Database SQL Server

DATABASE : BENGKEL

TABLE :

1.PELANGGAN

FIELD TYPE SIZE ALLOWNULL KET

KODE_PELANGGAN varchar 10 PrimaryKey

NAMA_PELANGGAN varchar 50 V

2.BARANG_JASA

FIELD TYPE SIZE ALLOWNULL KET

KODE_BARANG_JASA varchar 10 PrimaryKey

NAMA_BARANG_JASA varchar 30 V

KATEGORI Varchar 10 (JASA/BARANG) HARGA float V

STOK float v

3.SPAREPART_MASUK

FIELD TYPE SIZE ALLOWNULL KET NO_MASUK varchar 10 PrimaryKey

TGL DateTime default

KODE_BARANG varchar 10 v

NAMA_BARANG varchar 30 v JUMLAH flaot default V

4.SERVICE

FIELD TYPE SIZE ALLOWNULL KET

NO_SERVICE varchar 10 PrimaryKey TGL DateTime default

KODE_PELANGGAN varchar 10 v

SUBTOTAL_SERVICE Float

DISCOUNT Float TOTAL_SERVICE flaot

5.SERVICE_RINCIAN

FIELD TYPE SIZE ALLOWNULL KET NO_SERVICE varchar 10 V

KODE_BARANG_JASA varchar 10 V

NAMA_BARANG_JASA varchar 30 V

HARGA float default V

JUMLAH float default V SUBTOTAL float default V

NO_URUT int default PrimaryKey,

Indentity=Yes, Indentity Increment=1

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 76 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 77 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

SQL SERVER 2005

EXPRESS

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 78 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

SQL SERVER 2005 EXPRESS

Pembuatan database & table LOGIN

Keterangan:

Jika menggunakan versi EXPRESS, maka nama server di-ikuti dengan kata2

\SQLEXPRESS

Jadi pada saat pembuatan program sewaktu KONEKSI ke server kata2 \SQLEXPRESS ini ikut juga

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 79 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Database & Table Tampilan SQL Server 2005 (tampilan express dan full sama saja)

Membuat database Klik KANAN di Database + New Database

1

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 80 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

2.Ketik NAMA DATABASE NYA BENGKEL

3.Tentukan LOKASI PENYIMPANAN DATABASE & LOG nya.. klik tombol *…+

4.Jika telah selesai Klik TOMBOL OK… nama database telah dibuat..

2

3

4

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 81 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

5.tampilan SQL Server dengan database baru = BENGKEL

Membuat table 1.Klik KANAN di TABLE + NEW TABLE

5

1

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 82 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

2.Ketiklah nama field, type dan primarykey table tsb

3.klik TOMBOL SAVE (disket) jika telah selesai..; ketiklah NAMA TABLENYA PELANGGAN

2

3

3

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 83 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Input data table pelanggan 1.Klik KANAN di TABLE PELANGGAN + OPEN

Muncul grid untuk input data pelanggan

Inputlah table PELANGGAN sbb: 2.Jika telah SELESAI klik tombol PANAH SERU untuk UPDATE/SAVE…

buatlah table selanjutnya

1

INFO: Design untuk modifikasi field table nya

2

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 84 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

ISI DATA BARANG JASA SBB:

No KODE BARANG JASA NAMA BARANG JASA KATEGORI HARGA

1 J01 JASA SERVICE MOTOR BEBEK JASA 20000

2 J02 JASA GANTI BAN JASA 5000

3 003 BUSI DENSO BARANG 10000

4 004 BUSI YOUTUBE BARANG 12000

5 005 BAN DALAM DEPAN BARANG 12000

6 006 BAN DALAM BELAKANG BARANG 17000

7 007 OLI MESRAN BARANG 27000

8 008 OLI CASTROL BARANG 30000

9 009 OLI TOP ONE BARANG 28000

10 010 BUSI DENSO BARANG 10000

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 85 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 86 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

PENGANTAR TEORI DASAR

Database untuk VBNet

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 87 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

KONEKSI VBNet DataBase

Ada banyak TEHNIK untuk koneksi dari VBNet ke Database (sama juga di VB6)

Dengan ODBC

Dengan OLEDB

ODBC

Menggunakan media WINDOWS sebagai PERANTARA koneksi antara VBNet (Vb6) ke database

Di settinga di dalam CONTROL PANEL + ODBC

MUDAH dalam melakukan seting database; misalnya: merubah2 lokasi server, koneksi, dll

Jadi PROGRAM hanya memanggil NAMA ODBC yang ada di windows..

ODBC sangat mudah digunakan untuk koneksi ke BERBAGAI DATABASE (missal: access, SQL server, mysql, firebird, postgres,oracle… bahkan ke excel)

ODBC juga banyak digunakan oleh program lain diluar VBNet (VB6) untuk koneksi ke server, missal CRYSTAL REPORT, Komponen-komponen tambahan, dll

SEBELUM program di jalankan… kita HARUS membuat dulu koneksi database di CONTROL PANEL + ODBC nya windows setiap user komputer

OLEDB

Membuat KONEKSI langsung dari VBNet/Vb6 ke DATABASE

Di setinga di dalam kode2 program

Jika LOKASI SERVER mengalami perubahan alamat (missal DRIVE,FOLDER,dll) maka setingan di program HARUS dirubah dulu.. (setingan TIDAK FLEXIBEL.. kecuali dibuatkan variable khusus untuk masalah SETINGAN LOKASI SERVER yang berpindah2)

Saya sendiri lebih juka menggunakan ODBC, karena kemudahan setingan server & banyaknya koneksi program luar

menggunakan ODBC (seperti crystal report, tool/komponen tambahan) .. tapi semua kembali ke sang Programmernya

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 88 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Untuk latihan pemograman kita menggunakan ODBC

Namun untuk LATIHAN KONEKSI kedua cara ini akan diberikan juga, agar warga belajar bisa membuat koneksi dari berbagai jenis tehnik

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 89 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

ODBC Membuat koneksi ODBC ke database SQL server 2005

Buka ODBC; control panel + administrative tools + odbc

Tampilan ODBC;

1. Klik TOMBOL ADD… 2.Klik SQL NATIVE client + 3.klik tombol FINISH

1

2

3

Info: SQL Native Client SQL2005 SQL server SQL 2000 SQL server native client 10 SQL2008

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 90 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

4.Name (nama odbc nya) : ODBC_BENGKEL

5.Server (nama server): .\SQLEXPRESS

6.Klik TOMBOL NEXT

..setingan untuk login ke databasenya, jika database pas di install TIDAK PAKE PASSWORD (atau tidak pake

security user database), maka form ini di lewatkan saja.. 7.Klik TOMBOL NEXT

4

5

6

7

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 91 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

8.pilih nama DATABASE yang akan di gunakan

9.klik tombol NEXT

10.klik TOMBOL FINISH

8

9

Ini yang suka

KELUPAAN..yahh

10

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 92 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

11. klik TOMBOL TEST DATA SOURCE (buat tes hasil koneksi) 12.koneksi OK, klik OK.. OK

Selesai…

Hasilnya

Muncul nama yang baru ODBC_BENGKEL

11 12

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 93 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 94 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

LATIHAN 1: BUKA KONEKSI KE DATABASE

Membuat koneksi database dengan ODBC & OLEDB

Code: TOMBOL Tes buka dengan ODBC Dim CONN As New Odbc.OdbcConnection

Dim CMD As New Odbc.OdbcCommand

On Error GoTo CEK

Dim AA As String

AA = "Dsn=ODBC_BENGKEL;” & _

“User ID=;PWD=;” & _

“trusted_connection=Yes;"

CONN = New Odbc.OdbcConnection(AA)

CONN.Open()

MsgBox("KONEKSI OK..", MsgBoxStyle.Information)

Exit Sub

CEK:

MsgBox(Err.Description, MsgBoxStyle.Information, "CONNECTION ERROR")

End

Connectring dengan ODBC; ODBC_BENGKEL adalah nama odbc di control panel LIHAT tidak ada definisi LOKASI SERVER & NAMA DATABASE nya.. karena sudah diseting di ODBC nya.. bukan di code.

(jadi kalo mau ganti LOKASI SERVER tinggal rubah di odbc nya saja)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 95 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code: TOMBOL Tes buka dengan OLEDB

Dim CONN As New OleDb.OleDbConnection

Dim CMD As New OleDb.OleDbCommand

On Error GoTo CEK

Dim AA As String

AA = "Provider=SQLOLEDB;” & _

“Data Source=.\sqlexpress;” & _

“Integrated Security=SSPI;” & _

“Initial Catalog=BENGKEL"

CONN = New OleDb.OleDbConnection(AA)

CONN.Open()

MsgBox("KONEKSI OK..", MsgBoxStyle.Information)

Exit Sub

CEK:

MsgBox(Err.Description, MsgBoxStyle.Information, "CONNECTION ERROR")

End

Bagaimana kita tahu PENULISAN CODE CONNECTRING yang akan kita pakai… coba

tengok dibawah ini kawan…

Connectring dengan OLEDB; Data source nama server BENGKELnama databasenya

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 96 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Bagaimana membuat / mengambil code

CONNECTION STRING Untuk koneksi ke database

Setiap database mempunyai KODE tersendiri yang berbeda untuk koneksi ke database.. Yuuuuuuuuuuuuuuuk kita coba..

1.Menu DATA + ADD NEW DATA SOURCE

2.KLIK DATABASE + tombol NEXT

1

2

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 97 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

3.KLIK tombol NEW CONNECTION

4.jenis database dan tehnik koneksinya; untuk OLEDB pilihan .NET Framework Data Provider for OLEDB

Disini form menampilkan koneksi yg telah kita buat.. jika BELUM ADA KONEKSI/ mau BIKIN BARU … klik

TOMBOL NEW CONNECTION

3

4

5

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 98 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

6.inputlah NAMA SERVER…

7.Pilih NAMA DATABASE… jika nama server BETUL,maka akan muncul daftar nama databasenya 8.klik TOMBOL TEST CONNECTION untuk tes koneksi ke database

9.setelah OK, klik TOMBOL OK untuk kembali ke form

6

7

8 9

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 99 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

..form kembali kesini

10. bukalah *++Connection string… sehingga kode koneksi terlihat..

11. COPYLAH KODE tsb….

12.lalu KLIK TOMBOL CANCEL……. Jangan NEXT, karena kita HANYA BUTUH code koneksi nya saja

13..KODE ruang kode di form.. PASTElah… selesai

…selesai…

10

12

Copy-pah kode ini.. blok lalu CTRL-C

11

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 100 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 101 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CATATAN CODE SQL :

INPUT DATA BARU

INSERT INTO nama_table (nama_field1, nama_field2) VALUES (data1, data2)

Untuk DATA pada INSERT INTO Type data TEXT gunakan KUTIP SATU

Type data NUMERIC tidak gunakan apa2 Type data TANGGAL gunakan KUTIP SATU

UPDATE DATA

UPDATE nama_table SET Nama_field1 = data1 , Nama_field2 = data2 WHERE Nama_field3 = data3

DELETE DATA

DELETE nama_table WHERE Nama_field1 = data3/kondisinya

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 102 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 103 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

TEORI SEDIKIT

Menampilkan data dg

DATAGRIDVIEW & LISTVIEW

SEDIKIT TEORI MENGENAI CARA KONEKSI VB Net KE DATABASE

Di VB 6 KONEKSI ke DataBase hanya menggunakan 2 variabel & semua TIDAK MEMBEDAKAN OBJECT COMPONEN (pake LISTVIEW / FLEXGRID) yang digunakan:

1. CONN : variable KONEKSI database nya ( Public CONN as ADODB.Connection) 2. RS : variable NAMA TABLE yang akan di BACA (Public RS as ADODB.RecordSet)

,tapi untuk VB.NET, cara koneksi ke database SAMA tapi UNTUK MENAMPILKAN data DI FORM

dibagi menjadi 2 tehnik : TEHNIK MENAMPILKAN DATA dg LISTVIEW dan TEHNIK

MENAMPILKAN DATA dg DATAGRIDVIEW

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 104 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

PENTING Variable Connection

MENGGUNAKAN LISTVIEW

(& sbg koneksi dasar,UMUM ke DataBase)

(DTReader tidak menggukan NEW)**

RS adalah nama variable (RECORDSET) untuk membuka TABLE, TABLE yang akan di BUKA

MENGGUNAKAN DATAGRIDVIEW

(di DIFINISIKAN di MODULE agar dikenal di seluruh Project)

Koneksi ke Database

perintah SQL (select,Insert,Delete,Update)

Var tempat menampung hasil sql: SELECT

perintah SQL (select,Insert,Delete,Update) DataGridView

Var tempat menampung hasil sql: SELECT ) DataGridView

Public CONN As New ODBCConnection

Public CMD As New ODBCCommand

Public RS As ODBCDataReader

Public CMD_Adapter As New ODBCDataAdapter

Public RS_table As New DataTable

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 105 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 106 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Latihan berikut adalah form dengan 1

table…

Ini adalah

CODE CODE

DASAR

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 107 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Form data PELANGGAN

Running:

Running :

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 108 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Data dg ListView

Data dg

DataGridView

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 109 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

(1) Menampilkan data ke

LISTVIEW & DATAGRIDVIEW

Tombol_exit

LISTVIEW1

TOMBOL_refresh_ListView

TABControl1

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 110 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

DATAGRIDVIEW

TOMBOL_refresh_DataGridView

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 111 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Langkah b:

Membuat MODUL KONEKSI ke database SQL Server

>> MENU = PROJECT + Add Module + Klik tombol ADD

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 112 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di MODULE:

Code di MODULE Ket

'/---var.ini untuk proses simpan INPUT/EDIT data Public STATUS_input_data_baru As Boolean = False

'/---var.buat koneksi ke database Public CONN As New Odbc.OdbcConnection ‘koneksi ke DB Public CMD As New Odbc.OdbcCommand ‘jalankan perintah SQL Public RS As Odbc.OdbcDataReader ‘recordset/Tablenya

'/---var.buat khusus DataSet & DataGridView Public CMD_Adapter As New Odbc.OdbcDataAdapter

Public RS_table As New DataTable

PUBLIC Sub Buka_DB()

'/---Procedure untuk koneksi ke database

On Error GoTo CEK Dim AA As String AA = "Dsn=ODBC_BENGKEL;User ID=;PWD=;trusted_connection=Yes;"

CONN = New Odbc.OdbcConnection(AA)

CONN.Open()

Exit Sub

CEK: MsgBox(Err.Description, MsgBoxStyle.Information, "CONNECTION ERROR")

End End Sub

TRUE=simpan

sb input FALSE=simpan sb edit

RS bisa

banyak, disesuaikan

dengan kebutuhan dan jumlah TABLE

yg dibuka

RS jumlahnya

bebas, disesuiakan

dg kebutuhan

membuka table

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 113 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Public Sub KOSONG(ByVal obj As Object)

‘procedure untuk mengosongkan TextBox For Each ctl As Control In obj.controls If TypeOf ctl Is TextBox Then ctl.Text = "" End If Next End Sub

INFO:

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 114 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di FORM

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 115 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Langkah c:

Membuat PROCEDURE untuk menampilkan data dari TABLE ke

LISTVIEW & DATAGRIDVIEW

Procedure menampilkan data dari TABLE ke LISTVIEW

Sub TABLE_to_LISTVIEW() Call BUKA_DB() '>buka koneksi db

Dim AA As String = ""

AA = " SELECT * FROM PELANGGAN ORDER BY KODE_PELANGGAN" CMD = New Odbc.OdbcCommand(AA, CONN) '>buka koneksi||

RS = CMD.ExecuteReader() '>data select dijalankan|| RS.OPEN aa,conn (VB6)

With Me.ListView1 '>setting ListView .Items.Clear()

.FullRowSelect = True .GridLines = True .View = View.Details

.AllowColumnReorder = True

'/----- Bikin Kolom Sesuai Dg Field Nya .Columns.Clear()

.Columns.Add("KODE PELANGGAN", 100) .Columns.Add("NAMA PELANGGAN", 300)

End With

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 116 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

'/-------------------------------------------------------------------------/

'/ Gunakan .Hasrows Untuk Mengecek Jumlah Data Yg Diambil '/ Biasanya Untuk Cek Apakah Table Ada Recordnya.. Cari Data '/-------------------------------------------------------------------------/

If RS.HasRows Then

Dim lv As ListViewItem

'/----------------------------------------------------------------------/

'/ Gunakan .Read -> Untuk Keperluan LOOPING,

'/ Baca Data Dari Awal-Akhir atau BACA HASIL FIELD nya '/----------------------------------------------------------------------/

While RS.Read

lv = Me.ListView1.Items.Add(RS("KODE_PELANGGAN"))

lv.SubItems.Add(RS("NAMA_PELANGGAN"))

End While

End If

RS.Close() '>tutup recordset || (VB6) Rs.Close CMD.Dispose() '>buang select dr memory || (VB6) set RS=Nothing

End Sub

Procedure menampilkan data dari TABLE ke DATAGRIDVIEW DATAGRIDVIEW tidak perlu dibuat KOLOM untuk lokasi field table, karena secara OTOMATIS

data yang dibaca akan menjadi KOLOM

Sub TABLE_to_GRID() Call BUKA_DB()

Dim BB As String = "" BB = "SELECT * FROM PELANGGAN ORDER BY KODE_PELANGGAN "

CMD_Adapter = New Odbc.OdbcDataAdapter(BB, CONN) '>buka Conn

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 117 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Dim RS_Table As New DataTable '>siapkan var penampung RS_Table.Clear()

CMD_Adapter.Fill(RS_Table) '>masukkan hasil select ke var

With Me.DataGridView1 .DataSource = RS_Table '>masukkan data ke GRID

.SelectionMode = DataGridViewSelectionMode.FullRowSelect

.AllowUserToAddRows = False End With

RS_Table.Dispose()

CMD_Adapter.Dispose() CMD_Adapter = Nothing '>hapus dr memori

End Sub

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 118 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Langkah d:

Membuat PROCEDURE untuk menampilkan data dari LISTVIEW

& DATAGRIDVIEW ke FORM

Procedure menampilkan data dari LISTVIEW FORM

Sub LISTVIEW_to_FORM()

On Error Resume Next

Me.TextBox1.Text = Me.ListView1.FocusedItem.Text Me.TextBox2.Text = Me.ListView1.FocusedItem.SubItems(1).Text

End Sub

Procedure menampilkan data dari DATAGRIDVIEW FORM

Sub GRID_to_FORM() On Error Resume Next

Me.TextBox1.Text = Me.DataGridView1.Item(0, Me.DataGridView1.CurrentRow.Index).Value Me.TextBox2.Text = Me.DataGridView1.Item(1, Me.DataGridView1.CurrentRow.Index).Value

End Sub

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 119 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Langkah e:

Membuat PROCEDURE untuk PENCARIAN DATA INTERAKTIF di

ListView & DataGridView

Procedure PENCARIAN DATA INTERAKTIF di LISTVIEW

Sub TABLE_to_LISTVIEW_INTERAKTIF()

Call BUKA_DB() '>buka koneksi db

Dim AA As String = "" AA = "SELECT * FROM PELANGGAN " & _

" WHERE NAMA_PELANGGAN LIKE '%" & Trim(Me.TXT_CARI_listview.Text) & "%'" & _ " ORDER BY NAMA_PELANGGAN "

CMD = New Odbc.OdbcCommand(AA, CONN) '>jalankan select

RS = CMD.ExecuteReader() '>data select disimpan

With Me.ListView1 '>setting ListView .Items.Clear()

.FullRowSelect = True .GridLines = True

.View = View.Details .AllowColumnReorder = True

'/----- Bikin Kolom Sesuai Dg Field Nya

.Columns.Clear() .Columns.Add("KODE PELANGGAN", 100) .Columns.Add("NAMA PELANGGAN", 300)

End With

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 120 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

'/-------------------------------------------------------------------------/

'/ Gunakan .Hasrows Untuk Mengecek Jumlah Data Yg Diambil '/ Biasanya Untuk Cek Apakah Table Ada Recordnya.. Cari Data

'/-------------------------------------------------------------------------/

If RS.HasRows Then

Dim lv As ListViewItem

'/-----------------------------------------------------------------/

'/ Gunakan .Read -> Untuk Keperluan LOOPING,

'/ Baca Data Dari Awal-Akhir '/-----------------------------------------------------------------/

While RS.Read

lv = Me.ListView1.Items.Add(RS("KODE_PELANGGAN")) lv.SubItems.Add(RS("NAMA_PELANGGAN"))

End While

End If

RS.Close() '>tutup recordset CMD.Dispose() '>buang select dr memory

End Sub

Procedure menampilkan data dari TABLE ke DATAGRIDVIEW DATAGRIDVIEW tidak perlu dibuat KOLOM untuk lokasi field table, karena secara OTOMATIS data

yang dibaca akan menjadi KOLOM

Sub TABLE_to_GRID_INTERAKTIF() Call BUKA_DB()

Dim BB As String = "" BB = "SELECT * FROM PELANGGAN " & _

" WHERE Nama_Pelanggan LIKE '%" & Trim(Me.TXT_CARI_datagridview.Text) & "%'" & _ " ORDER BY NAMA_PELANGGAN "

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 121 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CMD_Adapter = New Odbc.OdbcDataAdapter(BB, CONN) '>buka Conn

Dim RS_Table As New DataTable '>siapkan var penampung RS_Table.Clear()

CMD_Adapter.Fill(RS_Table) '>masukkan hasil select ke var

With Me.DataGridView1 .DataSource = RS_Table '>masukkan data ke GRID

.SelectionMode = DataGridViewSelectionMode.FullRowSelect .AllowUserToAddRows = False End With

RS_Table.Dispose() CMD_Adapter.Dispose()

CMD_Adapter = Nothing '>hapus dr memori

End Sub

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 122 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di FORM

Langkah f:

Membuat CODE CODE di FORM

Code di TOMBOL:

Code: TOMBOL_refresh_ListView - Click

Call TABLE_to_LISTVIEW()

Refresh listview

Code: TOMBOL_refresh_DataGridView - Click

Call TABLE_to_GRID()

Refresh grid

Code di TEXTBOX:

Code: TXT_CARI_listview - TextChanged

Call TABLE_to_LISTVIEW_INTERAKTIF()

Cari interaktif

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 123 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code: TXT_CARI_datagridview - TextChanged

Call TABLE_to_GRID_INTERAKTIF()

Cari interaktif

Code untuk menampilkan data dari ListView & DatagridVIEW Form

Code: ListView1 - SelectedIndexChanged

Call LISTVIEW_to_FORM()

LISTVIEW FORM

Code: DataGridView1 - SelectionChanged

Call GRID_to_FORM()

GRID FORM

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 124 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Hapus data

Mencari data

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 125 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Langkah g:

Membuat HAPUS DATA (Delete) & CARI DATA (Find)

Tombol_EXIT Tombol_DEL Tombol_FIND

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 126 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat CODE CODE di FORM

Code di TOMBOL:

Code: TOMBOL_FIND – Click

Dim CARI As String = InputBox("MASUKKAN KODE PELANGGAN :") If CARI = "" Then

Exit Sub End If

Call BUKA_DB()

Dim AA As String

AA= "SELECT * FROM PELANGGAN " & _ " WHERE KODE_PELANGGAN='" & Trim(CARI) & "' " CMD = New Odbc.OdbcCommand(AA, CONN) RS = CMD.ExecuteReader()

'/------------------------------------------------------------------------------/ '/ Untuk Membaca Hasil Data Pake Kode Dr.Read '/------------------------------------------------------------------------------/

If RS.Read Then Me.TextBox1.Text = RS("KODE_PELANGGAN")

Me.TextBox2.Text = RS("NAMA_PELANGGAN") MsgBox("ADA", MsgBoxStyle.Information, "Cari") Else

'/--- Data Tidak Ada (dr.read = FALSE) MsgBox("DATA TIDAK ADA", MsgBoxStyle.Information, "Cari")

End If

RS.Close() CMD.Dispose()

STATUS_input_data_baru = False

Refresh listview

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 127 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code: TOMBOL_DELETE - Click

'/---cek,apakah data sudah ada,dipilih

If Me.TextBox1.Text = "" Then MsgBox("DATA BELUM DIPILIH..", MsgBoxStyle.Information, "Info") Exit Sub

End If

Dim TANYA As String TANYA = MsgBox("APAKAH DATA AKAN DI HAPUS?", MsgBoxStyle.Information +

MsgBoxStyle.YesNo, "Tanya") If TANYA = vbNo Then

MsgBox("BATAL.....", MsgBoxStyle.Information, "Cancel") Exit Sub

End If

'-----------------------------------' 'DELETE DATA '-----------------------------------'

Call BUKA_DB() Dim AA As String

AA = " DELETE FROM PELANGGAN " & _ " WHERE KODE_PELANGGAN='" & Trim(Me.TextBox1.Text) & "' "

CMD = New Odbc.OdbcCommand(aa, CONN)

CMD.ExecuteNonQuery() CMD.Dispose()

Call Kosong(me) Me.TextBox1.Enabled = False

MsgBox("DATA TELAH DI HAPUS..", MsgBoxStyle.Information, "Hapus") STATUS_input_data_baru = False Call TABLE_to_LISTVIEW()

HAPUS DATA

Nyambung

Pake EXECUTENONQUERY karena

TIDAK ADA DATA yang diambil.

Hanya eksekusi saja.

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 128 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 129 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Input data baru

Rubah data

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 130 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Langkah g:

Membuat INPUT (New), EDIT (Update) & SIMPAN (Save) DATA

Tombol_EXIT

Tombol_DEL Tombol_FIND Tombol_NEW Tombol_SAVE

Tombol_CANCEL

TEXTBOX1 dibuat

ENABLED=FALSE

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 131 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di FORM:

Code: TOMBOL_CANCEL – Click

Call TOMBOL_hidup()

Call Kosong(ME) '--nonaktifkan lagi textbox1 karena PRIMARY KEY

Me.TextBox1.Enabled = False STATUS_input_data_baru = False

MsgBox("BATAL..", MsgBoxStyle.Information, "Cancel")

Untuk

membatalkan input data

Code: TOMBOL_NEW – Click

'/--rubah STATUS_input_data_baru=TRUE, krn mau input data baru

STATUS_input_data_baru = True

Call TOMBOL_mati()

Call Kosong(ME)

'/---aktifkan TEXTBOX1 karena mau input databaru Me.TextBox1.Enabled = True Me.TextBox1.Focus()

Untuk input data baru

Code: TOMBOL_SAVE – Click

'--cek, apakah data PRIMARY KEY sudah di input

If Trim(Me.TextBox1.Text) = "" Then

MsgBox("DATA HARUS DI ISI", MsgBoxStyle.Information, "Error") Exit Sub End If

Untuk menyimpan

data

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 132 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

'SIMPAN DATA

Call BUKA_DB()

'/ Input data baru

'/-------------------------------------------------------------------------------/

'/ CEK APAKAH PRIMARY KEY SUDAH ADA? '/ JIKA SUDAH ADA --> TOLAK DATANYA,KEMBALI KE FORM (exit sub) '/ JIKA BELUM ADA --> SIMPAN DATANYA

'/-------------------------------------------------------------------------------/

If STATUS_input_data_baru = TRUE Then

Dim MM As String MM = "SELECT * FROM PELANGGAN " & _ " WHERE KODE_PELANGGAN='" & Trim(Me.TextBox1.Text) & "'"

CMD = New Odbc.OdbcCommand(MM, CONN)

RS = CMD.ExecuteReader()

If RS.HasRows Then

'/----- DATA SUDAH ADA -----/ MsgBox("KODE SUDAH ADA...", MsgBoxStyle.Information) RS.Close()

CMD.Dispose() Exit Sub End If

RS.Close() '/TUTUP LAGI SELECT NYA

Kode untuk MENGECEK, apakah

PRIMARY KEY sudah ada/ double? Jika sudah ada PROSES

DITOLAK..

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 133 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

‘/--------------------------/ ‘/ SIMPAN DATA ‘/--------------------------/ Dim AA As String

AA = " INSERT INTO PELANGGAN " & _

" (KODE_PELANGGAN, NAMA_PELANGGAN) " & _

" VALUES " & _ " ('" & Me.TextBox1.Text & "'," & _ " '" & Me.TextBox2.Text & "')"

CMD = New Odbc.OdbcCommand(AA, CONN) CMD.ExecuteNonQuery() CMD.Dispose()

Else

'/ edit (update)

‘/--------------------------/ '/ UPDATE DATA ‘/--------------------------/

Dim ZZ As String

ZZ = " UPDATE PELANGGAN SET " & _

" KODE_PELANGGAN ='" & Trim(Me.TextBox1.Text) & "', " & _ " NAMA_PELANGGAN ='" & Trim(Me.TextBox2.Text) & "' " & _ " WHERE KODE_PELANGGAN ='" & Trim(Me.TextBox1.Text) & "' "

CMD = New Odbc.OdbcCommand(ZZ, CONN)

CMD.ExecuteNonQuery() CMD.Dispose()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 134 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

End If Call TOMBOL_hidup()

Me.TextBox1.Enabled = False MsgBox("DATA TELAH DI SIMPAN..", MsgBoxStyle.Information, "Simpan")

Call TABLE_to_LISTVIEW() '/up to date kan Listview & DataGridView Call TABLE_to_GRID()

'/jangan lupa untuk merubah status menjadi FALSE '/jadi jika TRUE untuk input data baru, selain itu false STATUS_input_data_baru = False

Code di FORM: procedure

Membuat PROCEDURE di FORM

Procedure untuk mengatur tombol pada saat normal

Sub TOMBOL_hidup() With Me .TOMBOL_new.Visible = True

.TOMBOL_save.Visible = True .TOMBOL_cancel.Visible = False

.TOMBOL_del.Visible = True .TOMBOL_find.Visible = True .TOMBOL_exit.Visible = True

End With End Sub

Posisi

tombol pada saat normal

Procedure untuk mengatur tombol pada saat INPUT DATA

Sub TOMBOL_mati() Posisi tombol pada INPUT

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 135 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

With Me

.TOMBOL_new.Visible = False .TOMBOL_save.Visible = True .TOMBOL_cancel.Visible = True

.TOMBOL_del.Visible = False .TOMBOL_find.Visible = False

.TOMBOL_exit.Visible = False End With End Sub

Code di FORM

FORM – Load

'/jangan lupa untuk merubah status menjadi FALSE '/jika TRUE untuk INPUT DATA BARU (New), '/jika FALSE buat EDIT/DELETE STATUS_input_data_baru = False

'/panggil procedure untuk menampilkan data di Listview,Grid Call BUKA_DB()

Call TABLE_to_LISTVIEW() Call TABLE_to_GRID()

Selesai coding…..

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 136 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Keren nya jadi DOUBLE

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 137 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 138 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat

REPORT

Dg Crystal Report + ODBC

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 139 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Report Data Pelanggan

Output:

DESIGN FORM:

Crystal report dalam 1

form

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 140 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CODE di FORM

Code di : TOMBOL REPORT

Dim Laporan As New CrystalReport1

If Me.RadioButton1.Checked = True Then Laporan.RecordSelectionFormula = "" End If

If Me.RadioButton2.Checked = True Then

Laporan.RecordSelectionFormula =

"{Pelanggan.Kode_pelanggan} ='" & TextBox1.Text & "' "

End If

With Me.CrystalReportViewer1 .DisplayGroupTree = False .ReportSource = Laporan

.Refresh() End With

Ini

Crystal Report

Viewer

Nyambung

jd 1 baris

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 141 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di : FORM - RESIZE

CrystalReportViewer1.HEIGHT = Me.ScaleHeight - CrystalReportViewer1.TOP - 100

CrystalReportViewer1.WIDTH = Me. ScaleWidth- 100

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 142 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Design Report

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 143 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

LANGKAH : Report dg ODBC Ingat ODBC nya harus ada dulu…

MENU : PROJECT + ADD WINDOWS FORM +CRYSTAL REPORT + Ok

1

2

3

Klik + ODBC

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 144 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Jangan LUPA untuk CEK trusted connection

4 Pilih ODBC nya

5

7

6

Untuk database local di cek

Trusted Connection

Ketik/pilih NAMA DB NYA

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 145 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Selesai…

9

8 Pilih TABLE

nya 10

11

12

Klik >> untuk

pilih field

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 146 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Muncul design report standar, setting lah report sbb:

Jadi sbb:

Aktifkan ruang REPORT FOOTER

dg cara:

KLIK KANAN di Kotak report footer

+ DON’T SUPPRESS

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 147 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Selesai…

Beberapa settingan

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 148 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Crystal Report

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 149 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Informasi Crystal Report

Crystal Report Dasar

Komposisi bagian kertas untuk report:

REPORT HEADER

(data/judul hanya dicetak di atas 1x di awal report)

PAGE HEADER

(data/judul di cetak di atas setiap halaman)

DETAIL

(data yang di cetak berulang sampai selesai)

REPORT FOOTER

(data/judul hanya dicetak di akhir data habis/selesai)

GROUP Header

GROUP Footer

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 150 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Daftar DATABASE connection & SPECIAL FIELD :

Special Field.

Fungsi2 yg siap

digunakan dl

report

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 151 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

SETTING UKURAN KERTAS

Kertas

Portrait /

LandScape

Ukuran

Kertas

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 152 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

MARGIN KERTAS (margin atas, bawah, kiri, kanan report)

[Non-aktifkan Use Default Margins jika ingin merubah2 ukuran margin nya]

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 153 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat MENGURUTKAN DATA (SORT ORDER)

[ pilih FIELD yang akan di URUTKAN, lalu klik tanda panah > atau KLIK 2x ]

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 154 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

MENGATUR ULANG lokasi database report (karena berpindah2 folder/drive)

Selesai…

Buatlah koneksi ulang dg

Klik Create New Connection,

setelah selesai klik UPDATE

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 155 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 156 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat Ukuran Kertas Sendiri (Customize size)

Misalnya kita ingin mencetak dengan KERTAS ½ FOLIO, biasanya untuk

mencetak SURAT JALAN.

Karena kita membutuhkan UKURAN KERTAS yang tidak standard… maka kita harus membuat terlebih

dahulu UKURAN KERTAS yang di inginkan..

Langkah sbb :

1. Buka Control Panel + Double klik Printer and Faxes 2. Klik menu File > Server Properties

3. Di Tab Forms...pilih Create a new form 4. Masukkan nama ukuran kertas pada text box Form Name...beri nama misalkan :

SETENGAHFOLIO (nama bebas)

5. Tentukan satuan unitnya. Bisa dalam cm atau inch 6. Klik tombol Save Form

Nanti di CRYSTAL REPORT tinggal di SETTING UKURAN/JENIS KERTAS nya (lihat Setting ukuran kertas halaman 102)

4

3

5

6

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 157 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 158 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Menggunakan

STORE PROCEDURE

(sp)

Catatan:

Code store procedure tiap-tiap jenis koneksi ke database bereda Jenis: ODBC, Olehdb, SQLclient,dll mempunyai CODE senditi-diri

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 159 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

store procedure untuk Input, Update, Cari, Delete data barang

CODE CODE:

Code: TOMBOL NEW

'/KOSONGIN

Me.TextBox1.Clear()

Me.TextBox2.Clear()

Me.TextBox3.Clear()

Me.TextBox4.Clear()

Me.ComboBox1.Text = ""

Me.TextBox1.Focus()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 160 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code: TOMBOL SAVE

Call BUKA_DB()

‘/ panggil SP : SP_BARANG_INPUT Dim CMD As OdbcCommand = New OdbcCommand("{ CALL sp_barang_input(?,?,?,?,?) }", CONN) CMD.CommandType = CommandType.StoredProcedure

‘/ difinisikan variable parameter untuk masuk ke SP CMD.Parameters.Add("@kd", OdbcType.VarChar, 10).Value =TextBox1.Text CMD.Parameters.Add("@nm", OdbcType.VarChar, 30).Value = TextBox2.Text CMD.Parameters.Add("@kategori", OdbcType.VarChar, 10).Value = ComboBox1.Text CMD.Parameters.Add("@harga", OdbcType.Double).Value = TextBox3.Text CMD.Parameters.Add("@stok", OdbcType.Double).Value = TextBox4.Text

‘/ jalankan SP CMD.ExecuteNonQuery() MsgBox("OK", MsgBoxStyle.Information)

Keterangan:

{ CALL sp_barang_input(?,?,?,?,?) }" Memanggil store procedure : sp_barang_input di SQL;

? = sebagai inisial banyaknya parameter yang digunakan di SP

CMD.Parameters.Add("@kd", OdbcType.VarChar, 10).Value = TextBox1.Text

Mendifinisikan parameter2 yang dugunakan DILEWATKAN ke dalam SP

@KD adalah nama parameter yang akan dilewatkan ke dalam SP, nama boleh bebas

10 lebar FIELD di table

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 161 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code: TOMBOL UPDATE

Call BUKA_DB()

‘/ panggil SP : SP_BARANG_UPDATE Dim CMD As OdbcCommand = New OdbcCommand("{ CALL sp_barang_update(?,?,?,?,?) }", CONN)

CMD.CommandType = CommandType.StoredProcedure

‘/ difinisikan variable parameter untuk masuk ke SP CMD.Parameters.Add("@kd", OdbcType.VarChar, 10).Value =TextBox1.Text CMD.Parameters.Add("@nm", OdbcType.VarChar, 30).Value = TextBox2.Text CMD.Parameters.Add("@kategori", OdbcType.VarChar, 10).Value = ComboBox1.Text CMD.Parameters.Add("@harga", OdbcType.Double).Value = TextBox3.Text CMD.Parameters.Add("@stok", OdbcType.Double).Value = TextBox4.Text

‘/ jalankan SP CMD.ExecuteNonQuery() MsgBox("OK", MsgBoxStyle.Information)

Code: TOMBOL FIND

Dim CARI As String CARI = InputBox("Input kode barang :") If CARI = "" Then Exit Sub End If

‘/ mulai kode SP Call BUKA_DB()

‘/ panggil SP : SP_BARANG_CARI Dim CMD As OdbcCommand = New OdbcCommand("{ CALL sp_barang_cari(?) }", CONN) CMD.CommandType = CommandType.StoredProcedure

‘/ difinisikan variable parameter untuk dimasukan ke SP CMD.Parameters.Add("@kd", OdbcType.VarChar, 10).Value = CARI

‘/ jalankan SP dengan MENGAMBIL HASIL DATA RECORD NYA

RS = CMD.ExecuteReader

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 162 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

‘/ cek, apakah hasil SP ada datanya? Jika ada munculkan di form

If RS.HasRows Then

Me.TextBox1.Text = RS("KODE_BARANG_JASA") Me.TextBox2.Text = RS("NAMA_BARANG_JASA") Me.ComboBox1.Text = RS("KATEGORI") Me.TextBox3.Text = RS("HARGA") Me.TextBox4.Text = RS("STOK") Else MsgBox("DATA TIDAK ADA..", MsgBoxStyle.Information) End If RS.Close() CMD.Dispose()

Code: TOMBOL DELETE

‘/ konfirmasi pertanyaan data yang akan di hapus Dim CARI As String CARI = MsgBox("APAKAH DATA AKAN DI HAPUS ?", MsgBoxStyle.Question + MsgBoxStyle.YesNo) If CARI = vbNo Then Exit Sub End If

‘/ mulai kode SP Call BUKA_DB()

‘/ panggil SP : SP_BARANG_HAPUS Dim CMD As OdbcCommand = New OdbcCommand("{ CALL sp_barang_hapus(?) }", CONN) CMD.CommandType = CommandType.StoredProcedure

‘/ difinisikan variable parameter yg akan dimasukan ke SP CMD.Parameters.Add("@kd", OdbcType.VarChar, 10).Value = Me.TextBox1.Text

‘/ jalankan SP CMD.ExecuteNonQuery() CMD.Dispose()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 163 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Me.TextBox1.Text = "" Me.TextBox2.Text = "" Me.ComboBox1.Text = "" Me.TextBox3.Text = "" Me.TextBox4.Text = "" MsgBox("DATA TELAH DI HAPUS..", MsgBoxStyle.Information)

Selesai…

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 164 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat STORE PROCEDURE di SQL 2005

CODE STORE PROCEDURE

Store procedure untuk simpan data baru:

CREATE PROCEDURE SP_BARANG_INPUT @kode varchar(10), @nama varchar(30), @kategori varchar(10), @harga float, @stok float AS INSERT INTO BARANG_JASA (kode_barang_jasa,nama_barang_jasa,kategori,harga,stok) VALUES(@kode,@nama, @kategori, @harga,@stok)

Store procedure untuk update data:

CREATE PROCEDURE SP_BARANG_UPDATE @kode varchar(10), @nama varchar(30), @kategori varchar(10), @harga float, @stok float AS UPDATE BARANG_JASA SET Kode_barang_jasa=@kode, Nama_barang_jasa=@nama, kategori=@kategori, harga=@ harga, stok=@ stok WHERE kode_barang_jasa=@kode

@kode bebas,nama variable Varchar(10),varchar(30),float,float harus sama dg masing2 jenis field table nya.

BARANG_JASA(kode_barang_jasa.. -> NAMA FIELD

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 165 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Store procedure untuk cari data:

CREATE PROCEDURE SP_BARANG_CARI @kode varchar(10) AS SELECT * FROM BARANG_JASA WHERE kode_barang_jasa=@kode

Store procedure untuk hapus data:

CREATE PROCEDURE SP_BARANG_HAPUS @kode varchar(10) AS DELETE BARANG_JASA WHERE kode_barang_jasa=@kode

NAMA SP ini (SP_BARANG_INPUT, SP_BARANG_UPDATE) akan di panggil oleh VB

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 166 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 167 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Langkah membuat STORE PROCEDURE di SQL 2005

>> ..Programmability + Store Procedure (KLI KANAN + New Stored Procedure) + muncul kotak..bersihkanlah (hapus semua kode2 default) terlebih dabulu kotak kode SP tsb..

+code SP siap di ketik

Jika sudah mengetik SP, jalankan SP tsb.. dengan KLIK ICON EXECUTE..

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 168 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Ini kode untuk alternative dalam pengetikan kode SP

CODE ALTERNATIF SP

Code cepat menjalan SP & TIDAK membedakan jenis koneksi

STORE PROCEDURE langsung di panggil langsung.. (Jadi bisa dibilang ini kode maknyosssssss)

Code: SAVE (menjalan SP dengan cepat,semua tehnik basa)

Call BUKA_DB()

Dim Datanya As String

Datanya = "exec SP_BARANG_INPUT " & _

" '" & TextBox1.Text & "'" & _

" ,'" & TextBox2.Text & "' " & _

" ,'" & ComboBox1.Text & "' " & _

" ,'" & TextBox3.Text & "' " & _

" ,'" & TextBox4.Text & "' " Dim cmd As New Odbc.OdbcCommand(Datanya, CONN) cmd.ExecuteNonQuery() MsgBox("OK", MsgBoxStyle.Information) SP_BARANG_INPUT adalah nama SP

Kode langsung memanggil

SP nya ,dengan perintah

EXEC

Perintah ini (EXEC) =

adalah PERINTAH untuk

menjalankan SP langsung

lewat SQL nya

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 169 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 170 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Langkah MERUBAH STORE PROCEDURE di SQL 2005

Klik kanan di NAMA PROCEDURE nya + MODIFY

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 171 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Latihan Store Procedure

Buatlah program VBNET dengan menggunakan STORE PROCEDURE untuk proses pengolahan data ke database

nya (Menambah data, mencari data dan menghapus data)

Form: PROGRAM PENGGAJIAN

Ket:

1. COMBOBOX TAHUN GAJI isi dengan urutan tahun 2. COMBOBOX BULAN; isi dengan angka bulan= 1...12 3. COMBOBOX NAMA DOSEN; isi dengan nama dosen

Nama dosen Honor per sks

IBU DEWI 100000

BPK JOKO 125000

BPK AMIR 125000

4. HONOR PER SKS ;munculkan otomatis sesuai dengan nama dosennya, saat di klik combo dosen 5. COMBOBOX MATAKULIAH; isi dengan nama2 mata kuliah= VB, LINUX,OFFICE 6. JUMLAH SKS MENGAJAR; di input bebas 7. POTONGAN; adalah potongan honor, diinput bebas (missal potongan koperasi, dll) 8. TOTAL HONOR = (Honor per sks * Jumlah sks mengajar ) – Potongan

Tombol: 1. Tombol NEW; mengosonkan textbox dan combobox 2. Tombol SAVE, FIND, DELETE; gunakan Store procedure untuk simpan,cari dan hapus data

A

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 172 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Latihan Store Procedure Buatlah program VBNET dengan menggunakan STORE PROCEDURE untuk proses pengolahan data ke database

nya (Menambah data, mencari data dan menghapus data)

Form: PROGRAM NILAI PENERIMAAN MAHASISWA

Ket:

9. NOMER UJIAN, CALON MAHASISWA; diinput 10. COMBOBOX JURUSAN; isi dengan nama jurusan= AKUNTANSI, MANAJEMEN, KOMPUTER 11. NILAI B.INGGRIS, MATEMATIKA, KOMPUTER; di input 12. RATA RATA = (nilai b.inggris + matematikan + computer)/3 13. KETERANGAN=

a. Jika RATARATA >70, maka KETERANGAN= LULUS b. Jika RATARATA 60 - 70, maka KETERANGAN= LULUS SYARAT c. Jika RATARATA >60 , maka KETERANGAN= TIDAK LULUS

Tombol:

3. Tombol NEW; mengosonkan textbox dan combobox 4. Tombol SAVE, FIND, DELETE; gunakan Store procedure untuk simpan,cari dan hapus data

B

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 173 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 174 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

REFERENSI STORE PROCEDURE

UNTUK TEHNIK YANG LAINNYA

SqlClient

VB Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;Integrated

Security=SSPI;" & _

"Initial Catalog=northwind")

Dim salesCMD As SqlCommand = New SqlCommand("SalesByCategory", nwindConn)

salesCMD.CommandType = CommandType.StoredProcedure

Dim myParm As SqlParameter = salesCMD.Parameters.Add("@CategoryName",

SqlDbType.NVarChar, 15)

myParm.Value = "Beverages"

nwindConn.Open()

Dim myReader As SqlDataReader = salesCMD.ExecuteReader()

Console.WriteLine("{0}, {1}", myReader.GetName(0), myReader.GetName(1))

Do While myReader.Read()

Console.WriteLine("{0}, ${1}", myReader.GetString(0), myReader.GetDecimal(1))

Loop

myReader.Close()

nwindConn.Close()

Referensi SP

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 175 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

OleDb

VB Dim nwindConn As OleDbConnection = New OleDbConnection("Provider=SQLOLEDB;Data

Source=localhost;Integrated Security=SSPI;" & _

"Initial Catalog=northwind")

Dim salesCMD As OleDbCommand = New OleDbCommand("SalesByCategory", nwindConn)

salesCMD.CommandType = CommandType.StoredProcedure

Dim myParm As OleDbParameter = salesCMD.Parameters.Add("@CategoryName",

OleDbType.VarChar, 15)

myParm.Value = "Beverages"

nwindConn.Open()

Dim myReader As OleDbDataReader = salesCMD.ExecuteReader()

Console.WriteLine("{0}, {1}", myReader.GetName(0), myReader.GetName(1))

Do While myReader.Read()

Console.WriteLine("{0}, ${1}", myReader.GetString(0), myReader.GetDecimal(1))

Loop

myReader.Close()

nwindConn.Close()

Odbc

VB Dim nwindConn As OdbcConnection = New OdbcConnection("Driver={SQL

Server};Server=localhost;Trusted_Connection=yes;" & _

"Database=northwind")

nwindConn.Open()

Dim salesCMD As OdbcCommand = New OdbcCommand("{ CALL SalesByCategory(?) }",

nwindConn)

salesCMD.CommandType = CommandType.StoredProcedure

Dim myParm As OdbcParameter = salesCMD.Parameters.Add("@CategoryName",

OdbcType.VarChar, 15)

myParm.Value = "Beverages"

Dim myReader As OdbcDataReader = salesCMD.ExecuteReader()

Console.WriteLine("{0}, {1}", myReader.GetName(0), myReader.GetName(1))

Do While myReader.Read()

Console.WriteLine("{0}, ${1}", myReader.GetString(0), myReader.GetDecimal(1))

Loop

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 176 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

myReader.Close()

nwindConn.Close()

A Parameter object can be created using the Parameter constructor, or by calling the Add method of

the Parameters collection of a Command. Parameters.Add will take as input either constructor

arguments or an existing Parameter object. When setting the Value of a Parameter to a null reference,

use DBNull.Value.

For parameters other than Input parameters, you must set the ParameterDirection property to specify

whether the parameter type is InputOutput, Output, or ReturnValue. The following example shows

the difference between creating Input, Output, and ReturnValue parameters.

SqlClient

VB Dim sampleCMD As SqlCommand = New SqlCommand("SampleProc", nwindConn)

sampleCMD.CommandType = CommandType.StoredProcedure

Dim sampParm As SqlParameter = sampleCMD.Parameters.Add("RETURN_VALUE",

SqlDbType.Int)

sampParm.Direction = ParameterDirection.ReturnValue

sampParm = sampleCMD.Parameters.Add("@InputParm", SqlDbType.NVarChar, 12)

sampParm.Value = "Sample Value"

sampParm = sampleCMD.Parameters.Add("@OutputParm", SqlDbType.NVarChar, 28)

sampParm.Direction = ParameterDirection.Output

nwindConn.Open()

Dim sampReader As SqlDataReader = sampleCMD.ExecuteReader()

Console.WriteLine("{0}, {1}", sampReader.GetName(0), sampReader.GetName(1))

Do While sampReader.Read()

Console.WriteLine("{0}, {1}", sampReader.GetInt32(0), sampReader.GetString(1))

Loop

sampReader.Close()

nwindConn.Close()

Console.WriteLine(" @OutputParm: {0}", sampleCMD.Parameters("@OutputParm").Value)

Console.WriteLine("RETURN_VALUE: {0}", sampleCMD.Parameters("RETURN_VALUE").Value)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 177 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

OleDb

VB Dim sampleCMD As OleDbCommand = New OleDbCommand("SampleProc", nwindConn)

sampleCMD.CommandType = CommandType.StoredProcedure

Dim sampParm As OleDbParameter = sampleCMD.Parameters.Add("RETURN_VALUE",

OleDbType.Integer)

sampParm.Direction = ParameterDirection.ReturnValue

sampParm = sampleCMD.Parameters.Add("@InputParm", OleDbType.VarChar, 12)

sampParm.Value = "Sample Value"

sampParm = sampleCMD.Parameters.Add("@OutputParm", OleDbType.VarChar, 28)

sampParm.Direction = ParameterDirection.Output

nwindConn.Open()

Dim sampReader As OleDbDataReader = sampleCMD.ExecuteReader()

Console.WriteLine("{0}, {1}", sampReader.GetName(0), sampReader.GetName(1))

Do While sampReader.Read()

Console.WriteLine("{0}, {1}", sampReader.GetInt32(0), sampReader.GetString(1))

Loop

sampReader.Close()

nwindConn.Close()

Console.WriteLine(" @OutputParm: {0}", sampleCMD.Parameters("@OutputParm").Value)

Console.WriteLine("RETURN_VALUE: {0}", sampleCMD.Parameters("RETURN_VALUE").Value)

Odbc

VB Dim sampleCMD As OdbcCommand = New OdbcCommand("{ ? = CALL SampleProc(?, ?) }",

nwindConn)

sampleCMD.CommandType = CommandType.StoredProcedure

Dim sampParm As OdbcParameter = sampleCMD.Parameters.Add("RETURN_VALUE",

OdbcType.Int)

sampParm.Direction = ParameterDirection.ReturnValue

sampParm = sampleCMD.Parameters.Add("@InputParm", OdbcType.VarChar, 12)

sampParm.Value = "Sample Value"

sampParm = sampleCMD.Parameters.Add("@OutputParm", OdbcType.VarChar, 28)

sampParm.Direction = ParameterDirection.Output

nwindConn.Open()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 178 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Dim sampReader As OdbcDataReader = sampleCMD.ExecuteReader()

Console.WriteLine("{0}, {1}", sampReader.GetName(0), sampReader.GetName(1))

Do While sampReader.Read()

Console.WriteLine("{0}, {1}", sampReader.GetInt32(0), sampReader.GetString(1))

Loop

sampReader.Close()

nwindConn.Close()

Console.WriteLine(" @OutputParm: {0}", sampleCMD.Parameters("@OutputParm").Value)

Console.WriteLine("RETURN_VALUE: {0}", sampleCMD.Parameters("RETURN_VALUE").Value)

Using Parameters with a SqlCommand

When using parameters with a SqlCommand, the names of the parameters added to the Parameters

collection must match the names of the parameter markers in your stored procedure. The .NET

Framework Data Provider for SQL Server treats parameters in the stored procedure as named parameters

and searches for the matching parameter markers.

The .NET Framework Data Provider for SQL Server does not support the question mark (?) placeholder

for passing parameters to an SQL statement or a stored procedure. In this case, you must use named

parameters, as in the following example.

SELECT * FROM Customers WHERE CustomerID = @CustomerID

Using Parameters with an OleDbCommand or OdbcCommand

When using parameters with an OleDbCommand or OdbcCommand, the order of the parameters added

to the Parameters collection must match the order of the parameters defined in your stored procedure.

The .NET Framework Data Provider for OLE DB and .NET Framework Data Provider for ODBC treat

parameters in a stored procedure as placeholders and applies parameter values in order. In addition,

return value parameters must be the first parameters added to the Parameters collection.

The .NET Framework Data Provider for OLE DB and .NET Framework Data Provider for ODBC do not

support named parameters for passing parameters to an SQL statement or a stored procedure. In this case,

you must use the question mark (?) placeholder, as in the following example.

SELECT * FROM Customers WHERE CustomerID = ?

As a result, the order in which Parameter objects are added to the Parameters collection must directly

correspond to the position of the question mark placeholder for the parameter.

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 179 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Deriving Parameter Information

Parameters can also be derived from a stored procedure using the CommandBuilder class. Both the

SqlCommandBuilder and OleDbCommandBuilder classes provide a static method,

DeriveParameters, which will automatically populate the Parameters collection of a Command object

with parameter information from a stored procedure. Note that DeriveParameters will overwrite any

existing parameter information for the Command.

Deriving parameter information does require an added trip to the data source for the information. If

parameter information is known at design-time, you can improve the performance of your application by

setting the parameters explicitly.

The following code example shows how to populate the Parameters collection of a Command object

using CommandBuilder.DeriveParameters.

VB Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;Initial

Catalog=Northwind;Integrated Security=SSPI;")

Dim salesCMD As SqlCommand = New SqlCommand("Sales By Year", nwindConn)

salesCMD.CommandType = CommandType.StoredProcedure

nwindConn.Open()

SqlCommandBuilder.DeriveParameters(salesCMD)

nwindConn.Close()

END

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 180 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 181 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat

LOGIN

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 182 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

LOGIN,

UserPassword

Biasanya system mempunyai HAK HAK terhadap seorang user.

Dalam latihan ini kita mencoba membeda USER menjadi 2 :

Jenis USer

ADMIN :semua menu muncul USER :menu DATA MASTER, menu REPORT - TIDAK MUNCUL (Visible=True)

BUATLAH TABLE SBB: nama table= user_password

>> LEVEL_USER isi dengan ADMIN / USER

>> isi data user password

BUATLAH FORM MENU (Form1) UNTUK CONTOH LOGIN:

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 183 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 184 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

BUATLAH FORM LOGIN SYSTEM dengan DATABASE:

CODE di MODULE

MODULE1

Gunakan MODUL sebelumnya… jika sudah ada berarti tidak perlu

buat modul kembali yahhhhhh…

CODE di FORM Code : FORM – LOAD

Me.TextBox1.Text = "" Me.TextBox2.Text = ""

Me.TextBox1.Focus()

Code : TOMBOL OK If Me.TextBox1.Text = "" Or Me.TextBox2.Text = "" Then

MSGBOX("User dan Password harus di isi..")

Exit Sub End If

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 185 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Call BUKA_db()

Dim AA As String = "" AA = " SELECT * FROM USER_PASSWORD " & _

" WHERE NAMA_USER='" & Trim(Me.TextBox1.Text) & "' " & _

" AND PASSWORD='" & Trim(Me.TextBox2.Text) & "' "

CMD = New Odbc.OdbcCommand(AA, CONN)

RS = CMD.ExecuteReader()

If Not RS.Read Then

MsgBox("USER PASSWORD SALAH", MsgBoxStyle.Information)

RS.Close()

CMD.Dispose()

Exit Sub

Else

Msgbox (“OK”)

RS.Close()

CMD.Dispose()

Me.Hide()

Form2.Show()

End If

Me.hide form login di matikan (di

sembunyikan)

Form2.show munculkan form menu utama

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 186 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

( s e l i n g a n )

FORM LOGIN CARA HEMAT+CEPAT

Tanpa DataBase:hanya me-ngeCEK input TEXT1 & TEXT2 saja

CODE di FORM Code : FORM – LOAD

Me.TextBox1.Text = "" Me.TextBox2.Text = ""

Me.TextBox1.Focus()

Code : TOMBOL OK (cara code hemat & cepat) If Me.TextBox1.Text = "ADMIN" AND Me.TextBox2.Text = "ADMIN" Then

MSGBOX ("OK")

Me.Hide

Form2.Show() Else

MSGBOX ("USER PASSWORD SALAH")

Exit Sub

End If

Keterangan: jadi hanya mengecek TEXT1 dan TEXT2, apakah sama dengan user-password yang telah kita tentukan

saja..

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 187 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 188 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

STOK (info saja)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 189 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

membuat

APLIKASI STOK DASAR

INPUT Pembelian sparepart

.barang masuk.

(stok+)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 190 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

TEORI DASAR

STOK

Teori dasar stok :

PROSES BARANG MASUK (Pembelian)

Proses Urutan proses data (PENTING BRO) Ket

Input Table sparepart_masuk simpan data masuk

Table barang UPDATE stok barang + (bertambah)

Delete Table barang UPDATE stok barang – (berkurang)

Table sparepart_masuk HAPUS data transaksi

PROSES BARANG KELUAR (Penjualan)

Proses Urutan proses data (PENTING BRO) Ket

Input Table PENJUALAN simpan data masuk

Table barang UPDATE stok barang – (berkurang)

Delete Table barang UPDATE stok barang + (bertambah)

Table PENJUALAN HAPUS data transaksi

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 191 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Form barang masuk

NAMA BARANG,

STOK muncul

otomatis jika

COMBO Kode

Barang di KLIK

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 192 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

NGOBROL-NGOBROL Form dg 2 table

Untuk form barang masuk menggunakan 2 table, yaitu :

1. Table BARANG_JASA 2. Table SPAREPART_MASUK

Maka di form kita juga menggunakan 2 RECORDSET dan di difinisikan di MODULE. Yaitu

Public RS as ODBC.OdbcDataReader Public RS2 as ODBC.OdbcDataReader

Pembuatan 2 RS ini untuk keperluan jika dibukanya data/table secara bersamaan. Dan untuk menghindari bentrok nya data antara table 1 dan table 2 Jadi RS kita butuhkan sesuai dengan banyaknya table yang akan di buka secara bersamaan, misalnya 1 form menggunakan 3 table…kita boleh membuat RS sebanyak 3 buah ini untuk antisipasi jika ada proses yang membuka SEKALIGUS 3 TABLE BERSAMAAN.. Gunakan RS yang berbeda untuk membuka table lainnya, agar tidak bentrok RS nya

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 193 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di MODULE:

Code di MODULE Ket

'/---var.buat koneksi ke database Public CONN As New Odbc.OdbcConnection ‘koneksi ke DB Public CMD As New Odbc.OdbcCommand ‘jalankan perintah SQL

Public RS As Odbc.OdbcDataReader ‘recordset/Tablenya

Public RS2 As Odbc.OdbcDataReader ‘recordset/Tablenya

PUBLIC Sub Buka_DB() '/---Procedure untuk koneksi ke database On Error GoTo CEK

Dim AA As String AA = "Dsn=ODBC_BENGKEL;User ID=;PWD=;trusted_connection=Yes;"

CONN = New Odbc.OdbcConnection(AA)

CONN.Open()

Exit Sub CEK: MsgBox(Err.Description, MsgBoxStyle.Information, "CONNECTION ERROR")

End

End Sub

TRUE=simpan

sb input FALSE=simpan sb edit

RS bisa

banyak, disesuaikan

dengan kebutuhan dan jumlah TABLE

yg dibuka Tambah 1 RS; jadi 2 RS,

karena menggunakan 2

table

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 194 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Public Sub KOSONG(ByVal obj As Object)

‘procedure untuk mengosongkan TextBox For Each ctl As Control In obj.controls If TypeOf ctl Is TextBox Then ctl.Text = "" End If Next End Sub

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 195 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di FORM pembuatan

PROCEDURE

Procedure ini untuk Mengisi COMBO BARANG dengan KODE BARANG

Sub ISI_COMBO_BARANG()

Call BUKA_DB() Dim AA As String = "" AA = " SELECT * FROM BARANG_JASA ORDER BY KODE_BARANG_JASA" CMD = New Odbc.OdbcCommand(AA, CONN) RS = CMD.ExecuteReader() '/ Combo di kosongkan doloooo Me.ComboBox1.Items.Clear() '/-----------------------------------------------------------------/ '/ Gunakan .Hasrows Untuk Mengecek Jumlah Data Yg Diambil '/ Biasanya Untuk Cek Apakah Table Ada Recordnya.. Cari Data '/-----------------------------------------------------------------/

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 196 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

If RS.HasRows Then

'/-----------------------------------------------------------------/ '/ Untuk membaca/baca RECORD Gunakan RS.READ

'/-----------------------------------------------------------------/

While RS.Read

Me.ComboBox1.Items.Add(RS("KODE_BARANG_JASA")) End While

End If '/ Tutup table kembali RS.Close() CMD.Dispose() End Sub

Procedure ini untuk MENAMPILKAN NAMABARANG,STOK ketika combo barang di klik

Sub MUNCULKAN_nama_barang()

'/ Menampilkan Nama Barang Ketika Combo Di Click ‘/ gunakan RS2, untuk menghindari bentrok nya data dg RS Call BUKA_DB() Dim AA As String = "" AA = " SELECT * FROM BARANG_JASA WHERE KODE_BARANG_JASA='" & Me.ComboBox1.Text & "' "

CMD = New Odbc.OdbcCommand(AA, CONN)

RS2 = CMD.ExecuteReader()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 197 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

'/ Gunakan RS.READ untuk membaca data

If RS2.Read Then

'/ Ambil field nya dan munculkan ke form Me.TextBox2.Text = RS2("NAMA_BARANG_JASA") Me.TextBox4.Text = RS2("STOK")

Else Me.TextBox2.Text = "" Me.TextBox4.Text = "" MsgBox("NAMA BARANG TIDAK ADA", MsgBoxStyle.Information)

End If '/ tutup kembali table RS2.Close() CMD.Dispose()

End Sub

Procedure

Munculkan_nama_barang

Menggunakan RS2 ini

untuk menghindari

bentrok nya data dengan

yang ada di RS

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 198 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di FORM pembuatan

CODE di FORM

Code di: FORM – LOAD

Call KOSONG(Me) Call ISI_COMBO_BARANG()

Code di: COMBOBOX1 – SelectedIndexChanged

Call Munculkan_NAMA_BARANG()

CODE di TOMBOL

Code di: TOMBOL EXIT

Me.Close()

Code di: TOMBOL CANCEL

Call KOSONG (ME) MsgBox("PROSES DIBATALKAN", MsgBoxStyle.Information)

Code di: TOMBOL NEW

Call KOSONG (ME)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 199 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Me.TextBox1.Focus()

Code di: TOMBOL SAVE

'/=========================================/ '/

'/ SIMPAN DATA BARANG MASUK '/ ADA 2 PROSES :

'/ (1). SIMPAN DATA TRANSAKSI KE TABLE SPAREPART_MASUK '/ (2). UPDATE STOK BARANG DI TABLE BARANG_JASA, STOK + '/

'/=========================================/ '/ Cek input angka If IsNumeric(Me.TextBox3.Text) = False Then

MsgBox("ISI JUMLAH DENGAN ANGKA", MsgBoxStyle.Information) Exit Sub

End If

Call BUKA_DB()

'/-----------------------------------------------------/ '/ 1.CEK PRIMARY KEY '/-----------------------------------------------------/

Dim AA As String = "" AA = " SELECT * FROM SPAREPART_MASUK " & _

" WHERE NO_MASUK='" & Trim(Me.TextBox1.Text) & "' "

CMD = New Odbc.OdbcCommand(AA, CONN)

RS = CMD.ExecuteReader()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 200 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

'/ CEK apakah nomer sudah ada/ punya data – baris (ROWS)

If RS.HasRows Then

'/---------------------------------------------------------/

'/ NO.MASUK SUDAH ADA, PROSES DIBATALKAN '/---------------------------------------------------------/

MsgBox("NO.MASUK SUDAH ADA...", MsgBoxStyle.Information) RS.Close()

CMD.Dispose() Exit Sub End If RS.Close() CMD.Dispose()

'’’yg ini tidak perlu di tulis, hanya catatan saya sahaja..

'’’CONVERT(DATETIME, '2009-01-01 00:00:00', 102) '" CONVERT(DATETIME,'" & Me.DateTimePicker1.Value & "',102), " & _

'/ PROSES #1 '/=====================================/

'/ 1.SIMPAN TRANSAKSI NYA KE TABLE SPAREPART_MASUK '/=====================================/

Dim MANIS As String = "" MANIS = " INSERT INTO SPAREPART_MASUK " & _

"(NO_MASUK,TGL,KODE_BARANG,NAMA_BARANG,JUMLAH)" & _

" VALUES " & _

" ('" & Me.TextBox1.Text & "', " & _

" '" & Me.DateTimePicker1.Value & "', " & _

" '" & Me.ComboBox1.Text & "', " & _

" '" & Me.TextBox2.Text & "', " & _

Me.TextBox3.Text & ")"

CMD = New Odbc.OdbcCommand(MANIS, CONN) CMD.ExecuteNonQuery()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 201 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CMD.Dispose()

'/ PROSES #2

'/=======================================/

'/ 2.UPDATE (+) STOK DI TABEL BARANG '/=======================================/

Dim KEREN As String = ""

KEREN = " UPDATE BARANG_JASA " & _

" SET STOK=STOK+" & Val(Me.TextBox3.Text) & _

" WHERE KODE_BARANG_JASA='" & Trim(Me.ComboBox1.Text) & "' "

CMD = New Odbc.OdbcCommand(KEREN, CONN)

CMD.ExecuteNonQuery() CMD.Dispose()

MsgBox("DATA TELAH DI SIMPAN,CEK STOK BARANG", MsgBoxStyle.Information)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 202 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

(1) LATIHAN

Coba buat untuk FIND & DELETE TRANSAKSI BARANG MASUK.. ingat update stok –

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 203 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

(2) LATIHAN TRANSAKSI: Nasabah

COBA BUAT TRANSAKSI APLIKASI REKENING NASABAH

FORM MENU UTAMA

FORM INPUT DATA NASABAH

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 204 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

FORM LIHAT DATA SALDO NASABAH

FORM SETORAN NASABAH

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 205 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

FORM PENARIKAN SALDO NASABAH

FORM REPORT SALDO NASABAH

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 206 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Design report saldo nasabah:

Database & Table tentukan sendiri… ;-)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 207 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 208 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Membuat Transaksi

1-Many

(Master Detail)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 209 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

SYSTEM BENGKEL Database SQL Server

DATABASE : BENGKEL

TABLE :

1.PELANGGAN

FIELD TYPE SIZE ALLOWNULL KET

KODE_PELANGGAN varchar 10 PrimaryKey

NAMA_PELANGGAN varchar 50 V

2.BARANG_JASA

FIELD TYPE SIZE ALLOWNULL KET

KODE_BARANG_JASA varchar 10 PrimaryKey

NAMA_BARANG_JASA varchar 30 V

KATEGORI Varchar 10 (JASA/BARANG) HARGA float V

STOK float v

3.SPAREPART_MASUK

FIELD TYPE SIZE ALLOWNULL KET NO_MASUK varchar 10 PrimaryKey

TGL DateTime default

KODE_BARANG varchar 10 v

NAMA_BARANG varchar 30 v JUMLAH flaot default V

4.SERVICE

FIELD TYPE SIZE ALLOWNULL KET

NO_SERVICE varchar 10 PrimaryKey TGL DateTime default

KODE_PELANGGAN varchar 10 v

SUBTOTAL_SERVICE Float

DISCOUNT Float TOTAL_SERVICE flaot

5.SERVICE_RINCIAN

FIELD TYPE SIZE ALLOWNULL KET NO_SERVICE varchar 10 V

KODE_BARANG_JASA varchar 10 V

NAMA_BARANG_JASA varchar 30 V

HARGA float default V

JUMLAH float default V SUBTOTAL float default V

NO_URUT int default PrimaryKey,

Indentity=Yes, Indentity Increment=1

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 210 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

NGOBROL-NGOBROL

Form transaksi service bengkel ini menggunakan 4 table, yaitu :

1. Table PELANGGAN 2. Table BARANG_JASA 3. Table SERVICE sebagai HEADER (1 –one) 4. Table SERVICE_RINCIAN sebagai DETAIL NYA (Many)

Karena menggunakan >1 table maka, untuk keperluan dalam proses pembacaan data sebaiknya kita gunakan > 1 DATAREADER. Jadi difinisi datareader di MODULE menggunakan >1 datareader Potongan kode di module:

'/---var.buat koneksi ke database Public CONN As New Odbc.OdbcConnection ‘koneksi ke DB Public CMD As New Odbc.OdbcCommand ‘jalankan perintah SQL

Public RS As Odbc.OdbcDataReader ‘recordset/Tablenya

Public RS2 As Odbc.OdbcDataReader ‘recordset/Tablenya

Public RS3 As Odbc.OdbcDataReader ‘recordset/Tablenya

DATAREADER lebih dari 1

( >1)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 211 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

FORM MASTER DETAIL

Info: UNTUK MEMPERSINGKAT KODE, MAKA:

Disini hanya di ketik code-code pokoknya saja

Transaksi tidak dengan CODE PROSES EDIT UPDATE SERVICE, setelah data selesai di input maka data di SIMPAN TRANSAKSI dan di PRINT BON SERVICE

Code tidak mengatur tombol mana yang aktif, atau tombol mana saja yang tidak aktif

1.No. service otomatis

3.Nama customer otomatis muncul

Ini adalah

LISTVIEW

4.Nama barang,harga otomatis muncul

2.Combo berisi

kode_pelanggan dari table pelanggan

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 212 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

DESIGN REPORT

KETERANGAN:

Untuk setingan 1 many; yaitu 1 (One) nya untuk pengelompokan data / group nya berdasarkan NO_SERVICE,

maka di report kita buat ruang baru yaitu GROUP dengan field group: SERVICE.NO_SERVICE

Ini adalah

sebuah GROUP

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 213 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

RUNNING

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 214 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CODE DI MODUL

Code di: MODULE

Public CONN As New Odbc.OdbcConnection ‘/koneksi ke db Public CMD As New Odbc.OdbcCommand ‘/perintah sql Public RS As Odbc.OdbcDataReader ‘/buka table Public RS2 As Odbc.OdbcDataReader ‘/buka table Public RS3 As Odbc.OdbcDataReader ‘/buka table

Sub BUKA_DB() On Error GoTo CEK Dim AA As String AA = "Dsn=ODBC_BENGKEL;User ID=;PWD=;trusted_connection=Yes;"

CONN = New Odbc.OdbcConnection(AA) ‘/buka db

CONN.Open() Exit Sub CEK: MsgBox(Err.Description, MsgBoxStyle.Information, "CONNECTION ERROR")

End End Sub

RS banyak karena banyak table

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 215 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CODE DI FORM

Procedure Procedure untuk membuat nomer otomatis

Sub NOMER_OTOMATIS()

'/----------------------------------------------/

'/

'/ INI UNTUK MEMBUAT No.URUT BARU

'/ FORMAT NOMER ADALAH : THN/BLN/NOMER URUT

'/ CONTOH NOMER :

„/

„/ 12/6/0001

'/ 12 = TAHUN 1 DIGIT

'/ 6 = BULAN

'/ 0001 = NOMER URUT 4 DIGIT

'/ NOMER MENJADI 1 LAGI SAAT TAHUN BARU

'/

'/-----------------------------------------------/

Call BUKA_DB()

'/---1.BUKA DATA PER TAHUN DAN NOMER DESC, TIAP TAHUN NOMER 1 LAGI Dim bb As String bb = " SELECT TOP 1 NO_SERVICE FROM SERVICE " & _

" WHERE Year(TGL) =" & Year(Now) & _

" ORDER BY NO_SERVICE DESC"

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 216 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CMD = New Odbc.OdbcCommand(bb, CONN) RS = CMD.ExecuteReader() '/---2.AMBIL NOMER AKHIR Dim NOMER_akhir As String = "" If RS.Read Then NOMER_akhir = RS("NO_SERVICE") End If RS.Close() CMD.Dispose() '/---3.AMBIL 4 DIGIT DIBELAKANG NOMER; 0001 Dim NOMER As String = "" NOMER = Microsoft.VisualBasic.Right(NOMER_akhir, 4) '/---4.KONVERSI STRING KE NUMERIC, JUMLAHKAH NOMER +1 Dim NOMER_BARU As String NOMER_BARU = Val(NOMER) + 1 '/---5.BUAT NOMER BARU, GABUNGKAN Dim BULAN As String = Format(Now, "MM") '/Month(Now) Dim TAHUN As String = Format(Now, "yy") '/Year(Now) '/--- GABUNGKAN NOMER DENGAN NOL, DAN AMBIL NOMER NYA Dim NOMER_NYA As String = ""

NOMER_NYA = Microsoft.VisualBasic.Right("0000" & NOMER_BARU, 4)

'/---6.TAMPILKAN NOMER BARU Me.TextBox1.Text = TAHUN & "/" & BULAN & "/" & NOMER_NYA End Sub

NOMER OTOMATIS

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 217 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Procedure untuk isi combo pelanggan

Sub COMBO_PELANGGAN()

Call BUKA_DB()

Dim ABC As String = "" ABC = " SELECT * FROM PELANGGAN ORDER BY KODE_PELANGGAN" CMD = New Odbc.OdbcCommand(ABC, CONN) ‘/buka table sql Dim rs As Odbc.OdbcDataReader rs = CMD.ExecuteReader() ‘/ambil data ke RS

Me.ComboBox1.Items.Clear() ‘/kosongkan combo dulu

If rs.HasRows Then ‘/data mau di baca

While rs.Read ‘/mulai looping Me.ComboBox1.Items.Add(rs("KODE_PELANGGAN")) ‘/masukan ke combo End While Else MsgBox("DATA PELANGGAN TIDAK ADA..", MsgBoxStyle.Information) End If rs.Close() ‘/tutup table CMD.Dispose() ‘/hapus dari memory End Sub

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 218 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Procedure untuk mencari data pelanggan

Sub CARI_DATA_PELANGGAN()

Call BUKA_DB()

Dim BB As String = "" ‘/ buka table dengan WHERE untuk seleksi data yg dicari BB = " SELECT * FROM PELANGGAN WHERE KODE_PELANGGAN='" & ComboBox1.Text & "' "

CMD = New Odbc.OdbcCommand(BB, CONN) ‘/buka table RS2 = CMD.ExecuteReader() If RS2.Read Then ‘/data ada tidak TextBox2.Text = RS2("NAMA_PELANGGAN") ‘/ada, munculkan data Else MsgBox("DATA TIDAK ADA..", MsgBoxStyle.Information) End If RS2.Close() CMD.Dispose() End Sub

Procedure untuk mencari data barang

Sub CARI_DATA_BARANG() Dim BB As String = "" ‘/ buka table dengan WHERE untuk seleksi data yg dicari BB = " SELECT * FROM BARANG_JASA WHERE KODE_BARANG_JASA='" & TextBox3.Text & "' "

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 219 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CMD = New Odbc.OdbcCommand(BB, CONN) ‘/buka table RS = CMD.ExecuteReader() If RS.Read Then ‘/baca data TextBox4.Text = RS("NAMA_BARANG_JASA") ‘/munculkan nama ke textbox TextBox5.Text = RS("HARGA") ‘/munculkan harga ke textbox TextBox6.Focus() '/taro kursor di jumlah Else MsgBox("DATA BARANG TIDAK ADA..", MsgBoxStyle.Information) TextBox4.Text = "" TextBox5.Text = "0" TextBox3.Focus() '/taor kursor di kode barang End If RS.Close() CMD.Dispose() End Sub

Procedure untuk menghitung grand total

Sub HITUNG_GRAND_TOTAL() '/BACA DATA SUBTOTAL DI LISTVIEW Dim xSUBTOTAL As Double = 0 Dim MM As Integer = 0 '/ GUNAKAN LOOPING UNTUK MEM-TOTAL SUBTOTAL DI LISTVIEW For MM = 0 To Me.ListView1.Items.Count - 1 '/ AMBIL DATA DI LISTVIEW, DAN JUMLAH KAN '/ SubItems (4) adalah kolom SUBTOTAL

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 220 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

xSUBTOTAL = xSUBTOTAL + Val(ListView1.Items(MM).SubItems(4).Text)

Next Me.TextBox8.Text = xSUBTOTAL '/HITUNG GRAND TOTAL=SUBTOTAL - DISCOUNT If IsNumeric(TextBox8.Text) = False Then TextBox8.Text = "0" If IsNumeric(TextBox9.Text) = False Then TextBox9.Text = "0" Me.TextBox10.Text = TextBox8.Text - TextBox9.Text End Sub

Procedure untuk kosongkan textbox

Sub KOSONG_DEH() TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" TextBox7.Text = "" TextBox8.Text = "" TextBox9.Text = "" TextBox10.Clear() Me.DateTimePicker1.Value = Now ComboBox1.Text = "" End Sub

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 221 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Procedure untuk setting listview

Sub LISTVIEW_SETTING() With Me.ListView1 .Items.Clear() .FullRowSelect = True .GridLines = True .View = View.Details .AllowColumnReorder = True '/----- BIKIN KOLOM .Columns.Clear() .Columns.Add("KODE BARANG JASA", 150) .Columns.Add("NAMA BARANG JASA ", 200) .Columns.Add("HARGA", 100, HorizontalAlignment.Right) .Columns.Add("JUMLAH", 100, HorizontalAlignment.Right) .Columns.Add("SUBTOTAL", 100, HorizontalAlignment.Right) End With End Sub

Procedure untuk simpan data

Sub SIMPAN_DATA() Call BUKA_DB()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 222 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

'/------------------------------------------------------------------------------------------------------/

'/ 1.SIMPAN DATA HEADER DI TABLE: SERVICE '/------------------------------------------------------------------------------------------------------/ Dim AA As String = "" AA = " INSERT INTO SERVICE " & _ "(NO_SERVICE,TGL,KODE_PELANGGAN,SUBTOTAL_SERVICE,DISCOUNT,TOTAL_SERVICE)" & _ " VALUES " & _ " ('" & Me.TextBox1.Text & "' " & _ " ,'" & Me.DateTimePicker1.Value & "' " & _ " ,'" & Me.ComboBox1.Text & "' " & _ " ,'" & Me.TextBox8.Text & "' " & _ " ,'" & Me.TextBox9.Text & "' " & _ " ,'" & Me.TextBox10.Text & "')" CMD = New Odbc.OdbcCommand(AA, CONN) CMD.ExecuteNonQuery() CMD.Dispose() '/-------------------------------------------------------------------------------------------------/ '/ 2.

'/ SIMPAN DATA BARANG DI TABLE: SERVICE_RINCIAN

'/ GUNAKAN LOOPING UNTUK MEMBACA DI LISTVIEW '/-------------------------------------------------------------------------------------------------/ Dim xKODE As String = "" Dim xNAMA As String = "" Dim xHARGA As Double = 0 Dim xJUMLAH As Double = 0 Dim xSUBTOTAL As Double = 0 Dim BB As Integer = 0 Dim MM As Integer = 0

1

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 223 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

'/-------- GUNAKAN LOOPING DI LISTVIEW -----/

For MM = 0 To Me.ListView1.Items.Count - 1

'/------------------------------------------------------/ '/ 3. AMBIL DATA DI LISTVIEW '/------------------------------------------------------/ xKODE = Me.ListView1.Items(MM).Text xNAMA = ListView1.Items(MM).SubItems(1).Text xHARGA = ListView1.Items(MM).SubItems(2).Text xJUMLAH = ListView1.Items(MM).SubItems(3).Text xSUBTOTAL = ListView1.Items(MM).SubItems(4).Text '/------------------------------------------------------/ '/ 4. '/ SIMPAN KE TABLE: SERVICE_RINCIAN '/------------------------------------------------------/ Dim KK As String = "" KK = " INSERT INTO SERVICE_RINCIAN " & _ "(NO_SERVICE,KODE_BARANG_JASA,NAMA_BARANG_JASA,HARGA,JUMLAH,SUBTOTAL)" & _

" VALUES " & _ " ('" & TextBox1.Text & "' " & _ " ,'" & xKODE & "' " & _ " ,'" & xNAMA & "' " & _ " ,'" & xHARGA & "' " & _ " ,'" & xJUMLAH & "' " & _ " ,'" & xSUBTOTAL & "') " CMD = New Odbc.OdbcCommand(KK, CONN) CMD.ExecuteNonQuery() CMD.Dispose()

2

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 224 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

'/-----------------------------------------------------------------------------------------/ '/ 5.

'/ KODE TAMBAHAN JIKA MENGGUNAKAN APLIKASI STOK

'/ UPDATE STOK BARANG; STOK BARANG DIKURANGI '/-----------------------------------------------------------------------------------------/ Dim UU As String UU = " UPDATE BARANG_JASA SET " & _ " STOK=STOK - " & xJUMLAH & _ " WHERE KODE_BARANG_JASA='" & xKODE & "' " CMD = New Odbc.OdbcCommand(UU, CONN) CMD.ExecuteNonQuery() CMD.Dispose()

Next MsgBox("DATA TELAH DI SIMPAN", MsgBoxStyle.Information) End Sub

3

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 225 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CODE DI TOMBOL

Code di : TOMBOL INPUT

‘/ kosongkan textbox Call KOSONG_DEH() Call LISTVIEW_SETTING() ‘/ bikin nomer otomatis Call NOMER_OTOMATIS()

Code di : TOMBOL SIMPAN '/---------------------------------------------------------/ '/ CEK APAKAH PRIMARY KEY (NO.SERVICE) SUDAH ADA? '/---------------------------------------------------------/ Dim AA As String = "" AA = "SELECT * FROM SERVICE " & _ " WHERE NO_SERVICE='" & Trim(Me.TextBox1.Text) & "'" CMD = New Odbc.OdbcCommand(AA, CONN) RS = CMD.ExecuteReader() If RS.HasRows Then MsgBox("NO SERVICE SUDAH ADA...", MsgBoxStyle.Information)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 226 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

RS.Close() CMD.Dispose() Exit Sub End If CMD.Dispose() RS.Close() '/ PANGGIL PROCEDIRE SIMPAN DATA Call simpan_data()

Code di : TOMBOL PRINT ‘/FORM14: adalah form yg ada CrystalPreview nya ‘/ rubah nama FORM14, seusuai dengan nama form Preview masing-masing Dim FF As New Form14 ‘/ CrystalReport1 adalah nama crystal report BON service Dim Laporan As New CrystalReport1 Laporan.RecordSelectionFormula = "{SERVICE.NO_SERVICE}='" & Me.TextBox1.Text & "'"

With FF.CrystalReportViewer1 .DisplayGroupTree = False .ReportSource = Laporan .Refresh() End With FF.WindowState = FormWindowState.Maximized FF.ShowDialog()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 227 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di : TOMBOL CARI NOMER '/----- 1. INPUT NO.PENJUALAN YG DICARI -----/ Dim cari As String = InputBox("INPUT NO SERVICE=") If cari = "" Then Exit Sub End If Call BUKA_DB() '/----- 2.BACA DATA HEADER DARI TABLE SERVICE -----/ Dim AA As String = "" AA = " SELECT * FROM SERVICE " & _ " WHERE NO_SERVICE='" & Trim(cari) & "' " CMD = New Odbc.OdbcCommand(AA, CONN) RS = CMD.ExecuteReader() '/----- 3. CEK APAKAH DATA ADA / TIDAK -----/

If RS.Read Then

'/------------------------------------------------------------------------------------------/

'/ 4. MUNCULKANN DATA HEADER

'/-----------------------------------------------------------------------------------------/ Me.TextBox1.Text = RS("NO_SERVICE") Me.DateTimePicker1.Value = RS("TGL") Me.ComboBox1.Text = RS("KODE_PELANGGAN") Me.TextBox8.Text = RS("SUBTOTAL_SERVICE") Me.TextBox9.Text = RS("DISCOUNT") Me.TextBox10.Text = RS("TOTAL_SERVICE") RS.Close() CMD.Dispose()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 228 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Else MsgBox("NO PENJUALAN TIDAK ADA", MsgBoxStyle.Information) RS.Close() CMD.Dispose() Exit Sub End If '/----------------------------------------------------------------------------------------------------------/ '/ 5.

'/ BACA DATA BARANG DI TABLE: SERVICE_RINCIAN

'/-----------------------------------------------------------------------------------------------------------/ Dim BB As String = "" BB = " SELECT * FROM SERVICE_RINCIAN " & _ " WHERE NO_SERVICE='" & Trim(cari) & "' "

CMD = New Odbc.OdbcCommand(BB, CONN) RS = CMD.ExecuteReader() If RS.Read Then

Dim lv As ListViewItem While RS.Read '/ 6-----. MASUKAN DATA KE LISTVIEW -----/ lv = Me.ListView1.Items.Add(RS("KODE_BARANG_JASA")) '/KODE lv.SubItems.Add(RS("NAMA_BARANG_JASA")) '/NAMA lv.SubItems.Add(RS("HARGA")) '/HARGA lv.SubItems.Add(RS("JUMLAH")) '/JUMLAH lv.SubItems.Add(RS("SUBTOTAL")) '/SUBTOTAL End While End If RS.Close() CMD.Dispose()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 229 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di : TOMBOL HAPUS

***kode tombol hapus coba buat sendiri dehhh **

Code di : TOMBOL EXIT

Me.Close()

Code di : TOMBOL HITUNG TOTAL

Call HITUNG_GRAND_TOTAL()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 230 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CODE di RINCIAN BARANG (DETAIL)

Code di : TOMBOL EDIT BARANG

'/----- MUNCULKAN DATA LISTVIEW KE TEXTBOX -----/ On Error Resume Next

Me.TextBox3.Text = Me.ListView1.FocusedItem.Text ‘/kode barang Me.TextBox4.Text = Me.ListView1.FocusedItem.SubItems(1).Text ‘/nama barang Me.TextBox5.Text = Me.ListView1.FocusedItem.SubItems(2).Text ‘/harga Me.TextBox6.Text = Me.ListView1.FocusedItem.SubItems(3).Text ‘/jumlah Me.TextBox7.Text = Me.ListView1.FocusedItem.SubItems(4).Text ‘/subtotal

Code di : TOMBOL DELETE BARANG '/----- HAPUS BARANG DI LISTVIEW -----/ On Error Resume Next

ListView1.FocusedItem.Remove()

'/ JANGAN LUPA UNTUK HITUNG GRAND TOTAL Call HITUNG_GRAND_TOTAL()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 231 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di : TOMBOL SAVE (simpan data baru) '/------------------------------------------------------------------------------------/ '/ MASUKKAN DATA BARANG DI TEXTBOX KE LISTVIEW '/------------------------------------------------------------------------------------/ Dim lv As ListViewItem lv = Me.ListView1.Items.Add(TextBox3.Text) '/KODE lv.SubItems.Add(TextBox4.Text) '/NAMA lv.SubItems.Add(TextBox5.Text) '/HARGA lv.SubItems.Add(TextBox6.Text) '/JUMLAH lv.SubItems.Add(TextBox7.Text) '/SUBTOTAL TextBox3.Text=”” TextBox4.Text=”” TextBox5.Text=”” TextBox6.Text=”” TextBox7.Text=”” TextBox3.Focus() '/ JANGAN LUPA UNTUK HITUNG GRAND TOTAL Call HITUNG_GRAND_TOTAL()

TOMBOL SAVE: Untuk simpan data baru (bukan Edit)

TOMBOL UPDATE (EDIT): Untuk rubah data barang pada posisi barang yg di KLIK

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 232 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di : TOMBOL UPDATE (rubah data) '/-------------------------------------------------------------------------/ '/ UPDATE BARANG DI LISTVIEW DI POSISI AKTIF '/--------------------------------------------------------------------------/ Dim BARIS As Integer

BARIS = Me.ListView1.FocusedItem.Index '/Ambil urutan brg bdi LV Me.ListView1.Items(BARIS).SubItems(0).Text = TextBox3.Text Me.ListView1.Items(BARIS).SubItems(1).Text = TextBox4.Text Me.ListView1.Items(BARIS).SubItems(2).Text = TextBox5.Text Me.ListView1.Items(BARIS).SubItems(3).Text = TextBox6.Text Me.ListView1.Items(BARIS).SubItems(4).Text = TextBox7.Text TextBox3.Text=”” TextBox4.Text=”” TextBox5.Text=”” TextBox6.Text=”” TextBox7.Text=”” TextBox3.Focus() '/ JANGAN LUPA UNTUK… HITUNG GRAND TOTAL Call HITUNG_GRAND_TOTAL()

Code di : TOMBOL CANCEL '/ KOSONGKAN TEXTBOX BARANG TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" TextBox7.Text = "" TextBox3.Focus()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 233 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di : TOMBOL AMBIL BARANG (Lookup) '/ MUNCULKAN FORM LOOKUP BANTUAN DATA BARANG '/ FORM_LOOKUP adalah nama form lookupnya, RUBAHLAH NAMA FORM INI '/ sesuai dengan nama form masing-masing

Form_lookup.ShowFOCUS()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 234 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CODE DI OBJECT FORM

Code di : FORM - LOAD Call KOSONG_DEH() '/ KOSONGKAN TEXTBOX

Call COMBO_pelanggan() '/ ISI COMBO PELANGGAN

Call LISTVIEW_SETTING() '/ SETTING LISTVIEW

Code di : COMBOBOX1 - SelectedIndexChanged '/ CARI DATA PELANGGAN SETELAH KODE_PELANGGAN DI COMBO DI PILIH Call CARI_DATA_PELANGGAN()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 235 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Code di : TEXBOX3 - KeyDown

'/----- jika ENTER ditekan ,maka cari data barang ------/

If e.KeyCode = Keys.Enter Then

Call CARI_DATA_BARANG() End If

Code di : TEXTBOX6 - TextChanged

'/-----------------------------------------------------------------------------------------/ '/ HITUNG SUBTOTAL=HARGA*JUMLAH '/ JIKA ADA PERKALIAN LANGSUNG DI LOKASI -CHANGE- '/ JANGAN LUPA PAKE : ON ERROR RESUME NEXT '/-----------------------------------------------------------------------------------------/ On Error Resume Next If IsNumeric(TextBox6.Text) = False Then TextBox6.Text = "0" End If

'/ HITUNG SUBTOTAL = HARGA * JUMLAH TextBox7.Text = TextBox5.Text * TextBox6.Text

SELESAI….

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 236 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 237 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

(Tambahan)

Membuat form bantuan (form lookup)

AMBIL DATA BARANG (Ambil data barang dan munculkan ke form transaksi)

Ini adalah LISTVIEW

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 238 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CODE DI FORM

PROCEDURE

Procedure untuk menampilkan data ke listview

Sub TABLE_to_LISTVIEW() '/----------------------------------------------------------------------/ '/ TAMPILKAN DATA BARANG KE LISTVIEW '/----------------------------------------------------------------------/ Call BUKA_DB() Dim AA As String = "" AA = " SELECT * FROM BARANG_JASA ORDER BY KODE_BARANG_JASA" CMD = New Odbc.OdbcCommand(AA, CONN) '/ buka tabel RS = CMD.ExecuteReader() With Me.ListView1 '/ setting lisrtview nya .Items.Clear() .FullRowSelect = True .GridLines = True .View = View.Details .AllowColumnReorder = True '/----- BIKIN KOLOM --------/ .Columns.Clear() .Columns.Add("KODE BARANG JASA", 150) '/ kolom, 150 lebarnya .Columns.Add("NAMA BARANG JASA", 150)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 239 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

.Columns.Add("HARGA", 85) .Columns.Add("STOK", 85) .Columns.Add("KATEGORI", 85) End With '/--------------------------------------/ '/ BACA DATA BARANG '/--------------------------------------/

If RS.HasRows Then '/ apakah datanya ada

Dim lv As ListViewItem

While RS.Read '/ baca datanya

lv = Me.ListView1.Items.Add(RS("KODE_BARANG_JASA")) '/ masukan ke LV lv.SubItems.Add(RS("NAMA_BARANG_JASA")) lv.SubItems.Add(RS("HARGA")) lv.SubItems.Add(RS("STOK")) lv.SubItems.Add(RS("KATEGORI")) End While End If RS.Close() '/ tutup table CMD.Dispose() End Sub

Procedure untuk mengambil data di listview dan di TAMPILKAN ke form transaksi

Sub AMBIL_DATA_BARANG() '/------------------------------------------------/ '/ AMBIL DATA LISTVIEW '/------------------------------------------------/

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 240 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

On Error Resume Next '/ MASUKAN DATA BARANG KE FROM TRANSAKSI '/ Form_transaksi adalah nama form 1-many nya, RUBAHLAH nama ini '/ sesuai dengan nama form masing-masing

With Form_TRANSAKSI

.TextBox3.Text = Me.ListView1.FocusedItem.Text '/kode .TextBox4.Text = Me.ListView1.FocusedItem.SubItems(1).Text '/nama .TextBox5.Text = Me.ListView1.FocusedItem.SubItems(2).Text '/harga End With

End Sub

CODE DI : TOMBOL

Code di : TOMBOL REFRESH Call TABLE_to_LISTVIEW()

Code di : TOMBOL CANCEL Me.Close()

Code di : TOMBOL OK AMBIL Call AMBIL_DATA_BARANG() Me.Close()

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 241 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

CODE DI : FORM

Code di : FORM - LOAD Call TABLE_to_LISTVIEW()

Code di : LISTVIEW - KEYDOWN '/ jika di LV di ENTER, maka ambil data nya dan munculkan di form transaksi

If e.KeyCode = Keys.Enter Then

Call AMBIL_DATA_BARANG() Me.Close() End If

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 242 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

REPORT

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 243 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

FORM CRYSTAL REPORT PREVIEW

Form ini untuk menampilkan report dari CrystalReport

Code di : FORM - RESIZE

On error resume next CrystalReportViewer1.HEIGHT = Me.Height - CrystalReportViewer1.TOP - 50 CrystalReportViewer1.WIDTH = Me. Width- 50

Ini adalah CrystalReportViewer1

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 244 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

REPORT BON SERVICE

Report menggunakan penambahan ruang yaitu GROUP.

Ruang GROUP ini untuk mengelompokan data , atau untuk data yang 1 (One) nya (report 1-Many)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 245 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Design Report

CETAK BON SERVICE:

Report menggunakan GROUP: field SERVICE.No_Service

KONEKSI dengan ODBC

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 246 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

>> klik OK

>> klik Create New Connection + ODBC + Make New Connection

>> klik Next

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 247 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

>> pilih nama ODBC nya, >>klik Next

>> Kosongkan USER, PASSWORD,CEK Trusted COnnection>> klik Next

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 248 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

>> Nama table muncul, AMBIL table2 untuk report, >>Klik Next

>> Klik NExt

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 249 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

>> Pilih field untuk report >> Next >> Next

Service.Subtotal_service Service.Discount

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 250 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

FINISH

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 251 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Bikin GROUP

Pilih

SERVICE. NO_SERVICE

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 252 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

REPORT jadi tambah ruang

baru, yaitu : GROUP

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 253 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Design lah report sbb:

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 254 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 255 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 256 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

MEMBUAT LAPORAN

TRANSAKSI harian (menggunakan 2 tanggal –range- )

Format report menggunakan Laporan bon

CODE:

Code: TOMBOL REPORT - Click

Dim AA As New Form3 ‘/--Nama form preview

Dim Laporan As New CrystalReport1 ‘/--Nama crystal report

Laporan.RecordSelectionFormula = "{SERVICE.NO_TGL} >=CDATE („" & DateTimePicker1.Text & "‟) AND

{SERVICE.TGL} <= CDATE („” & DateTimePicker2.Text & "‟) “

With AA.CrystalReportViewer1 .DisplayGroupTree = False .ReportSource = Laporan

.Refresh() End With

AA.Show()

NYAMBUNG

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 257 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Perhatikan FORMULA untuk 2 tanggal (RANGE):

biasanya digunakan dalam laporan transaksi, Penulisannya BERSAMBUNG yah….

Laporan.RecordSelectionFormula =

"{SERVICE.TGL} >=CDATE („" & DateTimePicker1.Text & "‟)

AND

{SERVICE.TGL} <=CDATE („” & DateTimePicker2.Text & "‟)“

…jadi menggunakan fungsi CDATE, tanggal di apit dengan KUTIP SATU

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 258 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 259 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Alhamdulillah Selesai…

Modul ini untuk programmer pemula yang sedang belajar dengan

gigih dan kerja kerasssssssssssssss

Salam dari ane

Indra E Sanjaya ‘Afgan

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 260 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 261 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

NIKAH yuuukk... jangan PACARAN..

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 262 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Yang sudah BEKERJA.. segeralah MENIKAH.. jangan Pacaran

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 263 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

PADA AKHIRNYA..

Dan.... …pada akhirnya jumlah perempuan semakin banyak & banyak

Dan…

Pada akhirnya Jumlah laki-laki semakin sedikit & sedikit..

Dan… Pada akhirnya hukum POLIGAMI akan diterima oleh

masyarakat umum (Muslim & Non Muslim) dengan sendirinya..

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

P a g e | 264 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012

Jangan lupa SHOLAT kepada ALLAH SWT

Jangan lupa untuk MEMBACA AL-QURAN setiap hari, 1 ayat saja… mudahkan

top related