indra keren modul belajar vbnet2005 10-6-2012

264
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah | Page | 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

Upload: supriyadi

Post on 09-Aug-2015

534 views

Category:

Documents


21 download

TRANSCRIPT

Page 1: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 2: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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)

Page 3: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 4: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 5: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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...

Page 6: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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..

Page 7: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 8: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 9: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 10: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 11: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 12: Indra Keren Modul Belajar Vbnet2005 10-6-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)

Page 13: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 14: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 15: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 16: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 17: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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",

Page 18: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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)

Page 19: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 20: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 21: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 22: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 23: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 24: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 25: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 26: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 27: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 28: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 29: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 30: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 31: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 32: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 33: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 34: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 35: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 36: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 37: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 38: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 39: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 40: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 41: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 42: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 43: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 44: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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"

Page 45: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 46: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 47: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 48: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 49: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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)

Page 50: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 51: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 52: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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:

Page 53: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 54: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 55: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 56: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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)

Page 57: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 58: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 59: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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:

Page 60: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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)

Page 61: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 62: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 63: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 64: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 65: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 66: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 67: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 68: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 69: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 70: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 71: Indra Keren Modul Belajar Vbnet2005 10-6-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….

Page 72: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 73: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 74: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 75: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 76: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 77: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 78: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 79: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 80: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 81: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 82: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 83: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 84: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 85: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 86: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 87: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 88: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 89: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 90: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 91: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 92: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 93: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 94: Indra Keren Modul Belajar Vbnet2005 10-6-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)

Page 95: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 96: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 97: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 98: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 99: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 100: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 101: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 102: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 103: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 104: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 105: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 106: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 107: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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 :

Page 108: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 109: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 110: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 111: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 112: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 113: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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:

Page 114: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 115: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 116: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 117: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 118: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 119: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 120: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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 "

Page 121: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 122: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 123: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 124: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 125: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 126: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 127: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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.

Page 128: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 129: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 130: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 131: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 132: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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..

Page 133: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 134: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 135: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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…..

Page 136: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 137: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 138: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 139: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 140: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 141: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 142: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 143: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 144: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 145: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 146: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 147: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 148: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 149: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 150: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 151: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 152: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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]

Page 153: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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 ]

Page 154: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 155: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 156: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 157: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 158: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 159: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 160: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 161: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 162: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 163: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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…

Page 164: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 165: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 166: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 167: Indra Keren Modul Belajar Vbnet2005 10-6-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..

Page 168: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 169: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 170: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 171: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 172: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 173: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 174: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 175: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 176: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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)

Page 177: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 178: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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.

Page 179: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 180: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 181: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 182: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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:

Page 183: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 184: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 185: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 186: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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..

Page 187: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 188: Indra Keren Modul Belajar Vbnet2005 10-6-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)

Page 189: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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+)

Page 190: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 191: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 192: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 193: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 194: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 195: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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 '/-----------------------------------------------------------------/

Page 196: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 197: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 198: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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)

Page 199: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 200: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 201: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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)

Page 202: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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 –

Page 203: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 204: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 205: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 206: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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… ;-)

Page 207: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 208: Indra Keren Modul Belajar Vbnet2005 10-6-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)

Page 209: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 210: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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)

Page 211: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 212: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 213: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 214: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 215: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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"

Page 216: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 217: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 218: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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 & "' "

Page 219: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 220: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 221: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 222: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 223: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 224: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 225: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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)

Page 226: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 227: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 228: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 229: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 230: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 231: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 232: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 233: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 234: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 235: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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….

Page 236: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 237: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 238: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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)

Page 239: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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 '/------------------------------------------------/

Page 240: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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()

Page 241: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 242: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 243: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 244: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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)

Page 245: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 246: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 247: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 248: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 249: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 250: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 251: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 252: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 253: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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:

Page 254: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 255: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 256: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 257: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 258: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 259: Indra Keren Modul Belajar Vbnet2005 10-6-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

Page 260: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 261: Indra Keren Modul Belajar Vbnet2005 10-6-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..

Page 262: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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

Page 263: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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..

Page 264: Indra Keren Modul Belajar Vbnet2005 10-6-2012

| 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