modul praktikum visualbasic.net .v2

96
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

Upload: agus-salim

Post on 24-Oct-2015

285 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Modul Praktikum VisualBasic.net .v2

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

Page 2: Modul Praktikum VisualBasic.net .v2

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

Page 3: Modul Praktikum VisualBasic.net .v2

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

Page 4: Modul Praktikum VisualBasic.net .v2

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

Page 5: Modul Praktikum VisualBasic.net .v2

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

Page 6: Modul Praktikum VisualBasic.net .v2

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

Page 7: Modul Praktikum VisualBasic.net .v2

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.

Page 8: Modul Praktikum VisualBasic.net .v2

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

Page 9: Modul Praktikum VisualBasic.net .v2

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:

Page 10: Modul Praktikum VisualBasic.net .v2

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

Page 11: Modul Praktikum VisualBasic.net .v2

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,

Page 12: Modul Praktikum VisualBasic.net .v2

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.

Page 13: Modul Praktikum VisualBasic.net .v2

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

Page 14: Modul Praktikum VisualBasic.net .v2

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.

Page 15: Modul Praktikum VisualBasic.net .v2

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.

Page 16: Modul Praktikum VisualBasic.net .v2

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

Page 17: Modul Praktikum VisualBasic.net .v2

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

Page 18: Modul Praktikum VisualBasic.net .v2

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

Page 19: Modul Praktikum VisualBasic.net .v2

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.

Page 20: Modul Praktikum VisualBasic.net .v2

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

Page 21: Modul Praktikum VisualBasic.net .v2

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

Page 22: Modul Praktikum VisualBasic.net .v2

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.

Page 23: Modul Praktikum VisualBasic.net .v2

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.

Page 24: Modul Praktikum VisualBasic.net .v2

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

Page 25: Modul Praktikum VisualBasic.net .v2

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

Page 26: Modul Praktikum VisualBasic.net .v2

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

Page 27: Modul Praktikum VisualBasic.net .v2

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

Page 28: Modul Praktikum VisualBasic.net .v2

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

Page 29: Modul Praktikum VisualBasic.net .v2

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

Page 30: Modul Praktikum VisualBasic.net .v2

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

Page 31: Modul Praktikum VisualBasic.net .v2

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.

Page 32: Modul Praktikum VisualBasic.net .v2

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.

Page 33: Modul Praktikum VisualBasic.net .v2

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

Page 34: Modul Praktikum VisualBasic.net .v2

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

Page 35: Modul Praktikum VisualBasic.net .v2

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

Page 36: Modul Praktikum VisualBasic.net .v2

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

Page 37: Modul Praktikum VisualBasic.net .v2

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)

Page 38: Modul Praktikum VisualBasic.net .v2

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:

Page 39: Modul Praktikum VisualBasic.net .v2

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

Page 40: Modul Praktikum VisualBasic.net .v2

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

Page 41: Modul Praktikum VisualBasic.net .v2

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

Page 42: Modul Praktikum VisualBasic.net .v2

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

Page 43: Modul Praktikum VisualBasic.net .v2

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

Page 44: Modul Praktikum VisualBasic.net .v2

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)

Page 45: Modul Praktikum VisualBasic.net .v2

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

Page 46: Modul Praktikum VisualBasic.net .v2

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

Page 47: Modul Praktikum VisualBasic.net .v2

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

Page 48: Modul Praktikum VisualBasic.net .v2

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.

Page 49: Modul Praktikum VisualBasic.net .v2

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

Page 50: Modul Praktikum VisualBasic.net .v2

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

Page 51: Modul Praktikum VisualBasic.net .v2

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:

Page 52: Modul Praktikum VisualBasic.net .v2

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

);

Page 53: Modul Praktikum VisualBasic.net .v2

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

);

Page 54: Modul Praktikum VisualBasic.net .v2

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;

Page 55: Modul Praktikum VisualBasic.net .v2

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

Page 56: Modul Praktikum VisualBasic.net .v2

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.

Page 57: Modul Praktikum VisualBasic.net .v2

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

Page 58: Modul Praktikum VisualBasic.net .v2

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.

Page 59: Modul Praktikum VisualBasic.net .v2

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

Page 60: Modul Praktikum VisualBasic.net .v2

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:

Page 61: Modul Praktikum VisualBasic.net .v2

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

Page 62: Modul Praktikum VisualBasic.net .v2

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

Page 63: Modul Praktikum VisualBasic.net .v2

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

Page 64: Modul Praktikum VisualBasic.net .v2

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

Page 65: Modul Praktikum VisualBasic.net .v2

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

Page 66: Modul Praktikum VisualBasic.net .v2

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)

Page 67: Modul Praktikum VisualBasic.net .v2

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

Page 68: Modul Praktikum VisualBasic.net .v2

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

Page 69: Modul Praktikum VisualBasic.net .v2

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

Page 70: Modul Praktikum VisualBasic.net .v2

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

Page 71: Modul Praktikum VisualBasic.net .v2

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.

Page 72: Modul Praktikum VisualBasic.net .v2

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

Page 73: Modul Praktikum VisualBasic.net .v2

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

Page 74: Modul Praktikum VisualBasic.net .v2

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

Page 75: Modul Praktikum VisualBasic.net .v2

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.

Page 76: Modul Praktikum VisualBasic.net .v2

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

Page 77: Modul Praktikum VisualBasic.net .v2

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.

Page 78: Modul Praktikum VisualBasic.net .v2

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 :

Page 79: Modul Praktikum VisualBasic.net .v2

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.

Page 80: Modul Praktikum VisualBasic.net .v2

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

Page 81: Modul Praktikum VisualBasic.net .v2

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

Page 82: Modul Praktikum VisualBasic.net .v2

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

Page 83: Modul Praktikum VisualBasic.net .v2

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

Page 84: Modul Praktikum VisualBasic.net .v2

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.

Page 85: Modul Praktikum VisualBasic.net .v2

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)

Page 86: Modul Praktikum VisualBasic.net .v2

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

Page 87: Modul Praktikum VisualBasic.net .v2

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)

Page 88: Modul Praktikum VisualBasic.net .v2

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

Page 89: Modul Praktikum VisualBasic.net .v2

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.

Page 90: Modul Praktikum VisualBasic.net .v2

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)

Page 91: Modul Praktikum VisualBasic.net .v2

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

Page 92: Modul Praktikum VisualBasic.net .v2

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

Page 93: Modul Praktikum VisualBasic.net .v2

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

Page 94: Modul Praktikum VisualBasic.net .v2

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

Page 95: Modul Praktikum VisualBasic.net .v2

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.

Page 96: Modul Praktikum VisualBasic.net .v2

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