Bab 1 Pengenalan Visual Basic 6 Visual Basic 6 merupakan salah satu tool untuk pengembangan aplikasi yang banyak diminati oleh orang. Di sini Visual Basic 6 menawarkan kemudahan dalam pembuatan aplikasi dan dapat menggunakan komponen-komponen yang telah disediakan. Untuk memulai Visual Basic 6 anda perlu menginstall Visual Basic 6.0. Program ini biasanya dalam satu paket dengan Visual Studio 6.0. Dengan menggunakan Visual Basic 6 kita bisa menghasilkan berbagai macam jenis program. Dari aplikasi yang mengintegrasikan database, jaringan, office automation, dan web application. Di sini kita akan membahasa dasar-dasar pemrograman Visual Basic dengan sedikit tentang database.
Pada layar awal akan muncul tampilan seperti di atas. Visual Basic menyediakan banyak jenis modul aplikasi. Untuk memulai program standar pilihlah Standard EXE, kemudian klik pada tombol Open. Setelah itu akan muncul tampilan seperti berikut ini. Sekarang kita akan mengenal bagian-bagian dari IDE ( Integrated Development Environment ) yang kita gunakan.
Visual Basic 6.0
Page 1 of 45
Form Designer Pada form design ini adalah tempat kita merancang user interface ( antar muka pemakai ). Untuk menampilkan layar ini dapat mengklik pada tombol Design View atau dengan menekan tombol Shift + F7. Sedangkan untuk ke layar coding dapat menekan tombol F7. Menu Toolbar Menu standar pada Windows, dapat digunakan untuk membuka project, menyimpan project, menjalankan project, dan sebagainya. Toolbox Di sinilah tempat komponen-komponen yang disediakan untuk merancang user interface. Masing-masing komponen memiliki cirri dan kegunaan masing-masing. Komponen kita gunakan sesuai kebutuhan kita. Project Explorer Di sini adalah struktur project yang sedang kita kerjakan. Suatu project dapat terdiri dari beberapa form.
Visual Basic 6.0
Page 2 of 45
Properties Pada kolom ini menampilkan Properties dari komponen yang sedang aktif. Property adalah data-data atau karakteristik yang dimiliki oleh suatu objek komponen.
Sekarang kita akan membuat program sederhana. . Kemudian drag ke form Pilihlah Label pada Toolbox yang menggunakan simbol design. Kemudian pada kolom Properties ubah property Caption untuk mengubah teks yang tertulis pada layar. Berikut ini adalah property yang kita setting : Nama Property (Name) Alignment Caption Font
Value lblJudul 2 – Center Welcome Pilih jenis tulisan
Keterangan Nama dari objek Untuk mengatur agar teks rata tengah Untuk mengatur teks yang terlihat pada layar Untuk mengatur jenis tulisan, ukuran dan sebagainya.
Rancanglah form anda menjadi seperti berikut ini. Komponen yang akan kita gunakan adalah Label, TextBox, dan Command.
Visual Basic 6.0
Page 3 of 45
Namailah tiap-tiap komponen seperti di atas. cmdTampil Nama Property Caption
Value &Tampil
Keterangan Mengatur teks pada tombol.
Value &Reset
Keterangan Mengatur teks pada tombol.
Value E&xit
Keterangan Mengatur teks pada tombol.
Value
Keterangan Mengosongkan teks pada textbox
cmdReset Nama Property Caption
cmdExit Nama Property Caption
txtNama Nama Property Text
Tanda & pada Caption Command menyatakan Mnemonic untuk tombol tersebut. &Tampil akan menghasilkan pada tombol teks di mana huruf T nya bergaris bawah. Penekanan tombol pada tombol ini dapat menggunakan kombinasi tombol Alt + T. Demikian pula dengan yang lainnya.
Visual Basic 6.0
Page 4 of 45
Pemrograman pada Visual Basic menggunakan konsep event-driven, di mana suatu prosedur dijalankan pada saat terjadi suatu kejadian tertentu. Misalkan kita ingin membuat pada saat tombol Exit diklik maka langsung keluar dari program. Caranya, kliklah dua kali pada tombol Exit dan akan membawa anda ke layar coding.
Pada bagian di atas menyatakan bahwa pada saat cmdExit di click maka akan langsung keluar dari program. Untuk menjalankan aplikasinya anda dapat menekan tombol F5 untuk run. Kemudian kita akan membuat coding untuk tombol Reset dan Tampilnya. Untuk tombol Reset kita akan membuat pada saat tombol Reset ditekan maka txtNama akan dikosongkan. Perintah untuk mengosongkannya adalah dengan memberi nilai pada Text nya dengan string kosong. Pada VB 6 anda dibantu untuk tidak perlu mengingat semua property yang ada, karena pada saat anda mengakses suatu objek maka akan dimunculkan propertynya.
Buatlah coding untuk ketiga tombol di atas.
Visual Basic 6.0
Page 5 of 45
Pada cmdTampil diklik kita masukkan coding dengan menggunakan MsgBox, di mana akan menampilkan sebuah kotak dialog pesan. Kita kembali ke form design ( tekan Shift + F7 ). Kemudian kita bisa merancang tampilan dari program dengan mengatur property dari form yang ada. Rancanglah user interface dengan mengganti warna background dan warna teks, jenis teks dan sebagainya. Form Nama Property BackColor
Value Warna lain
Keterangan Mengatur warna background dari form
Value 0 – Transparent
Keterangan Agar label bersifat transparan dan warna backgroundnya mengikuti warna form.
Nama Property BackColor
Value Warna lain
Style
1 – Graphical
Keterangan Mengatur warna background untuk ketiga tombol yang ada Untuk memberikan mode Graphical pada button, sehingga dapat menampilkan warna dan gambar.
Label Nama Property BackStyle
Command
Variabel Variabel digunakan untuk menampung nilai sementara di memori. Cara mendeklarasi variabel adalah sebagai berikut: Dim [nama variabel] As [tipe data] atau Public [nama variabel] As [tipe data] atau Private [nama variabel] As [tipe data]
Visual Basic 6.0
Page 6 of 45
Public akan Membuat suatu variable dapat diakses dari segala tempat di dalam Project, sedangkan Dim dan Private akan Membuat suatu variable yang hanya dapat diakses di dalam module dimana variable tersebut dideklarasikan. Dim I As Integer I = 50
Tipe Data Tipe data memiliki ciri-ciri tersendiri, ada yang bersifat numeric, karakter, dan sebagainya. Masing-masing memiliki batas-batas nilai yang beraneka ragam.
Visual Basic 6.0
Page 7 of 45
Bab 2 Control Flow Pada bab ini akan mempelajari tentang control flow yaitu struktur pemilihan dan perulangan.
Rancanglah terlebih dahulu form di atas. Kita akan membuat program sederhana untuk menghitung nilai akhir. Nilai yang diketahui adalah TM, Mid dan Final. Rumus penilaiannya kita asumsikan sebagai berikut ini. Nilai Akhir = 10% TM + 40 % Mid + 50% Final Pada saat tombol hitung ditekan, akan muncul Nilai Akhirnya dan Grade yang ditentukan sebagai berikut Nilai Akhir <55 55-64 65-74 75-84 Sisanya
Visual Basic 6.0
Grade E D C B A
Page 8 of 45
Struktur Pemilihan If kondisi Then ……. ……. End If If kondisi Then ……. ……. Else ……. ……. End If
If kondisi Then ……. ……. ElseIf kondisi Then ……. ……. End If
Lanjutkanlah program di atas sehingga pada saat tombol Hitung ditekan, program akan mengecek ketiga textbox tersebut tidak boleh kosong. Jika kosong tampilkan pesan agar user mengisi semua nilai. Jika semua diisi baru hitung nilai akhir dan munculkan gradenya. Struktur lain dari pemilihan adalah menggunakan struktur select case. Select Case Case 0 ….. Case 1,3 ….. Case 5 to 10 ….. Case Is > 10 ….. Case Else ….. End Select Cobalah tampilkan grade berdasarkan nilai akhir dengan menggunakan struktur Select Case.
Visual Basic 6.0
Page 9 of 45
Jawab Dim NilaiTm As Integer Dim NilaiMid As Integer Dim NilaiFinal As Integer Dim NilaiAkhir As Integer Dim Grade As String Private Sub cmdHitung_Click() NilaiTm = Val(txtTM.Text) NilaiMid = Val(txtMid.Text) NilaiFinal = Val(txtFinal.Text) NilaiAkhir = NilaiTm * 0.2 + NilaiMid * 0.3 + NilaiFinal * 0.5 Select Case NilaiAkhir Case Is < 55 Grade = "E" Case 55 To 64 Grade = "D" Case 65 To 74 Grade = "C" Case 75 To 84 Grade = "B" Case Else Grade = "A" End Select lblNA = NilaiAkhir lblGrade.Caption = Grade End Sub
Struktur Perulangan Dim i As Integer For i = 1 to 10 …….. Next
Sama Dengan
Dim i As Integer For i = 1 to 10 STEP 1 …….. Next
Perintah di atas akan melakukan perulangan sebanyak 10 kali. Pada perintah perulangan di atas STEP bersifat optional dan dapat dihilangkan. Step menunjukkan pertambahan yang dilakukan di mana defaultnya adalah 1. Untuk nilai dari besar ke kecil gunakan nilai step yang negatif. Dim i As Integer For i = 10 to 1 STEP -1 …….. Next
Visual Basic 6.0
Page 10 of 45
Perintah random Untuk membuat sebuah angka yang random, kita menggunakan perintah rnd()*
.Untuk menghasilkan hasil random yang selalu berbeda pada setiap kali pengacakan, kita menggunakan perintah Randomize(). contoh
Dim I As integer Randomize() i=rnd()*100
Maka nilai i akan berkisar antara 0-99 secara acak. Rancanglah pada layar seperti berikut ini.
Method AddItem RemoveItem Clear
Untuk menambahkan item Untuk meghapus item pada index tertentu Untuk menghapus semua item
Property ListCount ListIndex
Mendapatkan jumlah item Mendapatkan index item yang terpilih. Jika tidak ada yang terpilih nilainya adalah -1.
Struktur perulangan lainnya adalah sebagai berikut i=0 Do
……… i=i+1 Loop While i <= 10
i=0 Do While i <= 10 ……… i=i+1 Loop
i=0 Do ……… i=i+1 Loop Until i = 10
Visual Basic 6.0
Page 11 of 45
i=0 Do Until i = 10 ……… i=i+1 Loop
i=0 While i <= 10 ……… i=i+1 Wend
Struktur perulangan bermacam-macam dan dapat digunakan sesuai kebutuhan. Buatlah program untuk memilih tanggal, bulan, dan tahun. Masing-masing bulan berbeda jumlah harinya, dan cek juga untuk tahun kabisat, dan pada saat mulai, tanggal bulan dan tahunnya random.
Visual Basic 6.0
Page 12 of 45
Bab 4 Sub dan Function Dalam pemrograman kita dapat memecah perintah-perintah program dalam prosedur dan fungsi tertentu. Hal ini memudahkan dalam pemrograman karena lebih terstruktur, dan prosedur-prosedur yang ada dapat dipakai berulang kali, memudahkan untuk maintenance program, lebih mudah untuk mengidentifikasi bug.
Rancanglah form di atas terlebih dahulu. Kita akan membuat sub untuk inisialisasi nilai-nilai pada Listbox. Method dan property pada ListBox hampir sama. Fungsi untuk menambah atau mengurangi item masih sama.
Visual Basic 6.0
Page 13 of 45
Kita dapat membuat Sub sendiri. Di sini kita beri nama Inisialisasi. Pada saat Form Load kita dapat langsung memanggil Sub tersebut dan isi sub tersebut langsung dieksekusi. Pada saat pemanggilan Sub kita bisa menambahkan parameter.
Pada program di atas Sub Inisialisasi kita tambahkan satu buah parameter bertipe integer. Pada saat pemanggilan prosedur tersebut kita perlu menyertakan sebuah integer seperti pada gambar. Selain Sub kita juga dapat membuat Function. Perbedaannya adalah function memiliki suatu nilai yang dikembalikan. Misalkan kita membuat fungsi bertipe Boolean yang akan mengecek apakah sebuah angka ada di dalam item-item di dalam suatu listbox.
Pada program di atas fungsi tersebut digunakan pada saat akan memasukkan item pada listbox, dicek terlebih dahulu apakah angka sudah ada, angka hanya akan ditambahkan ke listbox jika belum ada.
Visual Basic 6.0
Page 14 of 45
Buatlah fungsi untuk menghitung total angka yang terdapat pada kedua listbox, tampilkanlah pada kedua label total di bawah masing-masing listbox. kita akan mempelajari komponen-komponen lanjutan dalam Visual Basic 6.0. Kita akan membahas Check, Option, Frame, dan InputBox.
Pada program di atas user dipersilahkan untuk mengisi namanya, jenis kelaminnya laki-laki atau perempuan, kemudian memilih jenis kamar yang diinginkan, kemudian memilih fasilitas apa saja yang diinginkan. Tiap kamar memiliki harga yang berbeda-beda. Untuk pilihan jenis kamar gunakan Option, di sini user hanya dapat memilih salah satu saja. Sedangkan untuk fasilitas dapat menggunakan Check, di mana user dapat tidak memilih dan bebas untuk memilih yang mana saja.
Visual Basic 6.0
Page 15 of 45
Kita asumsikan harga kamar adalah sebagai berikut : Jenis Kamar Standard Suite Silver
Harga 150000 250000 450000
Jenis Fasilitas Sauna Fitness Massage
Harga 50000 75000 150000
Kemudian tampilkan harga total pembayarannya. Dan minta input pembayaran dengan menggunakan inputbox. Validasilah agar pembayaran mencukupi total pembayaran jika terdapat uang kembali tampilkan jumlah uang kembaliannya. Dan ucapkan terima kasih. Setelah itu resetlah kembali form ke keadaan semula sebelum diisi.
Visual Basic 6.0
Page 16 of 45
Visual Basic 6.0
Page 17 of 45
Bab 5 Operasi String dan Animasi Dalam bab ini akan mempelajari tentang Operasi String yang ada dan menggabungkannya dalam aplikasi. Berikut ini dilampirkan fungsi-fungsi string dalam Visual Basic 6.0. Fungsi-Fungsi String Right,Mid,Left Ketiga perintah ini berguna untuk mengambil suatu string dari dalam suatu string. Right Mengambil sejumlah string dari kanan dengan sintaks Right(String,Panjangnya) Contoh : Right(“ABCDE”,3) ‘Hasilnya adalah “CDE” Mid Mengambil sejumlah string yang berada di tengah-tengah dengan sintaks Mid(String,Start,Panjangnya) Contoh : Mid(“ABCDE”,2,3) ‘Hasilnya adalah “BCD” Left Mengambil sejumlah string dari kiri dengan sintaks Left(string,Panjangnya) Contoh : Left(“ABCD”,3) ‘Hasilnya adalah “ABC” Format – Digunakan untuk merubah format / bentuk dari suatu string, contoh Untuk menggabungkan 2 atau lebih string, kita dapat menggunakan tanda & . Contoh. A=”visual” B=”Basic” C= A + B + “ mudah” Pada contoh di atas, nilai c akan berisi string visual Basic mudah. Kita coba membuat aplikasi berikut ini. Kita akan membuat jam digital.
Visual Basic 6.0
Page 18 of 45
Jalankanlah .exe-nya untuk lebih jelasnya. Kita rancang dulu tampilannya seperti di atas. Untuk membuat jamnya terus bergerak kita gunakan timer.
Buatlah timer dan set nilai pada property sebagai berikut. Properti Enabled
Nilai True
Interval
1000
Keterangan Bernilai Boolean, dapat true/false. Jika true maka timernya akan dijalankan, dan akan berhenti jika enablednya false. Jeda waktu selama timernya berjalan.
Timer akan secara terus menerus menjalankan suatu event tertentu yaitu timer. Caranya clicklah dua kali pada timer.
Visual Basic 6.0
Page 19 of 45
Sub Timer1_Timer akan dijalankan pada saat timer1 enablednya true dan dengan jeda sesuai dengan intervalnya. Coding pada Timer1_timer akan dijalankan terus menerus tanpa henti. Di sini kita masukkan coding untuk menampilkan jam. Objek Now adalah objek yang menunjukkan nilai tanggal/jam saat ini. Sub Timer2_Timer melakukan prosedur yang lain, yaitu prosedur untuk membuat tulisan judul “JAM DIGITAL” bergerak / rotasi. Disini menggunakan fungsi-fungsi string yang ada. (lihat tabel fungsi string di atas).
Visual Basic 6.0
Page 20 of 45
Bab 6 Database Concept Database adalah kumpulan data-data yang biasanya 0tersusun di dalam table-table yang kita buat. Database yang kita gunakan adalah Akses. Untuk membuat suatu database, terlebih dahulu kita harus menentukan tabel2 yang akan kita buat berserta hubungan antar table tersebut. Tabel. Tabel merupakan kumpulan data yang sejenis yang disusun dalam bentuk baris dan kolom. Contoh : Tabel data barang KodeBarang B0001 B0002 B0003
NamaBarang Pensil Lemari Pena
JenisBarang Alat Tulis Furniture Alat Tulis
Harga 1500 90000 2500
Struktur sebuah tabel terdiri atas bagian heading dan body. Bagian heading biasanya berisi nama-nama field atau berupa himpunan attribute sedangkan bagian body sebagai himpunan record/data. Type data Tiap-tiap field mempunyai karakterisitik tertentu yang berarti diap field memiliki tipe data yang berbeda-beda. Secara Umum tipe data terbagi dalam 3 besar : • Numeric Tipe data ini digunakan untuk menampung data yang dapat mengalami suatu proses perhitungan aritmatika seperti penambahan,pengurangan, dan lainlain. • Character Tipe data ii digunakan untuk menampung data dalam bentuk text atau character baik angka maupun abjad (kata-kata). • Datetime Tipe data datetime digunakan menampung data yang berhubngan dengan waktu baik penangalan maupun jam,menit, dan detik. Tabel-tabel dalam database relasional saling berhubungan dengan menggunakan relasi. Semua relasi data diwakili oleh isi (value) dari kolom.
Visual Basic 6.0
Page 21 of 45
Contoh sebuah relationship tabel barang dengan tabel transaksi.
KodeTr T001 T002
KodeBarang B0001 B0002
Tanggal 02-12-2001 03-01-2002
qty 3 4
KodeBarang B0001 B0002 B0003
NamaBarang Pensil Lemari Pena
JenisBarang Alat Tulis Furniture Alat Tulis
Harga 1500 90000 2500
Jenis-Jenis Relasi : • One To One Yaitu jenis relasi dimana satu key saling berhubungan dengan key pada tabel lain dengan korespondensi satu-satu. Contoh:Tabel propinsi dengan tabel gubernur • One To Many Yaitu jenis relasi dimana satu key yang unik pada satu tabel saling berhubungan dengan banyak key di table lain. Contoh : kode barang pada tabel barang dengan kode barang pada tabel jual. • Many to Many Yaitu jenis relasi dimana banyak key pada suatu tabel saling berhubungan dengan banyak key di tabel yang lain. Contoh: satu dosen dapat mengajar banyak mahasiswa dan banyak mahasiswa dapat diajar oleh banyak dosen. Pada umumnya di dalam sebuah table, kita mengenal yang disebut primary key. Primary key adalah kolom yang uniq, dengan kata lain ,data-data di kolom tersebut tidak dapat berisi data yang sama / duplicate. Kolom yang merupakan primary key dapat lebih dari Satu, bila tidak memungkinkan satu kolom untuk mewakilkan keunikan dari table tersebut. Normalisasi. Merupakan suatu cara untuk mendesain suatu database dan menempatkan field-field kedalam tabel sehinga tabel-tabel yang ada tidak mengandung suatu anomali. Tingkatan Normalisasi. 1. Un-Normalize Nim 101
Nama Adi
Kelurahan Pondok A
Kec Cilandak
KdPos 12345
102
Budi
Duri Kepa
Palmerh
11480
103
Nani
Pondok A
Cilandak
12345
Visual Basic 6.0
KodeMK IF234 IF204 MN112 IF204 IF234 MN112
Mata Kuliah SBD Kalkulus Manajemen Kalkulus SBD Manajemen
Sks 4 4 2 4 4 2
Tahun/sem 2001/4 2001/3 2002/6 2001/3 2001/4 2002/6
Nilai A B A B C B
Page 22 of 45
2. Normal Form Pertama (1 st NF) Nim 101 101 101 102 102 103
Nama Adi Adi Adi Budi Budi Nani
Kelurahan Pondok A Pondok A Pondok A Duri Kepa Duri Kepa Pondok A
Kec Cilandak Cilandak Cilandak Palmerh Palmerh Cilandak
KdPos 12345 12345 12345 11480 11480 12345
KodeMK IF234 IF204 MN112 IF204 IF234 MN112
Mata Kuliah SBD Kalkulus Manajemen Kalkulus SBD Manajemen
Sks 4 4 2 4 4 2
Tahun/sem 2001/4 2001/3 2002/6 2001/3 2001/4 2002/6
Nilai A B A B C B
3. Normal form Kedua (2 nd NF) MAHASISWA Nim 101 102 103
Nama Adi Budi Nani
Kelurahan Pondok A Duri Kepa Pondok A
Kec Cilandak Palmerh Cilandak
KdPos 12345 11480 12345
MATAKULIAH KodeMK IF234 IF204 MN112
Mata Kuliah SBD Kalkulus Manajemen
Sks 4 4 2
DAFTAR NILAI NIM 101 101 101 102 102 103
KodeMK IF234 IF204 MN112 IF204 IF234 MN112
Tahun/sem 2001/4 2001/3 2002/6 2001/3 2001/4 2002/6
Nilai A B A B C B
4.Normal Form Ketiga (3 rd NF) MAHASISWA Nim 101 102 103
Nama Adi Budi Nani
KdPos 12345 11480 12345
MATAKULIAH KodeMK IF234 IF204 MN112
Visual Basic 6.0
Mata Kuliah SBD Kalkulus Manajemen
Sks 4 4 2
Page 23 of 45
DAFTAR NILAI NIM 101 101 101 102 102 103
KodeMK IF234 IF204 MN112 IF204 IF234 MN112
Tahun/sem 2001/4 2001/3 2002/6 2001/3 2001/4 2002/6
Nilai A B A B C B
DAERAH KdPos 12345 11480
Visual Basic 6.0
Kelurahan Pondok A Duri Kepa
Kec Cilandak Palmerh
Page 24 of 45
Bab 7 SQL Basics Untuk Memanipulasi atau mengambil data-data yang terdapat didalam suatu database , kita dapat menggunakan suatu perintah yang dinamakan sintaks sql. Perintah perintah tersebut antara lain : SELECT – Select adalah perintah sql yang berguna untuk mengambil data yang terdapat di dalam database sesuai yang kita inginkan, format perintah ini adalah Select , from where Contoh : Select nim,nama,kelas from tabelMahasiswa where nama=’Bobo’ Maka Query akan menghasilkan semua data yang memiliki nama Bobo dari tabelMahasiswa. INSERT - Insert adalah perintah sql untuk memasukkan suatu data baru ke dalam Suatu table, format perintah ini adalah Insert into <(Nama Kolom,Nama Kolom,..)> values Contoh: Insert into TabelMahasiswa (Nim,Nama,Kelas) values(‘0600612345’,’Adi’,’01PAT’) Maka Data baru dengan nim, nama, dan kelas tersebut akan ditambahkan ke dalam tabelMahasiswa. UPDATE – Update adalah perintah sql untuk mengubah satu atau lebih data yang Terdapat di dalam suatu table,Format perintah ini adalah Update set , where Contoh: Update TabelMahasiswa set Kelas=’06PAA’,Nim=’0600654321’ where Nama=’Adi’ Maka Semua Mahasiswa dengan nama “Adi” akan diubah kelasnya menjadi 06PAA dan Nim nya Menjadi 0600654321. DELETE – Delete adalah perintah sql untuk mengahapus satu atau lebih data yang terdapat di dalam suatu table. Format perintah ini adalah Delete from where Contoh: Delete from Tabelmahasiswa where nama=’Adi’ Maka Semua mahasiswa dengan Nama “Adi” akan dihapus dari dalam TabelMahasiswa. Selain perintah di atas , Sql juga memiliki beberapa fungsi untuk menghitung , yang biasa kita sebut dengan aggregate function. Secara Umum sintaks aggregate function tersebut antara lain : Select < aggregate function > ( ) from where
Visual Basic 6.0
Page 25 of 45
Aggregate function tersebut antara lain : SUM- adalah fungsi untuk menghitung Jumlah Total dari suatu kolom pada table. Contoh : Select Jumlah_Total_Penjualan=sum(total_penjualan) from tabel_penjualan Where bulan=’Januari’ Pada Perintah di atas akan ditampilkan total dari kolom total_penjualan secara keseluruhan Pada bulan Januari Count-adalah fungsi untuk menghitung jumlah record yang terdapat pada suatu kolom dari suatu table. Contoh : Select Jumlah_Mahasiswa=count(Nama_Mahasiswa) from tabel_mahasiswa Where tahun_angkatan=’2004’ Pada perintah di atas, akan ditampilkan jumlah mahasiswa yang memiliki tahun angkatan 2004. perintah count di atas akan menghitung jumlah record dari kolom Nama_Mahasiswa pada tahun angkatan 2004 dan ditampilkan dengan nama Jumlah Mahasiswa. Bila Kita ingin menampilkan suatu aggregate function Bersama-sama dengan kolom lain di suatu query, kita harus menggunakan sintaks Group By, Sehingga data yang dihitung oleh aggregate function tersebut akan dikelompokkan berdasarkan kolom yang kita GroupBy tersebut. Misalkan Kita ingin menampilkan Kolom Bulan, Beserta dengan Jumlah penjualan per bulan tersebut, maka sintaks yang harus kita tulis adalah sebagai berikut. Select Bulan,TotalPenjualan=sum(Total_Penjualan) from tabel_penjualan Group by Bulan.
Visual Basic 6.0
Page 26 of 45
Bab 8 Integrating database to Application Module Module adalah sebuah file khusus yang memiliki ekstensi .bas dan mengandung variabel dan prosedur yang biasanya digunakan Untuk membuat suatu variable ataupun sebuah sub atau function yang umum yang dipakai oleh banyak form didalam suatu project. Bagaimana Cara Menggunakan Module ? Module dapat dipanggil dengan cara sebagai berikut: 1. Pilih project Æ add module.
2. Setelah itu akan muncul form add module,pilih modul tersebut dan klik open.
Visual Basic 6.0
Page 27 of 45
3. Lalu akan muncul sebuah file dan lembar kerja baru.
Module sekarang akan kita gunakan untuk mendeklarasikan variabel untuk koneksi ke database karena variabel ini akan sering digunakan di dalam project. MDI Form MDI Form adalah Form pusat dimana dapat mengontrol semua form didalam projects, sehingga dengan kata lain form ini merupakan “Master” dari form2 lain. Untuk membuat MDI Form kita harus tambahkan dengan klik pada menu Project > Add MDI Form.
Visual Basic 6.0
Page 28 of 45
Setelah di-add maka pada akan muncul kotak dialog seperti di bawah ini. Anda langsung klik Open saja.
Pada Project Explorer akan muncul dua buah form yaitu Form1 dan MDIForm1. Ubahlah properties MDIChild dari Form1 menjadi true. Hal ini menandakan Form1 adalah sebagai form anak dari MDIForm1. Settinglah pada Project Properties agar form utamanya adalah MDIForm1.
Visual Basic 6.0
Page 29 of 45
Kliklah pada menu editor untuk membuat menu.
Di sini kita dapat merancang struktur menu yang dinginkan, membuat short cut untuk menu tersebut, dan sebagainya.
ADODB Adodb adalah salah satu cara kita menghubungkan aplikasi dengan database. Di dalam Visual basic , Object ADODB yang sering digunakan adalah ADODB.Connection dan ADODB.Recordset. Untuk dapat membuat suatu variable dari ADODB ini kita harus terlebih dahulu Memilih references di dalam vb yaitu Microsoft ActiveX data object.
Visual Basic 6.0
Page 30 of 45
Module sering digunakan di dalam pendeklarasian connection dan recordset untuk penggunaan database , sehingga object connection dan recorset tersebut dapat digunakan pada semua bagian di dalam project yang anda buat.
Contoh pendeklarasian object connection dan recordset di dalam module Connection Î digunakan untuk melakukan koneksi ke database yang dipilih dengan perintah open ataupun mengeksekusi sintaks-sintaks SQL dengan perintah execute. Untuk membuka koneksi ke database gunakan perintah open yang diikuti oleh connection string yang dapat dihapalkan ataupun menggunakan bantuan seperti control ADODC atau file dengan extension .UDL. Recordset Î digunakan untuk menampung data (bisa berasal dari 1/ lebih tabel) yang merupakan hasil eksekusi perintah sql select, syntax: select [nama kolom] from [nama tabel] where[kondisi]
dim con as new adodb.connection dim rs as new adodb.recordset sub koneksi() con.Open “provider=microsoft.jet.oledb.4.0;data source=”c:\mhs.mdb” ‘untuk buka koneksi rs.Open "select * from mahasiswa where nama=’James’ ”, con ,adOpenKeyset, _ adLockOptimistic end sub
Hasil dari sub koneksi di atas adalah connection akan membuka koneksi ke database dengan nama mhs.mdb yang terletak di c:\mhs. mdb ,kemudian recordset akan menampung data dari tabel mahasiswa yang memiliki nama James . Untuk menampilkan query data yang berbeda kita cukup “memainkan” sintaks sql pada recordset Recorset akan berisi sekumpulan record-record dimana akan terdapat 1 record yang aktif yang sedang ditunjuk oleh cursor recordset tersebut. Untuk perpindahan cursor di dalam recordset digunakan beberapa perintah di dalam object recordset itu sendiri, antara lain :
Visual Basic 6.0
Page 31 of 45
Perintah Movenext Moveprevious Movelast Movefirst Move
Keterangan Menunjukan data keposisi Selanjutnya Menunjukan Data Keposisi sebelumnya Menunjukan Data Keposisi Terakhir Menunjukan Data Keposisi Pertama Menggerakan Data Keposisi Tertentu.
Insert, update, delete Untuk melakukan manipulasi data pada database pada aplikasi kita dapat amenggunakan object dari recordset . Contoh Manipulasi database dengan menggunakan recordset
dim con as new adodb.connection dim rs as new adodb.recordset sub Connect() con.Open “provider=microsoft.jet.oledb.4.0;data source=”c:\mhs.mdb” rs.Open "select * from mahasiswa", con, adOpenKeyset, adLockOptimistic end sub
sub Insert() rs.addnew rs(0)=text1.text rs(1)=text2.text rs(2)=text3.text rs.update end sub
‘ menambahkan data baru pada recordset(1baris) ‘mengisi kolom pertama pada recordset dengan text1 ‘mengisi kolom kedua pada recordset dengan text2 ‘mengisi kolom kedua pada recordset dengan text3 ‘mengpdate isi database
sub Update() rs.movefirst rs(0)=text1.text rs(1)=text2.text rs(2)=text3.text rs.update end sub
‘memindahkan cursor recorset ke awal data ‘mengisi kolom pertama pada recordset dengan text1 ‘ mengisi kolom kedua pada recordset dengan text2 ‘mengisi kolom kedua pada recordset dengan text3 ‘mengupdate isi database
sub Delete() rs.movefirst rs.delete end sub
‘ memindahkan cursor recorset ke awal data ‘ menghapus isi recorset (1 baris)
Bila kita menjalankan Perintah INSERT pada contoh coding di atas, Maka Recordset Bertambah 1 record baru, yang kemudian record baru tersebut diisi setiap kolomnya, yang diakhiri dengan perintah update agar database ikut Berubah. Pada Perintah UPDATE diatas, yang diubah adalah Record pertama dari tabel mahasiswa karena sebelum dilakukan perubahan terdapat perintah untuk menunjuk kepada baris pertama yaitu rs.movefirst, yang kemudian dilakukan perubahan yang diakhiri oleh perintah update sehingga database ikut berubah. Pada perintah Delete record yang dihapus pada Database adalah baris yang sedang aktif dan tidak perlu perintah Update untuk mengeksekusinya.Sehingga pada
Visual Basic 6.0
Page 32 of 45
perintah Delete di atas , record yang dihapus adalah record pertama pada table mahasiswa, karena sebelum dilakukan perintah delete terdapat perintah movefirst yang membuat record pertama aktif. Latihan Buatlah Aplikasi login dan aplikasi manipulasi database mahasiswa.
Visual Basic 6.0
Page 33 of 45
Bab 9 Using Grid Msflexgrid dan data grid adalah salah satu komponen yang berguna untuk menampilkan isi dari database dalam bentuk tabel Adapun cara-cara untuk memanggil komponen tersebut,antara lain: 1. Microsoft Hierarchical flexgrid control 6.0 ( OLEDB ) 1.1 Pilih Project Æ Component (ctrl + T)
Gambar 4.4: Pemanggilan component 1.2 Setelah anda memilihnya maka akan keluar form baru,pilihlah Microsoft Hierarchical flexgrid control 6.0 ( OLEDB )
Gambar 4.5 : Pemilihan Microsoft Hierarchical flexgrid control 6.0 ( OLEDB ).
Visual Basic 6.0
Page 34 of 45
1.3 Setelah itu pilih OK. 1.4 Tampilan Microsoft Hierarchical flexgrid control 6.0 ( OLEDB ) akan terlihat seperti gambar 4.6 berikut.
Microsoft Hierarchical flexgrid control 6.0 ( OLEDB )
Microsoft Hierarchical flexgrid control 6.0 ( OLEDB )pada tampilan layar
Untuk menampilkan record-record dari recordset pada mshflexgrid , kita menggunakan property datasource. Contoh : dim con as new adodb.connection dim rsBarang as new adodb.recordset sub tampil() con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\evo.mdb" rsBarang.Open "select * from MsBarang", con, adOpenKeyset, adLockOptimistic set mshflexgrid1.datasource=rsBarang end sub
Dengan perintah tampil di atas , maka mshflexgrid akan berisikan record-record dari table mahasiswa.
Microsoft Hierarchical flexgrid control 6.0 ( OLEDB )pada tampilan layar Setelah terdapat data di dalamnya
Visual Basic 6.0
Page 35 of 45
Contoh Manipulasi database dengan menggunakan Connection dim con as new adodb.connection dim rs as new adodb.recordset sub connect() con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\evo.mdb" set rs=con.execute” select * from MsBarang” end sub sub Insert() con.execute “Insert into MsBarang values(‘001’,Buku’,’Acessories’,5000)” end sub sub Update() con.execute “update MsBarang set NamaBarang=’Pensil’,HargaBarang=3000 “ & _ “where KodeBarang=’001’ “ end sub sub Delete con.execute “Delete from MsBarang where KodeBarang=’001’ “ end sub
Pada Listing coding di atas,Kita tidak menggunakan recordset untuk melakukan segala manipulasi data pada database, tetapi cukup dengan perintah execute pada object connection yang diikuti oleh sintaks SQL yang akan di jalankan. Pada perintah Insert di atas, maka pada table MsBarang akan ditambahkan 1 record yang berisi data “001” pada kolom pertama, “Buku” pada kolom ke 2 , “Acessories“ Pada kolom ke 3 dan 5000 pada kolom ke 4.
Pada perintah Update di atas, kita menentukan sendiri record mana yang akan diupdate, dengan memasukkan conditionnya, pada perintah di atas, kita memberikan condition “Where KodeBarang=’001’ ” sehingga record yang akan berubah adalah seluruh record yang memiliki KodeBarang tersebut, dan kolom yang berubah adalah kolom NamaBarang menjadi “Pensil” dan kolom alamat menjadi HargaBarang menjadi 3000 Begitu pula pada perintah Delete di atas, kita memasukkan kondisi “Where KodeBarang=’001’ ” Sehingga record yang akan dihapus adalah record yang memiliki KodeBarang tersebut.
Note:
Cara ini lebih bagus dibandingkan dengan menggunakan object recordset karena kita bebas untuk menentukan field mana yang kita akan ubah dan tidak harus memposisikan cursor untuk memanipulasi data. Sangat berbahaya bila kita melupakan kondisi pada saat perintah update dan delete, karena bila kita tidak memasukkan kondisi, maka semua record akan dilakukan perubahan bila kita update dan semua record akan terhapus bila kita delete.
Visual Basic 6.0
Page 36 of 45
Buatlah aplikasi seperti bab sebelumnya tetapi Untuk MasterBarang dan dengan menggunakan object connection dalam memanipulasi data ditambah Grid untuk View dari MsBarang .
Visual Basic 6.0
Page 37 of 45
Bab 10 Filter dan Search Pada Bab ini kita akan membuat suatu aplikasi seperti sebelumnya, tetapi dengan fasilitas searching dan sorting, untuk mempermudah pencarian data. Selama ini query data yang kita masukkan dengan condition selalu dengan nilai pasti, seperti nama=’james’ dan sebagainya. Ada kalanya kita menginginkan query dengan kondisi menyerupai / tidak sama persis. Bila kita melakukan query dengan condition seperti nama=’james’ maka data yang tampil hanyalah data dengan nama ‘james’ secara tepat, tetapi data dengan nama james wijaya, james halim dsb tidak akan ditampilkan. Di sintaks sql terdapat suatu sintaks untuk melakukan query dengan “menyerupai” yaitu sintaks LIKE yang diikuti dengan string yang ingin dibandingkan. Contoh Select * from MsBarang where namaBarang=’Buku’
Akan memiliki hasil yang sama dengan Select * MsBarang where namaBarang like ‘Buku’
Tetapi bila kita menggunakan like, kita dapat menambahkan tanda % yang berarti string. Contoh 1.Bila kita menuliskan condition Where NamaBarang like ‘Buku%’ maka semua NamaBarang yang memiliki awalan Buku (Buku Gambar, Buku Tulis dll) akan ditampilkan, tanda % tersebut menandakan string di belakang Kata Buku Tersebut. 2.Bila kita menuliskan condition Where NamaBarang like ‘%Buku’ maka semua NamaBarang yang memiliki akhiran Buku (Pinjaman Buku,Kerusakan Buku , dll) akan ditampilkan. 3.Bila kita menuliskan condition Where namaBarang like ‘%Buku%’ maka semua NamaBarang yang Memiliki kata berunsur Buku akan ditampilkan, tidak peduli terdapat di awal,di akhir ataupun di tengah-tengah nama. Untuk melakukan pengurutan data / sorting di dalam query kita menggunakan sintaks sql yaitu Order by. Order by adalah sintaks yang digunakan untuk melakukan pengurutan pada querry, sehingga querry dapat menampilkan data sesuai dengan urutan kolom yang kita inginkan.
Visual Basic 6.0
Page 38 of 45
Sintaks ini diletakan setelah condition pada sintaks query Contoh, bila kita ingin menampilkan tabel MsBarang yang diurutkan berdasarkan KodeBarang Select * from MsBarang where tahun_Angkatan=’2005’ Order By KodeBarang
Sekarang, kedua sintaks ini (Like, dan Order by) akan kita gunakan di dalam aplikasi untuk menambahkan fasilitas sorting dan searching. Tambahkan form MsBarang dengan aplikasi seach dan sorting
Latihan Buatlah Form TransaksiPembelian yang berguna untuk menambahkan stok barang.
Visual Basic 6.0
Page 39 of 45
Bab 11 Crystal Report Crystal report adalah suatu form khusus berbentuk seperti lembaran format naskah yang ingin dicetak.Didalam Crytal report kita dapat merancang laporan-laporan yang ingin kita tampilkan dari data-data yang terdapat di dalam database. Crystal report dapat berdiri sendiri dapat pula menjadi satu dengan project visual basic yang anda buat. Bila berdiri sendiri, report tersebut pun dapat dipanggil dari project visual basic dengan control Crystal Report Control sehingga report yang telah anda buat dapat digunakan oleh beberapa project sekaligus. Pertama-tama pilihlah program crystal report , maka pada tampilan windows akan muncul tampilan seperti gambar di bawah ini
Pilihlah report expert dan standard expert untuk laporan standard dan pilih ok untuk melanjutkan. Setelah itu akan muncul semua property dari report yang akan kita buat, yang akan ditampilkan seperti gambar :
Visual Basic 6.0
Page 40 of 45
Pertama kali kita harus memasukkan datasource dari report yang akan kita buat (darimana data yang mau kita tampilkan) denga memilih 1 dari ketiga jenis data yang telah tersedia (Databse,Cystal SQL Querry, dan Cristal Dictionary). Untuk menampilkan data dari database seperti Microsoft Access. Kita Dapat menggunakan DatabaseFile ataupun ODBC yang harus kita buat terlebih dahulu, hanya saja dengan menggunakan DatabaseFile , bila path database berubah kita harus mensetting ulang Path dari database tersebut, Bila Dengan ODBC kita Harus membuat ODBC nya terlebih dahulu tetapi kita tidak perlu Menseting ulang path database bila databasenya berubah. Kita akan Membuat dengan menggunakan DatabaseFile.
Visual Basic 6.0
Page 41 of 45
Pilihlah database file, dan pilih find database file dan click add, maka kita akan ditampilkan common dialog untuk mencari database yang ingin kita tampilkan
Pilihlah Database yang kita akan tampilkan di report, dan click open untuk memilihnya, maka tampilan akan kembali ke sebelumnya dengan berbagai macam datasource dari database yang kita pilih seperti query ataupun table.
Pilihlah datasource yang diinginkan dan click add,setelah itu click close, maka dengan ini, report yang akan kita buat telah ditentukan datasourcenya. Setelah itu pilihlah tombol next untuk menuju bagian field yang akan kita tampilkan di dalam report kita.
Visual Basic 6.0
Page 42 of 45
Pilihlah field-field yang akan kita tampilkan di report, dan bila sudah selesai, click finish untuk menuju design report kita.
Visual Basic 6.0
Page 43 of 45
Bab 12 Integrating all into One Pertama-tama kita harus memasukkan component crystal report ke dalam project kita, yaitu dengan memilih menu Project ~ component.
Maka pada toolbox akan muncul crystal report control seperti berikut.
Beberapa property dari crystal report yang biasa digunakan di dalam aplikasi. .Reset - Digunakan untuk mengembalikan kondisi report kedalam kondisi semula, biasanya properti ini digunakan pertama kali sebelum properti lainnya .Connect
- Digunakan untuk menenetukan jenis conection yang digunakan Oleh report tersebut, Biasanya diisi oleh variabel adodb.connection yang kita buat.
.ReportFileName
- Digunakan untuk menentukan report yang akan kita tampilkan Beserta path dari report tersebut. Misal c:\report.rpt
.StoreProcedureParam- Digunakan bila datasource dari report yang akan kita panggil Adalah storeProcedur yang memiliki parameter .Formula
-Digunakan apabila didalam report yang kita buat, terdapat Formula yang ingin kita isi dari VB.
.SelectionFormula
-Digunakan untuk memfilter data dari report yang ingin kita Tampilkan dengan menyebutkan nama datasource.nama field
.WindowState
-Digunakan untuk menentukan windowstate dari report pada saat Pertama kali tampil apakah fullscreen,minimize dsb.
.Action
-Digunakan untuk memunculkan report yang akan kita
Visual Basic 6.0
Page 44 of 45
Contoh:
tampilkan Dengan memberinya angka 1 (.Action=1)
Private Sub cmdCetak_Click() With cr .reset .connect = con .ReportFileName = App.Path & "\ReportPembelian.rpt" .ReplaceSelectionFormula ("{trPembelian.tanggal} >= #" & _ Format(dtpTanggalAwal.Value, "dd/MM/yyyy") & _ "# and {trPembelian.tanggal} <= #" & _ Format(dtpTanggalAkhir.Value, "dd/MM/yyyy") & "#") .Formulas(0) = "PeriodeAwal='" & Format(dtpTanggalAwal.Value, "dd-MM-yyyy") & "'" .Formulas(1) = "PeriodeAkhir='" & Format(dtpTanggalAkhir.Value, "dd-MM-yyyy") & "'" .WindowState = crptMaximized .action = 1 End With End Sub
Maka Hasil tampilan yang akan Jadi adalah
Visual Basic 6.0
Page 45 of 45
Filename: Visual Basic 6.0 skripsi.doc Directory: D:\Evo\RnD\diktat\special\Visual Basic 6.0 Skripsi Template: C:\Documents and Settings\EVO\Application Data\Microsoft\Templates\Normal.dot Title: Subject: Author: admin Keywords: Comments: Creation Date: 7/2/2005 6:35:00 PM Change Number: 131 Last Saved On: 8/8/2005 3:01:00 PM Last Saved By: admin Total Editing Time: 923 Minutes Last Printed On: 4/27/2006 4:09:00 PM As of Last Complete Printing Number of Pages: 45 Number of Words: 5,217 (approx.) Number of Characters: 29,742 (approx.)