modul praktikum visualbasic.net .v2
TRANSCRIPT
FR-UBM-2.3.3.4/R0 Periode Berlaku : Genap 2011/2012 Versi / Revisi : 1/0 MODUL
TIB14 - Pemrograman Visual Basic
Oleh:
L0110 - LUKMAN HAKIM
PROGRAM STUDI TEKNIK INFORMATIKA
2012
UNIVERSITAS BUNDA MULIA
JL. Lodan Raya No. 2 Jakarta Utara 14430
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page i
LEMBAR PENGESAHAN
KMK : TIB14
Mata Kuliah : Pemrograman Visual Basic
Pembahasan 1. Pengenalan Visual Basic.Net
2. Bahasa Pemrograman VB.Net & Objek Oriented
3. Desain Interface & Control Objek
4. Pemrograman Database & Manipulasi Data
5. Penggunaan Objek ADO.Net
6. Menu & Crystal Raport
7. Package Executable Aplikasi
Penyusun : L0110 –Lukman Hakim
Periode Berlaku : Genap 2011/2012
Jakarta, _______________
Disusun oleh,
L0110 - Lukman Hakim, ST., M.Kom
Dosen Teknik Informatika
Disetujui oleh,
L0436 - Bambang Dwi Wijanarko, S.Si.,M.Kom
Program Studi Teknik Informatika
Disetujui oleh,
L0604 – Julia Loisa, S.Kom., MM
Manager Pengembangan Pembelajaran
Disahkan oleh,
Kandi SS Dahlan, MBA, Phd_
Plt.Wakil Rektor Bidang Akademik
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page ii
KATA PENGANTAR
Dalam perkembangan dunia programmer dan industri informasi perkembangan bahasa
pemrograman sangat cepat dan banyaknya permintaan dari kalangan pengusahan untuk
migrasi dari bahasa sebelum ke bahasa Visual Basic.Net. Visual Basic.Net memiliki
hampir semua kebutuhan visual dan mendukung beberapa software DBMS seperti Mysql,
Oracle, Postgris, Infomix, dll. Dengan kelengkapan ini seorang programmer dapat lebih
leluasa berkreasi menghasilkan berbagai macam program aplikasi untuk diterapkan pada
industri informasi saat ini.
Modul Praktikum ini merupakan Buku latihan membuat Program dengan memanfaatkan
berbagai macam fasilitas yang dimiliki dan komponen koneksi database serta bagaimana
membuat laporan dengan Crystal Raport yang sudah dimiliki secara plug & Play. Modul
ini mengambil dari berbagai sumber referensi sebagai bahan pembelajaran yang
memberikan kemudahan mahasiswa dalam mengerjakan soal-soal yang akan diberikan
dosen.
Permograman Visual Basic.Net dengan konsep Objek Oriented dapat digunakan untuk
mendukung kebutuhan seiring perkembangan konsep pemrograman dari terstruktur dan
berbasis objek oriented yang banyak diterapkan pada industri yang menerapakan
teknologi sistem informasi. Modul ini dilengkapi dengan contoh penulisan code program
lebih sederhana dan mudah dipahami.
Penulis berharap semoga modul ini banyak membantu mahasiswa dalam membuat
program dan sebagai referensi. Penulisan menyadari masih banyak sekali dalam modul
untuk dikembangkan secara lebih mudah untuk dipelajari, tetapi dari ini akan menjadi
masukan untuk terus mengembangkan bahan ajar ini menjadi lebih baik lagi. Wasalam
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page iii
DAFTAR ISI
LEMBAR PENGESAHAN .............................................................................................. i KATA PENGANTAR..................................................................................................... ii DAFTAR ISI ................................................................................................................. iii MODUL 1 ...................................................................................................................... 1 PENGENALAN VISUAL BASIC.NET DAN OPERATOR ........................................... 1
1.1. Teori/Konsep .................................................................................................... 1 1.1.1. Dot NET Framew....................................................................................... 1 1.1 .2. Proses Instalasi VB.NET ............................................................................. 10 1.1.3. Sekilas tentang VB.Net ................................................................................ 10 1.1.4. Penggunaan Variabel ................................................................................... 11 1.1.5. Aksesibilitas variabel: .................................................................................. 15
1.2. contoh Soal-soal ................................................................................................. 17 1.3. Soal-soal Latihan ................................................................................................ 19
MODUL 2 .................................................................................................................... 21 PENGENALAN OBJEK ORIENTED PADA VB.NET ................................................ 21
2.1. Teori/Konsep ...................................................................................................... 21 2.2. Latihan Soal ....................................................................................................... 26 2.3. Soal- Soal ........................................................................................................... 30
MODUL 3 .................................................................................................................... 34 DESAIN INTERFACE DAN CONTROL OBJEK ....................................................... 34
3.1. Teori/Konsep ...................................................................................................... 34 3.1.1. Antarmuka ................................................................................................... 34 3.1.2. Control Objek .............................................................................................. 35
3.2. Latihan Soal ....................................................................................................... 37 3.3. Soal- Soal ........................................................................................................... 42
MODUL 4 .................................................................................................................... 43 PEMROGRAMAN DATABASE DAN MANIPULASI ................................................ 43
4.1. Teori/Konsep ...................................................................................................... 43 4.1.1. DBMS (Database Management System) ...................................................... 43 4.1.2. Instalasi MySQL .......................................................................................... 44 4.1.3. DASAR-DASAR MYSQL .......................................................................... 45
4.2. Latihan Soal ....................................................................................................... 47 4.3. Soal- Soal ........................................................................................................... 49
MODUL 5 .................................................................................................................... 51 PENGGUNAAN OBJEK ADO.NET ............................................................................ 51
5.1. Teori/Konsep ...................................................................................................... 51 5.1.1. ADO. NET .................................................................................................. 51 5.1.2. Evolusi ADO.NET ....................................................................................... 51 5.1.3. Mengapa ADO.NET? .................................................................................. 52 5.1.4. Arsitektur Data ADO.NET ........................................................................... 53 5.1.5. Data Provider ............................................................................................... 53 5.1.6. Komponen kelas yang membentuk Penyedia data ........................................ 54
5.2. Contoh Latihan Soal ........................................................................................... 56
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page iv
5.3. Soal- Soal ........................................................................................................... 69 MODUL 6 .................................................................................................................... 70 MENU DAN CRYSTAL REPORT ............................................................................... 70
6.1. Teori/Konsep ...................................................................................................... 70 6.1.1. Crystal Report ................................................................................................. 70 6.2. Latihan Soal ....................................................................................................... 72 6.3. Soal- Soal ........................................................................................................... 83
MODUL 7 .................................................................................................................... 84 Package Execute Program ............................................................................................. 84
7.1. Teori/Konsep ...................................................................................................... 84 7.2. Latihan Soal ....................................................................................................... 85 7.3. Soal- Soal ........................................................................................................... 89
DAFTAR PUSTAKA ................................................................................................... 90
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page v
DAFTAR GAMBAR Gambar 1.1. Aplikasi Visual Basic.Net ......................................................................... 11 Gambar 1.2. Form perhitungan dengan Label ................................................................ 14 Gambar 1.3. Code deklarasi pada VB.Net ..................................................................... 17 Gambar 1.4. Tampilan Form Konversi suhu .................................................................. 20 Gambar 2.1. Tampilan Form Penjualan Barang ............................................................. 27 Gambar 2.1. Tampilan Form Hitung Gaji ...................................................................... 30 Gambar 2.2. Tampilan Form Hitung Gaji yang simpan .................................................. 31 Gambar 2.4. Tampilan Form Kredit Kendaraan ............................................................. 33 Gambar 3.1. Kontrol Objek Property ............................................................................. 37 Gambar 3.2. Tampilan Form konsep Inheritance ........................................................... 37 Gambar 3.3.Tampilan Aplikasi Bioskop ........................................................................ 42 Gambar 4.1 Instalasi Mysql pada folder ........................................................................ 44 Gambar 4.2. Tampilan aktif WinMysql ......................................................................... 45 Gambar 4.3. Tampilan layar pada prompt Mysql ........................................................... 46 Gambar 5.1. Arsitektur Data ADO.NET ........................................................................ 54 Gambar 5.2.Tampilan membuat Module ....................................................................... 56
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 1
MODUL 1
PENGENALAN VISUAL BASIC.NET DAN OPERATOR
Pertemuan : 2,4
Peralatan & Perlengkapan : VISUAL STUDIO 2005 VB.NET dan MySQL
Tujuan pembelajaran praktikum : Ø Mahasiswa mampu menjelaskan kelebihan VB.Net dengan versi sebelumnya (C2)
Ø Mahasiswa mampu menggunakan variable local dan variabel public, variable
tetap/konstanta (C3)
Ø Mahasiswa dapat menggunakan operator dan statemen pada pemrograman vb.net
(C3)
1.1. Teori/Konsep 1.1.1. Dot NET Framework
Di luar beragamnya definisi .NET Framework, .NET Framework merupakan
“Man Behind The Gun” dari VB.NET sehingga kita perlu megetahui jeroan dari
teknologi yang ada di dalamnya.
Microsoft .NET adalah software yang menghubungkan informasi, orang, system
dan device! Perangkat yang menjangkau client, server dan tool pengembang.
Microsoft .NET disusun oleh:
• Dot NET Framework, digunakan untuk membangun dan menjalankan semua
macam softwere termasuk aplikasi berbasis Web, aplikasi smart client, dan
layanan web XML (Extensible Markup Language). Menyediakan komponen
untuk berbagai data melalui Network menggunakan komponen platform protocol
independent seperti XML, SOAP, dan HTTP.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 2
• Tool – tool pengembang seperti Microsoft VisualStudio .NET yang penyediaan
IDE (Integrated Development Enveronment! lingkungan pengembangan
terintegrasi) untuk memaksimalkan produktivitas pengembangan
menggunakan .NET Framework.
• Serangkaian server termasuk Microsoft Windows Servwr 2003, Microsoft SQL
Server dan Micosoft BizTalk Server yang terintegrasi, untuk menjalankan,
mengoprasikan dan mengelola services Web dan aplikasi berbasis Web.
• Softwere client seperti Windows XP, windows CE dan Windows Office XP yang
membantu pengembangan untuk menyebarkan dan mengelola aplikasinya.
.NET Platform merupakan satu set kumpulan teknologi yang memungkinkan
teknologi Internet ditransformasikan ke dalam platform distributed computing dengan
skalabilitas dan kompatibilitas tinggi. Secara teknikal, .NET Platform menyediakan
konsep pemrograman dengan library dan modul-modul baru yang konsisten, terlepas dari
jenis bahasa pemrograman yang digunakan.
.NET Platform menyediakan hal-hal berikut bagi para developer :
1) Language independent, dengan programming model yang konsisten di semua tier
aplikasi yang dibangun.
2) Interoperability dan kompatibilitas antar aplikasi.
3) Kemudahan migrasi dari teknologi yang ada saat ini.
4) Dukungan penuh terhadap berbagai teknologi standar yang digunakan dalam
platform internet, antara lain HTTP, XML, SOAP dan HTML.
Teknologi inti .NET secara umum terdiri dari 4 area pokok :
1) .NET Framework
.NET Framework adalah teknologi inti yang menyediakan berbagai library untuk
digunakan oleh aplikasi di atasnya. Komponen inti .NET Framework adalah
Common Language Runtime (CLR) yang menyediakan run time environment
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 3
untuk aplikasi yang dibangun menggunakan Visual Studio .NET, terlepas dari
jenis bahasa pemrogramannya.
Dengan adanya CLR tersebut, programmer dapat menikmati consistent object
model dalam mengakses berbagai komponen library. Dengan demikian
penggunaan bahasa pemrograman dalam dunia .NET adalah lebih ke masalah
selera atau taste, dan bukan pada kelebihan maupun kekurangan masing-masing
bahasa. Mengapa ? Karena semua bahasa pemrograman yang mensupport .NET
mengakses library yang sama di dalam .NET Framework, dengan object model
yang konsisten, dengan run time file yang sama. Bahasa adalah sekedar skin atau
theme, bukan senjata sakti.
Apakah .NET Framework?
Dot NET Framework adalah linkungan untuk membangun, deploying
menyebarkan, dan menjalankan services Web dan aplikasi lainnya.
Dot NET Framework disusun oleh dua komponen utama, yaitu Common
Language Runtime (runtime bahasa umum) dan .NET Framework Class Library
(pustaka class .NET Framework.
Definisi di atas saya ambil dari penjelasan Microsoft dalam FAQ(Frequently
Asked Questions) mengenai .NET Framework. Secara sederhana .NET Framework
adlah platform tunggal dimana semua orang dapat platform tunggal dimana semua
orang dapat mengembangkan aplikasi menggunakan suatu system yang mirip dengan
JVM(Java Virtual Machine). Hanya berbeda dengan java, tidak ada penghalang
dengan bahasa .NET sehingga aplikasi dapat dikembangkan menggunakan bahasa:
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 4
VB, C++, C#, J# dan 20 bahasa-bahasa pemrograman lainnya yang kompatibel
dengan .NET Framework.
Tujuan dari .NET Framework adalah:
• Menyediakan lingkungan pemrograman berorientasi objek, apakah kode objek
disimpan dan dijalankan secara lokal, dijalankan secara lokal tetapi disebarkan
melalui internet atau dijalankan secara remote (dijalankan dari suatu tempat).
• Menyediakan lingkungan untuk menjalankan suatu kode yang meminimalkan
konflik saat software deployment disebarkan dan versioning /tentang versi.
• Menyediakan lingkungan untuk menjalakan suatu kode yang menjamin
keamanan saat kode dijalankan, termasuk kode yang dibuat oleh pihak yang
tidak diketahui atau pihak ketiga yang setengah dipercaya.
• Menyediakan lingkungan untuk menjalankan suatu kode yang dapat
mengeliminasi masalah performa dari lingkungan scripted dan interpreted.
• Membuat pengembang memiliki pengalaman yang konsisten dalam berbagai
tipe aplikasi berbasis Windows dan aplikasi berbasis Web.
Definisi lainnya, .NET Framework bisa juga diartikan sebagai serangkaian
teknologi yang :
• Mempersatukan aplikasi Web yang sekarang masi terisolasi.
• Membuat informasi tersedia di setiap saat dan di setiap tempat.
• Menyederhanakan pengembangan dan penyebaran aplikasi.
Common Language Runtime (CLR)
Common language runtime/CLR/runtime bahasa umum (runtime) merupakan
dasar dari .NET Framework. Runtime adalah engine yang menjalankan aplikasi
>NET Framework. Runtime menyediakan sejumlah service/layanan, seperti berikut
ini:
• Mengelola kode (loading dan menjalankan)
• Isolasi memori aplikasi
• Verifikasi untuk kemanan type
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 5
• Konversi dari IL (Intermediate Language) ke kode native/asli.
• Akses metadata (informasi yang dipercaya)
• Mengelola memori pada objek managed/terkelola
• Mengelola keamanan kode akses
• Menangani eksepsi (kejadian yang tidak diharapkan yang muncul saat
kode dieksekusi) termasuk eksepsi lintas bahasa
• Inperoperation di antara managed code, objek COM(Component Object
Model)
• Otomatisasi layout objek
• Mendukung layanan pengembang (profiling, debugging dan sebagainya)
Konsep pengelolaan kode merupakan prinsip dari runtime. Kode yang menjadi
target dari runtime disebut managed code/kode terkelola, sedangkan kode yang tidak
menjadi target runtime disebut unmanaged code/kode yang tidak terkelola. VB.NET
akan menjalankan managed code apabila dalam system computer tersebut terdapat
CLR atau dengan kata lain pemakai tidak dapat menjalankan aplikasi VB.NET tanpa
menginstall CLR terlebih dahulu.
CLR “mengetahui” apa yang akan dilakukan pada data khusus (disebut metadata)
yang berada dalam aplikasi. Metadata berisi peta dimana menemukan class, kapan
memanggil class dan kapan mengatur batas isi runtime, menghasilkan native
code/kode asli, mengatur keamanan, menentukan class manayang menggunakan
metode dan memanggil class jika dibutuhkan. CLR juga menentukan kapan suatu
objek digunakan dan dilepas. Semua itu disebut managed code.
2) .NET Building Block Services
Building block merupakan sekumpulan services yang bersifat programmable,
yang dapat diakses secara offline maupun online. Service tersebut merupakan
modul-modul yang terdapat di suatu komputer, server dalam jaringan, maupun di
suatu server di internet.
Service ini merupakan suatu idealisasi di masa depan, dimana sebuah aplikasi
bersifat terdistribusi dengan modul-modul yang tersimpan di berbagai tempat,
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 6
tetapi dapat diintegrasikan membentuk suatu aplikasi. Konsep ini merupakan arah
pengembangan subscription based software, yang saat ini mulai banyak
berkembang dan dikenal sebagai Application Service Provider.
Service tersebut dapat diakses oleh berbagai platform, asalkan platform tersebut
mensupport protokol SOAP, yang merupakan protokol standar dalam mengakses
web service. Peranan XML sebagai media definisi data menjadi sangat penting
dalam hal ini, dan XML juga menjadi pusat perubahan besar dalam platform
.NET. Dalam pelajaran selanjutnya, anda akan melihat bahwa semua data dalam
.NET selalu direpresentasikan dalam bentuk XML.
3) Visual Studio .NET
Visual Studio .NET menyediakan tools bagi para developer untuk membangun
aplikasi yang berjalan di .Net Framework. VS.Net membawa perubahan besar
dalam gaya pemrograman, karena setiap programmer dituntut untuk
memahami .NET object model dan Object Oriented Programming dengan baik,
jika tidak ingin menghasilkan aplikasi dengan performa rendah.
VS.Net juga semakin mempertipis jarak antara Windows Programmer
dengan Web Programmer. Dunia scripting yang akrab bagi programmer web
akan sulit ditemukan dalam .NET, karena pemrograman web sudah bersifat full
object oriented, dengan fasilitas event driven programming sebagaimana layaknya
windows programming. Pemrograman web menjadi lebih mudah dan
menyenangkan bagi para programmer windows, sedangkan anda para veteran
scripting language sudah saatnya untuk beralih ke ASP.NET, yang dapat
diprogram menggunakan VB, C#, C++ maupun Phyton dan COBOL sekalipun.
Microsoft masih menyediakan Jscript.NET bagi anda para pecandu JavaScript dan
JScript, sedangkan versi .Net dari VBScript belum diketahui apakah akan
disediakan atau tidak. Para veteran VB.Script disarankan untuk mempelajari VB,
sehingga dapat menggunakan VB.Net untuk membangun aplikasi web. Bahasa
pemrograman yang terdapat di VS.NET adalah VB.NET, C#, C++ .NET, J#, dan
Jscript .NET. Dalam masa mendatang akan terus ditambah berbagai bahasa
pemrograman lain.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 7
4) .Net Enterprise Server
Bagian ini merupakan sekumpulan server based technology yang digunakan untuk
mendukung teknologi .NET, yang mencakup sistem operasi, database, messaging,
maupun manajemen e-commerce. Teknologi yang disediakan antara lain adalah
Windows 2000 Server, SQL Server, Exchange, ISA Server dan BiZTalk Server.
Ada beberapa alasan yang menguntungkan bila anda mempelajari .NET :
Multi Language
Arsitektur .NET bersifat terbuka, sehingga memungkinkan berbagai bahasa pemrograman
mengakses CLR dengan mulus. Banyak kalangan menyebut .NET sebagai “open source”
versi Microsoft. Saat ini .NET dapat diprogram menggunakan Visual Basic.NET,
C++.NET, Visual C#, Jscript, dan J#. Berbagai third Party yang dapat digunakan adalah
COBOL, Eiffel, Smalltalk, Perl, Phyton, ML, Pascal, dan Delphi. Para veteran Pascal
mungkin tidak pernah bermimpi membuat aplikasi web dengan bahasa “kuno” tersebut,
tetapi kehadiran .Net Framework merealisasikan hal tersebut.
Bagan berikut menjelaskan kedudukan bahasa pemrograman terhadap .NET Framework
dengan CLR sebagai intinya.
Sekali lagi, semua bahasa tersebut mengakses object model yang sama dalam .NET,
sehingga bagi para petualang tersedia kemungkinan untuk berpindah dari satu bahasa ke
bahasa lain dalam satu proyek aplikasi yang sama. .Net menyediakan integrasi bahasa
pemrograman dalam satu peroyek aplikasi. Hal ini membuka kemungkinan kerjasama tim
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 8
yang lebih baik, walaupun dalam tim tersebut masing-masing memiliki keahlian bahasa
pemrograman yang berbeda.
No DLL Hell
Anda tahu DLL ? Tentu saja, kalo tidak tentu anda bukan seorang programmer. DLL
merupakan blok atau modul-modul obyek dari sebuah aplikasi. Peranannya sangat
penting, sekaligus memusingkan. Sering terjadi dalam dunia windows, kompatibilitas dan
registrasi DLL di masing-masing Workstation menjadi isu besar dalam deployment
aplikasi.
Strong Typing dan Type Safety
Bila anda pernah menggunakan VB6, pendefinisian tipe data bukanlah sesuatu yang
mutlak wajib dilakukan karena VB akan mendefinisikan primitive data type, suatu type
default untuk masing-masing angka atau karakter yang terdapat dalam variabel. Hal ini
sebenarnya kurang baik karena dapat memboroskan memory dan merupakan sumber
bug. .NET menyediakan strong typing, dimana setiap variabel wajib didefiniskan scope
dan tipe datanya. Demikian pula dengan fasilitas type safety yang sangat bermanfaat
untuk membantu dalam coding pemrograman, terutama fasilitas intellisense yang
membimbing pemrogram dalam menentukan property, method, maupun function yang
akan dipakai.
Cross Platform Possibility
.Net menyimpan dan mengirim data dalam bentuk XML yang merupakan format data
universal di internet. Dengan demikian integrasi data antar platform lebih mudah
dilakukan, selama platform tersebut mendukung XML. Representasi konsep ini adalah
dataset, suatu cache data yang berbentuk XML dan dapat diakses dengan mudah. Sebuah
data dapat diparsing antar tier aplikasi, baik dari database, middle tier, maupun aplikasi
klien dalam format XML. Manipulasi format data dalam bentuk XML, .txt, maupun .rtf
merupakan sesuatu yang menantang para programmer untuk membuat aplikasi lintas
platform.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 9
Code Once, More Application
Interface pemrograman bersifat konsisten, dengan object model yang sama pada setiap
bahasa yang digunakan. Suatu object baik berbentuk class, library, maupun web services
dapat diakses dengan mudah oleh berbagai aplikasi windows maupun web. Hal ini lebih
menghemat waktu para developer, dimana sebuah object dapat dibuat sekaligus untuk
aplikasi Web, Windows, dan bahkan console application berbasis DOS.
Untuk Apa Belajar VB.NET ?
Mengapa VB ? Jawabannya tergantung anda tentunya. VB6 merupakan bahasa terpopuler
saat ini, dan para pengguna VB klasik akan lebih mudah berpindah ke VB .NET daripada
memilih C++ .NET atau C#. Bila anda memiliki pengalaman dalam Java, maka C# lebih
cocok bagi anda.
Perpindahan ke VB.NET dapat diandaikan sebagai camp militer untuk para veteran VB6.
Mitos selama ini menyebutkan bahwa VB6 merupakan bahasa yang “amburadul”, tidak
jelas struktur obyeknya, mendukung Object Oriented tetapi banci, kompatibilitas kurang,
dan lain sebagainya. Semua hal tersebut Cepat Mahir Visual Basic .NET M. Choirul
Amri 6terjadi sebagai boomerang dari VB6 yang terlalu longgar dalam kaidah
pemrograman, sehingga tidak sulit menemukan programmer VB6 yang belum pernah
membuat property dalam class modul selama karirnya. Di sisi lain kelonggaran tersebut
telah menumbuhkan VB sebagai bahasa yg mudah dipelajari, dan paling populer saat ini.
Sebenarnya selama seorang programmer konsisten dan disiplin dengan kaidah konsep
COM dan OOP, mitos-mitos di atas tidak akan terjadi. VB.NET tampil dengan wajah
yang sama sekali berbeda dari VB6 dalam hal kaidah pemrograman, terutama dengan
fasilitas strong typing dan code safety. Di samping itu, sifat .NET Framework yang
dirancang dengan nuansa OOP juga harus diikuti, sehingga VB.NET dapat dikatakan
sebagi full OOP programming. Hal tersebut mungkin bukanlah barang baru bagi anda
pemakai Java atau C, tetapi merupakan hal baru bagi kebanyakan programmer VB6.
Dengan demikian, mempelajari VB.NET berarti meningkatkan skill veteran VB klasik,
sejajar pemrogram berbasis OOP lainnya.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 10
1.1 .2. Proses Instalasi VB.NET Untuk menginstall Microsoft VB.NET sama seperti menginstal aplikasi produk
Miscrosoft lain pada umumnya. Dalam hal ini tinggal hidupkan komputer, kemudian
masukkan CD instalan VB.NET kedalam CD-ROM. Kemudian tunggu hingga proses
selesai.
Untuk menjalankan Microsoft VB.NET diperlukan perangkat keras yang sesuai dengan
kebutuhan. Namun apabila koputer sudah terpasang Microsoft Windows 2000 atau yang
lebih tinggi misalnya Windows XP, maka sudah dipastikan bahwa Anda bisa
menjalankan Microsoft VB.NET.
Untuk menginstal VB.NET Anda harus mempersiapkan perangkat keras dan perangkat
lunak sebagai berikut :
• Komputer dengan spesifikasi minimal Pentium IV 1,6 GHz
• Memori atau RAM yang disesuaikan dengan sistem operasi yang digunakan.
• Monitor Super VGS (1024x768) atau yang lebih tinggi.
• Hardisk minimal 10 GB.
• Mouse
• Sistem Operasi Windows 7 atau yang lebih tinggi.
1.1.3. Sekilas tentang VB.Net Hampir sebagian besar pengguna komputer di dunia sudah mengenal produk-produk
Microsoft, salah satunya adalah Microsoft Visual Basic.Net. VB.Net merupakan
pengembangan dari Microsoft Visual Basic versi sebelumnya.
Membangun suatu program aplikasi dengan vB.Net lebih mudah dan menyenangkan,
karena selain dilengkapi fitur-fitur baru juga tersedia bermacam-bermacam toolbars,
komponen, class, object dan sebagainya. Jika Anda sudah terbiasa dengan Visual Basic
kemungkinan besar untuk migrasi ke VB.Net tidak akan mengalami kesulitan, karena
hampir semua komponen di Visual Basic versi sebelumnya masih bisa digunakan.
Sebagai contoh untuk membuat suatu Project dengan VB.Net Anda tinggal klik Menu
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 11
File, kemudian pilih Project dan akan keluar kotak dialog. Setelah itu pilih Windows
Application, kemudian beri nama Project tersebut.
Gambar 1.1. Aplikasi Visual Basic.Net
1.1.4. Penggunaan Variabel Untuk dapat memakai sebuah variabel maka Kita harus mendeklarasikannya terlebih
dahulu. Dalam bahasa VB6 Kita dapat saja menggunakan sebuah variabel tanpa membuat
deklarasi meskipun hal tersebut tidak direkomendasikan dan sangat tidak efisien bagi
sebuah aplikasi.
Toolbox: Objek-objek yang digunakan untuk mendesain
Form : Tempat untuk mendesain tampilan
Solution Explorer : Untuk melihat struktur project yang sedang dikerjakan
Properties : Properti dari setiap objek yang ada diform, Tampilan objek dapat diubah disini
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 12
Aturan Penamaan Variabel
Pemberian nama variable memiliki batasan-batasan sbb:
• Harus dimulai dengan karakter alfabetis
• Hanya dapat mengandung karakter alfabetis,angka,dan underscore(_)
• Tidak boleh menggunakan spasi
• Tidak melebihi 255 karakter
• Harus unik dalam sebuah ruang lingkup yang sama
• Tidak case sensitive, artinya huruf besar (capital) dengan huruf kecil sama saja.
Deklarasi Variabel
Tujuan pendeklarasian variabel adalah agar komputer mengetahui dengan pasti type data
yang akan
digunakan dalam variabel tersebut serta scopenya. Dengan demikian komputer dapat
langsung
mengeksekusi sebuah variabel tanpa memeriksa lagi type datanya. Sebuah variabel harus
memiliki
nama, type data, scope, dan value. Berikut adalah contoh deklarasi variabel :
Dim sNama As String
Dim dGajiPokok As Decimal
Dim dTunjangan As Decimal
Dim dGajiTotal As Decimal
Dim dPajak As Decimal
sNama = "Anto"
dGajiPokok = 600000
dTunjangan = 150000
Dideklarasikan 5 variabel masing-masing dengan type string (1 variabel) dan decimal (4
variabel).
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 13
Selanjutnya pada tiap variabel tersebut masing-masing diisikan nilainya. Pengisian nilai
variabel tersebut harus sesuai dengan type data yang telah ditetapkan. Misalnya saja Kita
tidak dapat mengisi variabel dGajiPokok dengan “Anto”, karena variabel tersebut telah
didefinisikan sebagai decimal yang harus berisi angka dan bukan string.
Kita juga dapat mendeklarasikan variabel dan langsung memberikan nilainya pada saat
yang sama dalam satu baris kode. Teknik ini merupakan feature baru VB .NET.
Dim dGajiPokok As Decimal = 600000
Selain itu Kita juga dapat mendeklarasikan beberapa variabel sekaligus dalam satu baris
dan mendefinisikan type datanya secara bersamaan.
Dim sUmur, sTinggi, sGaji As Single
Ketiga variabe tersebut memiliki type data sama yaitu Single. Cara ini memudahkan
pendeklarasian variabel daripada harus mengulang deklarasi dalam tiga baris.
Melakukan Perhitungan
Selanjutnya Kita dapat melakukan perhitungan tertentu dengan menggunakan variabel
tersebut sebagai komponen formula sebagai berikut :
dGajiTotal = dGajiPokok + dTunjangan
dPajak = 0.1 * dGajiTotal
Segala Sesuatu adalah OBYEK !
Salah satu mantra baru dalam .NET programming adalah cara kita memKitang terhadap
obyek. Segala sesuatu adalah obyek, begitulah pedoman yang harus Kita pegang. Dalam
teknik VB6 Kita mengenal konsep Object Oriented Programming (OOP) melalui Class
dan konsep COM. Namun dalam .NET segala sesuatu merupakan obyek, termasuk
variabel juga merupakan obyek.
Karenanya suatu varabel juga memiliki berbagai sifat yang diwujudkan dalam property,
event, dan function. Sifat-sifat tersebut dapat diwariskan ke obyek lain, atau suatu
variabel dapat mewarisi sifat dari obyek di atasnya.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 14
Sebagai contoh Kita dapat melakukan perhitungan besarnya dGajiTotal dan dPajak di
atas dengan memanfaatkan fasilitas OOP yang terdapat dalam variabel tersebut. Gunakan
keyword untuk melakukan perhitungan sebagai berikut:
dGajiTotal = dGajiTotal.Add(dGajiPokok, dTunjangan)
dPajak = dGajiTotal.Multiply(0.1, dGajiTotal)
Kita menggunakan function Add dan Multiply sebagai pengganti perhitungan
sebelumnya. Argumen yang digunakan adalah dGajiPokok, dTunjangan dan dGajiTotal.
Menampilkan Hasil Perhitungan
Hasil perhitungan tersebut ditampilkan ke dalam dua buah label sebagai berikut :
Label1.Text = "Gaji Total = " & dGajiTotal.ToString
Label2.Text = "Pajak Kita = " & dPajak.ToString
Keyword ToString yang mengikuti setiap variabel bertujuan untuk mengkonversikan
hasil perhitungan yang semula bertype decimal menjadi string.
Kita akan melihat bahwa perhitungan yang Kita lakukan dengan cara pertama akan sama
hasilnya dengan menggunakan cara kedua yang memanfaatkan built in function dalam
sebuah variabel.
Gambar 1.2. Form perhitungan dengan Label
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 15
1.1.5. Aksesibilitas variabel: Aksesibilitas variable adalah suatu keadaan dimana variable tersebut dapat diakses.
Beberapa kata kunci yang digunakan untuk mendeklarasikan variable (ataupun elemen-
elemen lain seperti kelas, fungsi, atau prosedur) berdasarkan aksesibilitas adalah sebagai
berikut:
1. Public
Variabel yang dideklarasikan dengan kata kunci Public memiliki ruang lingkup global
yang juga berarti dapat diakses dibagian manapun dalam suatu project, Bahkan
project lain yang memiliki referensi terhadap project trersebut.
2. Protected
Kata kunci Protected mendeklarasikan elemen yang hanya dapat diakses dari sebuah
kelas atau kelas turunannya. Kata kunci ini hanya digunakan pada level kelas dan
hanya untuk mendeklarasikan anggota dari sebuah kelas.
3. Friend
Kata kunci Friend mirip dengan Public, hanya saja ruang lingkupnya hanya dalam
sebuah project. Project yang lain tidak dapat mengaksesnya.
4. Protected Friend
Kata kunci Protected Friend merupakan gabungan dari Protected dan Friend, yang
berarti mendeklarasikan sebuah elemen untuk sebuah kelas atau turunannya dan
hanya dapat diakses dari dalam sebuah project saja.
5. Private
Kata kunci Private digunakan untuk mendeklarasikan elemen yang hanya dapat
diakses dari dalam modul, kelas, atau struktur dimana elemen tersebut dideklarasikan.
KAta kunci ini tidak dapat digunakan dari dalam sebuah prosedur.
Ruang Lingkup dan Type Variabel
Sebuah variabel memiliki ruang lingkup (scope) tertentu, tergantung dengan cara
bagaimana variabel tersebut dideklarasikan. Terdapat 3 macam scope suatu varibel :
1. Procedure level / local scope
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 16
2. Module level
3. Variabel Public
Masing-masing scope tersebut dapat dijelaskan sebagai berikut :
Procedure level / local scope
Apabila suatu variabel dideklarasikan dalam suatu prosedur tertentu, maka variabel
tersebut hanya dapat diakses dan berlaku untuk prosedur tersebut saja. Perhatikan contoh
kode berikut :
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button3.Click
Dim sPesan As String
sPesan = "tes Variabel local"
MessageBox.Show (sPesan, "Variabel local", MessageBoxButtons.OK,
_messageBoxIcon.Information)
End Sub
Variabel sPesan dideklarasikan di dalam prosedur Button3_Click sehingga hanya berlaku
di dalam prosedur tersebut saja. sPesan tidak dapat diakses dari luar Button3_Click.
Apabila Kita menggunakan variabel yang hanya dipakai dalam suatu prosedur tertentu
maka sebaiknya Kita menggunakan jenis variabel ini.
Pengertian prosedur di sini menyangkut function, event, dan properti, sehingga tidak
terbatas pada event saja sebagaimana dicontohkan di atas.
Karena variabel ini scope nya lokal untuk prosedur tertentu saja maka nama variabel
tersebut hanya berlaku di dalam prosedur dimana variabel tersebut dideklarasikan.
Misalkan Kita memiliki function bernama A dan memiliki variabel bernama sNama.
Kemudian Kita memiliki sebuah event B dan memiliki variabel bernama sama yaitu
sNama. Kedua variabel tersebut tidak akan saling berhubungan dan tetap terpisah
nilainya karena dideklarasikan secara lokal di dalam prosedur masing-masing.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 17
Module Level
Kita dapat membuat suatu variabel yang dapat diakes dari prosedur manapun dalam suatu
file.
Misalkan Kita ingin mendeklarasikan suatu string koneksi yang akan dipakai terus
menerus di dalam suatu module. Maka Kita harus mendeklarasikan variabel tersebut di
bagian deklarasi module sebagaimana contoh berikut :
Gambar 1.3. Code deklarasi pada VB.Net
1.2. contoh Soal-soal Buatlah aplikasi dengan konsep objek oriented pada suatu bangunan lingkaran dan
tabung dimana masing –masing dimensi dapat diinput dan memiliki konstanta nilai
seperti pi=3,14. Pertanyaaan buatlah :
a. Buatlah class lingkaran dari bangun lingkaran
b. Buatlah class tabung diambil dari class lingkaran.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 18
Jawaban
Public Class lingkaran Public jari_jari As Single Const phi = 3.14 Public Function luas_lingkaran() As Double Return phi * jari_jari * jari_jari End Function Public Function keliling_lingkaran() As Double Return 2 * phi * jari_jari End Function End Class Public Class tabung Public tinggi As Single Public jari_jari As Single Const phi = 3.14 Public Function volume_tabung() As Double Return phi * jari_jari * jari_jari * tinggi End Function End Class Button Hitung Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim objlingkaran As New lingkaran With objlingkaran .jari_jari = TextBox1.Text Label8.Text = .luas_lingkaran() Label9.Text = .keliling_lingkaran() End With
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 19
End Sub Button Hitung Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim objtabung As New tabung With objtabung .tinggi = TextBox4.Text .jari_jari = TextBox6.Text Label10.Text = .volume_tabung End With End Sub Button Exit Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close()
1.3. Soal-soal Latihan Minggu 1
Buatlah aplikasi menggunakan VB.net untuk mencari beberapa bangunan salah satu
adalah Luas segitiga seperti dalam form dibawah ini, dan buatlah beberapa luas dan
volumen dari suatu bangunan seperti :
a. Trafesium
b. carilah volumen dari kubus dimana didalam terdapat tabung dengan nilai masing-
masing variabel dapat diinput melalui aplikasi
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 20
Minggu 2
Buatlah aplikasi konversi suhu dari Celcius ke Fahrenheit, Celcius ke Reamur dengan
ketentuan sebagai berikut : Fahrenheit =1.8 * Celcius + 32
Celcius = (Fahrenheit − 32) / 1,8
Reamur = Celcius × 0,8
Contoh form aplikasi konversi suhu.
Gambar 1.4. Tampilan Form Konversi suhu
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 21
MODUL 2
PENGENALAN OBJEK ORIENTED PADA VB.NET
Pertemuan : 6,8
Peralatan & Perlengkapan : VISUAL STUDIO 2005 VB.NET dan MySQL
Tujuan pembelajaran praktikum :
Ø Mahasiswa dapat menggunakan konsep pemrograman objek oriented pada
VB.Net yaitu pembuatan class, method/function, dan property (C3)
Ø Mahasiswa dapat menggunakan konsep pemrograman objek oriented pada
VB.Net yaitu penggunaan inheritance, multiple inheritance, dan polymorphism
(C3)
2.1. Teori/Konsep 2.1.1. Untuk Apa Belajar VB.NET ?
Mengapa VB ? Jawabannya tergantung anda tentunya. VB6 merupakan bahasa
terpopuler saat ini, dan para pengguna VB klasik akan lebih mudah berpindah ke VB
.NET daripada memilih C++ .NET atau C#. Bila anda memiliki pengalaman dalam
Java, maka C# lebih cocok bagi anda.
Perpindahan ke VB.NET dapat diandaikan sebagai camp militer untuk para veteran VB6.
Mitos selama ini menyebutkan bahwa VB6 merupakan bahasa yang “amburadul”, tidak
jelas struktur obyeknya, mendukung Object Oriented tetapi banci, kompatibilitas kurang,
dan lain sebagainya. Semua hal tersebut Cepat Mahir Visual Basic .NET M. Choirul
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 22
Amri 6terjadi sebagai boomerang dari VB6 yang terlalu longgar dalam kaidah
pemrograman, sehingga tidak sulit menemukan programmer VB6 yang belum pernah
membuat property dalam class modul selama karirnya. Di sisi lain kelonggaran tersebut
telah menumbuhkan VB sebagai bahasa yg mudah dipelajari, dan paling populer saat ini.
Sebenarnya selama seorang programmer konsisten dan disiplin dengan kaidah konsep
COM dan OOP, mitos-mitos di atas tidak akan terjadi. VB.NET tampil dengan wajah
yang sama sekali berbeda dari VB6 dalam hal kaidah pemrograman, terutama dengan
fasilitas strong typing dan code safety. Di samping itu, sifat .NET Framework yang
dirancang dengan nuansa OOP juga harus diikuti, sehingga VB.NET dapat dikatakan
sebagi full OOP programming. Hal tersebut mungkin bukanlah barang baru bagi anda
pemakai Java atau C, tetapi merupakan hal baru bagi kebanyakan programmer VB6.
Dengan demikian, mempelajari VB.NET berarti meningkatkan skill veteran VB klasik,
sejajar pemrogram berbasis OOP lainnya.
2.1.2.OOA(ObjectOrientedAnalysis)
Analisis Berorientasi Objek / Object Oriented Analysis (OOA) dimulai dengan
menyatakan suatu masalah, analisis membuat model situasi dari dunia nyata. Model
analisis adalah abstraksi yang ringkas dan tepat apa yang harus dilakukan oleh sistem,
dan bagaimana melakukannya. Empat kesulitan dalam pengembangan sistem adalah:
mamahami problem domain, Komunikasi kepada pihak yang berkaitan, perubahan,
dan reuse ( penggunaan kembali).
2.1.3. OOD (Object Oriented Design) Desain Berorientasi Objek / Object Oriented
Design (OOD) merupakan tahapan lanjutan setelah OOA dimana tujuan sistem
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 23
diorganisasikan kedalam sub system berdasar struktur analisis dan arsitektur yang
dibutuhkan. Fokus dari desain objek adalah perencanaan struktur data dan algoritma
yang diperlukan untuk implementasi setiap class. Objek domain aplikasi dan objek
domain komputer dijelaskan dengan menggunakan konsep dan notasi berorientasi objek
yang sama.
2.1.4. OOP (Object Oriented Programming) / Implementasi
Class, objek dan realisasinya di kembagkan dalam tahap pembuatan desain objek yang
akhirnya diterjemahkan kedalam bahasa pemrograman, basis data dan implementasi
perangkatkeras.
Dalam konsep pemrogramam berorientasi objek ada 4 hal yang utama yaitu:
1. Abstraksi (Abstraction).
2. Pewarisan (Inheritance).
3. Pembungkusan (Encapsulation).
4.BanyakBentuk(Polymorphism).
Ada dua metode dalam mendesain dan membuat konstruksi perangkat lunak yaitu
pemrograman terstruktur dan pemrograman berorientasi objek. Pemrograman
berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan
paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di
dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan
logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data,
dan mengirim pesan ke objek lainnya Model data berorientasi objek dikatakan dapat
memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas
dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim
bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 24
sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat. Salah satu
keunggulan OOP dibanding dengan terstruktur adalah OOP memungkinkan untuk
mebuat modul yang tidak perlu berubah ketika suatu tipe objek yang baru ditambahkan.
Pengembang dapat membuat suatu objek baru yang mewarisi beberapa fitur dari objek
yang sudah ada. Hal ini membuat program yang berorientasi objek mudahdimodifikasi.
Suatu bahasa pemrograman dikatakan mendukung secara penuh OOP jika memiliki
semuafiturberikut:
Class — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu
tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-
definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan
dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman
berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang
non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode
yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen
(sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan
modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam
masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan
menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program
computer, objek merupakan dasar dari modularitas dan struktur dalam sebuah program
komputerberorientasiobjek.
Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 25
olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem
melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan
perubahankeadaannya,danberkomunikasi
dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini
diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik
digunakan untuk mengembangkan sebuah pengabstrakan.
Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin,
bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan
sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim.
Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan
sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan
menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama,
namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena
sebuah variable tungal dalam program dapat memegang berbagai jenis objek yang
berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa
metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini
berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan
fungsikelas-pertama.
Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam
dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang
diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang
menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak
akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 26
Inheritas- Mengatur polimorfisme dan enskapsulasi dengan mengijinkan objek
didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek
ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi
ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak
melihat bagaimana cara menyelesaikan suatu masalah tersebut(terstruktur) tetapi objek-
objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap
kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas
administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag
administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat
menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang
manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager
bias mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk
menyelesaikan suatu masalah dengan kolaborasi antar objek -objek yang ada karena
setiap objek memiliki job descriptionnya sendiri.
2.2. Latihan Soal Dalam aplikasi ini menggunakan konsep class dan method (function) sehingga
memudahkan dalam pemrograman objek oriented. Aplikasi ini digunakan untuk
menghitung transaksi penjualan produk.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 27
Gambar 2.1. Tampilan Form Penjualan Barang
Contoh Koding : Public Class market
Public Kode As String = 5
Public Nama As String = 10
Public Satuan As Decimal
Public Jumlah As Integer
Public Uang As Decimal
Public Property mKode() As String
Get
Return Kode
End Get
Set(ByVal value As String)
Kode = value
End Set
End Property
Public Property mNama() As String
Get
Return Nama
End Get
Set(ByVal value As String)
Nama = value
End Set
End Property
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 28
Public Property mSatuan() As Decimal
Get
Return Satuan
End Get
Set(ByVal value As Decimal)
Satuan = value
End Set
End Property
Public Property mJumlah() As Integer
Get
Return Jumlah
End Get
Set(ByVal value As Integer)
Jumlah = value
End Set
End Property
Public Function Harga(ByVal mSatuan As Decimal, ByVal mJumlah As
Integer) As Double
Return Satuan * Jumlah
End Function
Public Function Promo(ByVal Harga As Double) As Double
If Harga >= 2000000 Then
Return 0.06 * mSatuan * mJumlah
ElseIf Harga >= 1500000 Then
Return 0.05 * mSatuan * mJumlah
ElseIf Harga >= 1000000 Then
Return 0.03 * mSatuan * mJumlah
ElseIf Harga >= 500000 Then
Return 0.02 * mSatuan * mJumlah
Else
Return 0
End If
End Function
Public Function Total(ByVal Harga As Double, ByVal Promo As Double)
As Double
Return Harga - Promo
End Function
End Class
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 29
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim objmarket As New market
With objmarket
.Kode = TextBox1.Text
.Nama = TextBox2.Text
.Satuan = TextBox3.Text
.Jumlah = TextBox4.Text
.Uang = TextBox5.Text
Label11.Text = TextBox5.Text - Label10.Text
End With
End Sub
Private Sub TextBox4_TextChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles TextBox4.TextChanged
If TextBox3.Text * TextBox4.Text >= 2000000 Then
Label9.Text = 0.06 * TextBox3.Text * TextBox4.Text
Label10.Text = TextBox3.Text * TextBox4.Text - Label9.Text
ElseIf TextBox3.Text * TextBox4.Text >= 1500000 Then
Label9.Text = 0.05 * TextBox3.Text * TextBox4.Text
Label10.Text = TextBox3.Text * TextBox4.Text - Label9.Text
ElseIf TextBox3.Text * TextBox4.Text >= 1000000 Then
Label9.Text = 0.03 * TextBox3.Text * TextBox4.Text
Label10.Text = TextBox3.Text * TextBox4.Text - Label9.Text
ElseIf TextBox3.Text * TextBox4.Text >= 500000 Then
Label9.Text = 0.02 * TextBox3.Text * TextBox4.Text
Label10.Text = TextBox3.Text * TextBox4.Text - Label9.Text
Else
Label9.Text = 0
Label10.Text = TextBox3.Text * TextBox4.Text - Label9.Text
End If
End Sub
End Class
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 30
2.3. Soal- Soal 1. Buatlah program tentang kepegawaian untuk mencari beberapa perhitungan seperti
PPH, Total Gaji, gaji bersih. Untuk perhitungan gaji sangat dipengaruhi oleh Tunjangan
istri dan anak serta status karyawan tersebut.
Ketentuan :
Jika Status Nikah maka Tunjangan Istri 250.000 bila tidak =0
Jika memiliki anak maka tunjangan setiap anak=200.000 dan maks anak 3
Tunjangan anak=200.000 *jumlah anak
PPH=5% dari Gajipokok
TotalGaji=Gajipokok+tunjanganIstri +tunjangananak
GajiBersih=TotalGaji-pph
Gambar 2.1. Tampilan Form Hitung Gaji
2. Buatlah program kepegawaian dengan mengacu pada latihan sebelumnya dimana
untuk ketentuan sama dan tambahkan bonus 0.5 dari gajipokok dan gunakan sub untuk
menyimpan setiap file pegawai tersebut dalam format.txt
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 31
Gambar 2.2. Tampilan Form Hitung Gaji yang simpan
Contoh code untuk menyimpan data dalam bentuk format.txt pada notepad Private Sub AmbilData(ByVal sk As Constructor) sk.NIM = TextBox1.Text sk.Nama = TextBox2.Text sk.MataKuliah = TextBox3.Text sk.Nilai = TextBox4.Text End Sub Private Sub SimpanData(ByVal sk As Constructor) Dim OutputFile As System.IO.StreamWriter OutputFile = System.IO.File.AppendText("DataMahasiswa.txt") OutputFile.WriteLine("NIM : " & sk.NIM) OutputFile.WriteLine("Nama : " & sk.Nama) OutputFile.WriteLine("Mata Kuliah : " & sk.MataKuliah) OutputFile.WriteLine("Nilai : " & sk.Nilai) OutputFile.Close() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim objConstructor As New Constructor With objConstructor 'Panggil sub rutin ambil data' AmbilData(objConstructor)
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 32
TextBox5.Text = .GradeNilai() SimpanData(objConstructor) MessageBox.Show("Data disimpan", "Konfirmasi") BersihkanLayar() End With End Sub 3. Buatlah program dengan konsep multiple Inheritance dimana class induk memiliki
anak kelas yaitu lebih dari satu class.
Ketentuan :
Jenis Mobil :(Xenia Xi, Li, Avanza S, Avanza M, dst)
Merek Mobil (Daihatshu, Toyota, Mazda, BMW dst)
Perhitungan Kredit mengacu pada DP dan jumlah angsuran (tenor)
Tampilan Aplikasi Dealer mobil untuk pembayaran Tunai:
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 33
Gambar 2.3 Tampilan Form Tunai kendaraan
4. Buatlah program dengan menggunakan konsep Multiple Inheritance mengacu pada
latihan sebelumnya
Tampilan Aplikasi Dealer Mobil untuk Kredit :
Gambar 2.4. Tampilan Form Kredit Kendaraan
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 34
MODUL 3
DESAIN INTERFACE DAN CONTROL OBJEK
Pertemuan : 10,12
Peralatan & Perlengkapan : VISUAL STUDIO 2005 VB.NET dan MySQL
Tujuan pembelajaran praktikum :
Ø Mahasiswa dapat menggunakan Single dan Multiple Document Interface untuk
merancang tampilan layar (C3)
Ø Mahasiswa dapat menggunakan control objek event listener, method, propertis dalam pemrogramam vb.net (C3)
3.1. Teori/Konsep
3.1.1. Antarmuka
Pengertian antarmuka ( interface) adalah salah satu layanan yang disediakan sistem
operasi sebagai sarana interaksi antara pengguna dengan sistem operasi. Antarmuka
adalah komponen sistem operasi yang bersentuhan langsung dengan pengguna. Terdapat
dua jenis antarmuka, yaitu Command Line Interface(CLI) dan Graphical User
Interface(GUI).
Dua tipe interface sistem operasi :
1. Command Line Interface (CLI) adalah berbasis teks, yang jika melakukan perintah
harus dengan mengetikan perintah.
2.Graphical User Interface (GUI) adalah berbasis grafis, dgn memiliki tampilan berupa
menu dan icon-2
CLI adalah tipe antarmuka dimana pengguna berinteraksi dengan sistem operasi melalui
text-terminal. Pengguna menjalankan perintah dan program di sistem operasi tersebut
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 35
dengan cara mengetikkan baris-baris tertentu.Meskipun konsepnya sama, tiap-tiap sistem
operasi memiliki nama atau istilah yang berbeda untuk CLI-nya. UNIX memberi nama
CLI-nya sebagai bash, ash, ksh, dan lain sebagainya. Microsoft Disk Operating System
(MS-DOS) memberi nama command.com atau Command Prompt. Sedangkan pada
Windows Vista, Microsoft menamakannya PowerShell. Pengguna Linux mengenal CLI
pada Linux sebagai terminal, sedangkan pada Apple namanya adalah commandshell.
3.1.2. Control Objek
Salah satu kontrol yang paling populer di Visual Basic Tombol Control (sebelumnya
Komando Pengendalian). Mereka adalah kontrol yang kita klik dan lepaskan untuk
melakukan beberapa tindakan. Tombol yang digunakan sebagian besar untuk penanganan
peristiwa dalam kode, misalnya, untuk mengirimkan data yang dimasukkan dalam form
ke database dan sebagainya. Acara default Button adalah peristiwa Klik Tombol dan
kelas didasarkan pada kelas ButtonBase yang didasarkan pada kelas kontrol.
Kontrol Obyek Properti
Property Properti Description Deskripsi
AllowDrop Indicates if the form can accept data that the user drags and drops into it Mengindikasikan jika bentuk dapat menerima data bahwa pengguna menyeret dan tetes ke dalamnya
Anchor Gets/Sets which edges of the control are anchored Mendapatkan / Set yang tepi kontrol yang berlabuh
BackColor Gets/Sets the background color for the form Mendapat / Mengatur warna latar belakang untuk formulir
BackgroundImage Get/Sets the background image in the form Dapatkan / Mengatur gambar latar belakang dalam bentuk
Bottom Gets the distance bewteen the bottom of the control and the top of its container client area Mendapatkan jarak bewteen bawah kontrol dan bagian atas wilayah klien kontainer
Bounds Gets/Sets the controls bounding rectangle Mendapat / Mengatur kontrol persegi panjang melompat-lompat
CanFocus Returns a value specifying if the control can recieve focus Mengembalikan nilai menentukan jika kontrol dapat menerima fokus
CanSelect Returns a value specifying if the control can be selected Mengembalikan nilai menentukan jika kontrol dapat dipilih
Capture Gets/Sets a value specifying if the control has captured the mouse Mendapat / Set nilai menentukan jika kontrol telah menangkap mouse
CausesValidation Gets/Sets a value specfying if the control causes validation for all
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 36
controls that require validation Mendapat / Set nilai specfying jika kontrol penyebab validasi untuk semua kontrol yang membutuhkan validasi
ContainsFocus Returns a value specifying if the control has the input focus Mengembalikan nilai menentukan jika kontrol memiliki fokus input
ContextMenu Gets/Sets the shortcut menu for the control Mendapat / Mengatur menu shortcut untuk mengendalikan
Controls Gets/Sets the collection of controls contained within the control Mendapat / Mengatur koleksi kontrol yang terkandung dalam kontrol
Cursor Gets/Sets the cursor to be displayed when the user moves the mouse over the form Mendapat / Mengatur kursor yang akan ditampilkan ketika pengguna menggerakkan mouse di atas formulir
DataBindings Gets the data bindings for the control Gets binding data untuk kontrol
Dock Gets/Sets which edge of the parent a control is docked to Mendapatkan / Set yang tepi kontrol orangtua merapat ke
Enabled Gets/Sets a value indicating if the control is enabled Mendapat / Set nilai menunjukkan jika kontrol ini diaktifkan
Focused Returns a value specifying if the control has input focus Mengembalikan nilai menentukan jika kontrol memiliki fokus masukan
Font Gets/Sets the font for the control Mendapat / Mengatur font untuk kontrol
ForeColor Gets/Sets the foreground color of the control Mendapat / Mengatur warna latar depan dari kontrol
HasChildren Returns a value specifying if the control contains child controls Mengembalikan nilai menentukan jika kontrol berisi kontrol anak
Height Gets/Sets the height of the control Mendapat / Mengatur tinggi dari kontrol
Left Gets/Sets the x-coordinates of a control's left edge in pixels Mendapat / Mengatur x-koordinat ujung kiri kontrol dalam piksel
Location Gets/Sets the co-ordinates of the upper-left corner of the control Mendapat / Mengatur koordinat sudut kiri atas kontrol
Name Gets/Sets name for the control Mendapatkan / Mengatur nama untuk kontrol
Parent Gets/Sets the control's parent container Mendapat / Mengatur wadah induk kontrol yang
Right Returns the distance between the right edge of the control and the left edge of it's container Mengembalikan jarak antara tepi kanan dari kontrol dan tepi kiri dari wadah itu
RightToLeft
Gets/Sets the value indicating if the alignment of the control's elements is reversed to support right-to-left fonts Mendapat / Set nilai menunjukkan jika keselarasan elemen kontrol adalah terbalik untuk mendukung hak-ke-kiri font
Size Gets/Sets size of the control in pixels Mendapat / Mengatur ukuran dari kontrol dalam piksel
TabIndex Gets/Sets the tab order of this control in its container Mendapat / Mengatur urutan tab kontrol ini dalam wadah
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 37
TabStop Gets/Sets a value specifying if the user can tab to this control with the tab key Mendapat / Set nilai menentukan jika pengguna dapat tab untuk kontrol ini dengan tombol tab
Tag Gets/Sets an object that contains data about the control Mendapat / Set sebuah obyek yang berisi data tentang kontrol
Text Gets/Sets the text for this control Mendapat / Mengatur teks untuk kontrol ini
Top Gets/Sets the top coordinates of the control Mendapat / Mengatur koordinat atas kontrol
Visible Gets/Sets a value specifying if the control is visible Mendapat / Set nilai menentukan jika kontrol yang terlihat
Width Gets/Sets the width of the control Mendapat / Set lebar kontrol
Gambar 3.1. Kontrol Objek Property
3.2. Latihan Soal Buatlah program dengan menggunakan objek control statemen ifelse untuk perintah
logika pada status dan Jabatan dari karyawan. Setiap status dan jabatan mempengaruhi
gaji sesorang karyawan.pada aplikasi program dibawah menggunakan konsep pewarisan
(Inheritance).
Gambar 3.2. Tampilan Form konsep Inheritance
Contoh soal : Public Class Pegawai Public mNIP As String
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 38
Public mNama As String Public mAlamat As String Public mStatus As String Public mJabatan As String Public mGapok As Integer Public Property NIP() As String Get Return mNIP End Get Set(ByVal value As String) mNIP = value End Set End Property Public Property Nama() As String Get Return mNama End Get Set(ByVal value As String) mNama = value End Set End Property Public Property Alamat() As String Get Return mAlamat End Get Set(ByVal value As String) mAlamat = value End Set End Property Public Property Status() As String Get Return mStatus End Get Set(ByVal value As String)
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 39
mStatus = value End Set End Property Public Property Jabatan() As String Get Return mJabatan End Get Set(ByVal value As String) mJabatan = value End Set End Property Public Property Gapok() As Integer Get Return mGapok End Get Set(ByVal value As Integer) mGapok = value End Set End Property Public Function HitungGaji(ByVal mGapok As Integer) As Long Return mGapok End Function End Class Public Class PegawaiTetap Inherits Pegawai Public mTunjanganTetap As Integer Public Property TunjanganTetap() As Integer Get Return mTunjanganTetap End Get Set(ByVal value As Integer) mTunjanganTetap = value End Set
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 40
End Property Public Function HitungGajiTetap(ByVal mGapok As Integer, ByVal mTunjanganTetap As Integer) As Long Return mGapok + mTunjanganTetap End Function End Class Public Class PegawaiHonorer Inherits Pegawai Public mTunjanganTransport As Integer Public Property TunjanganTransport() As Integer Get Return mTunjanganTransport End Get Set(ByVal value As Integer) mTunjanganTransport = value End Set End Property Public Function HitungGajiHonorer(ByVal mGapok As Integer, ByVal mTunjanganTransport As Integer) As Long Return mGapok + mTunjanganTransport End Function End Class Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim objPegawai As New Pegawai Dim objPegawaiTetap As New PegawaiTetap Dim objPegawaiHonorer As New PegawaiHonorer With objPegawai .NIP = TextBox1.Text .Nama = TextBox2.Text
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 41
.Alamat = TextBox3.Text .Status = ComboBox1.Text .Jabatan = ComboBox2.Text If ComboBox2.Text = "Direktur" Then TextBox4.Text = 7000000 ElseIf ComboBox2.Text = "Manager" Then TextBox4.Text = 3500000 ElseIf ComboBox2.Text = "Staff" Then TextBox4.Text = 1500000 Else TextBox4.Text = 1000000 End If .Status = ComboBox1.Text If ComboBox1.Text = "Tetap" Then With objPegawaiTetap .Gapok = TextBox4.Text TextBox5.Text = 2 * TextBox4.Text .TunjanganTetap = TextBox5.Text TextBox6.Text = 0 Label11.Text = .HitungGajiTetap(.mGapok, .mTunjanganTetap) End With ElseIf ComboBox1.Text = "Honorer" Then With objPegawaiHonorer .Gapok = TextBox4.Text TextBox5.Text = 0 TextBox6.Text = 25 * 15000 .TunjanganTransport = TextBox6.Text Label11.Text = .HitungGajiHonorer(.mGapok, .mTunjanganTransport) End With End If End With End Sub End Class
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 42
3.3. Soal- Soal Buatlah Aplikasi penjualan Tiket Teater 21 atau Bioskop, dimana aplikasi tersebut akan
menampilkan pesat pada saat penonton berumur < 17 tahun. Berikan fungsi pada Textbox
Tgl lahir sehingga secara otomatis dapat membaca apabila operator memasukan tahun
dan sistem akan menkalkulasikan tahun tersebut dengan tahun yang ada disistem
aplikasi(sekarang).
Gambar 3.3.Tampilan Aplikasi Bioskop
Ketentuan :
Kelas bioskop : (Reguler, Premiere)
Minggu 6:
Buatlah Aplikasi dengan mengandung unsur key event setiap textbox seperti batasan
jumlah input (KeyChar), huruf kecil (LowerCase) dan Mnemonic.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 43
MODUL 4
PEMROGRAMAN DATABASE DAN MANIPULASI
Pertemuan : 14,16
Peralatan & Perlengkapan : VISUAL STUDIO 2005 VB.NET dan MySQL
Tujuan pembelajaran praktikum :
Ø Mahasiswa dapat menggunakan aplikasi database untuk pengolahan data pada
pemrogram vb.net (C3)
Ø Mahasiswa dapat menggunakan aplikasi database untuk pengolahan, manipulasi data pada pemrogram vb.net (C3)
4.1. Teori/Konsep
4.1.1. DBMS (Database Management System) Ø DBMS merupakan perantara antara user dengan database.
Ø Cara komunikasi diatur dalam suatu bahasa khusus yang telah ditetapkan oleh
DBMS.
Contoh: SQL, dBase, QUEL, dsb.
Ø Bahasa database, dibagi dalam 2 bentuk:
- Data Definition Language (DDL)
Digunakan dalam membuat tabel baru, indeks, mengubah tabel, menetukan
struktur tabel, dsb.
- Data Manipulation Language (DML)
a.Digunakan dalam memanipulasi dan pengambilan data pada database.
b.Manipulasi data, dapat mencakup:
- Pemanggilan data yang tersimpan dalam database (query)
- Penyisipan/penambahan data baru ke database
- Penghapusan data dari database
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 44
- Pengubahan data pada database
4.1.2. Instalasi MySQL Instalasi mysql di lingkungan Windows :
1. Ekstrak file mysql-4.0.18-win ke folder sementara, misal C:\data_mysql
2. Klik Setup untuk memulai instalasi
3. Klik next, sampai ada tampilan seperti berikut :
Pastikan Destination Folder di C:\mysql
Gambar 4.1 Instalasi Mysql pada folder
ANTARMUKABERBENTUK
FORMisian: ___
pass: * * * *SUBMIT
PROGRAMPEMROSES
RESPON(ASP, PHP,
CGI)
HasilForm
Nama Variabeldan Nilai
HTML
DATABASE
client
server
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 45
4. Klik next, pilihlah yang : Typical.
5. Klik next, maka instalasi akan dimulai dan klik finish.
6. Dari Windows Explorer, buka folder C:\mysql\bin
7. Klik 2x file winmysqladmin.exe, isikan :
Username : root
Password : root
8. Klik OK, dan di kanan bawah akan muncul tanda ikon WinMySql.
Gambar 4.2. Tampilan aktif WinMysql
4.1.3. DASAR-DASAR MYSQL Dalam bahasa SQL pada umumnya informasi tersimpan dalam tabel-tabel yang secara
logik merupakan struktur dua dimensi terdiri dari baris (row atau record) dan kolom
(column atau field). Sedangkan dalam sebuah database dapat terdiri dari beberapa table.
Beberapa tipe data dalam MySQL yang sering dipakai:
Membuat Database Dan Table
Untuk masuk ke dalam program MySQL pada prompt jalankan perintah berikut ini:
C:\> mysql\bin>mysql (Enter)
Kemudian akan masuk kedalam MySQL seperti tampilan dibawah ini:
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 46
Gambar 4.3. Tampilan layar pada prompt Mysql
Bentuk prompt “mysql>” adalah tempat menuliskan perintah-perintah MySQL. Setiap
perintah SQL harus diakhiri dengan tanda titik-koma “;” .
Cara untuk membuat sebuah database baru adalah dengan perintah:
create database namadatabase;
Contoh:
create database pens;
Untuk membuka sebuah database dapat menggunakan perintah berikut ini:
use namadatabase;
Contoh:
use pens;
Perintah untuk membuat tabel baru adalah:
create table namatabel
(
struktur
);
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 47
Constraint
Constraint adalah batasan atau aturan yang ada pada table.
MySQL menyediakan beberapa tipe constraint berikut :
• NOT NULL
Suatu kolom yang didefinisikan dengan constraint NOT NULL tidak boleh berisi
nilai NULL. Kolom yang befungsi sebagai kunci primer (primary key) otomatis
tidak boleh NULL.
• UNIQUE
Mendefinisikan suatu kolom menjadi bersifat unik, artinya antara satu data dengan
data lainnya namanya tidak boleh sama, misal alamat email.
• PRIMARY KEY
Constraint PRIMARY KEY membentuk key yang unik untuk suatu table.
• FOREIGN KEY
FOREIGN KEY constraint didefinisikan pada suatu kolom yang ada pada suatu table,
dimana kolom tersebut juga dimiliki oleh table yang lain sebagai suatu PRIMARY KEY,
biasa dipakai untuk menghubungkan antara 2 tabel.
4.2. Latihan Soal Buatlah Tabel berikut ini dengan menggunakan perintah Mysql :
Dengan menggunakan perintah MySQL:
create table anggota ( nomor int(6) not null primary key, nama char(40) not null, email char(255) not null, alamat char(80) not null, kota char(20) not null
);
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 48
Perintah Memasukan data dengan MySQL: Insert into anggota (nomor,nama,email,alamat,kota) values (100,’Adi’,’[email protected]’,’Jl. Keputih 2A no 5’,’Surabaya’);
atau Insert into anggota values (100,’Adi’,’[email protected]’,’Jl. Keputih 2A no 5’, ’Surabaya’); Dari table Anggota dibawah ini lakukan manipulasi data :
Nomor Nama Email Alamat Kota 100 Refiyanto [email protected] Jl. Keputih 2A no 5 Surabaya 101 Tono [email protected] Jl. Galunggung 2B Cengkareng 102 Iqbal [email protected] Jl. Klampis 3 Surabaya 103 Yanti [email protected] Jl. Madiun 45 Jawa Tengah 104 Ilham [email protected] Jl. Surabaya 9 Malang 105 Samsyu [email protected] Jl. Percetakan Surabaya 106 Faruq [email protected] Jl. Raya 5 Kediri 107 Hari [email protected] Jl. Raya 9 Banyuwangi
Hapuslah data dari tabel anggota berikut ini: Delete from anggota where no=’103’;
or Delete from anggota where no=103; Untuk meng-update data email di tabel anggota, nomor 104. update anggota set email=’[email protected]’ where nomor=’104’; 1. Untuk menampilkan semua kolom(field) pada tabel anggota
select * from anggota; 2. Untuk menampilkan kolom (field) nomor dan nama pada tabel anggota
select nomor, nama from anggota; 3. Untuk menampilkan semua kolom pada tabel anggota yang berada pada kota
‘Surabaya’ select * from anggota where kota=’Surabaya’;
4. Untuk menampilkan semua kolom pada tabel anggota dengan urut nama select * from anggota order by nama;
5. Untuk menghitung jumlah record pada tabel anggota select count(*) from anggota;
6. Untuk menampilkan kota dengan tidak menampikan kota yang sama pada tabel anggota
select distinct kota from anggota;
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 49
7. Untuk menampilkan nama dan email yang mempunyai email di ‘yahoo.com’ select nama,email from anggota where email like ‘%yahoo.com’;
8. Untuk menampilkan nomor, nama dan email yang nomornya diatas 103 dan yang
berawalan dengan huruf S. select nomor, nama, email from anggota where nomor >= 103 AND nama like ‘S%’;
9. Untuk menampilkan nomor, nama yang nomornya diantara 103 ~ 105 select nomor, nama from anggota where nomor between 103 and 105.
4.3. Soal- Soal Minggu 7 : 1. Buatlah database baru dengan nama lat_mysql 2. Buatlah tabel dengan nama pegawai yang memiliki field sebagai berikut :
Kolom / Field Tipe data ID int (5) not null Nama varchar(20) not null Alamat varchar(20) not null Gaji int (10) not null
3. Masukkan data-data berikut ini :
ID Nama Alamat Gaji 100 Arif Surabaya 10000 101 Andi Jakarta 14000 102 Burhan Malang 12000 103 Fikri Madiun 15000 104 Fariz Malang 17000 105 Sigit Surabaya 20000 106 Ifan Kediri 16000 107 Hanif Yogyakarta 12000 108 Zakiuddin Surabaya 21000
4. Hapuslah record dengan ID 100. 5. Update data untuk ID 101 dan 102 sbb :
ID Nama Alamat Gaji 101 Naila Surabaya 10000 102 Rafi Semarang 14000
6. Buat perintah SQL berikut ini untuk menampilkan : a. Semua kolom dari tabel pegawai b. Kolom nama dan gaji dari tabel pegawai
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 50
c. Kolom nama dan alamat yang mempunyai nama dengan awalan F. d. Kolom nama dan alamat yang mempunyai nama dengan akhiran n e. Kolom nama dan gaji yang mempunyai gaji diatas 15000. f. Kolom nama, alamat dan gaji yang bergaji diatas 13000 dan beralamat di Surabaya. g. Kolom nama, gaji dengan range gaji antara 15000 ~ 20000. h. Gaji max, min,rata2 dari tabel pegawai > select max(gaji), min(gaji), avg(gaji) from pegawai.
Minggu 8:
1. Buat Database dengan Mysql dari tabel-tabel dibawah ini : Nama Tabel : BARANG
No. Nama Field Tipe Data Lebar Keterangan 1. TKDBRG (Primary Key) varchar 7 Kode Barang 2. TNMBRG varchar 25 Nama Barang 3. TSATUAN Int 4 Jumlah Barang
Nama Tabel : SUPPLIER
No. Nama Field Tipe Data Lebar Keterangan 1. KDSUP (Primary Key) varchar 7 Kode Supplier 2. NMSUP varchar 25 Nama Supplier 3. TALAMAT varchar 35 Alamat Supplier
Nama Tabel : SP No. Nama Field Tipe Data Lebar Keterangan 1. NOSP (Primary Key) varchar 7 Nomor Surat Pesan (SP) 2. TGLSP Date - Tanggal Surat Pesan (SP) 3. KDSUP varchar 7 Kode Supplier
Nama Tabel : PESAN
No. Nama Field Tipe Data Lebar Keterangan 1. TKDBRG (Primary Key) varchar 7 Kode Barang 2. NOSP (Primary Key) Text 7 Nomor Surat Pesan (SP) 3. JML Int(4) 4 Jumlah Pesan 4. HRG int 7 Harga Barang
2. Isilah tabel-tabel diatas
3. Lakukan manipulasi pada tabel supplier dengan menambahkan field Telpon
4. Tampilkan data supplier yang hanya beralamat di “Surabaya”. Atau alamat tertentu.
5. Tambahkan field dari tabel pesan yaitu Total_harga dan gantilah tipe data NoSP
menjadi tipe varchar.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 51
MODUL 5
PENGGUNAAN OBJEK ADO.NET
Pertemuan : 18,20
Peralatan & Perlengkapan : VISUAL STUDIO 2005 VB.NET dan MySQL
Tujuan pembelajaran praktikum :
Ø Mahasiswa dapat melakukan koneksi DBMS Mysql dan vb.net dengan
menggunakan komponen ADO.Net (C3)
5.1. Teori/Konsep
5.1.1. ADO. NET Sebagian besar aplikasi membutuhkan akses data pada satu titik waktu membuatnya
menjadi komponen penting ketika bekerja dengan aplikasi. Akses data adalah membuat
aplikasi berinteraksi dengan database, di mana semua data disimpan. Aplikasi yang
berbeda memiliki persyaratan yang berbeda untuk mengakses database. VB. NET
menggunakan ADO NET (Active X Data Object). Sebagai akses data itu dan protokol
manipulasi yang juga memungkinkan kita untuk bekerja dengan data di Internet. Mari
kita lihat mengapa ADO. NET datang ke dalam gambar menggantikan ADO.
5.1.2. Evolusi ADO.NET
Data pertama model akses, DAO (Data model akses) diciptakan untuk database lokal
dengan built-in mesin Jet yang memiliki kinerja dan masalah fungsi. Berikutnya datang
RDO (Remote Data Object) dan ADO (Active Data Object) yang dirancang untuk Client
Server arsitektur, tetapi segera mengambil alih RDO ADO. ADO adalah arsitektur yang
baik tetapi sebagai perubahan bahasa sehingga adalah teknologi. Dengan ADO, semua
data yang terkandung dalam objek recordset yang memiliki masalah ketika
diimplementasikan pada jaringan dan firewall penetrasi. ADO adalah akses data yang
terhubung, yang berarti bahwa ketika koneksi ke database didirikan sambungan tetap
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 52
terbuka sampai aplikasi ditutup. Membiarkan sambungan terbuka untuk seumur hidup
aplikasi menimbulkan keprihatinan tentang keamanan database dan lalu lintas jaringan.
Juga, sebagai database menjadi semakin penting dan karena mereka melayani lebih
banyak orang, model data akses terhubung membuat kita berpikir tentang produktivitas.
Sebagai contoh, aplikasi dengan akses data yang terhubung dapat melakukannya dengan
baik ketika terhubung ke dua klien, sama mungkin melakukan buruk ketika terhubung ke
10 dan mungkin tidak dapat digunakan saat terhubung ke 100 atau lebih. Juga, koneksi
database terbuka menggunakan sumber daya sistem sampai batas maksimal membuat
kinerja sistem yang kurang efektif.
5.1.3. Mengapa ADO.NET?
Untuk mengatasi dengan beberapa masalah yang disebutkan di atas, ADO. NET muncul.
ADO. NET membahas masalah di atas dengan mempertahankan model database akses
terputus yang berarti, ketika aplikasi berinteraksi dengan database, koneksi dibuka untuk
melayani permintaan dari aplikasi dan ditutup segera setelah permintaan selesai.
Demikian juga, jika database adalah Diperbarui, koneksi dibuka cukup lama untuk
menyelesaikan operasi Update dan ditutup. Dengan menjaga koneksi terbuka hanya
untuk jangka waktu minimum, ADO. NET menghemat sumber daya sistem dan
menyediakan keamanan maksimum untuk database dan juga memiliki sedikit dampak
pada kinerja sistem. Juga, ADO NET ketika berinteraksi dengan database. Menggunakan
XML dan mengkonversi semua data ke dalam format XML untuk operasi database terkait
membuat mereka lebih efisien.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 53
5.1.4. Arsitektur Data ADO.NET
Akses Data di ADO.NET bergantung pada dua komponen: Penyedia DataSet dan Data.
Dataset adalah, diputus dalam-memori representasi data. Hal ini dapat dianggap sebagai
salinan lokal dari bagian yang relevan dari database. DataSet adalah bertahan dalam
memori dan data di dalamnya dapat dimanipulasi dan diperbarui independen dari
database. Ketika penggunaan DataSet ini selesai, perubahan dapat dilakukan kembali ke
pusat database untuk memperbarui. Data dalam DataSet dapat dimuat dari sumber data
yang valid seperti database server Microsoft SQL, Oracle atau database dari database
Microsoft Access.
5.1.5. Data Provider
Data Provider bertanggung jawab untuk menyediakan dan memelihara koneksi ke
database. Sebuah dataProvider adalah seperangkat komponen terkait yang bekerja sama
untuk menyediakan data secara efisien dan kinerja didorong. . NET Framework saat ini
dilengkapi dengan dua DataProviders: SQL Data Provider yang dirancang hanya untuk
bekerja dengan SQL Server 7.0 Microsoft atau lambat dan dataProvider OLEDB yang
memungkinkan kita untuk terhubung ke database jenis lain seperti Access dan Oracle.
Setiap dataProvider terdiri dari kelas komponen berikut:
Object Connection yang menyediakan koneksi ke database
Object Command yang digunakan untuk mengeksekusi perintah
Obyek DataReader yang menyediakan forward-only, read only, recordset terhubung
Obyek DataAdapter yang populasikan DataSet terputus dengan data dan melakukan
pembaruan
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 54
Gambar 5.1. Arsitektur Data ADO.NET
5.1.6. Komponen kelas yang membentuk Penyedia data
Obyek Koneksi
Object Connection menciptakan koneksi ke database. Microsoft Visual Studio NET
menyediakan dua jenis kelas Koneksi: obyek SqlConnection, yang dirancang khusus
untuk menghubungkan ke Microsoft SQL Server 7.0 atau lambat, dan objek
OleDbConnection, yang dapat menyediakan koneksi ke berbagai jenis database seperti
Microsoft Access, Mysql dan Oracle. Object Connection berisi semua informasi yang
diperlukan untuk membuka koneksi ke database.
Objek Command
Object Command diwakili oleh dua kelas yang sesuai: SqlCommand dan
OleDbCommand. Objek Command digunakan untuk mengeksekusi perintah ke database
di sambungan data. Objek Command bisa digunakan untuk mengeksekusi prosedur yang
tersimpan pada database, perintah SQL, atau kembali tabel lengkap langsung. Objek
Command menyediakan tiga metode yang digunakan untuk mengeksekusi perintah pada
database:
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 55
ExecuteNonQuery: Melaksanakan perintah yang memiliki nilai yang tidak kembali
seperti INSERT, UPDATE atau DELETE
ExecuteScalar: Mengembalikan nilai tunggal dari query database
ExecuteReader: Mengembalikan hasil set dengan cara objek dataReader
Objek dataReader
Obyek DataReader menyediakan forward-only, read-only, recordset aliran terhubung dari
database. Tidak seperti komponen lain dari Data Provider, obyek DataReader tidak dapat
secara langsung instantiated. Sebaliknya, dataReader dikembalikan sebagai hasil dari
metode ExecuteReader object Command itu. Metode SqlCommand.ExecuteReader
mengembalikan sebuah objek SqlDataReader, dan metode
OleDbCommand.ExecuteReader mengembalikan sebuah objek OleDbDataReader.
DataReader dapat memberikan baris data langsung ke logika aplikasi ketika Anda tidak
perlu menyimpan data dalam memori cache. Karena hanya satu baris dalam memori pada
satu waktu, dataReader menyediakan overhead terendah dalam hal kinerja sistem tetapi
memerlukan penggunaan eksklusif dari sebuah object Connection terbuka untuk seumur
hidup dataReader tersebut.
Obyek DataAdapter
DataAdapter adalah kelas inti dari terputus akses data ADO NET. Ini pada dasarnya
adalah perantara memfasilitasi semua komunikasi antara database dan DataSet.
DataAdapter digunakan baik untuk mengisi DataTable atau DataSet dengan data dari
database dengan metode Isi itu. Setelah data memori-penduduk telah dimanipulasi,
DataAdapter bisa melakukan perubahan ke database dengan memanggil metode Update.
DataAdapter menyediakan empat sifat yang mewakili perintah database:
1. SelectCommand
2. InsertCommand
3. DeleteCommand
4. UpdateCommand
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 56
Ketika Update metode disebut, perubahan dalam DataSet yang disalin kembali ke
database dan yang sesuai InsertCommand, DeleteCommand, atau UpdateCommand
dieksekusi.
5.2. Contoh Latihan Soal 1. Buatlah Module Koneksi database mysql dengan form aplikasi VB.net F Membuat Module
Dalam sistem pembelian ini, koneksi database nya terdapat pada Module. Sehingga
dibuat bersifat global.
Untuk membuat Module, perlu menambahkan atribut baru berupa module pada project.
Dengan cara: Klik kanan pada Project di Solution Explorer, kemudian pilih Add, Add
Module.
Gambar 5.2.Tampilan membuat Module Beri nama Module1.vb
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 57
Ketiklah Code untuk modul koneksi: Imports System.Data.Odbc Import System.Data Module Koneksi username database public strcon = "Driver={MySQL ODBC 3.51 Driver};database=DBLatihan;server=localhost;uid=root" Conn = New OdbcConnection(str) If Conn.State = ConnectionState.Closed Then nama databasenya Conn.Open() End If End module
ubah nama Datagridview1 menjadi GDV
Klik 2x form aplikasi atau source code pilihlah load Private Sub TampilGrid_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Koneksi() da = New OdbcDataAdapter("Select * from siswa", Conn) ds = New DataSet
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 58
ds.Clear() da.Fill(ds, "Siswa") DGV.DataSource = (ds.Tables("Siswa")) End Sub End Class Hasil yang didapatkan :
1. Buatlah aplikasi memasukan data barang
Label
Group Box
TextBox
Button
Group Box
Button
Form
Label
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 59
Rancangan Project Propertis :
Coding untuk form entry Barang Imports System.Data.OleDb Imports System.Data Public Class frmMasterBarang Dim cnn As OleDbConnection Dim cmmd As OleDbCommand Dim dReader As OleDbDataReader
Private Sub frmMasterBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Buka koneksi cnn = New OleDbConnection(strcon) If cnn.State <> ConnectionState.Closed Then cnn.Close() cnn.Open() 'Buat AutoNumber u kode barang Dim strTemp As String = "" Dim strValue As String = "" Dim sql As String sql = "SELECT * FROM BARANG ORDER BY TKDBRG DESC" cmmd = New OleDbCommand(sql, cnn) dReader = cmmd.ExecuteReader If dReader.Read Then strTemp = Mid(dReader.Item("TKDBRG"), 3, 5) Else txtKdBrg.Text = "BG00001" Exit Sub
OBJEK NAME TEXT PROPERTIES YANG DIUBAH Form1 frmMasterBarang frmMasterBarang Font , Back Color, StartPosition =
CenterScreen Label1 Label1 ENTRY DATA BARANG Font, Back Color
GroupBox1 Groupbox1 Data Barang Font, Back Color Label2 Lblkdbrg KODE BARANG Font, Back Color Label3 Lblnmbrg NAMA BARANG Font, Back Color Label4 Lblharsat HARGA SATUAN Font, Back Color
Textbox1 txtKdBrg (kosong) Font , Back Color Textbox2 txtNmBrg (kosong) Font, Back Color Textbox3 txtSatuan (kosong) Font, Back Color Button1 BtnCariBrg CARI Font , Back Color
GroupBox2 Groupbox2 - Font, Back Color Button2 cmdSimpan SIMPAN Font , Back Color Button3 cmdUbah UBAH Font , Back Color Button4 cmdHapus HAPUS Font , Back Color Button5 cmdBatal BATAL Font, Back Color Button6 cmdKeluar KELUAR Font , Back Color
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 60
End If 'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtKdBrg.Text = "BG" & Mid("00000", 1, 5 - strValue.Length) & strValue End Sub Tombol Keluar : Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click Me.Dispose() End Sub TxtBarang : Private Sub txtKdBrg_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtKdBrg.KeyPress If Asc(e.KeyChar) = 13 Then cmmd = New OleDbCommand("SELECT * FROM BARANG WHERE TKDBRG='" & txtKdBrg.Text & "'", cnn) dReader = cmmd.ExecuteReader If dReader.Read Then ''jika data ditemukan cmdSimpan.Enabled = False cmdUbah.Enabled = True cmdHapus.Enabled = True txtNmBrg.Text = dReader.Item("TNMBRG")
txtSatuan.Text = Format(CDbl(dReader.Item("TSATUAN")),"##,####,####,###")
txtNmBrg.Focus() Else txtNmBrg.Focus() txtNmBrg.Text = "" txtSatuan.Text = "" End If End If End Sub CmdSimpan Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimpan.Click Dim sql As String
Dim strTemp As String = "" Dim strValue As String = "" sql = "INSERT INTO BARANG(TKDBRG, TNMBRG, TSATUAN) " & _ "VALUES('" & txtKdBrg.Text & _ "','" & txtNmBrg.Text & "','" & txtSatuan.Text & "')" cmmd = New OleDbCommand(sql, cnn)
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 61
Dim x As Integer = cmmd.ExecuteNonQuery If x = 1 Then MessageBox.Show("DATA BERHASIL DISIMPAN") sql = "SELECT * FROM BARANG ORDER BY TKDBRG DESC" cmmd = New OleDbCommand(sql, cnn) dReader = cmmd.ExecuteReader If dReader.Read Then strTemp = Mid(dReader.Item("TKDBRG"), 3, 5) 'caraChris 'strChris = Mid(dReader.Item("TKDBRG"), 3, 5) + 1 Else txtKdBrg.Text = "BG00001" Exit Sub End If 'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtKdBrg.Text = "BG" & Mid("00000", 1, 5 - strValue.Length)& strValue txtNmBrg.Text = "" txtSatuan.Text = "" txtNmBrg.Focus() Else MessageBox.Show("GAGAL MENYIMPAN DATA") End If End Sub Tombol Ubah: Private Sub cmdUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUbah.Click Dim sql As String sql = "UPDATE BARANG SET TNMBRG='" & txtNmBrg.Text & "'," & _ "TSATUAN='" & txtSatuan.Text & "' " & _ "WHERE TKDBRG='" & txtKdBrg.Text & "'" cmmd = New OleDbCommand(sql, cnn) Dim x As Integer = cmmd.ExecuteNonQuery If x = 1 Then MessageBox.Show("DATA BERHASIL DIUPDATE") txtKdBrg.Text = "" txtNmBrg.Text = "" txtSatuan.Text = "" txtKdBrg.Enabled = True txtKdBrg.Focus() Else MessageBox.Show("GAGAL UPDATE DATA") End If End Sub
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 62
Tombol Hapus Private Sub cmdHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHapus.Click Dim sql As String sql = "DELETE FROM BARANG WHERE TKDBRG='" & txtKdBrg.Text & "'" cmmd = New OleDbCommand(sql, cnn) Dim x As Integer = cmmd.ExecuteNonQuery If x = 1 Then MessageBox.Show("DATA BERHASIL DIHAPUS") txtKdBrg.Text = "" txtNmBrg.Text = "" txtSatuan.Text = "" txtKdBrg.Enabled = True txtKdBrg.Focus() Else MessageBox.Show("GAGAL HAPUS DATA") End If End Sub Tombol Batal Private Sub cmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal.Click txtNmBrg.Text = "" txtSatuan.Text = "" txtNmBrg.Focus() End Sub Tombol Cari Private Sub btnCariBrg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCariBrg.Click Dim popupbrg As New PopBrg popupbrg.ShowDialog() If popupbrg.retKdBrg <> "" Then txtKdBrg.Text = popupbrg.retKdBrg txtNmBrg.Text = popupbrg.retNmBrg txtSatuan.Text = Format(CDbl(popupbrg.retSatuan), "##,####,####,###") txtKdBrg.Enabled = False txtNmBrg.Focus() End If End Sub End Class
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 63
2. Buatlah aplikasi List Barang yang sudah di simpan :
Public Sub list_data() Call clear_list() Dim sqlx As String Dim x As Integer sqlx = "select TKDBRG, TNMBRG, TSATUAN from BARANG where TNMBRG like '%" & Trim(txtKey.Text) & "%' order by TKDBRG asc" cnn = New OleDbConnection(strConn) If cnn.State <> ConnectionState.Closed Then cnn.Close() cnn.Open() cmmd = New OleDbCommand(sqlx, cnn)
Imports System.Data.OleDb Imports System.Data Public Class PopBrg Public retKdBrg, retNmBrg, retSatuan As String Dim cnn As OleDbConnection Dim cmmd As OleDbCommand Dim dReader As OleDbDataReader Private Sub popBrg_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call list_data() End Sub
Private Sub txtKey_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKey.TextChanged Call list_data() End Sub
txtKey
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 64
dReader = cmmd.ExecuteReader Try While dReader.Read = True x = Val(counter.Text) counter.Text = Str(Val(counter.Text) + 1) With ListView1 .Items.Add("") .Items(ListView1.Items.Count - 1).SubItems.Add("") .Items(ListView1.Items.Count - 1).SubItems.Add("") .Items(ListView1.Items.Count - 1).SubItems.Add("") .Items(x).SubItems(0).Text = dReader.GetString(0) .Items(x).SubItems(1).Text = dReader.GetString(1) .Items(x).SubItems(2).Text = dReader.GetValue(2) End With End While Finally dReader.Close() End Try cnn.Close() End Sub
Private Sub clear_list() While Val(counter.Text) > 0 ListView1.Items(0).Remove() counter.Text = Val(counter.Text) - 1 End While End Sub
ListView1
Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick Call pilih() End Sub
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 65
Private Sub pilih() Try retKdBrg = ListView1.SelectedItems(0).SubItems(0).Text.ToString retNmBrg = ListView1.SelectedItems(0).SubItems(1).Text.ToString retSatuan = ListView1.SelectedItems(0).SubItems(2).Text.ToString Me.Close() Catch ex As Exception MsgBox("pilih salah satu data", MsgBoxStyle.Information) End Try
End Sub Tombol Ok Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click Call pilih() End Sub End Class Minggu 10 : Buatlah Aplikasi Entry data Supplier yang terlihat pada gambar dibawah ini.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 66
Imports System.Data.OleDb Imports System.Data Public Class frmMasterSupplier Dim cnn As OleDbConnection Dim cmmd As OleDbCommand Dim dReader As OleDbDataReader Private Sub frmMasterSupplier_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Buka koneksi cnn = New OleDbConnection(strConn) If cnn.State <> ConnectionState.Closed Then cnn.Close() cnn.Open() 'Buat AutoNumber u kode barang Dim strTemp As String = "" Dim strValue As String = "" Dim sql As String sql = "SELECT * FROM SUPPLIER ORDER BY KDSUP DESC" cmmd = New OleDbCommand(sql, cnn) dReader = cmmd.ExecuteReader If dReader.Read Then strTemp = Mid(dReader.Item("KDSUP"), 3, 5) 'caraChris 'strChris = Mid(dReader.Item("KDSUP"), 3, 5) + 1 Else txtKdSup.Text = "SU00001" Exit Sub End If 'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtKdSup.Text = "SU" & Mid("00000", 1, 5 - strValue.Length) & strValue End Sub Tombol Keluar : Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click Me.Dispose() End Sub
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 67
TxtKode Supplier Private Sub txtKdSup_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtKdSup.KeyPress If Asc(e.KeyChar) = 13 Then cmmd = New OleDbCommand("SELECT * FROM SUPPLIER WHERE KDSUP='" & _ txtKdSup.Text & "'", cnn) dReader = cmmd.ExecuteReader If dReader.Read Then ''jika data ditemukan cmdSimpan.Enabled = False cmdUbah.Enabled = True cmdHapus.Enabled = True txtNmSup.Text = dReader.Item("NMSUP") txtAlamat.Text = dReader.Item("TALAMAT") txtNmSup.Focus() Else txtNmSup.Focus() txtNmSup.Text = "" txtAlamat.Text = "" End If End If End Sub Tombol Simpan : Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimpan.Click Dim sql As String Dim strTemp As String = "" Dim strValue As String = "" sql = "INSERT INTO SUPPLIER(KDSUP, NMSUP, TALAMAT) " & _ "VALUES('" & txtKdSup.Text & _ "','" & txtNmSup.Text & "','" & txtAlamat.Text & "')" cmmd = New OleDbCommand(sql, cnn) Dim x As Integer = cmmd.ExecuteNonQuery If x = 1 Then MessageBox.Show("DATA BERHASIL DISIMPAN")
sql = "SELECT * FROM SUPPLIER ORDER BY KDSUP DESC" cmmd = New OleDbCommand(sql, cnn) dReader = cmmd.ExecuteReader If dReader.Read Then strTemp = Mid(dReader.Item("KDSUP"), 3, 5) 'caraChris 'strChris = Mid(dReader.Item("KDSUP"), 3, 5) + 1
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 68
Else txtKdSup.Text = "SU00001" Exit Sub End If 'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtKdSup.Text = "SU" & Mid("00000", 1, 5 - strValue.Length)& strValue txtNmSup.Text = "" txtAlamat.Text = "" txtNmSup.Focus() Else MessageBox.Show("GAGAL MENYIMPAN DATA") End If End Sub Tombol Ubah : Private Sub cmdUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUbah.Click Dim sql As String sql = "UPDATE SUPPLIER SET NMSUP='" & txtNmSup.Text & "'," & _ "TALAMAT='" & txtAlamat.Text & "' " & _ "WHERE KDSUP='" & txtKdSup.Text & "'" cmmd = New OleDbCommand(sql, cnn) Dim x As Integer = cmmd.ExecuteNonQuery If x = 1 Then MessageBox.Show("DATA BERHASIL DIUPDATE") txtKdSup.Text = "" txtNmSup.Text = "" txtAlamat.Text = "" txtKdSup.Enabled = True txtKdSup.Focus() Else MessageBox.Show("GAGAL UPDATE DATA") End If End Sub
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 69
Tombol Hapus : Private Sub cmdHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHapus.Click Dim sql As String sql = "DELETE FROM SUPPLIER WHERE KDSUP='" & txtKdSup.Text & "'" cmmd = New OleDbCommand(sql, cnn) Dim x As Integer = cmmd.ExecuteNonQuery If x = 1 Then MessageBox.Show("DATA BERHASIL DIHAPUS") txtKdSup.Text = "" txtNmSup.Text = "" txtAlamat.Text = "" txtKdSup.Enabled = True txtKdSup.Focus() Else MessageBox.Show("GAGAL HAPUS DATA") End If End Sub Tombol Batal : Private Sub cmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal.Click txtNmSup.Text = "" txtAlamat.Text = "" End Sub
5.3. Soal- Soal Minggu 9 1. Buatlah Aplikasi sistem informasi dengan menggunakan manipulasi data pada DBMS
Mysql seperti Aplikasi Perpustakaan, untuk latihan buatlah form Data
Mahasiswa/Member untuk komponen input dan output dapat disesuaikan berdasarkan
hasil obvervasi kebutuhan perpustakaan tersebut.
Minggu 10
2. Kelanjutan Program selanjutnya form peminjaman Buku perpustakaan, untuk desain
dan input, output dapat disesuaikan. Dimana desain input memiliki lama
peminjaman/batas pengembalian.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 70
MODUL 6
MENU DAN CRYSTAL REPORT
Pertemuan : 22, 24
Peralatan & Perlengkapan : VISUAL STUDIO 2005 VB.NET dan MySQL
Tujuan pembelajaran praktikum :
Ø Mahasiswa dapat menggunakan Menu Manager untuk menghubungkan semua
form aplikasi secara dinamis. (C3)
Ø Mahasiswa dapat menggnakan Crystal Report untuk pembuatan Laporan pada
pemrograman VB.net (C3)
6.1. Teori/Konsep
6.1.1. Crystal Report Menurut Daryanto mengemukakan bahwa Crystal report, yaitu: “Crystal report
merupakan tool yang sering digunakan untuk membuat laporan”.[5]
Menurut Madcom dalam bukunya yang berjudul Database Visual Basic 6.0
Dengan Crystal Report menyebutkan bahwa : "Crystal repots merupakan program
khusus untuk membuat laporan yang terpisah dari program Microsoft Visual Basic
tetapi keduanya dapat dihubungkan (linkagge)".[15]
Dari uraian diatas dapat disimpulkan bahwa Crystal Report merupakan program
khusus untuk membuat laporan yang terpisah dari program Microsoft Visual Basic tetapi
keduanya dapat dihubungkan.
Pada standar reprts expert terdiri dari delapan langkah yaitu:
a. Tab data
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 71
Tab data ini harus menentukan tabel atau query yang akan digunakan untuk
membuat laporan.
b. Tab fields
Tab ini dapat menentukan field-field atau kolom-kolom yang akan ditampilkan
dalam laporan.
c. Tab sort
Tab ini dapat mengurutkan atau mengelompokan data-data yangakan ditampilkan
dalam laporan.
d. Tab total
Tab ini dapat menampilkan subtotal berdasarkan kriteria atau pengelompokan
berdasarkan fields yang telah ditentukan pada tab sebelimnya.
e. Tab topN
Tab ini dapat menentukan data yang akan ditampilkan dengan cara memilih N
terbesar dari data yang ada.
f. Tab graph
Tab ini dapat membuat dan memilih type grafik yang diinginkan.
g. Tab select
Tab ini dapat menyaring atau memfilter record-record yang akan ditampilkan
dalam laporan.
h. Tab style
Tab ini dapat memilih bentuk tampilan laporan dan menuliskan judul laporan yang
diinginkan.
Kelebihan yang terdapat dalam crystal report adalah hasil cetakan crystal report
lebih baik dan lebih mudah, karena pada crystal report banyak tersedia objek maupun
komponen yang mudah digunakan.
Hubungan crystal report dengan visual basic yaitu percetakan/ hasil akhir
dilakukan dalam sebuah form maka objek crystal report yang terdapat didalam form
harus dihubungkan dengan file crystal report yang sudah jadi.
Berkaitan dengan tampilan laporan ada beberapa tombol yang mendukung, yaitu:
1. Tab Design
Fungsi dari tab design ini adalah untuk menampilkan desain laporan yang dibuat.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 72
2. Tab Preview
Fungsi dari tab preview adalah untuk menampilkan bentuk/hasil dari laporan.
Untuk membuat menu, pilih didalam toolbox lalu ketikkan nama
menu sesuai dengan yang diinginkan
Atau bisa juga dengan mengetikkan menu pada properties text
Penggunaan tanda ”&” diantara nama menu, berfungsi agar menu dapat diakses
menggunakan keyboard dengan menekan tombol alt disertai dengan huruf yang bergaris
bawah.
jika program sudah dijalankan, menu ini dapat diakses dengan menekan
tombol ”alt dan m” secara bersamaan.
6.2. Latihan Soal Tampilan Menu Utama dari program aplikasi Penjualan Produk
Untuk membuat laporan dengan Crystal Report langkah yang harus dilakukan adalah
sebagai berikut :
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 73
1. Klik kanan pada Project kemudian pilih Add " lalu pilih Add Windows Forms
setelah itu program akan menampilkan kontak dialog Add New Item
2. Pada form Add New Item, pilih Crystal Report, lalu tekan tombol Add.
Tuliskan nama laporan yang akan dibuat pada kolom Name.
3. Pada Form Crystal Report Gallery " klik As a Blank Report " klik tombol OK
4. Setelah desain Crystal Report tampil klik kanan pada Database Fields lalu pilih
Database Expert.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 74
Sehingga muncul tampilan seperti dibawah. Karena kita menggunakan database Access,
maka kita pilih Create New Connection " ADO.net " klik OK
5. Kemudian pilih tabel yang akan dibuat reportnya pada Form Database Expert
setelah itu klik OK
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 75
6. Desain Tampilan Crystal Raport.
7. Untuk mendesign bentuk cetakan, dapat dilakukan di bagian Report Header, Page
Header, Report Footer dan Page Footer
Untuk membuat laporan dengan Crystal Report, biasanya diperlukan sebuah form yang
menampung tampilan sementara Crystal Report. Maka kita perlu menambah sebuah form
baru. Langkah-langkah yang dilakukan adalah sbb:
Perbedaan setelah dikoneksikan dengan tabel
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 76
1. Klik kanan pada Project di Solution Explorer à Klik Add à Windows Form
2. Ubah nama pada kolom Name
3. Tambahkan objek CrystalReportViewer dari Toolbox kedalam form. Hal ini
berguna untuk koneksi form dengan CrystalReport
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 77
4. Kemudian koneksikan form dengan CrystalReport yang telah dibuat :
Atur properties à ReportSource --> pilih CrystalReport yang telah dibuat
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 78
5. Tampilannya akan menjadi :
Ini contoh apabila ingin membuat form cetak barang denga koding sebagai berikut.
Pada form FrmCetakSP ketikan code berikut:
1. Buatlah program untuk entry Supplier yang merupakan satu kesatuan dari program
pertemuan 9 dan 10 mengacu pada database sebelumnya.tampilan program terlihat pada
gambar dibawah ini.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 79
2. Buatlah program pesanan untuk aplikasi penjualan produk dengan mengacu latihan
sebelumnya. Untuk desain rancangan tampilan sebagai berikut :
Koding : Imports System.Data.OleDb Imports System.Data Public Class frmEntrySP Dim cnn As OleDbConnection Dim cmmd, cmmd1, cmmd2 As OleDbCommand Dim dReader As OleDbDataReader Private index As Integer = 0 Private Total As Double = 0.0 Private Sub frmEntrySP_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Buka koneksi cnn = New OleDbConnection(strConn)
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 80
If cnn.State <> ConnectionState.Closed Then cnn.Close() cnn.Open() 'Buat AutoNumber u Surat Pesanan Dim strTemp As String = "" Dim strValue As String = "" Dim sql As String sql = "SELECT * FROM SP ORDER BY NOSP DESC" cmmd = New OleDbCommand(sql, cnn) dReader = cmmd.ExecuteReader If dReader.Read Then strTemp = Mid(dReader.Item("NOSP"), 3, 5) Else txtNoSP.Text = "SP00001" Exit Sub End If 'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtNoSP.Text = "SP" & Mid("00000", 1, 5 - strValue.Length) & strValue End Sub
Untuk Textboxt kode supplier : Private Sub txtNoSP_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNoSP.KeyPress If Asc(e.KeyChar) = 13 Then btnCariSup.Focus() End If End Sub Tombol Cari : Private Sub btnCariSup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCariSup.Click Dim popupsup As New PopSup popupsup.ShowDialog() If popupsup.retKdSup <> "" Then txtkdsup.Text = popupsup.retKdSup txtNmSup.Text = popupsup.retNmSup txtNmSup.Focus() End If End Sub Untuk textboxt nama supplier : Private Sub txtNmsup_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNmSup.KeyPress If Asc(e.KeyChar) = 13 Then BtnCariBrg.Focus() End If End Sub
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 81
Untuk Textboxt Jumlah barang : Private Sub txtJmlbeli_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtJmlBeli.KeyPress If Asc(e.KeyChar) = 13 Then SetTotal() txtTotal.Focus() End If End Sub Untuk Textbox Total : Private Sub txtTotal_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTotal.KeyPress If Asc(e.KeyChar) = 13 Then btnTambah.Focus() End If End Sub Sub SetTotal() Dim a As Integer a = CInt(txtJmlBeli.Text) * CInt(txtSatuan.Text) txtTotal.Text = Format(CDbl(CStr(a)), "##,####,####,###") 'txt.Text = Format(CDbl(txt.Text), "##,####,####,###") End Sub Untuk tombol cari barang : Private Sub BtnCariBrg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCariBrg.Click Dim popupbrg As New PopBrg popupbrg.ShowDialog() If popupbrg.retKdBrg <> "" Then txtKdBrg.Text = popupbrg.retKdBrg txtNmBrg.Text = popupbrg.retNmBrg txtSatuan.Text = Format(CDbl(popupbrg.retSatuan), "##,####,####,###") txtJmlBeli.Focus() End If End Sub Untuk Tombol tambah : Private Sub btnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTambah.Click Dim Value() As String = {txtKdBrg.Text, txtNmBrg.Text, txtSatuan.Text, txtJmlBeli.Text, txtTotal.Text} AddList(Value)
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 82
Total += CDbl(txtTotal.Text) : txtGrandTotal.Text = Format(CDbl(CStr(Total)), "##,####,####,###") txtKdBrg.Text = "" : txtNmBrg.Text = "" : txtSatuan.Text = "" : txtJmlBeli.Text = "" txtTotal.Text = "" txtKdBrg.Focus() End Sub Sub AddList(ByVal Value() As String) Dim subIndex As Integer ListView1.Items.Add("") For subIndex = 0 To 4 ListView1.Items(index).SubItems.Add("") ListView1.Items(index).SubItems(subIndex).Text = Value(subIndex) Next index = index + 1 End Sub
Untuk Tombol Simpan : Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimpan.Click Dim counter As Integer Dim sql1, sql2 As String Try sql1 = "INSERT INTO SP(NOSP, TGLSP, KDSUP) " & _ "VALUES('" & txtNoSP.Text & "','" & _ DateTimePicker3.Text & "','" & _ txtkdsup.Text & "')" cmmd1 = New OleDbCommand(sql1, cnn) Dim x As Integer = cmmd1.ExecuteNonQuery For counter = 0 To index - 1 sql2 = "INSERT INTO PESAN(TKDBRG,NOSP, JML, HRG) " & _ "VALUES('" & _ ListView1.Items(counter).SubItems(0).Text & "','" & _ txtNoSP.Text & "','" & _ ListView1.Items(counter).SubItems(3).Text & "','" & _ ListView1.Items(counter).SubItems(2).Text & "')" cmmd2 = New OleDbCommand(sql2, cnn) cmmd2.ExecuteNonQuery() Next If x = 1 Then MessageBox.Show("DATA SP BERHASIL DISIMPAN") End If Catch ex As Exception MsgBox(ex.Message) End Try
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 83
End Sub
Untuk tombol Batal : Private Sub cmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal.Click ListView1.Items.Clear() index = 0 : Total = 0 txtGrandTotal.Text = "" End Sub Untuk Tombol keluar : Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click Me.Close() End Sub End Class
6.3. Soal- Soal Minggu 11 1. Buatlah aplikasi form stok buku yang dipinjam Mahasiswa atau member tampilan
aplikasi dapat menggunakan data gridview dan textbox untuk pencariaan berdasarkan
kodebuku atau Nim mahasiswa.
Minggu 12
2. Buatlah Aplikasi form input databuku digunakan untuk menambahkan koleksi buku
serta kategori buku yang dapat dipinjam atau tidak. Pada form ini inputan dapat
berupa kodebuku, judul buku, penerbit, pengarang, edisi, alamat lokasi penyimpanan
dst.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 84
MODUL 7
Package Execute Program
Pertemuan : 26
Peralatan & Perlengkapan : VISUAL STUDIO 2005 VB.NET dan MySQL
Tujuan pembelajaran praktikum :
Ø Mahasiswa dapat membuat dan merancang sistem informasi dengan
menggunakan perograman VB.Net (C5)
7.1. Teori/Konsep Membuat Executable:
Program yang telah dibuat biasanya harus dijalankan dengan cara membuka sistem
Visual Basic terlebih dahulu, hal ini memerlukan banyak waktu dan tenaga. Untuk
melakukan efisiensi maka sebaiknya dibuat sebuah file EXE dari program yang telah
lengkap tersebut.
Untuk membuat kompilasi program lakukan langkah-langkah di bawah ini :
1. Buka program yang akan dikompilasi (misalnya Aplikasi Penjualan)
2. Klik menu File, pilih Make Aplikasi Penjualan.exe …
3. Tulis nama file EXE (misalnya Program Penjualan)
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 85
4. Tentukan posisi penyimpanan file tersebut (misalnya pada direktori C:\Belajar VB)
5. Kemudian pilih OK
Membuat Shortcut
Setelah terbentuk file EXE dengan langkah-langkah di atas, maka sebaiknya Anda pun
membuat shortcut-nya di desktop dengan tujuan agar pada saat program tersebut
dijalankan Anda cukup dengan melakukan double-Click pada shortcut tersebut tanpa
harus membuka sistem Visual Basic.
7.2. Latihan Soal Buatlah form cetak surat pesanan mengacu pada program sebelumnya :
Imports System.Data.OleDb Imports System.Data Public Class frmCetakSP Dim cnn As OleDbConnection Dim cmmd As OleDbCommand Dim dReader As OleDbDataReader Private Sub frmCetakSP_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated txtNoSP.Focus() End Sub
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 86
Untuk Tombol Cari : Private Sub BtnCarisp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCarisp.Click Dim popupSP As New PopSP popupSP.ShowDialog() If popupSP.retNoSP <> "" Then txtNoSP.Text = popupSP.retNoSP txtTglSP.Text = Format(CDate(popupSP.retTglSP), "dd - MMMM - yyyy") txtKdSup.Text = popupSP.retKdSup cmdCetak.Focus() End If '''' UNTUK MENAMPILKAN NAMA SUPPLIER Dim sqlx As String sqlx = "select NMSUP from SUPPLIER where KDSUP like '%" & Trim(txtKdSup.Text) & "%' order by KDSUP asc" cnn = New OleDbConnection(strConn) cnn.Open() cmmd = New OleDbCommand(sqlx, cnn) dReader = cmmd.ExecuteReader If dReader.Read Then txtNmSup.Text = dReader(0) End If End Sub Untuk Tombol Keluar : Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click Me.Dispose() End Sub Tombol Batal : Private Sub cmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal.Click txtNoSP.Text = "" txtTglSP.Text = "" txtKdSup.Text = "" txtNmSup.Text = "" End Sub Tombol Cetak : Private Sub cmdCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCetak.Click FrmRptCetakSP.Show() End Sub End Class
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 87
Imports System.Data.OleDb Imports System.Data Public Class PopSP Public retNoSP, retTglSP, retKdSup As String Dim cnn As OleDbConnection Dim cmmd As OleDbCommand Dim dReader As OleDbDataReader Private Sub popSP_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call list_data() End Sub Private Sub txtKey_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKey.TextChanged Call list_data() End Sub Private Sub list_data() Call clear_list() Dim sqlx As String Dim x As Integer sqlx = "select NOSP, TGLSP, KDSUP from SP where NOSP like '%" & Trim(txtKey.Text) & "%' order by NOSP asc" cnn = New OleDbConnection(strConn) If cnn.State <> ConnectionState.Closed Then cnn.Close() cnn.Open() cmmd = New OleDbCommand(sqlx, cnn) dReader = cmmd.ExecuteReader Try While dReader.Read = True x = Val(counter.Text) counter.Text = Str(Val(counter.Text) + 1) With ListView1 .Items.Add("") .Items(ListView1.Items.Count - 1).SubItems.Add("")
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 88
.Items(ListView1.Items.Count - 1).SubItems.Add("") .Items(ListView1.Items.Count - 1).SubItems.Add("") .Items(x).SubItems(0).Text = dReader.GetString(0) .Items(x).SubItems(1).Text Format(CDate(dReader.GetDateTime(1)), "dd-MMMM-yyyy") .Items(x).SubItems(2).Text = dReader.GetString(2) End With End While Finally dReader.Close() End Try cnn.Close() End Sub Private Sub clear_list() While Val(counter.Text) > 0 ListView1.Items(0).Remove() counter.Text = Val(counter.Text) - 1 End While End Sub
Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick Call pilih() End Sub Private Sub pilih() Try retNoSP = ListView1.SelectedItems(0).SubItems(0).Text.ToString retTglSP = ListView1.SelectedItems(0).SubItems(1).Text.ToString retKdSup = ListView1.SelectedItems(0).SubItems(2).Text.ToString Me.Close() Catch ex As Exception MsgBox("pilih salah satu data", MsgBoxStyle.Information) End Try End Sub
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 89
Tombol OK : Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click Call pilih() End Sub End Class
7.3. Soal- Soal 1. Buatlah Aplikasi Sistem Informasi dari salah satu atau berbeda kasus-kasus yang ada
pada Industri seperti dibawah :
a. Sistem Informasi Rekam Medis
b. Sistem Informasi Rawat Jalan dan Inap pada RS. XYZ
c. Sistem Informasi card member untuk parkir UBM
d. Sistem Informasi Pemesan Tiket Kereta API
e. Sistem Informasi Keuangan/ General Ledger pada PT. ABCD
f. dst
setiap proyek dipresentasikan pada saat akhir perkuliahan atau pertemuan 13 dan burning
dalam CD/DVD, untuk perancangan sistem dapat digambarkan menggunakan UML atau
DFD, database digambarkan dalam bentuk class diagram atau ERD.
Modul Praktikum Pemrograman VB.Net – Lukman Hakim Page 90
DAFTAR PUSTAKA
Drs. Ario Suryo Kusumo. (2004). Visual Basic.Net versi 2002 dan 2003. 1. Elex Media Komputindo, Jakarta.
Dodit Suprinato. (2010). Membuat Aplikasi Desktop menggunakan Mysql & VB.net. 1.
Mediakita, Jakarta.
Rani.(2007). Diktat Bahasa pemrograman 3,Universitas Budi Luhur Ciledug