Anda di halaman 1dari 103

Periode Berlaku : Genap 2011/2012

FR-UBM-2.3.3.4/R0
Versi / Revisi : 1/0
MODUL
TIB14 - Pemrograman Visual Basic
Oleh:
L0110 - LUKMA !AKIM
P"O#"AM $TUDI T%KIK I&O"MATIKA
'01'
UIV%"$ITA$ BUDA MULIA
(L) Lo*an "a+a o) ' (a,ar-a U-ara 144.0
Modul Praktikum Pemrograman VB.Net
Lukman Hakim
Page i
L%MBA" P%#%$A!A
KMK
: TIB14
Mata Kuliah : Pero!raan Visual Basi"
Pe#ahasan 1$ Pen!enalan Visual Basi"$%et
2$ Bahasa Pero!raan VB$%et & '#(ek 'riented
)$ *esain Inter+a"e & ,ontrol '#(ek
4$ Pero!raan *ata#ase & Manipulasi *ata
-$ Pen!!unaan '#(ek .*'$%et
/$ Menu & ,r0stal Raport
1$ Pa"ka!e 23e"uta#le .plikasi
Pen0usun : 40110 54ukan 6aki
Periode Berlaku : Genap 2011/2012
(a,ar-a/ 0
*isusun oleh7
40 1 10 8 4uk a n 6ak i 7 9 T $ 7 M $ K o
*osen Teknik In+oratika
*isetu(ui oleh7
404)/ 8 B a # a n ! * : i ; i (ana r k o 7 9 $ 9 i $7M $ K o
Pro!ra 9tudi Teknik In+oratika
*isetu(ui oleh7
40/04 5 < u lia 4 o i s a 7 9 $ K o $7 M M
Mana!er Pen!e#an!an Pe#ela(aran
*isahkan oleh7
K a n d i 9 9 * a h la n 7 M B . 7 P h d =
Plt$;akil Rektor Bidan! .kadeik
Modul Praktikum Pemrograman VB.Net
Lukman Hakim
Page
ii
KATA P%#ATA"
*ala perke#an!an dunia pro!raer dan industri in+orasi perke#an!an #ahasa
pero!raan san!at "epat dan #an0akn0a perintaan dari kalan!an pen!usahan untuk
i!rasi dari #ahasa se#elu ke #ahasa Visual Basi"$%et$ Visual Basi"$%et
eiliki hapir seua ke#utuhan visual dan endukun! #e#erapa so+t:are *BM9
seperti M0s>l7 'ra"le7 Post!ris7 In+oi37 dll$ *en!an kelen!kapan ini seoran!
pro!raer dapat le#ih leluasa #erkreasi en!hasilkan #er#a!ai a"a pro!ra
aplikasi untuk diterapkan pada industri in+orasi saat ini$
Modul Praktiku ini erupakan Buku latihan e#uat Pro!ra den!an ean+aatkan
#er#a!ai a"a +asilitas 0an! diiliki dan koponen koneksi data#ase serta #a!aiana
e#uat laporan den!an ,r0stal Raport 0an! sudah diiliki se"ara plu! & Pla0$
Modul ini en!a#il dari #er#a!ai su#er re+erensi se#a!ai #ahan pe#ela(aran 0an!
e#erikan keudahan ahasis:a dala en!er(akan soal8soal 0an! akan
di#erikan dosen$
Pero!raan Visual Basi"$%et den!an konsep '#(ek 'riented dapat di!unakan untuk
endukun! ke#utuhan seirin! perke#an!an konsep pero!raan dari terstruktur dan
#er#asis o#(ek oriented 0an! #an0ak diterapkan pada industri 0an!
enerapakan teknolo!i siste in+orasi$ Modul ini dilen!kapi den!an "ontoh penulisan
"ode pro!ra le#ih sederhana dan udah dipahai$
Penulis #erharap seo!a odul ini #an0ak e#antu ahasis:a dala e#uat
pro!ra dan se#a!ai re+erensi$ Penulisan en0adari asih #an0ak sekali dala odul
untuk dike#an!kan se"ara le#ih udah untuk dipela(ari7 tetapi dari ini akan en(adi
asukan untuk terus en!e#an!kan #ahan a(ar ini en(adi le#ih #aik la!i$ ;asala
Modul Praktikum Pemrograman VB.Net
Lukman Hakim
Page 4
DA&TA" I$I
42MB.R P2%G29.6.% $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
i K.T. P2%G.%T.R$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
ii *.?T.R I9I
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$iii M'*@4 1
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1
P2%G2%.4.% VI9@.4 B.9I,$%2T *.% 'P2R.T'R $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
1
1$1$ Teori/Konsep $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1
1$1$1$ *ot %2T ?rae:$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1
1$1 $2$ Proses Instalasi VB$%2T$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 10
1$1$)$ 9ekilas tentan! VB$%et $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 10
1$1$4$ Pen!!unaan Varia#el $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 11
1$1$-$ .ksesi#ilitas varia#el: $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1-
1$2$ "ontoh 9oal8soal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 11
1$)$ 9oal8soal 4atihan$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1A
M'*@4 2 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
21
P2%G2%.4.% 'B<2K 'RI2%T2* P.*. VB$%2T $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
21
2$1$ Teori/Konsep $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 21
2$2$ 4atihan 9oal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 2/
2$)$ 9oal8 9oal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ )0
M'*@4 ) $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
)4
*29.I% I%T2R?.,2 *.% ,'%TR'4 'B<2K $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
)4
)$1$ Teori/Konsep $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ )4
)$1$1$ .ntaruka $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ )4
)$1$2$ ,ontrol '#(ek $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ )-
)$2$ 4atihan 9oal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ )1
)$)$ 9oal8 9oal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 42
M'*@4 4 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
4)
P2MR'GR.M.% *.T.B.92 *.% M.%IP@4.9I$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
4)
4$1$ Teori/Konsep $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 4)
4$1$1$ *BM9 B*ata#ase Mana!eent 90steC $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 4)
4$1$2$ Instalasi M09D4$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 44
4$1$)$ *.9.R8*.9.R ME9D4 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 4-
4$2$ 4atihan 9oal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 41
4$)$ 9oal8 9oal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 4A
M'*@4 - $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-1
P2%GG@%..% 'B<2K .*'$%2T $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Modul Praktikum Pemrograman VB.Net
Lukman Hakim
Page 5
-1
-$1$ Teori/Konsep $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ -1
-$1$1$ .*'$ %2T $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ -1
-$1$2$ 2volusi .*'$%2T$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ -1
-$1$)$ Men!apa .*'$%2TF $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ -2
-$1$4$ .rsitektur *ata .*'$%2T$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ -)
-$1$-$ *ata Provider $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ -)
-$1$/$ Koponen kelas 0an! e#entuk Pen0edia data $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-4
-$2$ ,ontoh 4atihan 9oal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ -/
-$)$ 9oal8 9oal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ /A
M'*@4 / $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 10
M2%@ *.% ,RE9T.4 R2P'RT$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 10
/$1$ Teori/Konsep $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 10
/$1$1$ ,r0stal Report $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 10
/$2$ 4atihan 9oal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 12
/$)$ 9oal8 9oal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ G)
M'*@4 1 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ G4
Pa"ka!e 23e"ute Pro!ra $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ G4
1$1$ Teori/Konsep $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ G4
1$2$ 4atihan 9oal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ G-
1$)$ 9oal8 9oal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ GA
*.?T.R P@9T.K. $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ A0
DA&TA" #AMBA"
Ga#ar 1$1$ .plikasi Visual Basi"$%et $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
11
Ga#ar 1$2$ ?or perhitun!an den!an 4a#el $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
14
Ga#ar 1$)$ ,ode deklarasi pada VB$%et $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
11
Ga#ar 1$4$ Tapilan ?or Konversi suhu $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
20
Ga#ar 2$1$ Tapilan ?or Pen(ualan Baran! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
21
Ga#ar 2$1$ Tapilan ?or 6itun! Ga(i $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
)0
Ga#ar 2$2$ Tapilan ?or 6itun! Ga(i 0an! sipan$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
)1
Ga#ar 2$4$ Tapilan ?or Kredit Kendaraan $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
))
Ga#ar )$1$ Kontrol '#(ek Propert0$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ )1
Ga#ar )$2$ Tapilan ?or konsep Inheritan"e $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
)1
Ga#ar )$)$Tapilan .plikasi Bioskop $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
42
Ga#ar 4$1 Instalasi M0s>l pada +older $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
44
Ga#ar 4$2$ Tapilan akti+ ;inM0s>l $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
4-
Ga#ar 4$)$ Tapilan la0ar pada propt M0s>l $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
4/
Ga#ar -$1$ .rsitektur *ata .*'$%2T $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-4
Ga#ar -$2$Tapilan e#uat Module $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-/
Modul Praktikum Pemrograman VB.Net
Lukman Hakim
Page 8
MODUL 1
P%#%ALA VI$UAL BA$I1)%T DA OP%"ATO"
Per-emuan : '/4
Perala-an 2 Perleng,a3an : VI$UAL $TUDIO '004 VB)%T *an M+$5L
Tu6uan 3em7ela6aran 3ra,-i,um :
H Mahasis:a apu en(elaskan kele#ihan VB$%et den!an versi se#elun0a B,2C
H Mahasis:a apu en!!unakan varia#le lo"al dan varia#el pu#li"7 varia#le
tetap/konstanta B,)C
H Mahasis:a dapat en!!unakan operator dan stateen pada pero!raan v#$net
B,)C
1)1) Teori8Konse3
1)1)1) Dot NET Framewor,
*i luar #era!an0a de+inisi $%2T ?rae:ork7 $%2T ?rae:ork erupakan
IMan Behind The GunJ dari VB$%2T sehin!!a kita perlu e!etahui (eroan dari
teknolo!i 0an! ada di dalan0a$
Mi"roso+t $%2T adalah so+t:are 0an! en!hu#un!kan in+orasi7 oran!7
s0ste dan deviceK Peran!kat 0an! en(an!kau "lient7 server dan tool pen!e#an!$
Mi"roso+t $%2T disusun oleh:
3 *ot %2T ?rae:ork7 di!unakan untuk e#an!un dan en(alankan seua
a"a so+t:ere terasuk aplikasi #er#asis ;e#7 aplikasi sart "lient7 dan
la0anan :e# LM4 BExtensible Markup LanguageC$ Men0ediakan koponen
untuk #er#a!ai data elalui %et:ork en!!unakan koponen plat+or proto"ol
independent seperti LM47 9'.P7 dan 6TTP$
3 Tool 5 tool pen!e#an! seperti Mi"roso+t Visual9tudio $%2T 0an!
pen0ediaan I*2 BIntegrated Development Enveronment! lin!kun!an
pen!e#an!an terinte!rasiC untuk eaksialkan produktivitas
pen!e#an!an en!!unakan $%2T ?rae:ork$
3 9eran!kaian server terasuk Mi"roso+t ;indo:s 9erv:r 200)7 Mi"roso+t
9D4 9erver dan Mi"oso+t BiMTalk 9erver 0an! terinte!rasi7 untuk en(alankan7
en!oprasikan dan en!elola servi"es ;e# dan aplikasi #er#asis ;e#$
3 9o+t:ere "lient seperti ;indo:s LP7 :indo:s ,2 dan ;indo:s '++i"e LP
0an! e#antu pen!e#an!an untuk en0e#arkan dan en!elola aplikasin0a$
$%2T Plat+or erupakan satu set kupulan teknolo!i 0an! eun!kinkan
teknolo!i Internet ditrans+orasikan ke dala plat+or distributed computing
den!an skala#ilitas dan kopati#ilitas tin!!i$ 9e"ara teknikal7 $%2T Plat+or
en0ediakan konsep pero!raan den!an li#rar0 dan odul8odul #aru 0an!
konsisten7 terlepas dari (enis #ahasa pero!raan 0an! di!unakan$
$%2T Plat+or en0ediakan hal8hal #erikut #a!i para developer :
1C 4an!ua!e independent7 den!an pro!rain! odel 0an! konsisten di seua tier
aplikasi 0an! di#an!un$
2C Interopera#ilit0 dan kopati#ilitas antar aplikasi$
)C Keudahan i!rasi dari teknolo!i 0an! ada saat ini$
4) *ukun!an penuh terhadap #er#a!ai teknolo!i standar 0an! di!unakan dala
plat+or internet7 antara lain 6TTP7 LM47 9'.P dan 6TM4$
Teknolo!i inti $%2T se"ara uu terdiri dari 4 area pokok :
19 )%T &rame:or,
$%2T ?rae:ork adalah teknolo!i inti 0an! en0ediakan #er#a!ai li#rar0 untuk
di!unakan oleh aplikasi di atasn0a$ Koponen inti $%2T ?rae:ork adalah
,oon 4an!ua!e Runtie ;1L"9 0an! en0ediakan run tie
environent
untuk aplikasi 0an! di#an!un en!!unakan Visual 9tudio $%2T7 terlepas
dari (enis #ahasa pero!raann0a$
*en!an adan0a ,4R terse#ut7 pro!raer dapat enikati consistent object
model dala en!akses #er#a!ai koponen li#rar0$ *en!an
deikian pen!!unaan #ahasa pero!raan dala dunia $%2T adalah le#ih
ke asalah selera atau taste7 dan #ukan pada kele#ihan aupun kekuran!an
asin!8asin! #ahasa$ Men!apa F Karena seua #ahasa pero!raan 0an!
ensupport $%2T en!akses li#rar0 0an! saa di dala $%2T ?rae:ork7
den!an o#(e"t odel 0an! konsisten7 den!an run tie +ile 0an! saa$ Bahasa
adalah sekedar skin atau thee7 #ukan sen(ata sakti$
.pakah $%2T ?rae:orkF
*ot %2T ?rae:ork adalah linkun!an untuk e#an!un7 deplo0in!
en0e#arkan7 dan en(alankan servi"es ;e# dan aplikasi lainn0a$
*ot %2T ?rae:ork disusun oleh dua koponen utaa7 0aitu
,oon 4an!ua!e Runtie Bruntie #ahasa uuC dan $%2T ?rae:ork ,lass
4i#rar0 Bpustaka "lass $%2T ?rae:ork$
*e+inisi di atas sa0a a#il dari pen(elasan Mi"roso+t dala
?.DB?re>uentl0
.sked DuestionsC en!enai $%2T ?rae:ork$ 9e"ara sederhana $%2T ?rae:ork
adlah plat+or tun!!al diana seua oran! dapat plat+or tun!!al diana
seua oran! dapat en!e#an!kan aplikasi en!!unakan suatu s0ste 0an! irip
den!an <VMB<ava Virtual Ma"hineC$ 6an0a #er#eda den!an (ava7 tidak ada
pen!halan! den!an #ahasa $%2T sehin!!a aplikasi dapat dike#an!kan
en!!unakan #ahasa:
VB7 ,NN7 ,O7 <O dan 20 #ahasa8#ahasa pero!raan lainn0a 0an!
kopati#el den!an $%2T ?rae:ork$
Tu6uan *ari )%T &rame:or, a*alah:
3 Men0ediakan lin!kun!an pero!raan #erorientasi o#(ek7 apakah kode o#(ek
disipan dan di(alankan se"ara lokal7 di(alankan se"ara lokal tetapi
dise#arkan elalui internet atau di(alankan se"ara reote Bdi(alankan dari
suatu tepatC$
3 Men0ediakan lin!kun!an untuk en(alankan suatu kode 0an!
einialkan kon+lik saat so+t:are deploment dise#arkan dan versioning
/tentan! versi$
3 Men0ediakan lin!kun!an untuk en(alakan suatu kode 0an!
en(ain keaanan saat kode di(alankan7 terasuk kode 0an! di#uat oleh
pihak 0an! tidak diketahui atau pihak keti!a 0an! seten!ah diper"a0a$
3 Men0ediakan lin!kun!an untuk en(alankan suatu kode 0an!
dapat en!eliinasi asalah per+ora dari lin!kun!an s"ripted dan
interpreted$
3 Me#uat pen!e#an! eiliki pen!alaan 0an! konsisten dala
#er#a!ai tipe aplikasi #er#asis ;indo:s dan aplikasi #er#asis ;e#$
*e+inisi lainn0a7 $%2T ?rae:ork #isa (u!a diartikan se#a!ai
seran!kaian teknolo!i 0an! :
3 Mepersatukan aplikasi ;e# 0an! sekaran! asi terisolasi$
3 Me#uat in+orasi tersedia di setiap saat dan di setiap tepat$
3 Men0ederhanakan pen!e#an!an dan pen0e#aran aplikasi$
,oon 4an!ua!e Runtie B,4RC
,oon lan!ua!e runtie/,4R/runtie #ahasa uu BruntieC
erupakan dasar dari $%2T ?rae:ork$ Runtie adalah engine 0an!
en(alankan aplikasi
P%2T ?rae:ork$ Runtie en0ediakan se(ulah service!la0anan7 seperti #erikut
ini:
3 Men!elola kode Bloading dan en(alankanC
3 Isolasi eori aplikasi
3 Veri+ikasi untuk keanan t0pe
3 Konversi dari I4 BIntermediate LanguageC ke kode native/asli$
3 .kses etadata Bin+orasi 0an! diper"a0aC
3 Men!elola eori pada o#(ek ana!ed/terkelola
3 Men!elola keaanan kode akses
3 Menan!ani eksepsi Bke(adian 0an! tidak diharapkan 0an! un"ul
saat kode dieksekusiC terasuk eksepsi lintas #ahasa
3 Inperoperation di antara ana!ed "ode7 o#(ek ,'MB"omponent #bject
ModelC
3 #tomatisasi laout objek
3 Mendukun! la0anan pen!e#an! Bpro$iling% debugging dan se#a!ain0aC
Konsep pen!elolaan kode erupakan prinsip dari runtie$ Kode 0an!
en(adi tar!et dari runtie dise#ut ana!ed "ode/kode terkelola7 sedan!kan kode
0an! tidak en(adi tar!et runtie dise#ut unana!ed "ode/kode 0an! tidak terkelola$
VB$%2T akan en(alankan ana!ed "ode apa#ila dala s0ste "oputer
terse#ut terdapat ,4R atau den!an kata lain peakai tidak dapat en(alankan
aplikasi VB$%2T tanpa en!install ,4R terle#ih dahulu$
,4R Ien!etahuiJ apa 0an! akan dilakukan pada data khusus Bdise#ut etadataC
0an! #erada dala aplikasi$ Metadata #erisi peta diana eneukan "lass7
kapan ean!!il "lass dan kapan en!atur #atas isi runtie7 en!hasilkan
native "ode/kode asli7 en!atur keaanan7 enentukan "lass ana0an!
en!!unakan etode dan ean!!il "lass (ika di#utuhkan$ ,4R (u!a
enentukan kapan suatu o#(ek di!unakan dan dilepas$ 9eua itu dise#ut ana!ed
"ode$
'9 )%T Buil*ing Bloc, $er<ices
Buildin! #lo"k erupakan sekupulan servi"es 0an! #ersi+at pro!raa#le7
0an! dapat diakses se"ara o++line aupun online$ 9ervi"e terse#ut
erupakan odul8odul 0an! terdapat di suatu koputer7 server dala (arin!an7
aupun di suatu server di internet$
9ervi"e ini erupakan suatu idealisasi di asa depan7 diana se#uah
aplikasi #ersi+at terdistri#usi den!an odul8odul 0an! tersipan di
#er#a!ai tepat7
tetapi dapat diinte!rasikan e#entuk suatu aplikasi$ Konsep ini erupakan arah
pen!e#an!an su#s"ription #ased so+t:are7 0an! saat ini ulai #an0ak
#erke#an! dan dikenal se#a!ai .ppli"ation 9ervi"e Provider$
9ervi"e terse#ut dapat diakses oleh #er#a!ai plat+or7 asalkan plat+or terse#ut
ensupport protokol 9'.P7 0an! erupakan protokol standar dala en!akses
:e# servi"e$ Peranan LM4 se#a!ai edia de+inisi data en(adi san!at pentin!
dala hal ini7 dan LM4 (u!a en(adi pusat peru#ahan #esar dala
plat+or
$%2T$ *ala pela(aran selan(utn0a7 anda akan elihat #ah:a seua data
dala
$%2T selalu direpresentasikan dala #entuk
LM4$
.9 Visual $-u*io )%T
Visual 9tudio $%2T en0ediakan tools #a!i para developer untuk
e#an!un aplikasi 0an! #er(alan di $%et ?rae:ork$ V9$%et e#a:a
peru#ahan #esar dala !a0a pero!raan7 karena setiap pro!raer
dituntut untuk eahai $%2T o#(e"t odel dan '#(e"t 'riented
Pro!rain! den!an #aik7 (ika tidak in!in en!hasilkan aplikasi den!an
per+ora rendah$
V$)e- 6uga sema,in mem3er-i3is 6ara, an-ara =in*o:s Programmer
*engan =e7 Programmer) *unia s"riptin! 0an! akra# #a!i pro!raer :e#
akan sulit diteukan dala $%2T7 karena pero!raan :e# sudah #ersi+at
+ull o#(e"t oriented7 den!an +asilitas event driven pro!rain! se#a!aiana
la0akn0a :indo:s pro!rain!$ Pero!raan :e# en(adi le#ih
udah dan en0enan!kan #a!i para pro!raer :indo:s7 sedan!kan anda
para veteran s"riptin! lan!ua!e sudah saatn0a untuk #eralih ke
.9P$%2T7 0an! dapat dipro!ra en!!unakan VB7 ,O7 ,NN aupun Ph0ton
dan ,'B'4 sekalipun$ Mi"roso+t asih en0ediakan <s"ript$%2T #a!i anda
para pe"andu <ava9"ript dan <9"ript7 sedan!kan versi $%et dari VB9"ript
#elu diketahui apakah akan disediakan atau tidak$ Para veteran VB$9"ript
disarankan untuk epela(ari VB7 sehin!!a dapat en!!unakan VB$%et
untuk e#an!un aplikasi :e#$ Bahasa pero!raan 0an! terdapat di
V9$%2T adalah VB$%2T7 ,O7 ,NN $%2T7 <O7 dan <s"ript $%2T$ *ala asa
endatan! akan terus dita#ah #er#a!ai #ahasa pero!raan lain$
49 )e- %n-er3rise $er<er
Ba!ian ini erupakan sekupulan server #ased te"hnolo!0 0an! di!unakan untuk
endukun! teknolo!i $%2T7 0an! en"akup siste operasi7 data#ase7 essa!in!7
aupun ana(een e8"oer"e$ Teknolo!i 0an! disediakan antara lain
adalah ;indo:s 2000 9erver7 9D4 9erver7 23"han!e7 I9. 9erver dan BiQTalk
9erver$
A*a 7e7era3a alasan +ang mengun-ung,an 7ila an*a mem3ela6ari )%T
: Mul-i Language
.rsitektur $%2T #ersi+at ter#uka7 sehin!!a eun!kinkan #er#a!ai #ahasa pero!raan
en!akses ,4R den!an ulus$ Ban0ak kalan!an en0e#ut $%2T se#a!ai Iopen sour"eJ
versi Mi"roso+t$ 9aat ini $%2T dapat dipro!ra en!!unakan Visual Basi"$%2T7
,NN$%2T7 Visual ,O7 <s"ript7 dan <O$ Ber#a!ai third Part0 0an! dapat di!unakan adalah
,'B'47 2i++el7 9alltalk7 Perl7 Ph0ton7 M47 Pas"al7 dan *elphi$ Para veteran
Pas"al un!kin tidak pernah #eripi e#uat aplikasi :e# den!an #ahasa IkunoJ
terse#ut7 tetapi kehadiran $%et ?rae:ork erealisasikan hal terse#ut$
Ba!an #erikut en(elaskan kedudukan #ahasa pero!raan terhadap $%2T ?rae:ork
den!an ,4R se#a!ai intin0a$
9ekali la!i7 seua #ahasa terse#ut en!akses o#(e"t odel 0an! saa dala $%2T7
sehin!!a #a!i para petualan! tersedia keun!kinan untuk #erpindah dari satu #ahasa ke
#ahasa lain dala satu pro0ek aplikasi 0an! saa$ $%et en0ediakan inte!rasi
#ahasa pero!raan dala satu pero0ek aplikasi$ 6al ini e#uka keun!kinan
ker(asaa ti
0an! le#ih #aik7 :alaupun dala ti terse#ut asin!8asin! eiliki keahlian
#ahasa pero!raan 0an! #er#eda$
o DLL !ell
.nda tahu *44 F Tentu sa(a7 kalo tidak tentu anda #ukan seoran! pro!raer$ *44
erupakan #lok atau odul8odul o#0ek dari se#uah aplikasi$ Peranann0a san!at
pentin!7 sekali!us eusin!kan$ 9erin! ter(adi dala dunia :indo:s7 kopati#ilitas dan
re!istrasi *44 di asin!8asin! ;orkstation en(adi isu #esar dala deplo0ent
aplikasi$
$-rong T+3ing *an T+3e $a>e-+
Bila anda pernah en!!unakan VB/7 pende+inisian tipe data #ukanlah sesuatu 0an!
utlak :a(i# dilakukan karena VB akan ende+inisikan priitive data t0pe7 suatu t0pe
de+ault untuk asin!8asin! an!ka atau karakter 0an! terdapat dala varia#el$ 6al
ini se#enarn0a kuran! #aik karena dapat e#oroskan eor0 dan erupakan
su#er #u!$ $%2T en0ediakan stron! t0pin!7 diana setiap varia#el :a(i#
dide+iniskan s"ope dan tipe datan0a$ *eikian pula den!an +asilitas t0pe sa+et0 0an!
san!at #eran+aat untuk e#antu dala "odin! pero!raan7 terutaa +asilitas
intellisense 0an! e#i#in! pero!ra dala enentukan propert07 ethod7
aupun +un"tion 0an! akan dipakai$
1ross Pla->orm Possi7ili-+
$%et en0ipan dan en!iri data dala #entuk LM4 0an! erupakan +orat
data universal di internet$ *en!an deikian inte!rasi data antar plat+or le#ih
udah dilakukan7 selaa plat+or terse#ut endukun! LM4$ Representasi konsep
ini adalah dataset7 suatu "a"he data 0an! #er#entuk LM4 dan dapat diakses den!an
udah$ 9e#uah data dapat diparsin! antar tier aplikasi7 #aik dari data#ase7 iddle tier7
aupun aplikasi klien dala +orat LM4$ Manipulasi +orat data dala #entuk LM47
$t3t7 aupun $rt+ erupakan sesuatu 0an! enantan! para pro!raer untuk e#uat
aplikasi lintas plat+or$
1o*e Once/ More A33lica-ion
Inter+a"e pero!raan #ersi+at konsisten7 den!an o#(e"t odel 0an! saa pada
setiap #ahasa 0an! di!unakan$ 9uatu o#(e"t #aik #er#entuk "lass7 li#rar07 aupun :e#
servi"es dapat diakses den!an udah oleh #er#a!ai aplikasi :indo:s aupun :e#$ 6al
ini le#ih en!heat :aktu para developer7 diana se#uah o#(e"t dapat di#uat
sekali!us untuk aplikasi ;e#7 ;indo:s7 dan #ahkan "onsole appli"ation #er#asis *'9$
Un-u, A3a Bela6ar VB)%T ?
Men!apa VB F <a:a#ann0a ter!antun! anda tentun0a$ VB/ erupakan #ahasa
terpopuler saat ini7 dan para pen!!una VB klasik akan le#ih udah #erpindah ke VB
$%2T daripada eilih ,NN $%2T atau ,O$ Bila anda eiliki pen!alaan dala <ava7
aka ,O le#ih "o"ok #a!i anda$
Perpindahan ke VB$%2T dapat diandaikan se#a!ai "ap iliter untuk para veteran VB/$
Mitos selaa ini en0e#utkan #ah:a VB/ erupakan #ahasa 0an! Ia#uradulJ7
tidak (elas struktur o#0ekn0a7 endukun! '#(e"t 'riented tetapi #an"i7 kopati#ilitas
kuran!7 dan lain se#a!ain0a$ 9eua hal terse#ut ,epat Mahir Visual Basi" $%2T M$
,hoirul .ri /ter(adi se#a!ai #ooeran! dari VB/ 0an! terlalu lon!!ar dala kaidah
pero!raan7 sehin!!a tidak sulit eneukan pro!raer VB/ 0an! #elu
pernah e#uat propert0 dala "lass odul selaa karirn0a$ *i sisi lain kelon!!aran
terse#ut telah enu#uhkan VB se#a!ai #ahasa 0! udah dipela(ari7 dan palin! populer
saat ini$ 9e#enarn0a selaa seoran! pro!raer konsisten dan disiplin den!an kaidah
konsep ,'M dan ''P7 itos8itos di atas tidak akan ter(adi$ VB$%2T tapil
den!an :a(ah 0an! saa sekali #er#eda dari VB/ dala hal kaidah pero!raan7
terutaa den!an +asilitas stron! t0pin! dan "ode sa+et0$ *i sapin! itu7 si+at $%2T
?rae:ork 0an! diran"an! den!an nuansa ''P (u!a harus diikuti7 sehin!!a
VB$%2T dapat dikatakan se#a!i +ull ''P pro!rain!$ 6al terse#ut un!kin
#ukanlah #aran! #aru #a!i anda peakai <ava atau ,7 tetapi erupakan hal #aru
#a!i ke#an0akan pro!raer VB/$ *en!an deikian7 epela(ari VB$%2T #erarti
enin!katkan skill veteran VB klasik7 se(a(ar pero!ra #er#asis ''P lainn0a.
1.1 .2. Proses Instalasi
VB.NET
@ntuk en!install Mi"roso+t VB$%2T saa seperti en!instal aplikasi produk
Mis"roso+t lain pada uun0a$ *ala hal ini tin!!al hidupkan koputer7 keudian
asukkan ,* instalan VB$%2T kedala ,*8R'M$ Keudian tun!!u hin!!a
proses selesai$
@ntuk en(alankan Mi"roso+t VB$%2T diperlukan peran!kat keras 0an! sesuai den!an
ke#utuhan$ %aun apa#ila koputer sudah terpasan! Mi"roso+t ;indo:s 2000 atau 0an!
le#ih tin!!i isaln0a ;indo:s LP7 aka sudah dipastikan #ah:a .nda #isa
en(alankan Mi"roso+t VB$%2T$
@ntuk en!instal VB$%2T .nda harus epersiapkan peran!kat keras dan
peran!kat lunak se#a!ai #erikut :
3 Koputer den!an spesi+ikasi inial Pentiu IV 17/
G6M
3 Meori atau R.M 0an! disesuaikan den!an siste operasi 0an!
di!unakan$
3 Monitor 9uper VG9 B102431/GC atau 0an! le#ih
tin!!i$
3 6ardisk inial 10 GB$
3 Mouse
3 9iste 'perasi ;indo:s 1 atau 0an! le#ih
tin!!i.
1.1.3. Sekilas tentang
VB.Net
6apir se#a!ian #esar pen!!una koputer di dunia sudah en!enal produk8produk
Mi"roso+t7 salah satun0a adalah Mi"roso+t Visual Basi"$%et$ VB$%et erupakan
pen!e#an!an dari Mi"roso+t Visual Basi" versi se#elun0a$
Me#an!un suatu pro!ra aplikasi den!an vB$%et le#ih udah dan
en0enan!kan7 karena selain dilen!kapi +itur8+itur #aru (u!a tersedia #era"a8
#era"a tool#ars7 koponen7 "lass7 o#(e"t dan se#a!ain0a$ <ika .nda sudah ter#iasa
den!an Visual Basi" keun!kinan #esar untuk i!rasi ke VB$%et tidak akan
en!alai kesulitan7 karena hapir seua koponen di Visual Basi" versi
se#elun0a asih #isa di!unakan$ 9e#a!ai "ontoh untuk e#uat suatu Pro(e"t
den!an VB$%et .nda tin!!al klik Menu
?ile7 keudian pilih Pro(e"t dan akan keluar kotak dialo!$ 9etelah itu pilih ;indo:s
.ppli"ation7 keudian #eri naa Pro(e"t terse#ut$
Toolbox
: b!ek"
ob!ek
#ang
$ig%naka
n %nt%k
men$esai
n
Sol%tion
Ex&lorer :
'nt%k
meli(at
str%kt%r
&ro!e)t
#ang
se$ang
$iker!akan
Form : Tem&at
%nt%k men$esain
tam&ilan
Pro&erties
: Pro&erti
$ari setia&
ob!ek #ang
a$a $i*orm+
Tam&ilan
ob!ek
$a&at
$i%ba(
$isini
Ga#ar 1$1$ .plikasi Visual Basi"$%et
1.1.,. Pengg%naan
Variabel
@ntuk dapat eakai se#uah varia#el aka Kita harus endeklarasikann0a
terle#ih dahulu$ *ala #ahasa VB/ Kita dapat sa(a en!!unakan se#uah varia#el tanpa
e#uat deklarasi eskipun hal terse#ut tidak direkoendasikan dan san!at tidak
e+isien #a!i se#uah aplikasi$
A-uran Penamaan Varia7el
Pe#erian naa varia#le eiliki #atasan8#atasan s##:
3 6arus diulai den!an karakter al+a#etis
3 6an0a dapat en!andun! karakter al+a#etis7an!ka7dan unders"oreB=C
3 Tidak #oleh en!!unakan spasi
3 Tidak ele#ihi 2-- karakter
3 6arus unik dala se#uah ruan! lin!kup 0an! saa
3 Tidak "ase sensitive7 artin0a huru+ #esar B"apitalC den!an huru+ ke"il saa sa(a$
De,larasi Varia7el
Tu(uan pendeklarasian varia#el adalah a!ar koputer en!etahui den!an pasti t0pe
data 0an! akan
di!unakan dala varia#el terse#ut serta s"open0a$ *en!an deikian koputer
dapat lan!sun!
en!eksekusi se#uah varia#el tanpa eeriksa la!i t0pe datan0a$ 9e#uah varia#el
harus eiliki
naa7 t0pe data7 s"ope7 dan value$ Berikut adalah "ontoh deklarasi varia#el :
*i s%aa .s 9trin!
*i dGa(iPokok .s *e"ial
*i dTun(an!an .s *e"ial
*i dGa(iTotal .s *e"ial
*i dPa(ak .s *e"ial
s%aa R S.ntoS
dGa(iPokok R /00000
dTun(an!an R 1-0000
*ideklarasikan - varia#el asin!8asin! den!an t0pe strin! B1 varia#elC dan de"ial
B4 varia#elC$
9elan(utn0a pada tiap varia#el terse#ut asin!8asin! diisikan nilain0a$ Pen!isian
nilai varia#el terse#ut harus sesuai den!an t0pe data 0an! telah ditetapkan$ Misaln0a sa(a
Kita tidak dapat en!isi varia#el dGa(iPokok den!an I.ntoJ7 karena varia#el terse#ut
telah dide+inisikan se#a!ai de"ial 0an! harus #erisi an!ka dan #ukan strin!$
Kita (u!a dapat endeklarasikan varia#el dan lan!sun! e#erikan nilain0a pada
saat 0an! saa dala satu #aris kode$ Teknik ini erupakan +eature #aru VB $%2T$
Dim dGaji&okok 's Decimal ( )*****
9elain itu Kita (u!a dapat endeklarasikan #e#erapa varia#el sekali!us dala satu
#aris dan ende+inisikan t0pe datan0a se"ara #ersaaan$
Dim s+mur% sTinggi% sGaji 's
,ingle
Keti!a varia#e terse#ut eiliki t0pe data saa 0aitu 9in!le$ ,ara ini
eudahkan pendeklarasian varia#el daripada harus en!ulan! deklarasi dala ti!a
#aris$
Mela,u,an Perhi-ungan
9elan(utn0a Kita dapat elakukan perhitun!an tertentu den!an en!!unakan
varia#el terse#ut se#a!ai koponen +orula se#a!ai #erikut :
dGa(iTotal R dGa(iPokok N dTun(an!an
dPa(ak R 0$1 T dGa(iTotal
$egala $esua-u a*alah OB@%K A
9alah satu antra #aru dala $%2T pro!rain! adalah "ara kita eKitan! terhadap
o#0ek$ 9e!ala sesuatu adalah o#0ek7 #e!itulah pedoan 0an! harus Kita pe!an!$ *ala
teknik VB/ Kita en!enal konsep '#(e"t 'riented Pro!rain! B''PC elalui
,lass dan konsep ,'M$ %aun dala $%2T se!ala sesuatu erupakan o#0ek7
terasuk varia#el (u!a erupakan o#0ek$
Karenan0a suatu vara#el (u!a eiliki #er#a!ai si+at 0an! di:u(udkan dala propert07
event7 dan +un"tion$ 9i+at8si+at terse#ut dapat di:ariskan ke o#0ek lain7 atau suatu
varia#el dapat e:arisi si+at dari o#0ek di atasn0a$
9e#a!ai "ontoh Kita dapat elakukan perhitun!an #esarn0a dGa(iTotal dan dPa(ak
di atas den!an ean+aatkan +asilitas ''P 0an! terdapat dala varia#el terse#ut$
Gunakan ke0:ord untuk elakukan perhitun!an se#a!ai #erikut:
dGajiTotal ( dGajiTotal-'dd.dGaji&okok% dTunjangan/
d&ajak ( dGajiTotal-Multipl.*-0%
dGajiTotal/
Kita en!!unakan +un"tion .dd dan Multipl0 se#a!ai pen!!anti perhitun!an
se#elun0a$ .r!uen 0an! di!unakan adalah dGa(iPokok7 dTun(an!an dan dGa(iTotal$
Menam3il,an !asil Perhi-ungan
6asil perhitun!an terse#ut ditapilkan ke dala dua #uah la#el se#a!ai #erikut
:
Label0-Text ( 1Gaji Total ( 1 2
dGajiTotal-To,tring
Label3-Text ( 1&ajak 4ita ( 1 2 d&ajak-To,tring
Ke0:ord To9trin! 0an! en!ikuti setiap varia#el #ertu(uan untuk en!konversikan
hasil perhitun!an 0an! seula #ert0pe de"ial en(adi strin!$
Kita akan elihat #ah:a perhitun!an 0an! Kita lakukan den!an "ara pertaa akan saa
hasiln0a den!an en!!unakan "ara kedua 0an! ean+aatkan #uilt in +un"tion
dala se#uah varia#el$
Ga#ar 1$2$ ?or perhitun!an den!an 4a#el
1.1.-. .ksesibilitas
/ariabel:
.ksesi#ilitas varia#le adalah suatu keadaan diana varia#le terse#ut dapat diakses$
Be#erapa kata kun"i 0an! di!unakan untuk endeklarasikan varia#le Bataupun eleen8
eleen lain seperti kelas7 +un!si7 atau prosedurC #erdasarkan aksesi#ilitas adalah se#a!ai
#erikut:
1) Pu7lic
Varia#el 0an! dideklarasikan den!an kata kun"i Pu#li" eiliki ruan! lin!kup
!lo#al 0an! (u!a #erarti dapat diakses di#a!ian anapun dala suatu pro(e"t7
Bahkan pro(e"t lain 0an! eiliki re+erensi terhadap pro(e"t trerse#ut$
') Pro-ec-e*
Kata kun"i Prote"ted endeklarasikan eleen 0an! han0a dapat diakses dari se#uah
kelas atau kelas turunann0a$ Kata kun"i ini han0a di!unakan pada level kelas
dan han0a untuk endeklarasikan an!!ota dari se#uah kelas$
.) &rien*
Kata kun"i ?riend irip den!an Pu#li"7 han0a sa(a ruan! lin!kupn0a han0a dala
se#uah pro(e"t$ Pro(e"t 0an! lain tidak dapat en!aksesn0a$
4) Pro-ec-e* &rien*
Kata kun"i Prote"ted ?riend erupakan !a#un!an dari Prote"ted dan ?riend7
0an! #erarti endeklarasikan se#uah eleen untuk se#uah kelas atau turunann0a
dan han0a dapat diakses dari dala se#uah pro(e"t sa(a$
4) Pri<a-e
Kata kun"i Private di!unakan untuk endeklarasikan eleen 0an! han0a dapat
diakses dari dala odul7 kelas7 atau struktur diana eleen terse#ut dideklarasikan$
K.ta kun"i ini tidak dapat di!unakan dari dala se#uah prosedur$
"uang Ling,u3 *an T+3e Varia7el
9e#uah varia#el eiliki ruan! lin!kup Bs"opeC tertentu7 ter!antun! den!an "ara
#a!aiana varia#el terse#ut dideklarasikan$ Terdapat ) a"a s"ope suatu vari#el :
1$ Pro"edure level / lo"al s"ope
2$ Module level
)$ Varia#el Pu#li"
Masin!8asin! s"ope terse#ut dapat di(elaskan se#a!ai #erikut
:
Proce*ure le<el 8 local sco3e
.pa#ila suatu varia#el dideklarasikan dala suatu prosedur tertentu7 aka varia#el
terse#ut han0a dapat diakses dan #erlaku untuk prosedur terse#ut sa(a$ Perhatikan "ontoh
kode #erikut :
&rivate ,ub Button56"lick.B7al sender 's ,stem-#bject% B7al e 's
,stem-Event'rgs/ 8andles Button5-"lick
*i sPesan .s 9trin!
s&esan ( 1tes 7ariabel local1
MessageBox-,ho9 .s&esan% 17ariabel local1% MessageBoxButtons-#4%
6messageBoxIcon-In$ormation/
2nd 9u#
Varia#el sPesan dideklarasikan di dala prosedur Button)=,li"k sehin!!a han0a
#erlaku di dala prosedur terse#ut sa(a$ sPesan tidak dapat diakses dari luar
Button)=,li"k$ .pa#ila Kita en!!unakan varia#el 0an! han0a dipakai dala suatu
prosedur tertentu aka se#aikn0a Kita en!!unakan (enis varia#el ini$
Pen!ertian prosedur di sini en0an!kut +un"tion7 event7 dan properti7 sehin!!a
tidak ter#atas pada event sa(a se#a!aiana di"ontohkan di atas$
Karena varia#el ini s"ope n0a lokal untuk prosedur tertentu sa(a aka naa
varia#el terse#ut han0a #erlaku di dala prosedur diana varia#el terse#ut
dideklarasikan$ Misalkan Kita eiliki +un"tion #ernaa . dan eiliki varia#el
#ernaa s%aa$ Keudian Kita eiliki se#uah event B dan eiliki varia#el
#ernaa saa 0aitu s%aa$ Kedua varia#el terse#ut tidak akan salin! #erhu#un!an
dan tetap terpisah nilain0a karena dideklarasikan se"ara lokal di dala prosedur
asin!8asin!$
Mo*ule Le<el
Kita dapat e#uat suatu varia#el 0an! dapat diakes dari prosedur anapun dala
suatu +ile$
Misalkan Kita in!in endeklarasikan suatu strin! koneksi 0an! akan dipakai terus
enerus di dala suatu odule$ Maka Kita harus endeklarasikan varia#el terse#ut di
#a!ian deklarasi odule se#a!aiana "ontoh #erikut :
Ga#ar 1$)$ ,ode deklarasi pada VB$%et
1)') con-oh $oal-soal
Buatlah aplikasi den!an konsep o#(ek oriented pada suatu #an!unan lin!karan dan
ta#un! diana asin! 5asin! diensi dapat diinput dan eiliki konstanta nilai
seperti piR)714$ Pertan0aaan #uatlah :
a$ Buatlah "lass lin!karan dari #an!un lin!karan
#$ Buatlah "lass ta#un! dia#il dari "lass lin!karan$
(a:a7an
&ublic "lass lingkaran
&ublic jari6jari 's ,ingle
"onst phi ( 5-0:
&ublic ;unction luas6lingkaran./ 's Double
<eturn phi = jari6jari = jari6jari
End ;unction
&ublic ;unction keliling6lingkaran./ 's Double
<eturn 3 = phi = jari6jari
End ;unction
End "lass
&ublic "lass tabung &ublic
tinggi 's ,ingle &ublic
jari6jari 's ,ingle "onst
phi ( 5-0:
&ublic ;unction volume6tabung./ 's Double
<eturn phi = jari6jari = jari6jari = tinggi
End ;unction
End "lass
Bu t ton 8 i tu n g
&rivate ,ub Button06"lick.B7al sender 's ,stem-#bject% B7al e 's ,stem-Event'rgs/
8andles Button0-"lick
Dim objlingkaran 's >e9 lingkaran
?ith objlingkaran
-jari6jari ( TextBox0-Text
Label@-Text ( -luas6lingkaran./
LabelA-Text ( -keliling6lingkaran./
End ?ith
End ,ub
Bu t ton 8 i tu n g
&rivate ,ub Button36"lick.B7al sender 's ,stem-#bject% B7al e 's
,stem-Event'rgs/ 8andles Button3-"lick
Dim objtabung 's >e9 tabung
?ith objtabung
-tinggi ( TextBox:-Text
-jari6jari ( TextBox)-Text
Label0*-Text ( -volume6tabung
End ?ith
End ,ub
B u t to n E x it
&rivate ,ub Button56"lick.B7al sender 's ,stem-#bject% B7al e 's
,stem-Event'rgs/ 8andles Button5-"lick
Me-"lose./
1).) $oal-soal La-ihan
Minggu 1
Buatlah aplikasi en!!unakan VB$net untuk en"ari #e#erapa #an!unan salah satu
adalah 4uas se!iti!a seperti dala +or di#a:ah ini7 dan #uatlah #e#erapa luas
dan voluen dari suatu #an!unan seperti :
a$ Tra+esiu
#$ "arilah voluen dari ku#us diana didala terdapat ta#un! den!an nilai
asin!8 asin! varia#el dapat diinput elalui aplikasi
Minggu '
Buatlah aplikasi konversi suhu dari ,el"ius ke ?ahrenheit7 ,el"ius ke Reaur
den!an ketentuan se#a!ai #erikut : ?ahrenheit R1$G T ,el"ius N )2
,el"ius R B?ahrenheit )2C / 17G
Reaur R ,el"ius U 07G
,ontoh +or aplikasi konversi suhu$
Ga#ar 1$4$ Tapilan ?or Konversi suhu
MODUL '
P%#%ALA OB(%K O"I%T%D PADA VB)%T
Perteuan : /7G
Peralatan & Perlen!kapan : VI9@.4 9T@*I' 200- VB$%2T dan M09D4
Tu(uan pe#ela(aran praktiku :
H Mahasis:a dapat en!!unakan konsep pero!raan o#(ek oriented pada
VB$%et 0aitu pe#uatan "lass7 ethod/+un"tion7 dan propert0 B,)C
H Mahasis:a dapat en!!unakan konsep pero!raan o#(ek oriented
pada VB$%et 0aitu pen!!unaan inheritan"e7 ultiple inheritan"e7 dan
pol0orphis B,)C
')1) Teori8Konse3
')1)1) Un-u, A3a Bela6ar VB)%T ?
Men!apa VB F <a:a#ann0a ter!antun! anda tentun0a$ VB/ erupakan
#ahasa terpopuler saat ini7 dan para pen!!una VB klasik akan le#ih udah
#erpindah ke VB
$%2T daripada eilih ,NN $%2T atau ,O$ Bila anda eiliki pen!alaan dala
<ava7 aka ,O le#ih "o"ok #a!i anda$
Perpindahan ke VB$%2T dapat diandaikan se#a!ai "ap iliter untuk para veteran VB/$
Mitos selaa ini en0e#utkan #ah:a VB/ erupakan #ahasa 0an! Ia#uradulJ7
tidak (elas struktur o#0ekn0a7 endukun! '#(e"t 'riented tetapi #an"i7 kopati#ilitas
kuran!7 dan lain se#a!ain0a$ 9eua hal terse#ut ,epat Mahir Visual Basi" $%2T M$
,hoirul
.ri /ter(adi se#a!ai #ooeran! dari VB/ 0an! terlalu lon!!ar dala kaidah
pero!raan7 sehin!!a tidak sulit eneukan pro!raer VB/ 0an! #elu
pernah e#uat propert0 dala "lass odul selaa karirn0a$ *i sisi lain kelon!!aran
terse#ut telah enu#uhkan VB se#a!ai #ahasa 0! udah dipela(ari7 dan palin! populer
saat ini$ 9e#enarn0a selaa seoran! pro!raer konsisten dan disiplin den!an kaidah
konsep ,'M dan ''P7 itos8itos di atas tidak akan ter(adi$ VB$%2T tapil
den!an :a(ah 0an! saa sekali #er#eda dari VB/ dala hal kaidah pero!raan7
terutaa den!an +asilitas stron! t0pin! dan "ode sa+et0$ *i sapin! itu7 si+at $%2T
?rae:ork 0an! diran"an! den!an nuansa ''P (u!a harus diikuti7 sehin!!a
VB$%2T dapat dikatakan se#a!i +ull ''P pro!rain!$ 6al terse#ut un!kin
#ukanlah #aran! #aru #a!i anda peakai <ava atau ,7 tetapi erupakan hal #aru
#a!i ke#an0akan pro!raer VB/$ *en!an deikian7 epela(ari VB$%2T #erarti
enin!katkan skill veteran VB klasik7 se(a(ar pero!ra #er#asis ''P lainn0a$
')1)')OOA;ObjectOrientedAnalysis9
.nalisis Berorientasi '#(ek / Object Oriented Analysis B''.C diulai den!an
en0atakan suatu asalah7 analisis e#uat odel situasi dari dunia n0ata$ Model
analisis adalah a#straksi 0an! rin!kas dan tepat apa 0an! harus dilakukan oleh siste7
dan #a!aiana elakukann0a$ 2pat kesulitan dala pen!e#an!an siste adalah:
mamahami 3ro7lem *omain7 Komuni,asi ,e3a*a 3iha, +ang 7er,ai-an7 3eru7ahan7
dan reuse B pen!!unaan ke#aliC$
')1).) OOD B#bject #riented DesignC *esain Berorientasi '#(ek / Object
Oriented
Design B''*C erupakan tahapan lan(utan setelah ''. diana tu(uan
siste
dior!anisasikan kedala su# s0ste #erdasar struktur analisis dan arsitektur 0an!
di#utuhkan$ ?okus dari desain o#(ek adalah 3erencanaan s-ru,-ur *a-a dan algori-ma
0an! diperlukan untuk ipleentasi setiap class$ '#(ek doain aplikasi dan o#(ek
doain koputer di(elaskan den!an en!!unakan konsep dan notasi #erorientasi o#(ek
0an! saa$
')1)4) OOP B#bject #riented &rogrammingC / Ipleentasi
,lass7 o#(ek dan realisasin0a di ke#a!kan dala tahap pe#uatan desain o#(ek 0an!
akhirn0a diter(eahkan kedala #ahasa pero!raan7 #asis data dan ipleentasi
peran!katkeras$
*ala konsep pero!raa #erorientasi o#(ek ada 4 hal 0an! utaa
0aitu:
1$ .#straksi B'bstractionC$
2$ Pe:arisan BInheritanceC$
)$ Pe#un!kusan BEncapsulationC$
4$Ban0akBentukB&olmorphismC$
.da dua etode dala endesain dan e#uat konstruksi peran!kat lunak 0aitu
pero!raan terstruktur dan pero!raan #erorientasi o#(ek$ Pemrograman
7erorien-asi o76e, BIn!!ris: object-oriented programming disin!kat OOPC
erupakan paradi!a pero!raan 0an! #erorientasikan kepada o#(ek$ 9eua data dan
+un!si di dala paradi!a ini di#un!kus dala kelasBkelas atau objekBobjek$ Bandin!kan
den!an lo!ika pero!raan terstruktur$ 9etiap o#(ek dapat eneria pesan7
eproses data7 dan en!iri pesan ke o#(ek lainn0a Model data #erorientasi
o#(ek dikatakan dapat e#eri +leksi#ilitas 0an! le#ih7 keudahan en!u#ah
pro!ra7 dan di!unakan luas dala teknik piranti lunak skala #esar$ 4e#ih (auh
la!i7 pendukun! ''P en!klai #ah:a ''P le#ih udah dipela(ari #a!i
peula di#andin! den!an pendekatan
se#elun0a7 dan pendekatan ''P le#ih udah dike#an!kan dan dira:at$ 9alah satu
keun!!ulan ''P di#andin! den!an terstruktur adalah ''P eun!kinkan untuk
e#uat odul 0an! tidak perlu #eru#ah ketika suatu tipe o#(ek 0an! #aru dita#ahkan$
Pen!e#an! dapat e#uat suatu o#(ek #aru 0an! e:arisi #e#erapa +itur dari
o#(ek 0an! sudah ada$ 6al ini e#uat pro!ra 0an! #erorientasi o#(ek
udahdiodi+ikasi$ 9uatu #ahasa pero!raan dikatakan endukun! se"ara penuh ''P
(ika eiliki seua+itur#erikut:
1lass V kupulan atas de+inisi data dan +un!si8+un!si dala suatu unit untuk
suatu tu(uan tertentu$ 9e#a!ai "ontoh Cclass o$ dogW adalah suatu unit 0an! terdiri atas
de+inisi8 de+inisi data dan +un!si8+un!si 0an! enun(uk pada #er#a!ai a"a
perilaku/turunan dari an(in!$ 9e#uah class adalah dasar dari odularitas dan struktur
dala pero!raan #erorientasi o#(e"t$ ,ebuah class secara tipikal sebaikna dapat
dikenali oleh seorang nonBprogrammer sekalipun terkait dengan domain
permasalahan ang ada% dan kode 0an! terdapat dala se#uah class se#aikn0a
Brelati+C #ersi+at andiri dan independen Bse#a!aiana kode terse#ut di!unakan
(ika tidak en!!unakan ''PC$ *en!an odularitas7 struktur dari se#uah pro!ra
akan terkait den!an aspek8aspek dala asalah 0an! akan diselesaikan elalui
pro!ra terse#ut$ ,ara seperti ini akan en0ederhanakan peetaan dari asalah ke
se#uah pro!ra ataupun se#alikn0a$
O76e, 8 e#un!kus data dan +un!si #ersaa en(adi suatu unit dala se#uah pro!ra
"oputer7 o#(ek erupakan dasar dari odularitas dan struktur dala se#uah pro!ra
koputer#erorientasio#(ek$
A7s-ra,si 8 Keapuan se#uah pro!ra untuk ele:ati aspek in+orasi 0an!
diproses
olehn0a7 0aitu keapuan untuk e+okus pada inti$ 9etiap o#(ek dala siste
ela0ani se#a!ai odel dari SpelakuS a#strak 0an! dapat elakukan ker(a7 laporan dan
peru#ahankeadaann0a7dan#erkounikasi
den!an o#(ek lainn0a dala siste7 tanpa en!un!kapkan #a!aiana kele#ihan ini
diterapkan$ Proses7 +un!si atau etode dapat (u!a di#uat a#strak7 dan #e#erapa teknik
di!unakan untuk en!e#an!kan se#uah pen!a#strakan$
Polimor>isme elalui pen!irian pesan$ Tidak #er!antun! kepada pean!!ilan su#rutin7
#ahasa orientasi o#(ek dapat en!iri pesanX etode tertentu 0an! #erhu#un!an den!an
se#uah pen!irian pesan ter!antun! kepada o#(ek tertentu di ana pesa terse#ut dikiri$
,ontohn0a7 #ila se#uah #urun! eneria pesan S!erak "epatS7 dia akan
en!!erakan sa0apn0a dan ter#an!$ Bila seekor sin!a eneria pesan 0an!
saa7 dia akan en!!erakkan kakin0a dan #erlari$ Keduan0a en(a:a# se#uah
pesan 0an! saa7 naun 0an! sesuai den!an keapuan he:an terse#ut$ Ini dise#ut
polior+ise karena se#uah varia#le tun!al dala pro!ra dapat ee!an!
#er#a!ai (enis o#(ek 0an! #er#eda sela!i pro!ra #er(alan7 dan teks pro!ra 0an! saa
dapat ean!!il #e#erapa etode 0an! #er#eda di saat 0an! #er#eda dala
pean!!ilan 0an! saa$ 6al ini #erla:anan den!an #ahasa +un!sional 0an! en"apai
polior+ise elalui pen!!unaan +un!sikelas8pertaa$
%n,a3sulasi 8 Meastikan pen!!una se#uah o#(ek tidak dapat en!!anti keadaan
dala dari se#uah o#(ek den!an "ara 0an! tidak la0akX han0a etode dala o#(ek
terse#ut 0an! di#eri i(in untuk en!akses keadaann0a$ 9etiap o#(ek en!akses inter+a"e
0an! en0e#utkan #a!aiana o#(ek lainn0a dapat #erinteraksi den!ann0a$ '#(ek lainn0a
tidak akan en!etahui dan ter!antun! kepada representasi dala o#(ek
terse#ut$
Inheri-as8 Men!atur polior+ise dan enskapsulasi den!an en!i(inkan o#(ek
dide+inisikan dan di"iptakan den!an (enis khusus dari o#(ek 0an! sudah ada 8 o#(ek8
o#(ek ini dapat e#a!i Bdan eperluasC perilaku ereka tanpa haru
en!ipleentasi ulan! perilaku terse#ut B#ahasa #er#asis8o#(ek tidak selalu
eiliki inheritas$C *en!an en!!unakan ''P aka dala elakukan pee"ahan
suatu asalah kita tidak elihat #a!aiana "ara en0elesaikan suatu asalah
terse#utBterstrukturC tetapi o#(ek8 o#(ek apa 0an! dapat elakukan pee"ahan asalah
terse#ut$ 9e#a!ai "ontoh an!!ap kita eiliki se#uah departeen 0an!
eiliki ana!er7 sekretaris7 petu!as adinistrasi data dan lainn0a$ Misal ana!er
terse#ut in!in eperoleh data dari #a! adinistrasi aka ana!er terse#ut tidak
harus en!a#iln0a lan!sun! tetapi dapat en0uruh petu!as #a! adinistrasi untuk
en!a#iln0a$ Pada kasus terse#ut seoran! ana!er tidak harus en!etahui
#a!aiana "ara en!a#il data terse#ut tetapi ana!er #ias endapatkan data terse#ut
elalui o#(ek petu!as adiniistrasi$ <adi untuk en0elesaikan suatu asalah den!an
kola#orasi antar o#(ek 8o#(ek 0an! ada karena setiap o#(ek eiliki (o#
des"riptionn0a sendiri$
')') La-ihan $oal
*ala aplikasi ini en!!unakan konsep "lass dan ethod B+un"tionC sehin!!a
eudahkan dala pero!raan o#(ek oriented$ .plikasi ini di!unakan
untuk en!hitun! transaksi pen(ualan produk$
Ga#ar 2$1$ Tapilan ?or Pen(ualan Baran!
1on-oh Ko*ing :
Public Class market
Public Kode As String = 5
Public Nama As String = 10
Public Satuan As Decimal
Public Jumlah As Integer
Public ang As Decimal
Public Pro!ert" mKode#$ As String
%et
&eturn Kode
'nd %et
Set#(")al *alue As String$
Kode = *alue
'nd Set
'nd Pro!ert"
Public Pro!ert" mNama#$ As String
%et
&eturn Nama
'nd %et
Set#(")al *alue As String$
Nama = *alue
'nd Set
'nd Pro!ert"
Public Pro!ert" mSatuan#$ As Decimal
%et
&eturn Satuan
'nd %et
Set#(")al *alue As Decimal$
Satuan = *alue
'nd Set
'nd Pro!ert"
Public Pro!ert" mJumlah#$ As Integer
%et
&eturn Jumlah
'nd %et
Set#(")al *alue As Integer$
Jumlah = *alue
'nd Set
'nd Pro!ert"
Public +unction ,arga#(")al mSatuan As Decimal- (")al mJumlah As
Integer$ As Double
&eturn Satuan . Jumlah
'nd +unction
Public +unction Promo#(")al ,arga As Double$ As Double
I/ ,arga 0= 1000000 2hen
&eturn 0304 . mSatuan . mJumlah
'lseI/ ,arga 0= 1500000 2hen
&eturn 0305 . mSatuan . mJumlah
'lseI/ ,arga 0= 1000000 2hen
&eturn 0305 . mSatuan . mJumlah
'lseI/ ,arga 0= 500000 2hen
&eturn 0301 . mSatuan . mJumlah
'lse
&eturn 0
'nd I/
'nd +unction
Public +unction 2otal#(")al ,arga As Double- (")al Promo As Double$
As Double
&eturn ,arga 6 Promo
'nd +unction
'nd Class
Public Class +orm1
Pri*ate Sub (utton17Click#(")al sender As S"stem38b9ect- (")al e As
S"stem3'*entArgs$ ,andles (utton13Click
Dim ob9market As Ne: market
;ith ob9market
3Kode = 2e<t(o<132e<t
3Nama = 2e<t(o<132e<t
3Satuan = 2e<t(o<532e<t
3Jumlah = 2e<t(o<=32e<t
3ang = 2e<t(o<532e<t
>abel1132e<t = 2e<t(o<532e<t 6 >abel1032e<t
'nd ;ith
'nd Sub
Pri*ate Sub 2e<t(o<=72e<tChanged#(")al sender As S"stem38b9ect-
(")al e As S"stem3'*entArgs$ ,andles 2e<t(o<=32e<tChanged
I/ 2e<t(o<532e<t . 2e<t(o<=32e<t 0= 1000000 2hen >abel?32e<t =
0304 . 2e<t(o<532e<t . 2e<t(o<=32e<t >abel1032e<t =
2e<t(o<532e<t . 2e<t(o<=32e<t 6 >abel?32e<t
'lseI/ 2e<t(o<532e<t . 2e<t(o<=32e<t 0= 1500000 2hen
>abel?32e<t = 0305 . 2e<t(o<532e<t . 2e<t(o<=32e<t
>abel1032e<t = 2e<t(o<532e<t . 2e<t(o<=32e<t 6 >abel?32e<t
'lseI/ 2e<t(o<532e<t . 2e<t(o<=32e<t 0= 1000000 2hen
>abel?32e<t = 0305 . 2e<t(o<532e<t . 2e<t(o<=32e<t
>abel1032e<t = 2e<t(o<532e<t . 2e<t(o<=32e<t 6 >abel?32e<t
'lseI/ 2e<t(o<532e<t . 2e<t(o<=32e<t 0= 500000 2hen
>abel?32e<t = 0301 . 2e<t(o<532e<t . 2e<t(o<=32e<t
>abel1032e<t = 2e<t(o<532e<t . 2e<t(o<=32e<t 6 >abel?32e<t
'lse
>abel?32e<t = 0
>abel1032e<t = 2e<t(o<532e<t . 2e<t(o<=32e<t 6 >abel?32e<t
'nd I/
'nd Sub
'nd Class
').) $oal- $oal
1$ Buatlah pro!ra tentan! kepe!a:aian untuk en"ari #e#erapa perhitun!an
seperti PP67 Total Ga(i7 !a(i #ersih$ @ntuk perhitun!an !a(i san!at dipen!aruhi oleh
Tun(an!an istri dan anak serta status kar0a:an terse#ut$
Ketentuan :
<ika 9tatus %ikah aka Tun(an!an Istri 2-0$000 #ila tidak R0
<ika eiliki anak aka tun(an!an setiap anakR200$000 dan aks anak )
Tun(an!an anakR200$000 T(ulah anak PP6R-Y
dari Ga(ipokok TotalGa(iRGa(ipokokNtun(an!anIstri
Ntun(an!ananak Ga(iBersihRTotalGa(i8pph
Ga#ar 2$1$ Tapilan ?or 6itun! Ga(i
2$ Buatlah pro!ra kepe!a:aian den!an en!a"u pada latihan se#elun0a diana
untuk ketentuan saa dan ta#ahkan #onus 0$- dari !a(ipokok dan !unakan su# untuk
en0ipan setiap +ile pe!a:ai terse#ut dala +orat$t3t
Ga#ar 2$2$ Tapilan ?or 6itun! Ga(i 0an! sipan
,ontoh "ode untuk en0ipan data dala #entuk +orat$t3t pada
notepad Private Sub AmbilData(ByVal sk As Constructor)
sk.NIM = e!tBo!".e!t
sk.Nama = e!tBo!#.e!t
sk.Mata$ulia% = e!tBo!&.e!t
sk.Nilai = e!tBo!'.e!t
(n) Sub
Private Sub Sim*anData(ByVal sk As Constructor)
Dim +ut*ut,ile As System.I+.Stream-riter
+ut*ut,ile = System.I+.,ile.A**en)e!t(.DataMa%asis/a.t!t.)
+ut*ut,ile.-rite0ine(.NIM 1 . 2 sk.NIM)
+ut*ut,ile.-rite0ine(.Nama 1 . 2 sk.Nama)
+ut*ut,ile.-rite0ine(.Mata $ulia% 1 . 2 sk.Mata$ulia%)
+ut*ut,ile.-rite0ine(.Nilai 1 . 2 sk.Nilai)
+ut*ut,ile.Close()
(n) Sub
Private Sub Button"3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les Button".Click
Dim ob4Constructor As Ne/ Constructor
-it% ob4Constructor
8Pan66il sub rutin ambil )ata8
AmbilData(ob4Constructor)
e!tBo!9.e!t = .:ra)eNilai()
Sim*anData(ob4Constructor)
Messa6eBo!.S%o/(.Data )isim*an.5 .$on;irmasi.)
Bersi%kan0ayar()
(n) -it%
(n) Sub
)$ Buatlah pro!ra den!an konsep ultiple Inheritan"e diana "lass induk
eiliki anak kelas 0aitu le#ih dari satu "lass$
Ketentuan :
<enis Mo#il :BLenia Li7 4i7 .vanMa 97 .vanMa M7 dstC
Merek Mo#il B*aihatshu7 To0ota7 MaMda7 BM; dstC
Perhitun!an Kredit en!a"u pada *P dan (ulah an!suran BtenorC
Tapilan .plikasi *ealer o#il untuk pe#a0aran Tunai:
Ga#ar 2$) Tapilan ?or Tunai kendaraan
4$ Buatlah pro!ra den!an en!!unakan konsep Multiple Inheritan"e en!a"u
pada latihan se#elun0a
Tapilan .plikasi *ealer Mo#il untuk Kredit :
Ga#ar 2$4$ Tapilan ?or Kredit Kendaraan
MODUL .
D%$AI IT%"&A1% DA 1OT"OL OB(%K
Perteuan : 10712
Peralatan & Perlen!kapan : VI9@.4 9T@*I' 200- VB$%2T dan M09D4
Tu(uan pe#ela(aran praktiku :
H Mahasis:a dapat en!!unakan 9in!le dan Multiple *o"uent Inter+a"e untuk
eran"an! tapilan la0ar B,)C
H Mahasis:a dapat en!!unakan "ontrol o#(ek event listener7 ethod7
propertis dala pero!raa v#$net B,)C
.)1) Teori8Konse3
3.1.1.
.ntarm%ka
Pen!ertian antaruka B inter$aceC adalah salah satu la0anan 0an! disediakan siste
operasi se#a!ai sarana interaksi antara pen!!una den!an siste operasi$ .ntaruka
adalah koponen siste operasi 0an! #ersentuhan lan!sun! den!an pen!!una$ Terdapat
dua (enis antaruka7 0aitu "ommand Line Inter$aceB,4IC dan Graphical +ser
Inter$aceBG@IC$
Dua -i3e in-er>ace sis-em o3erasi :
1$ ,oand 4ine Inter+a"e B,4IC adalah #er#asis teks7 0an! (ika elakukan
perintah harus den!an en!etikan perintah$
2$Graphi"al @ser Inter+a"e BG@IC adalah #er#asis !ra+is7 d!n eiliki tapilan
#erupa enu dan i"on82
,4I adalah tipe antaruka diana pen!!una #erinteraksi den!an siste operasi
elalui
textBterminal$ Pen!!una en(alankan perintah dan pro!ra di siste operasi
terse#ut
den!an "ara en!etikkan #aris8#aris tertentu$Meskipun konsepn0a saa7 tiap8tiap siste
operasi eiliki naa atau istilah 0an! #er#eda untuk ,4I8n0a$ @%IL e#eri
naa ,4I8n0a se#a!ai #ash7 ash7 ksh7 dan lain se#a!ain0a$ Mi"roso+t *isk 'peratin!
90ste BM98*'9C e#eri naa "oand$"o atau ,oand Propt$ 9edan!kan
pada ;indo:s Vista7 Mi"roso+t enaakann0a Po:er9hell$ Pen!!una 4inu3
en!enal ,4I pada 4inu3 se#a!ai terminal7 sedan!kan pada .pple naan0a adalah
"oandshell$
3.1.2. 0ontrol
b!ek
9alah satu kontrol 0an! palin! populer di Visual Basi" To#ol ,ontrol
Bse#elun0a Koando Pen!endalianC$ Mereka adalah kontrol 0an! kita klik dan
lepaskan untuk elakukan #e#erapa tindakan$ To#ol 0an! di!unakan se#a!ian #esar
untuk penan!anan peristi:a dala kode7 isaln0a7 untuk en!irikan data 0an!
diasukkan dala +or ke data#ase dan se#a!ain0a$ ."ara de+ault Button adalah
peristi:a Klik To#ol dan kelas didasarkan pada kelas ButtonBase 0an! didasarkan
pada kelas kontrol$
Kon-rol O7+e, Pro3er-i
Pro3er-+ Pro3er-i Descri3-ion Des,ri3si
.llo:*rop
Indi"ates i+ the +or "an a""ept data that the user dra!s and drops into it
Men!indikasikan (ika #entuk dapat eneria data #ah:a pen!!una
en0eret dan tetes k e dalan0a
.n"hor
Gets/9ets :hi"h ed!es o+ the "ontrol are an"hored Mendapatkan / 9et
0an! tepi kontrol 0an! #erla#uh
Ba"k,olor
Gets/9ets the #a"k!round "olor +or the +or Mendapat / Men!atur :arna
latar #elakan! untuk +orulir
Ba"k!roundIa!e
Get/9ets the #a"k!round ia!e in the +or *apatkan / Men!atur !a#ar
latar #elakan! dala #entuk
Botto
Gets the distan"e #e:teen the #otto o+ the "ontrol and the top o+ its
"ontainer "lient area Mendapatkan (arak #e:teen #a:ah kontrol dan
#a!ian atas :ila0ah klien kontainer
Bounds
Gets/9ets the "ontrols #ou ndin! re"tan!le Mendapat / Men!atur kontrol
perse!i pan(an! elopat8lopat
,an?o"us
Returns a value spe"i+0in! i+ the "ontrol "an re"ieve +o"u s
Men!e#alikan nilai enentukan (ika kontrol dapat eneria +okus
,an9ele"t
Returns a value spe"i+0in! i+ the "ontrol "an #e sele"ted Men!e#alikan
nilai enentukan (ika kontrol dapat dipilih
,apture
Gets/9ets a valu e spe"i+0in! i+ the "ontrol has "aptured the ouse
Mendapat / 9et nilai enentukan (ika kontrol telah enan!kap ouse
,ausesValidation Gets/9ets a value spe"+0in! i+ the "ontrol "auses validation +or all
"ontrols that re>uire validation Mendapat / 9et nilai spe"+0in! (ika
kontrol pen0e#a# validasi untuk seua kontrol 0an! e#utu
hkan validasi
,ontains?o"u s
Returns a value spe"i+0in! i+ the "ontrol has the input +o"us
Men!e#alikan nilai enentukan (ika kontrol eiliki +okus input
,onte3tMenu
Gets/9ets the short"ut enu +or the "ontrol Mendapat / Men!atur
enu short"ut untuk en!endalikan
,ontrols
Gets/9ets the "olle"tion o+ "ontrols "ontained :ithin the "ontrol
Mendapat / Men!atur koleksi kontrol 0an! terkandun! dala kontrol
,ursor
Gets/9ets the "ursor to #e displa0ed :hen the user oves the ouse over
the +or Mendapat / Men!atur kursor 0an! akan ditapilkan ketika
pen!!una en!!erakkan ouse di atas +orulir
*ataBindin!s Gets the data #indin!s +or the "ontrol Gets #indin! data untuk kontrol
*o"k
Gets/9ets :hi"h ed!e o+ the parent a "ontrol is do"ked to Mendapatkan /
9et 0an! tepi kontrol oran!tua erapat ke
2na#led
Gets/9ets a value indi"atin! i+ the "ontrol is ena#led Mendapat / 9et nilai
enun(ukkan (ika kontrol ini diakti+kan
?o"u sed
Returns a value spe"i+0in! i+ the "ontrol has input +o"us
Men!e#alikan nilai enentukan (ika kontrol eiliki +okus asukan
?ont
Gets/9ets the +ont +or the "ontrol Mendapat / Men!atur +ont untuk
kontrol
?ore,olor
Gets/9ets the +ore!round "olor o+ the "ontrol Mendapat / Men!atur
:arna latar depan dari k ontrol
6as,hildren
Returns a value spe"i+0in! i+ the "ontrol "ontains "hild "ontrols
Men!e#alikan nilai enentukan (ika kontrol #erisi kontrol anak
6ei!ht
Gets/9ets the hei!ht o+ the "ontrol Mendapat / Men!atur tin!!i dari
kontrol
4e+t
Gets/9ets the 38"oordinates o+ a "ontrolWs le+t ed!e in pi3els Mendapat /
Men!atur 38koordinat u(un! kiri kontrol dala piksel
4o"ation
Gets/9ets the "o8ordinates o+ the u pper8le+t "orner o+ the "ontrol
Mendapat / Men!atur koordinat sudut kiri atas k ontrol
%ae
Gets/9ets nae +or the "ontrol Mendapatkan / Men!atur naa u
ntuk kontrol
Parent
Gets/9ets the "ontrolWs parent "ontainer Mendapat / Men!atur :adah
induk kontrol 0an!
Ri!ht
Returns the distan"e #et:een the ri!ht ed!e o+ the "ontrol and the le+t
ed!e o+ itWs "ontainer Men!e#alikan (arak antara tepi kanan dari k
ontrol dan tepi kiri dari :adah itu
Ri!htTo4e+t
Gets/9ets the value indi"atin! i+ the ali!nent o+ the "ontrolWs eleents
is reversed to support ri!ht8to8le+t +onts Mendapat / 9et nilai
enun(ukkan (ika keselarasan eleen kontrol adalah ter#alik untuk
endukun! hak8
ke8kiri +ont
9iMe
Gets/9ets siMe o+ the "ontrol in pi3els Mendapat / Men!atur ukuran dari
kontrol dala pik sel
Ta#Inde3
Gets/9ets the ta# order o+ this "ontrol in its "ontainer Mendapat /
Men!atur urutan ta# kontrol ini dala :adah
Ga#ar )$1$ Kontrol '#(ek Propert0
.)') La-ihan $oal
Buatlah pro!ra den!an en!!unakan o#(ek "ontrol stateen i+else untuk perintah
lo!ika pada status dan <a#atan dari kar0a:an$ 9etiap status dan (a#atan
epen!aruhi !a(i sesoran! kar0a:an$pada aplikasi pro!ra di#a:ah en!!unakan
konsep pe:arisan BInheritan"eC$
Ga#ar )$2$ Tapilan ?or konsep Inheritan"e
,ontoh soal :
Public Class Pe6a/ai
Public mNIP As Strin6
Ta#9top
Gets/9ets a value spe"i+0in! i+ the user "an ta# to this "ontrol :ith the ta#
ke0 Mendapat / 9et nilai enentukan (ika pen!!una dapat ta# untuk
kontrol ini den!an to#ol ta#
Ta!
Gets/9ets an o#(e"t that "ontains data a#out the "ontrol Mendapat / 9et
se#uah o#0ek 0an! #erisi data tentan! k ontrol
Te3t
Gets/9ets the te3t +or this "ontrol Mendapat / Men!atur tek s untuk
kontrol ini
Top
Gets/9ets the top "oordinates o+ the "ontrol Mendapat / Men!atur
koordinat atas kontrol
Visi#le
Gets/9ets a valu e spe"i+0in! i+ the "ontrol is visi#le Mendapat / 9et
nilai enentukan (ika kontrol 0an! terlihat
;idth Gets/9ets the :idth o+ the "ontrol Mendapat / 9et le#ar k ontrol
Public mNama As Strin6
Public mAlamat As Strin6
Public mStatus As Strin6
Public m<abatan As Strin6
Public m:a*ok As Inte6er
Public Pro*erty NIP() As Strin6
:et
=eturn mNIP
(n) :et
Set(ByVal value As Strin6)
mNIP = value
(n) Set
(n) Pro*erty
Public Pro*erty Nama() As Strin6
:et
=eturn mNama
(n) :et
Set(ByVal value As Strin6)
mNama = value
(n) Set
(n) Pro*erty
Public Pro*erty Alamat() As Strin6
:et
=eturn mAlamat
(n) :et
Set(ByVal value As Strin6)
mAlamat = value
(n) Set
(n) Pro*erty
Public Pro*erty Status() As Strin6
:et
=eturn mStatus
(n) :et
Set(ByVal value As Strin6)
mStatus = value
(n) Set
(n) Pro*erty
Public Pro*erty <abatan() As Strin6
:et
=eturn m<abatan
(n) :et
Set(ByVal value As Strin6)
m<abatan = value
(n) Set
(n) Pro*erty
Public Pro*erty :a*ok() As Inte6er
:et
=eturn m:a*ok
(n) :et
Set(ByVal value As Inte6er)
m:a*ok = value
(n) Set
(n) Pro*erty
Public ,unction 7itun6:a4i(ByVal m:a*ok As Inte6er) As 0on6
=eturn m:a*ok
(n) ,unction
(n) Class
Public Class Pe6a/aieta*
In%erits Pe6a/ai
Public mun4an6aneta* As Inte6er
Public Pro*erty un4an6aneta*() As Inte6er
:et
=eturn mun4an6aneta*
(n) :et
Set(ByVal value As Inte6er)
mun4an6aneta* = value
(n) Set
(n) Pro*erty
Public ,unction 7itun6:a4ieta*(ByVal m:a*ok As Inte6er5 ByVal
mun4an6aneta* As Inte6er) As 0on6
=eturn m:a*ok > mun4an6aneta*
(n) ,unction
(n) Class
Public Class Pe6a/ai7onorer
In%erits Pe6a/ai
Public mun4an6anrans*ort As Inte6er
Public Pro*erty un4an6anrans*ort() As Inte6er
:et
=eturn mun4an6anrans*ort
(n) :et
Set(ByVal value As Inte6er)
mun4an6anrans*ort = value
(n) Set
(n) Pro*erty
Public ,unction 7itun6:a4i7onorer(ByVal m:a*ok As Inte6er5 ByVal
mun4an6anrans*ort As Inte6er) As 0on6
=eturn m:a*ok > mun4an6anrans*ort
(n) ,unction
(n) Class
Public Class ,orm"
Private Sub Button"3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les Button".Click
Dim ob4Pe6a/ai As Ne/ Pe6a/ai
Dim ob4Pe6a/aieta* As Ne/ Pe6a/aieta*
Dim ob4Pe6a/ai7onorer As Ne/ Pe6a/ai7onorer
-it% ob4Pe6a/ai
.NIP = e!tBo!".e!t
.Nama = e!tBo!#.e!t
.Alamat = e!tBo!&.e!t
.Status = ComboBo!".e!t
.<abatan = ComboBo!#.e!t
I; ComboBo!#.e!t = .Direktur. %en
e!tBo!'.e!t = ?@@@@@@
(lseI; ComboBo!#.e!t = .Mana6er. %en
e!tBo!'.e!t = &9@@@@@
(lseI; ComboBo!#.e!t = .Sta;;. %en
e!tBo!'.e!t = "9@@@@@
(lse
e!tBo!'.e!t = "@@@@@@
(n) I;
.Status = ComboBo!".e!t
I; ComboBo!".e!t = .eta*. %en
-it% ob4Pe6a/aieta*
.:a*ok = e!tBo!'.e!t
e!tBo!9.e!t = # A e!tBo!'.e!t
.un4an6aneta* = e!tBo!9.e!t
e!tBo!B.e!t = @
0abel"".e!t = .7itun6:a4ieta*(.m:a*ok5 .mun4an6aneta*)
(n) -it%
(lseI; ComboBo!".e!t = .7onorer. %en
-it% ob4Pe6a/ai7onorer
.:a*ok = e!tBo!'.e!t
e!tBo!9.e!t = @
e!tBo!B.e!t = #9 A "9@@@
.un4an6anrans*ort = e!tBo!B.e!t
0abel"".e!t = .7itun6:a4i7onorer(.m:a*ok5 .mun4an6anrans*ort)
(n) -it%
(n) I;
(n) -it%
(n) Sub
(n) Class
.).) $oal- $oal
Buatlah .plikasi pen(ualan Tiket Teater 21 atau Bioskop7 diana aplikasi terse#ut akan
enapilkan pesat pada saat penonton #eruur Z 11 tahun$ Berikan +un!si pada
Te3t#o3 T!l lahir sehin!!a se"ara otoatis dapat e#a"a apa#ila operator
easukan tahun dan siste akan enkalkulasikan tahun terse#ut den!an tahun
0an! ada disiste
aplikasiBsekaran!C$
Ketentuan :
Ga#ar )$)$Tapilan .plikasi Bioskop
Kelas #ioskop : BRe!uler7 PreiereC
Min!!u /:
Buatlah .plikasi den!an en!andun! unsur ke0 event setiap te3t#o3 seperti
#atasan (ulah input B$eyC%ar)7 huru+ ke"il B4o:er,aseC dan Mneoni"$
MODUL 4
P%M"O#"AMA DATABA$% DA MAIPULA$I
Perteuan : 1471/
Peralatan & Perlen!kapan : VI9@.4 9T@*I' 200- VB$%2T dan M09D4
Tu(uan pe#ela(aran praktiku :
H Mahasis:a dapat en!!unakan aplikasi data#ase untuk pen!olahan data pada
pero!ra v#$net B,)C
H Mahasis:a dapat en!!unakan aplikasi data#ase untuk pen!olahan7
anipulasi data pada pero!ra v#$net B,)C
4)1) Teori8Konse3
,.1.1. DB1S 2Database 1anagement S#stem3
H *BM9 erupakan perantara antara user den!an data#ase$
H ,ara kounikasi diatur dala suatu #ahasa khusus 0an! telah ditetapkan oleh
*BM9$
, o n to h: 9D47 dBase7 D@247 ds#$
H Bahasa data#ase7 di#a!i dala 2 #entuk:
8 *ata *e+inition 4an!ua!e B**4C
*i!unakan dala e#uat ta#el #aru7 indeks7 en!u#ah ta#el7
enetukan struktur ta#el7 ds#$
8 *ata Manipulation 4an!ua!e B*M4C
a$*i!unakan dala eanipulasi dan pen!a#ilan data pada
data#ase$ #$Manipulasi data7 dapat en"akup:
8 Pean!!ilan data 0an! tersipan dala data#ase B>uer0C
8 Pen0isipan/pena#ahan data #aru ke data#ase
8 Pen!hapusan data dari data#ase
8 Pen!u#ahan data pada data#ase
client
ANTARMUKA
BERBENTUK
FORM
isian: ___
pass:
!UBM"T
#asil
F$%&
Na&a 'a%ia(el
)an Nilai
*R O+R AM
*E MR O!E !
R E! *ON
,A!*- *#*-
. +")
#TM/
0ATABA!E
se%1e%
,.1.2. Instalasi 1#S45
I n s -a la s i m + s Bl * i li n g , u n ga n = in * o: s :
1$ 2kstrak +ile 0s>l84$0$1G8:in ke +older seentara7 isal ,:[data=0s>l
2$ Klik 9etup untuk eulai instalasi
)$ Klik ne3t7 sapai ada tapilan seperti #erikut
: Pastikan *estination ?older di ,:[0s>l
Ga#ar 4$1 Instalasi M0s>l pada +older
4$ Klik ne3t7 pilihlah 0an! : T0pi"al$
-$ Klik ne3t7 aka instalasi akan diulai dan klik +inish$
/$ *ari ;indo:s 23plorer7 #uka +older ,:[0s>l[#in
1$ Klik 23 +ile :in0s>ladin$e3e7 isikan :
@sernae : root
Pass:ord : root
G$ Klik 'K7 dan di kanan #a:ah akan un"ul tanda ikon ;inM09>l$
Ga#ar 4$2$ Tapilan akti+ ;inM0s>l
,.1.3. D.S.6"D.S.6 17S45
*ala #ahasa 9D4 pada uun0a in+orasi tersipan dala ta#el8ta#el 0an! se"ara
lo!ik erupakan struktur dua diensi terdiri dari #aris Bro9 atau recordC dan
kolo Bcolumn atau $ieldC$ 9edan!kan dala se#uah database dapat terdiri dari #e#erapa
table$ Be#erapa tipe data dala M09D4 0an! serin! dipakai:
M e m7ua- Da-a7a s e Dan Ta 7 le
@ntuk asuk ke dala pro!ra M09D4 pada propt (alankan perintah #erikut ini:
1:CD m+sBlC7inDm+sBl ;%n-er9
Keudian akan asuk kedala M09D4 seperti tapilan di#a:ah ini:
Ga#ar 4$)$ Tapilan la0ar pada propt M0s>l
Bentuk propt I0s>lPJ adalah tepat enuliskan perintah8perintah M09D4$
9etiap perintah 9D4 harus diakhiri den!an tanda titik8koa IXJ $
,ara untuk e#uat se#uah data#ase #aru adalah den!an perintah:
crea-e *a-a7ase nama*a-a7aseE
,ontoh:
crea-e *a-a7ase 3ensE
@ntuk e#uka se#uah data#ase dapat en!!unakan perintah #erikut ini:
use nama*a-a7aseE
,ontoh:
use 3ensE
Perintah untuk e#uat ta#el #aru adalah:
crea-e -a7le nama-a7el
;
s-ru,-ur
9E
1ons- r ain-
,onstraint adalah #atasan atau aturan 0an! ada pada
ta#le$ M09D4 en0ediakan #e#erapa tipe "onstraint
#erikut :
\ %'T %@44
9uatu kolo 0an! dide+inisikan den!an "onstraint %'T %@44 tidak #oleh
#erisi nilai %@44$ Kolo 0an! #e+un!si se#a!ai kun"i prier Bpriar0 ke0C
otoatis tidak #oleh %@44$
\ @%ID@2
Mende+inisikan suatu kolo en(adi #ersi+at unik7 artin0a antara satu data
den!an data lainn0a naan0a tidak #oleh saa7 isal alaat eail$
\ PRIM.RE K2E
,onstraint PRIM.RE K2E e#entuk ke0 0an! unik untuk suatu ta#le$
\ ?'R2IG% K2E
?'R2IG% K2E "onstraint dide+inisikan pada suatu kolo 0an! ada pada suatu
ta#le7 diana kolo terse#ut (u!a diiliki oleh ta#le 0an! lain se#a!ai suatu PRIM.RE
K2E7 #iasa dipakai untuk en!hu#un!kan antara 2 ta#el$
4)') La-ihan $oal
Buatlah Ta#el #erikut ini den!an en!!unakan perintah M0s>l
:
*en!an en!!unakan perintah M09D4:
"reate ta#le an!!ota B
noor intB/C not null priar0
ke07 naa "harB40C not null7
eail "harB2--C not null7
alaat "harBG0C not null7
kota "harB20C not null
CX
Perin-ah Memasu,an *a-a *engan M+$5L:
Insert into an!!ota Bnoor7naa7eail7alaat7kotaC values
B1007].di]7 ]a d i^ 0 a h oo $"o ]7]<l$ Keputih 2. no -]7]9ura#a0a]CX
a-au
Insert into an!!ota values B1007].di]7 ]a d i^ 0 a h oo $" o ]7]<l$ Keputih 2. no
-]7 ]9ura#a0a]CX
Dari -a7le Anggo-a *i7a:ah ini la,u,an mani3ulasi *a-a :
omor ama %mail Alama- Ko-a
100 Re+i0anto r e + i^ 0ah o o $ " o <l$ Keputih 2. no - 9ura#a0a
101 Tono t o n o ^ h o t a il $ " o <l$ Galun!!un! 2B ,en!karen!
102 IDbal i D b alE a h o o -c om Fl- 4lampis 5 ,urabaa
10) Eanti E a n t i1 G ^ a il " it 0 $ " o <l$ Madiun 4- <a:a Ten!ah
104 Ilha il h a ^0 a h o o $ " o <l$ 9ura#a0a A Malan!
10- 9as0u 9 a s E ^0 a h o o $ " o <l$ Per"etakan 9ura#a0a
10/ ?aru> +a r u > ^0 a h o o $ " o <l$ Ra0a - Kediri
101 6ari h a r i^ 0 a h o o $ " o <l$ Ra0a A Ban0u:an!i
6apuslah data dari ta#el an!!ota #erikut ini:
Delete $rom anggota 9here no(G0*5GH
or Delete $rom anggota 9here no(0*5H
@ntuk en!8update data eail di ta#el an!!ota7 noor 104$
update anggota set email( Gil hamI * Ehotma i l -c o mG 9here nomor(G0*:GX
1$ @ntuk enapilkan seua koloB+ieldC pada ta#el an!!ota
select F $rom anggotaH
2$ @ntuk enapilkan kolo B+ieldC noor dan naa pada ta#el an!!ota
select nomor, nama $rom anggotaH
)$ @ntuk enapilkan seua kolo pada ta#el an!!ota 0an! #erada pada kota
_9ura#a0a]
select * $rom anggota 9here kota=SurabayaH
4$ @ntuk enapilkan seua kolo pada ta#el an!!ota den!an urut naa
select * $rom anggota order by namaH
-$ @ntuk en!hitun! (ulah re"ord pada ta#el an!!ota
select count(*) $rom anggotaH
/$ @ntuk enapilkan kota den!an tidak enapikan kota 0an! saa pada
ta#el an!!ota
select distinct kota $rom anggotaH
1$ @ntuk enapilkan naa dan eail 0an! epun0ai eail di _0ahoo$"o]
select nama,email $rom anggota 9here email like !ya"oo#comH
G$ @ntuk enapilkan noor7 naa dan eail 0an! noorn0a diatas 10) dan
0an! #era:alan den!an huru+ 9$
select nomor, nama, email $rom anggota 9here nomor $= %&' A(D nama like
S!H
A$ @ntuk enapilkan noor7 naa 0an! noorn0a diantara 10) ` 10-
select nomor, nama $rom anggota 9here nomor bet)een %&' and %&*-
4).) $oal- $oal
Min!!u 1 :
1$ Buatlah data#ase #aru den!an naa lat=0s>l
2$ Buatlah ta#el den!an naa pe!a:ai 0an! eiliki +ield se#a!ai #erikut :
Kolom 8 &iel* Ti3e *a-a
I* int B-C not null
%aa var"harB20C not null
.laat var"harB20C not null
Ga(i int B10C not null
)$ Masukkan data8data #erikut ini :
ID ama Alama- #a6i
100 .ri+ 9ura#a0a 10000
101 .ndi <akarta 14000
102 Burhan Malan! 12000
10) ?ikri Madiun 1-000
104 ?ariM Malan! 11000
10- 9i!it 9ura#a0a 20000
10/ I+an Kediri 1/000
101 6ani+ Eo!0akarta 12000
10G Qakiuddin 9ura#a0a 21000
4$ 6apuslah re"ord den!an I* 100$
-$ @pdate data untuk I* 101 dan 102 s## :
ID ama Alama- #a6i
101 %aila 9ura#a0a 10000
102 Ra+i 9earan! 14000
/$ Buat perintah 9D4 #erikut ini untuk enapilkan :
a$ 9eua kolo dari ta#el pe!a:ai
#$ Kolo naa dan !a(i dari ta#el pe!a:ai
"$ Kolo naa dan alaat 0an! epun0ai naa den!an a:alan
?$ d$ Kolo naa dan alaat 0an! epun0ai naa den!an
akhiran n e$ Kolo naa dan !a(i 0an! epun0ai !a(i diatas
1-000$
+$ Kolo naa7 alaat dan !a(i 0an! #er!a(i diatas 1)000 dan #eralaat di
9ura#a0a$
!$ Kolo naa7 !a(i den!an ran!e !a(i antara 1-000 `
20000$
h$ Ga(i a37 in7rata2 dari ta#el pe!a:ai P select max.gaji/% min.gaji/%
avg.gaji/
$rom pega9ai-
Min!!u G:
1) Bua- Da-a7ase *engan M+sBl *ari -a7el--a7el *i7a:ah ini :
ama Ta7el : BA"A#
ama Ta7el : $UPPLI%"
%o$ %aa ?ield Tipe *ata 4e#ar Keteran!an
1$ K*9@P BPriar0 Ke0C var"har 1 Kode 9upplier
2$ %M9@P var"har 2- %aa 9upplier
)$ T.4.M.T var"har )- .laat 9upplier
ama Ta7el : $P
ama Ta7el : P%$A
2$ Isilah ta#el8ta#el diatas
)$ 4akukan anipulasi pada ta#el supplier den!an ena#ahkan +ield Telpon
4$ Tapilkan data supplier 0an! han0a #eralaat di I9ura#a0aJ$ .tau alaat tertentu$
-$ Ta#ahkan +ield dari ta#el pesan 0aitu Total=har!a dan !antilah tipe data %o9P
en(adi tipe var"har$
%o$ %aa ?ield Tipe *ata 4e#ar Keteran!an
1$ TK*BRG BPriar0 Ke0C var"har 1 Kode Baran!
2$ T%MBRG var"har 2- %aa Baran!
)$ T9.T@.% Int 4 <ulah Baran!
%o$ %aa ?ield Tipe *ata 4e#ar Keteran!an
1$ %'9P BPriar0 Ke0C var"har 1 %oor 9urat Pesan B9PC
2$ TG49P *ate 8 Tan!!al 9urat Pesan B9PC
)$ K*9@P var"har 1 Kode 9upplier
%o$ %aa ?ield Tipe *ata 4e#ar Keteran!an
1$ TK*BRG BPriar0 Ke0C var"har 1 Kode Baran!
2$ %'9P BPriar0 Ke0C Te3t 1 %oor 9urat Pesan B9PC
)$ <M4 IntB4C 4 <ulah Pesan
4$ 6RG int 1 6ar!a Baran!
MODUL 4
P%##UAA OB(%K ADO)%T
Perteuan : 1G720
Peralatan & Perlen!kapan : VI9@.4 9T@*I' 200- VB$%2T dan M09D4
Tu(uan pe#ela(aran praktiku :
H Mahasis:a dapat elakukan koneksi *BM9 M0s>l dan v#$net
den!an en!!unakan koponen .*'$%et B,)C
4)1) Teori8Konse3
4)1)1) ADO) %T
9e#a!ian #esar aplikasi e#utuhkan akses data pada satu titik :aktu e#uatn0a
en(adi koponen pentin! ketika #eker(a den!an aplikasi$ .kses data adalah e#uat
aplikasi #erinteraksi den!an data#ase7 di ana seua data disipan$ .plikasi 0an!
#er#eda eiliki pers0aratan 0an! #er#eda untuk en!akses data#ase$ VB$ %2T
en!!unakan .*' %2T B."tive L *ata '#(e"tC$ 9e#a!ai akses data itu dan protokol
anipulasi 0an! (u!a eun!kinkan kita untuk #eker(a den!an data di Internet$
Mari kita lihat en!apa .*'$ %2T datan! ke dala !a#ar en!!antikan .*'$
4)1)') %<olusi ADO)%T
*ata pertaa odel akses7 *.' B*ata odel aksesC di"iptakan untuk data#ase
lokal den!an #uilt8in esin <et 0an! eiliki kiner(a dan asalah +un!si$ Berikutn0a
datan! R*' BReote *ata '#(e"tC dan .*' B."tive *ata '#(e"tC 0an! diran"an! untuk
,lient 9erver arsitektur7 tetapi se!era en!a#il alih R*' .*'$ .*' adalah
arsitektur 0an! #aik tetapi se#a!ai peru#ahan #ahasa sehin!!a adalah teknolo!i$
*en!an .*'7 seua data 0an! terkandun! dala o#(ek re"ordset 0an! eiliki
asalah ketika diipleentasikan pada (arin!an dan +ire:all penetrasi$ .*' adalah
akses data 0an! terhu#un!7 0an! #erarti #ah:a ketika koneksi ke data#ase didirikan
sa#un!an tetap
ter#uka sapai aplikasi ditutup$ Me#iarkan sa#un!an ter#uka untuk seuur
hidup aplikasi eni#ulkan keprihatinan tentan! keaanan data#ase dan lalu lintas
(arin!an$ <u!a7 se#a!ai data#ase en(adi seakin pentin! dan karena ereka
ela0ani le#ih #an0ak oran!7 odel data akses terhu#un! e#uat kita #erpikir tentan!
produktivitas$ 9e#a!ai "ontoh7 aplikasi den!an akses data 0an! terhu#un! dapat
elakukann0a den!an #aik ketika terhu#un! ke dua klien7 saa un!kin elakukan
#uruk ketika terhu#un! ke
10 dan un!kin tidak dapat di!unakan saat terhu#un! ke 100 atau le#ih$ <u!a7 koneksi
data#ase ter#uka en!!unakan su#er da0a siste sapai #atas aksial e#uat
kiner(a siste 0an! kuran! e+ekti+$
4)1).) Menga3a ADO)%T?
@ntuk en!atasi den!an #e#erapa asalah 0an! dise#utkan di atas7 .*'$ %2T un"ul$
.*'$ %2T e#ahas asalah di atas den!an epertahankan odel data#ase akses
terputus 0an! #erarti7 ketika aplikasi #erinteraksi den!an data#ase7 koneksi di#uka untuk
ela0ani perintaan dari aplikasi dan ditutup se!era setelah perintaan
selesai$ *eikian (u!a7 (ika data#ase adalah *iper#arui7 koneksi di#uka "ukup laa
untuk en0elesaikan operasi @pdate dan ditutup$ *en!an en(a!a koneksi ter#uka
han0a untuk (an!ka :aktu iniu7 .*'$ %2T en!heat su#er da0a siste dan
en0ediakan keaanan aksiu untuk data#ase dan (u!a eiliki sedikit
dapak pada kiner(a siste$ <u!a7 .*' %2T ketika #erinteraksi den!an data#ase$
Men!!unakan LM4 dan en!konversi seua data ke dala +orat LM4 untuk operasi
data#ase terkait e#uat ereka le#ih e+isien$
-.1.,. .rsitekt%r Data .D.NET
.kses *ata di .*'$%2T #er!antun! pada dua koponen: Pen0edia *ata9et dan *ata$
*ataset adalah7 diputus dala8eori representasi data$ 6al ini dapat dian!!ap
se#a!ai salinan lokal dari #a!ian 0an! relevan dari data#ase$ *ata9et adalah
#ertahan dala eori dan data di dalan0a dapat dianipulasi dan diper#arui
independen dari data#ase$ Ketika pen!!unaan *ata9et ini selesai7 peru#ahan dapat
dilakukan ke#ali ke pusat data#ase untuk eper#arui$ *ata dala *ata9et dapat
diuat dari su#er data 0an! valid seperti data#ase server Mi"roso+t 9D47 'ra"le
atau data#ase dari data#ase Mi"roso+t .""ess$
-.1.-. Data Pro/i$er
*ata Provider #ertan!!un! (a:a# untuk en0ediakan dan eelihara koneksi ke
data#ase$ 9e#uah dataProvider adalah seperan!kat koponen terkait 0an! #eker(a saa
untuk en0ediakan data se"ara e+isien dan kiner(a didoron!$ $ %2T ?rae:ork saat ini
dilen!kapi den!an dua *ataProviders: 9D4 *ata Provider 0an! diran"an! han0a untuk
#eker(a den!an 9D4 9erver 1$0 Mi"roso+t atau la#at dan dataProvider '42*B
0an! eun!kinkan kita untuk terhu#un! ke data#ase (enis lain seperti .""ess dan
'ra"le$ 9etiap dataProvider terdiri dari kelas koponen #erikut:
'#(e"t ,onne"tion 0an! en0ediakan koneksi ke data#ase
'#(e"t ,oand 0an! di!unakan untuk en!eksekusi perintah
'#0ek *ataReader 0an! en0ediakan +or:ard8onl07 read onl07 re"ordset terhu#un!
'#0ek *ata.dapter 0an! populasikan *ata9et terputus den!an data dan
elakukan pe#aruan
Ga#ar -$1$ .rsitektur *ata .*'$%2T
-.1.8. 9om&onen kelas #ang membent%k
Pen#e$ia $ata
O7+e, Kone,si
'#(e"t ,onne"tion en"iptakan koneksi ke data#ase$ Mi"roso+t Visual 9tudio %2T
en0ediakan dua (enis kelas Koneksi: o#0ek 9>l,onne"tion7 0an! diran"an!
khusus untuk en!hu#un!kan ke Mi"roso+t 9D4 9erver 1$0 atau la#at7 dan o#(ek
'le*#,onne"tion7 0an! dapat en0ediakan koneksi ke #er#a!ai (enis data#ase seperti
Mi"roso+t .""ess7 M0s>l dan 'ra"le$ '#(e"t ,onne"tion #erisi seua in+orasi
0an! diperlukan untuk e#uka koneksi ke data#ase$
O76e, 1omman*
'#(e"t ,oand di:akili oleh dua kelas 0an! sesuai: 9>l,oand
dan 'le*#,oand$ '#(ek ,oand di!unakan untuk en!eksekusi perintah ke
data#ase di sa#un!an data$ '#(ek ,oand #isa di!unakan untuk en!eksekusi
prosedur 0an! tersipan pada data#ase7 perintah 9D47 atau ke#ali ta#el len!kap
lan!sun!$ '#(ek ,oand en0ediakan ti!a etode 0an! di!unakan untuk
en!eksekusi perintah pada data#ase:
23e"ute%onDuer0: Melaksanakan perintah 0an! eiliki nilai 0an! tidak
ke#ali seperti I%92RT7 @P*.T2 atau *242T2
23e"ute9"alar: Men!e#alikan nilai tun!!al dari >uer0
data#ase
23e"uteReader: Men!e#alikan hasil set den!an "ara o#(ek
dataReader
O76e, *a-a"ea*er
'#0ek *ataReader en0ediakan +or:ard8onl07 read8onl07 re"ordset aliran terhu#un! dari
data#ase$ Tidak seperti koponen lain dari *ata Provider7 o#0ek *ataReader tidak dapat
se"ara lan!sun! instantiated$ 9e#alikn0a7 dataReader dike#alikan se#a!ai hasil dari
etode 23e"uteReader o#(e"t ,oand itu$ Metode 9>l,oand$23e"uteReader
en!e#alikan se#uah o#(ek 9>l*ataReader7 dan etode
'le*#,oand$23e"uteReader en!e#alikan se#uah o#(ek 'le*#*ataReader$
*ataReader dapat e#erikan #aris data lan!sun! ke lo!ika aplikasi ketika .nda
tidak perlu en0ipan data dala eori "a"he$ Karena han0a satu #aris dala eori
pada satu :aktu7 dataReader en0ediakan overhead terendah dala hal kiner(a siste
tetapi eerlukan pen!!unaan eksklusi+ dari se#uah o#(e"t ,onne"tion ter#uka untuk
seuur hidup dataReader terse#ut$
O7+e, Da-aA*a3-er
*ata.dapter adalah kelas inti dari terputus akses data .*' %2T$ Ini pada
dasarn0a adalah perantara e+asilitasi seua kounikasi antara data#ase dan
*ata9et$ *ata.dapter di!unakan #aik untuk en!isi *ataTa#le atau *ata9et den!an
data dari data#ase den!an etode Isi itu$ 9etelah data eori8penduduk telah
dianipulasi7 *ata.dapter #isa elakukan peru#ahan ke data#ase den!an ean!!il
etode @pdate$ *ata.dapter en0ediakan epat si+at 0an! e:akili perintah data#ase:
1$ 9ele"t,oand
2$ Insert,oand
)$ *elete,oand
4$ @pdate,oand
Ketika @pdate etode dise#ut7 peru#ahan dala *ata9et 0an! disalin ke#ali ke
data#ase dan 0an! sesuai Insert,oand7 *elete,oand7 atau @pdate,oand
dieksekusi$
4)') 1on-oh La-ihan $oal
1$ Buatlah Module Koneksi data#ase 0s>l den!an +or aplikasi
VB$net
C Mem7ua- Mo*ule
*ala siste pe#elian ini7 koneksi data#ase n0a terdapat pada Module$ 9ehin!!a
di#uat #ersi+at !lo#al$
@ntuk e#uat Module7 perlu ena#ahkan atri#ut #aru #erupa odule pada pro(e"t$
*en!an "ara: Klik kanan pada Pro(e"t di 9olution 23plorer7 keudian pilih .dd7 .dd
Module$
Ga#ar -
B
$
e
2
r
$
i
T
n
a
a

m
p
a
ilan e#uat Module
l
Ketiklah ,ode untuk odul koneksi:
Imports ,stem-Data-#dbc
Import ,stem-Data
Module 4oneksi
public strcon ( 1Driver(JM,KL #DB" 5-I0
username database
DriverLHdatabase(DBLatihanHserver(localhostHuid(root1
"onn ( >e9 #dbc"onnection.str/
I$ "onn-,tate ( "onnection,tate-"losed Then nama databasena
"onn-#pen./
End I$
End module
u7ah nama Da-agri*<ie:1 men6a*i #DV
Klik 23 +or aplikasi atau sour"e "ode pilihlah load
&rivate ,ub TampilGrid6Load.B7al sender 's ,stem-#bject% B7al e
's ,stem-Event'rgs/ 8andles MBase-Load
4oneksi./
da ( >e9 #dbcData'dapter.1,elect = $rom sis9a1% "onn/
ds ( >e9 Data,et
ds-"lear./
da-;ill.ds% 1,is9a1/
DG7-Data,ource ( .ds-Tables.1,is9a1//
End ,ub
End "lass
6asil 0an! didapatkan :
1$ Buatlah aplikasi easukan data #aran!
Form
5abel
:ro%
&
Box
B%tton
5abe
l
TextBox
:ro%&
Box
B%tton
"ancangan Pro6ec- Pro3er-is :
OB(%K AM% T%GT P"OP%"TI%$ @A# DIUBA!
?or1 +rMasterBaran! +rMasterBaran! ?ont 7 Ba"k ,olor7 9tartPosition R
,enter9"reen
4a#el1 4a#el1 2%TRE *.T. B.R.%G ?ont7 Ba"k ,olor
GroupBo31 Group#o31 *ata Baran! ?ont7 Ba"k ,olor
4a#el2 4#lkd#r! K'*2 B.R.%G ?ont7 Ba"k ,olor
4a#el) 4#ln#r! %.M. B.R.%G ?ont7 Ba"k ,olor
4a#el4 4#lharsat 6.RG. 9.T@.% ?ont7 Ba"k ,olor
Te3t#o31 t3tKdBr! Bkoson!C ?ont 7 Ba"k ,olor
Te3t#o32 t3t%Br! Bkoson!C ?ont7 Ba"k ,olor
Te3t#o3) t3t9atuan Bkoson!C ?ont7 Ba"k ,olor
Button1 Btn,ariBr! ,.RI ?ont 7 Ba"k ,olor
GroupBo32 Group#o32 8 ?ont7 Ba"k ,olor
Button2 "d9ipan 9IMP.% ?ont 7 Ba"k ,olor
Button) "d@#ah @B.6 ?ont 7 Ba"k ,olor
Button4 "d6apus 6.P@9 ?ont 7 Ba"k ,olor
Button- "dBatal B.T.4 ?ont7 Ba"k ,olor
Button/ "dKeluar K24@.R ?ont 7 Ba"k ,olor
1o*ing un-u, >orm en-r+ Barang
Im*orts System.Data.+leDb
Im*orts System.Data
Public Class ;rmMasterBaran6
Dim cnn As +leDbConnection
Dim cmm) As +leDbComman)
Dim )=ea)er As +leDbData=ea)er
Private Sub ;rmMasterBaran630oa)(ByVal sen)er As System.+b4ect5
ByVal e As System.(ventAr6s) 7an)les MyBase.0oa)
8Buka koneksi
cnn = Ne/ +leDbConnection(strcon)
I; cnn.State CD ConnectionState.Close) %en cnn.Close()
cnn.+*en()
8Buat AutoNumber u ko)e baran6
Dim strem* As Strin6 = ..
Dim strValue As Strin6 = ..
Dim sEl As Strin6
sEl = .S(0(C A ,=+M BA=AN: +=D(= BF $DB=: D(SC.
cmm) = Ne/ +leDbComman)(sEl5 cnn)
)=ea)er = cmm).(!ecute=ea)er
I; )=ea)er.=ea) %en
strem* = Mi)()=ea)er.Item(.$DB=:.)5 &5 9)
(lset!t$)Br6.e!t = .B:@@@@".
(!it Sub
(n) I;
strValue
8Ms6Bo!(strem*)
strValue = Val(strem*) > "
t!t$)Br6.e!t = .B:. 2 Mi)(.@@@@@.5 "5 9 G strValue.0en6t%) 2
(n) Sub
Tom7ol Keluar :
Private Sub cm)$eluar3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)$eluar.Click
Me.Dis*ose()
(n) Sub
TH-Barang :
Private Sub t!t$)Br63$eyPress(ByVal sen)er As +b4ect5 ByVal e As
System.-in)o/s.,orms.$eyPress(ventAr6s) 7an)les t!t$)Br6.$eyPress
I; Asc(e.$eyC%ar) = "& %en
cmm) = Ne/ +leDbComman)(.S(0(C A ,=+M BA=AN: -7(=(
$DB=:=8. 2 t!t$)Br6.e!t 2 .8.5 cnn)
)=ea)er = cmm).(!ecute=ea)er
I; )=ea)er.=ea) %en
884ika )ata )itemukan
cm)Sim*an.(nable) = ,alse
cm)Hba%.(nable) = rue
cm)7a*us.(nable) = rue
t!tNmBr6.e!t = )=ea)er.Item(.NMB=:.)
t!tSatuan.e!t =
,ormat(CDbl()=ea)er.Item(.SAHAN.))5.II5IIII5IIII5III.)
t!tNmBr6.,ocus()
(lset!tNmBr6.,ocus()
t!tNmBr6.e!t = ..
t!tSatuan.e!t = ..
(n) I;
(n) I;
(n) Sub
1m*$im3an
Private Sub cm)Sim*an3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)Sim*an.Click
Dim sEl As Strin6
Dim strem* As Strin6 = ..
Dim strValue As Strin6 = ..
sEl = .INS(= IN+ BA=AN:($DB=:5 NMB=:5 SAHAN) . 2 3
.VA0H(S(8. 2 t!t$)Br6.e!t 2 3
.858. 2 t!tNmBr6.e!t 2 .858. 2 t!tSatuan.e!t 2 .8).
cmm) = Ne/ +leDbComman)(sEl5 cnn)
Dim ! As Inte6er = cmm).(!ecuteNonJuery
I; ! = " %en
Messa6eBo!.S%o/(.DAA B(=7ASI0 DISIMPAN.)
sEl = .S(0(C A ,=+M BA=AN: +=D(= BF $DB=: D(SC.
cmm) = Ne/ +leDbComman)(sEl5 cnn)
)=ea)er = cmm).(!ecute=ea)er
I; )=ea)er.=ea) %en
strem* = Mi)()=ea)er.Item(.$DB=:.)5 &5 9)
8caraC%ris
8strC%ris = Mi)()=ea)er.Item(.$DB=:.)5 &5 9) > "
(lset!t$)Br6.e!t = .B:@@@@".
(!it Sub
(n) I;
strValue
8Ms6Bo!(strem*)
strValue = Val(strem*) > "
t!t$)Br6.e!t = .B:. 2 Mi)(.@@@@@.5 "5 9 G strValue.0en6t%)2
t!tNmBr6.e!t = ..
t!tSatuan.e!t = ..
t!tNmBr6.,ocus()
(lseMessa6eBo!.S%o/(.:A:A0 M(NFIMPAN DAA.)
(n) I;
(n) Sub
Tom7ol U7ah:
Private Sub cm)Hba%3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)Hba%.Click
Dim sEl As Strin6
sEl = .HPDA( BA=AN: S( NMB=:=8. 2 t!tNmBr6.e!t 2 .85. 2 3
.SAHAN=8. 2 t!tSatuan.e!t 2 .8 . 2 3
.-7(=( $DB=:=8. 2 t!t$)Br6.e!t 2 .8.
cmm) = Ne/ +leDbComman)(sEl5 cnn)
Dim ! As Inte6er = cmm).(!ecuteNonJuery
I; ! = " %en
Messa6eBo!.S%o/(.DAA B(=7ASI0 DIHPDA(.)
t!t$)Br6.e!t = ..
t!tNmBr6.e!t = ..
t!tSatuan.e!t = ..
t!t$)Br6.(nable) = rue
t!t$)Br6.,ocus()
(lseMessa6eBo!.S%o/(.:A:A0 HPDA( DAA.)
(n) I;
(n) Sub
Tom7ol !a3us
Private Sub cm)7a*us3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)7a*us.Click
Dim sEl As Strin6
sEl = .D(0(( ,=+M BA=AN: -7(=( $DB=:=8. 2 t!t$)Br6.e!t 2 .8.
cmm) = Ne/ +leDbComman)(sEl5 cnn)
Dim ! As Inte6er = cmm).(!ecuteNonJuery
I; ! = " %en
Messa6eBo!.S%o/(.DAA B(=7ASI0 DI7APHS.)
t!t$)Br6.e!t = ..
t!tNmBr6.e!t = ..
t!tSatuan.e!t = ..
t!t$)Br6.(nable) = rue
t!t$)Br6.,ocus()
(lseMessa6eBo!.S%o/(.:A:A0 7APHS DAA.)
(n) I;
(n) Sub
Tom7ol Ba-al
Private Sub cm)Batal3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)Batal.Click
t!tNmBr6.e!t = ..
t!tSatuan.e!t = ..
t!tNmBr6.,ocus()
(n) Sub
Tom7ol 1ari
Private Sub btnCariBr63Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les btnCariBr6.Click
Dim *o*u*br6 As Ne/ Po*Br6
*o*u*br6.S%o/Dialo6()
I; *o*u*br6.ret$)Br6 CD .. %en
t!t$)Br6.e!t = *o*u*br6.ret$)Br6
t!tNmBr6.e!t = *o*u*br6.retNmBr6
t!tSatuan.e!t = ,ormat(CDbl(*o*u*br6.retSatuan)5
.II5IIII5IIII5III.)
t!t$)Br6.(nable) = ,alse
t!tNmBr6.,ocus()
(n) I;
(n) Sub
(n) Class
2$ Buatlah aplikasi 4ist Baran! 0an! sudah di sipan :
Im*orts System.Data.+leDb
Im*orts System.Data
Public Class Po*Br6
Public ret$)Br65 retNmBr65 retSatuan As Strin6
Dim cnn As +leDbConnection
Dim cmm) As +leDbComman)
Dim )=ea)er As +leDbData=ea)er
Private Sub *o*Br630oa)(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les MyBase.0oa)
Call list3)ata()
(n) Sub
txt9e#
Private Sub t!t$ey3e!tC%an6e)(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les t!t$ey.e!tC%an6e)
Call list3)ata()
(n) Sub
Public Sub list3)ata()
Call clear3list()
Dim sEl! As Strin6
Dim ! As Inte6er
sEl! = .select $DB=:5 NMB=:5 SAHAN ;rom BA=AN: /%ere NMB=:
like 8K. 2 rim(t!t$ey.e!t) 2 .K8 or)er by $DB=: asc.
cnn = Ne/ +leDbConnection(strConn)
I; cnn.State CD ConnectionState.Close) %en cnn.Close()
cnn.+*en()
cmm) = Ne/ +leDbComman)(sEl!5 cnn)
)=ea)er = cmm).(!ecute=ea)er
ry
-%ile )=ea)er.=ea) = rue
! = Val(counter.e!t)
counter.e!t = Str(Val(counter.e!t) > ")
(n) Sub
-it% 0istVie/"
.Items.A))(..)
.Items(0istVie/".Items.Count G ").SubItems.A))(..)
.Items(0istVie/".Items.Count G ").SubItems.A))(..)
.Items(0istVie/".Items.Count G ").SubItems.A))(..)
.Items(!).SubItems(@).e!t = )=ea)er.:etStrin6(@)
.Items(!).SubItems(").e!t = )=ea)er.:etStrin6(")
.Items(!).SubItems(#).e!t = )=ea)er.:etValue(#)
(n) -it%
(n) -%ile
,inally
)=ea)er.Close()
(n) ry
cnn.Close()
Private Sub clear3list()
-%ile Val(counter.e!t) D @
0istVie/".Items(@).=emove()
counter.e!t = Val(counter.e!t) G "
(n) -%ile
(n) Sub
5istView1
Private Sub 0istVie/"3DoubleClick(ByVal sen)er As +b4ect5 ByVal e As
System.(ventAr6s) 7an)les 0istVie/".DoubleClick
Call *ili%()
(n) Sub
Private Sub *ili%()
ry
ret$)Br6 = 0istVie/".Selecte)Items(@).SubItems(@).e!t.oStrin6
retNmBr6 = 0istVie/".Selecte)Items(@).SubItems(").e!t.oStrin6
retSatuan = 0istVie/".Selecte)Items(@).SubItems(#).e!t.oStrin6
Me.Close()
Catc% e! As (!ce*tion
Ms6Bo!(.*ili% sala% satu )ata.5 Ms6Bo!Style.In;ormation)
(n) ry
End Sub
Tom7ol O,
Private Sub btn+$3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les btn+$.Click
Call *ili%()
(n) Sub
(n) Class
Min!!u 10 :
Buatlah .plikasi 2ntr0 data 9upplier 0an! terlihat pada !a#ar di#a:ah ini$
Im*orts System.Data.+leDb
Im*orts System.Data
Public Class ;rmMasterSu**lier
Dim cnn As +leDbConnection
Dim cmm) As +leDbComman)
Dim )=ea)er As +leDbData=ea)er
Private Sub ;rmMasterSu**lier30oa)(ByVal sen)er As System.+b4ect5 ByVal
e As System.(ventAr6s) 7an)les MyBase.0oa)
8Buka koneksi
cnn = Ne/ +leDbConnection(strConn)
I; cnn.State CD ConnectionState.Close) %en cnn.Close()
cnn.+*en()
8Buat AutoNumber u ko)e baran6
Dim strem* As Strin6 = ..
Dim strValue As Strin6 = ..
Dim sEl As Strin6
sEl = .S(0(C A ,=+M SHPP0I(= +=D(= BF $DSHP D(SC.
cmm) = Ne/ +leDbComman)(sEl5 cnn)
)=ea)er = cmm).(!ecute=ea)er
I; )=ea)er.=ea) %en
strem* = Mi)()=ea)er.Item(.$DSHP.)5 &5 9)
8caraC%ris
8strC%ris = Mi)()=ea)er.Item(.$DSHP.)5 &5 9) > "
(lset!t$)Su*.e!t = .SH@@@@".
(!it Sub
strValue
(n) I;
8Ms6Bo!(strem*)
strValue = Val(strem*) > "
t!t$)Su*.e!t = .SH. 2 Mi)(.@@@@@.5 "5 9 G strValue.0en6t%) 2
(n) Sub
Tom7ol Keluar :
Private Sub cm)$eluar3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)$eluar.Click
Me.Dis*ose()
(n) Sub
TH-Ko*e $u33lier
Private Sub t!t$)Su*3$eyPress(ByVal sen)er As +b4ect5 ByVal e As
System.-in)o/s.,orms.$eyPress(ventAr6s) 7an)les t!t$)Su*.$eyPress
I; Asc(e.$eyC%ar) = "& %en
cmm) = Ne/ +leDbComman)(.S(0(C A ,=+M SHPP0I(= -7(=(
$DSHP=8. 2 3 t!t$)Su*.e!t 2 .8.5 cnn)
)=ea)er = cmm).(!ecute=ea)er
I; )=ea)er.=ea) %en
884ika )ata )itemukan
cm)Sim*an.(nable) = ,alse
cm)Hba%.(nable) = rue
cm)7a*us.(nable) = rue
t!tNmSu*.e!t = )=ea)er.Item(.NMSHP.)
t!tAlamat.e!t = )=ea)er.Item(.A0AMA.)
t!tNmSu*.,ocus()
(lset!tNmSu*.,ocus()
t!tNmSu*.e!t = ..
t!tAlamat.e!t = ..
(n) I;
(n) I;
(n) Sub
Tom7ol $im3an :
Private Sub cm)Sim*an3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)Sim*an.Click
Dim sEl As Strin6
Dim strem* As Strin6 = ..
Dim strValue As Strin6 = ..
sEl = .INS(= IN+ SHPP0I(=($DSHP5 NMSHP5 A0AMA) . 2 3
.VA0H(S(8. 2 t!t$)Su*.e!t 2 3
.858. 2 t!tNmSu*.e!t 2 .858. 2 t!tAlamat.e!t 2 .8).
cmm) = Ne/ +leDbComman)(sEl5 cnn)
Dim ! As Inte6er = cmm).(!ecuteNonJuery
I; ! = " %en
Messa6eBo!.S%o/(.DAA B(=7ASI0 DISIMPAN.)
sEl = .S(0(C A ,=+M SHPP0I(= +=D(= BF $DSHP D(SC.
cmm) = Ne/ +leDbComman)(sEl5 cnn)
)=ea)er = cmm).(!ecute=ea)er
I; )=ea)er.=ea) %en
strem* = Mi)()=ea)er.Item(.$DSHP.)5 &5 9)
8caraC%ris
8strC%ris = Mi)()=ea)er.Item(.$DSHP.)5 &5 9) > "
(lset!t$)Su*.e!t = .SH@@@@".
(!it Sub
(n) I;
8Ms6Bo!(strem*)
strValue = Val(strem*) > "
t!t$)Su*.e!t = .SH. 2 Mi)(.@@@@@.5 "5 9 G strValue.0en6t%)2 strValue
(lse
t!tNmSu*.e!t = ..
t!tAlamat.e!t = ..
t!tNmSu*.,ocus()
Messa6eBo!.S%o/(.:A:A0 M(NFIMPAN DAA.)
(n) I;
(n) Sub
Tom7ol U7ah :
Private Sub cm)Hba%3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)Hba%.Click
Dim sEl As Strin6
sEl = .HPDA( SHPP0I(= S( NMSHP=8. 2 t!tNmSu*.e!t 2 .85. 2 3
.A0AMA=8. 2 t!tAlamat.e!t 2 .8 . 2 3
.-7(=( $DSHP=8. 2 t!t$)Su*.e!t 2 .8.
cmm) = Ne/ +leDbComman)(sEl5 cnn)
Dim ! As Inte6er = cmm).(!ecuteNonJuery
I; ! = " %en
Messa6eBo!.S%o/(.DAA B(=7ASI0 DIHPDA(.)
t!t$)Su*.e!t = ..
t!tNmSu*.e!t = ..
t!tAlamat.e!t = ..
t!t$)Su*.(nable) = rue
t!t$)Su*.,ocus()
(lseMessa6eBo!.S%o/(.:A:A0 HPDA( DAA.)
(n) I;
(n) Sub
Tom7ol !a3us :
Private Sub cm)7a*us3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)7a*us.Click
Dim sEl As Strin6
sEl = .D(0(( ,=+M SHPP0I(= -7(=( $DSHP=8. 2 t!t$)Su*.e!t 2
.8.
cmm) = Ne/ +leDbComman)(sEl5 cnn)
Dim ! As Inte6er = cmm).(!ecuteNonJuery
I; ! = " %en
Messa6eBo!.S%o/(.DAA B(=7ASI0 DI7APHS.)
t!t$)Su*.e!t = ..
t!tNmSu*.e!t = ..
t!tAlamat.e!t = ..
t!t$)Su*.(nable) = rue
t!t$)Su*.,ocus()
(lseMessa6eBo!.S%o/(.:A:A0 7APHS DAA.)
(n) I;
(n) Sub
Tom7ol Ba-al :
Private Sub cm)Batal3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)Batal.Click
t!tNmSu*.e!t = ..
t!tAlamat.e!t = ..
(n) Sub
4).) $oal- $oal
Min!!u A
1$ Buatlah .plikasi siste in+orasi den!an en!!unakan anipulasi data pada
*BM9
M0s>l seperti .plikasi Perpustakaan7 untuk latihan #uatlah +or *ata
Mahasis:a/Me#er untuk koponen input dan output dapat disesuaikan
#erdasarkan hasil o#vervasi ke#utuhan perpustakaan terse#ut$
Min!!u 10
2$ Kelan(utan Pro!ra selan(utn0a +or pein(aan Buku perpustakaan7 untuk
desain dan input7 output dapat disesuaikan$ *iana desain input eiliki laa
pein(aan/#atas pen!e#alian$
MODUL I
M%U DA 1"@$TAL "%PO"T
Perteuan : 227 24
Peralatan & Perlen!kapan : VI9@.4 9T@*I' 200- VB$%2T dan M09D4
Tu(uan pe#ela(aran praktiku :
H Mahasis:a dapat en!!unakan Menu Mana!er untuk en!hu#un!kan
seua +or aplikasi se"ara dinais$ B,)C
H Mahasis:a dapat en!!nakan ,r0stal Report untuk pe#uatan 4aporan
pada pero!raan VB$net B,)C
I)1) Teori8Konse3
I)1)1) 1r+s-al "e3or-
Menurut Dar+an-o en!eukakan #ah:a "rstal report7 0aitu: J+rystal report
meru3a,an tool +ang sering *iguna,an un-u, mem7ua- la3oranK)
L4M
Menurut Ma*com dala #ukun0a 0an! #er(udul Database 7isual Basic )-*
Dengan "rstal <eport en0e#utkan #ah:a : N1r+s-al re3o-s meru3a,an
3rogram ,husus un-u, mem7ua- la3oran +ang -er3isah *ari 3rogram Microso>-
Visual Basic -e-a3i ,e*uan+a *a3a- *ihu7ung,an ;linkagge9N)L14M
*ari uraian diatas dapat disipulkan #ah:a "rstal <eport erupakan pro!ra
khusus untuk e#uat laporan 0an! terpisah dari pro!ra Microso$t 7isual Basic
tetapi keduan0a dapat dihu#un!kan$
Pada standar reprts expert terdiri dari delapan lan!kah 0aitu:
a- Tab data
Ta# data ini harus enentukan ta#el atau >uer0 0an! akan di!unakan untuk
e#uat laporan$
b- Tab $ields
Ta# ini dapat enentukan $ieldB$ield atau kolo8kolo 0an! akan
ditapilkan dala laporan$
c- Tab sort
Ta# ini dapat en!urutkan atau en!elopokan data8data 0an!akan
ditapilkan dala laporan$
d- Tab total
Ta# ini dapat enapilkan su#total #erdasarkan kriteria atau
pen!elopokan #erdasarkan $ields 0an! telah ditentukan pada tab se#elin0a$
e- Tab top>
Ta# ini dapat enentukan data 0an! akan ditapilkan den!an "ara eilih %
ter#esar dari data 0an! ada$
$- Tab graph
Ta# ini dapat e#uat dan eilih tpe gra$ik 0an! diin!inkan$
g- Tab select
Ta# ini dapat en0arin! atau e+ilter recordBrecord 0an! akan
ditapilkan dala laporan$
h- Tab stle
Ta# ini dapat eilih #entuk tapilan laporan dan enuliskan (udul laporan
0an! diin!inkan$
Kele#ihan 0an! terdapat dala crstal report adalah hasil "etakan crstal report
le#ih #aik dan le#ih udah7 karena pada crstal report #an0ak tersedia o#(ek aupun
koponen 0an! udah di!unakan$
6u#un!an crstal report den!an visual basic 0aitu per"etakan/ hasil akhir
dilakukan dala se#uah +or aka o#(ek crstal report 0an! terdapat didala
+or harus dihu#un!kan den!an +ile crstal report 0an! sudah (adi$
Berkaitan den!an tapilan laporan ada #e#erapa to#ol 0an! endukun!7
0aitu:
1$ Tab Design
?un!si dari tab design ini adalah untuk enapilkan desain laporan 0an! di#uat$
2$ Tab &revie9
?un!si dari tab previe9 adalah untuk enapilkan #entuk/hasil dari laporan$
@ntuk e#uat enu7 pilih didala tool#o3 lalu ketikkan naa
enu sesuai den!an 0an! diin!inkan
.tau #isa (u!a den!an en!etikkan enu pada properties t e 3t
Pen!!unaan tanda J&J diantara naa enu7 #er+un!si a!ar enu dapat
diakses en!!unakan ke0#oard den!an enekan to#ol a lt disertai den!an huru+ 0an!
#er!aris
#a:ah$
(ika pro!ra sudah di(alankan7 enu ini dapat diakses den!an
enekan to#ol Jalt dan J se"ara #ersaaan$
I)') La-ihan $oal
Tapilan Menu @taa dari pro!ra aplikasi Pen(ualan Produk
@ntuk e#uat laporan den!an ,r0stal Report lan!kah 0an! harus dilakukan
adalah se#a!ai #erikut :
1$ Klik kanan pada Pro(e"t keudian pilih .dd lalu pilih .dd ;indo:s
?ors setelah itu pro!ra akan enapilkan kontak dialo! A** e: I-em
2. Pada +or A** e: I-em/ pilih 1r+s-al "e3or-/ lalu tekan to#ol A**$
Tuliskan naa laporan 0an! akan di#uat pada kolo ame)
)$ Pada ?or ,r0stal Report Galler0 klik .s a Blank Report klik to#ol 'K
4. 9etelah desain ,r0stal Report tapil klik kanan pada *ata#ase ?ields lalu pilih
*ata#ase 23pert$
9ehin!!a un"ul tapilan seperti di#a:ah$ Karena kita en!!unakan data#ase .""ess7
aka kita pilih ,reate %e: ,onne"tion .*'$net klik 'K
-$ Keudian pilih ta#el 0an! akan di#uat reportn0a pada ?or *ata#ase
23pert setelah itu klik 'K
/$ *esain Tapilan ,r0stal Raport$
Perbedaan
setelah
dikoneksik
an
ta l
1$ @ntuk endesi!n #entuk "etakan7 dapat dilakukan di #a!ian Report 6eader7 Pa!e
6eader7 Report ?ooter dan Pa!e ?ooter
@ntuk e#uat laporan den!an ,r0stal Report7 #iasan0a diperlukan se#uah +or 0an!
enapun! tapilan seentara ,r0stal Report$ Maka kita perlu ena#ah se#uah +or
#aru$ 4an!kah8lan!kah 0an! dilakukan adalah s##:
1. Klik kanan pada Pro(e"t di 9olution 23plorer a Klik A** a =in*o:s &orm
2$ @#ah naa pada kolo %ae
)$ Ta#ahkan o#(ek ,r0stalReportVie:er dari Tool#o3 kedala +or$ 6al
ini #er!una untuk koneksi +or den!an ,r0stalReport
4$ Keudian koneksikan +or den!an ,r0stalReport 0an! telah di#uat :
.tur 3ro3er-ies a "e3or-$ource 88P pilih ,r0stalReport 0an! telah di#uat
-$ Tapilann0a akan en(adi :
Ini "ontoh apa#ila in!in e#uat +or "etak #aran! den!a kodin! se#a!ai
#erikut$ Pada +or ?r,etak9P ketikan "ode #erikut:
1$ Buatlah pro!ra untuk entr0 9upplier 0an! erupakan satu kesatuan dari pro!ra
perteuan A dan 10 en!a"u pada data#ase se#elun0a$tapilan pro!ra terlihat pada
!a#ar di#a:ah ini$
2$ Buatlah pro!ra pesanan untuk aplikasi pen(ualan produk den!an en!a"u latihan
se#elun0a$ @ntuk desain ran"an!an tapilan se#a!ai #erikut :
Kodin! :
Im*orts System.Data.+leDb
Im*orts System.Data
Public Class ;rm(ntrySP
Dim cnn As +leDbConnection
Dim cmm)5 cmm)"5 cmm)# As +leDbComman)
Dim )=ea)er As +leDbData=ea)er
Private in)e! As Inte6er = @
Private otal As Double = @.@
Private Sub ;rm(ntrySP30oa)(ByVal sen)er As System.+b4ect5 ByVal e
As System.(ventAr6s) 7an)les MyBase.0oa)
8Buka koneksi
cnn = Ne/ +leDbConnection(strConn)
I; cnn.State CD ConnectionState.Close) %en cnn.Close()
cnn.+*en()
8Buat AutoNumber u Surat Pesanan
Dim strem* As Strin6 = ..
Dim strValue As Strin6 = ..
Dim sEl As Strin6
sEl = .S(0(C A ,=+M SP +=D(= BF N+SP D(SC.
cmm) = Ne/ +leDbComman)(sEl5 cnn)
)=ea)er = cmm).(!ecute=ea)er
I; )=ea)er.=ea) %en
strem* = Mi)()=ea)er.Item(.N+SP.)5 &5 9)
(lset!tNoSP.e!t = .SP@@@@".
(!it Sub
(n) I;
8Ms6Bo!(strem*)
strValue = Val(strem*) > "
t!tNoSP.e!t = .SP. 2 Mi)(.@@@@@.5 "5 9 G strValue.0en6t%) 2 strValue
(n) Sub
Un-u, TeH-7oH- ,o*e su33lier :
Private Sub t!tNoSP3$eyPress(ByVal sen)er As +b4ect5 ByVal e As
System.-in)o/s.,orms.$eyPress(ventAr6s) 7an)les t!tNoSP.$eyPress
I; Asc(e.$eyC%ar) = "& %en
btnCariSu*.,ocus()
(n) I;
(n) Sub
Tom7ol 1ari :
Private Sub btnCariSu*3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les btnCariSu*.Click
Dim *o*u*su* As Ne/ Po*Su*
*o*u*su*.S%o/Dialo6()
I; *o*u*su*.ret$)Su* CD .. %en
t!tk)su*.e!t = *o*u*su*.ret$)Su*
t!tNmSu*.e!t = *o*u*su*.retNmSu*
t!tNmSu*.,ocus()
(n) I;
(n) Sub
Un-u, -eH-7oH- nama su33lier :
Private Sub t!tNmsu*3$eyPress(ByVal sen)er As +b4ect5 ByVal e As
System.-in)o/s.,orms.$eyPress(ventAr6s) 7an)les t!tNmSu*.$eyPress
I; Asc(e.$eyC%ar) = "& %en
BtnCariBr6.,ocus()
(n) I;
(n) Sub
Un-u, TeH-7oH- (umlah 7arang :
Private Sub t!t<mlbeli3$eyPress(ByVal sen)er As +b4ect5 ByVal e As
System.-in)o/s.,orms.$eyPress(ventAr6s) 7an)les t!t<mlBeli.$eyPress
I; Asc(e.$eyC%ar) = "& %en
Setotal()
t!total.,ocus()
(n) I;
(n) Sub
Un-u, TeH-7oH To-al :
Private Sub t!total3$eyPress(ByVal sen)er As +b4ect5 ByVal e As
System.-in)o/s.,orms.$eyPress(ventAr6s) 7an)les t!total.$eyPress
I; Asc(e.$eyC%ar) = "& %en
btnamba%.,ocus()
(n) I;
(n) Sub
Sub Setotal()
Dim a As Inte6er
a = CInt(t!t<mlBeli.e!t) A CInt(t!tSatuan.e!t)
t!total.e!t = ,ormat(CDbl(CStr(a))5 .II5IIII5IIII5III.)
8t!t.e!t = ,ormat(CDbl(t!t.e!t)5 .II5IIII5IIII5III.)
(n) Sub
Un-u, -om7ol cari 7arang :
Private Sub BtnCariBr63Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les BtnCariBr6.Click
Dim *o*u*br6 As Ne/ Po*Br6
*o*u*br6.S%o/Dialo6()
I; *o*u*br6.ret$)Br6 CD .. %en
t!t$)Br6.e!t = *o*u*br6.ret$)Br6
t!tNmBr6.e!t = *o*u*br6.retNmBr6
t!tSatuan.e!t = ,ormat(CDbl(*o*u*br6.retSatuan)5
.II5IIII5IIII5III.)
t!t<mlBeli.,ocus()
(n) I;
(n) Sub
Un-u, Tom7ol -am7ah :
Private Sub btnamba%3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les btnamba%.Click
Dim Value() As Strin6 = Lt!t$)Br6.e!t5 t!tNmBr6.e!t5
t!tSatuan.e!t5 t!t<mlBeli.e!t5 t!total.e!tM
A))0ist(Value)
otal >= CDbl(t!total.e!t) 1 t!t:ran)otal.e!t =
,ormat(CDbl(CStr(otal))5 .II5IIII5IIII5III.)
t!t$)Br6.e!t = .. 1 t!tNmBr6.e!t = .. 1 t!tSatuan.e!t = .. 1
t!t<mlBeli.e!t = ..
t!total.e!t = ..
t!t$)Br6.,ocus()
(n) Sub
Sub A))0ist(ByVal Value() As Strin6)
Dim subIn)e! As Inte6er
0istVie/".Items.A))(..)
,or subIn)e! = @ o '
0istVie/".Items(in)e!).SubItems.A))(..)
0istVie/".Items(in)e!).SubItems(subIn)e!).e!t =
Value(subIn)e!)
Ne!t
(n) Sub
in)e! = in)e! > "
Un-u, Tom7ol $im3an :
Private Sub cm)Sim*an3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)Sim*an.Click
Dim counter As Inte6er
Dim sEl"5 sEl# As Strin6
ry sEl" = .INS(= IN+ SP(N+SP5 :0SP5 $DSHP) . 2 3
.VA0H(S(8. 2 t!tNoSP.e!t 2 .858. 2 3
DateimePicker&.e!t 2 .858. 2 3
t!tk)su*.e!t 2 .8).
cmm)" = Ne/ +leDbComman)(sEl"5 cnn)
Dim ! As Inte6er = cmm)".(!ecuteNonJuery
,or counter = @ o in)e! G "
sEl# = .INS(= IN+ P(SAN($DB=:5N+SP5 <M05 7=:) . 2 3
.VA0H(S(8. 2 3
0istVie/".Items(counter).SubItems(@).e!t 2 .858. 2 3
t!tNoSP.e!t 2 .858. 2 3
0istVie/".Items(counter).SubItems(&).e!t 2 .858. 2 3
0istVie/".Items(counter).SubItems(#).e!t 2 .8).
cmm)# = Ne/ +leDbComman)(sEl#5 cnn)
cmm)#.(!ecuteNonJuery()
Ne!t
I; ! = " %en
Messa6eBo!.S%o/(.DAA SP B(=7ASI0 DISIMPAN.)
(n) I;
Catc% e! As (!ce*tion
Ms6Bo!(e!.Messa6e)
(n) ry
(n) Sub
Un-u, -om7ol Ba-al :
Private Sub cm)Batal3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)Batal.Click
0istVie/".Items.Clear()
in)e! = @ 1 otal = @
t!t:ran)otal.e!t = ..
(n) Sub
Un-u, Tom7ol ,eluar :
Private Sub cm)$eluar3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)$eluar.Click
Me.Close()
(n) Sub
(n) Class
I).) $oal- $oal
Min!!u 11
1$ Buatlah aplikasi +or stok #uku 0an! dipin(a Mahasis:a atau e#er
tapilan
aplikasi dapat en!!unakan data !ridvie: dan te3t#o3 untuk pen"ariaan
#erdasarkan kode#uku atau %i ahasis:a$
Min!!u 12
2$ Buatlah .plikasi +or input data#uku di!unakan untuk ena#ahkan koleksi
#uku serta kate!ori #uku 0an! dapat dipin(a atau tidak$ Pada +or ini inputan
dapat #erupa kode#uku7 (udul #uku7 pener#it7 pen!aran!7 edisi7 alaat lokasi
pen0ipanan dst$
MODUL O
Pac,age %Hecu-e Program
Per-emuan : 'I
Perala-an 2 Perleng,a3an : VI$UAL $TUDIO '004 VB)%T *an M+$5L
Tu6uan 3em7ela6aran 3ra,-i,um :
H Mahasis:a dapat e#uat dan eran"an! siste in+orasi den!an
en!!unakan pero!raan VB$%et B,-C
O)1) Teori8Konse3
Me#uat 23e"uta#le:
Pro!ra 0an! telah di#uat #iasan0a harus di(alankan den!an "ara e#uka siste
Visual Basi" terle#ih dahulu7 hal ini eerlukan #an0ak :aktu dan tena!a$ @ntuk
elakukan e+isiensi aka se#aikn0a di#uat se#uah +ile 2L2 dari pro!ra 0an!
telah len!kap terse#ut$
@ntuk e#uat kopilasi pro!ra lakukan lan!kah8lan!kah di #a:ah ini
:
1$ Buka pro!ra 0an! akan dikopilasi Bisaln0a .plikasi
Pen(ualanC
2$ Klik enu ?ile7 pilih Make .plikasi Pen(ualan$e3e
b
)$ Tulis naa +ile 2L2 Bisaln0a Pro!ra
Pen(ualanC
4$ Tentukan posisi pen0ipanan +ile terse#ut Bisaln0a pada direktori ,:[Bela(ar VBC
-$ Keudian pilih OK
Mem7ua- $hor-cu-
9etelah ter#entuk +ile 2L2 den!an lan!kah8lan!kah di atas7 aka se#aikn0a .nda pun
e#uat shortcut8n0a di desktop den!an tu(uan a!ar pada saat pro!ra
terse#ut di(alankan .nda "ukup den!an elakukan doubleB"lick pada short"ut
terse#ut tanpa harus e#uka siste Visual Basi"$
O)') La-ihan $oal
Buatlah +or "etak surat pesanan en!a"u pada pro!ra se#elun0a :
Im*orts System.Data.+leDb
Im*orts System.Data
Public Class ;rmCetakSP
Dim cnn As +leDbConnection
Dim cmm) As +leDbComman)
Dim )=ea)er As +leDbData=ea)er
Private Sub ;rmCetakSP3Activate)(ByVal sen)er As +b4ect5 ByVal e As
System.(ventAr6s) 7an)les Me.Activate)
t!tNoSP.,ocus()
(n) Sub
Un-u, Tom7ol 1ari :
Private Sub BtnCaris*3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les BtnCaris*.Click
Dim *o*u*SP As Ne/ Po*SP
*o*u*SP.S%o/Dialo6()
I; *o*u*SP.retNoSP CD .. %en
t!tNoSP.e!t = *o*u*SP.retNoSP
t!t6lSP.e!t = ,ormat(CDate(*o*u*SP.ret6lSP)5 .)) G MMMM
G yyyy.) t!t$)Su*.e!t = *o*u*SP.ret$)Su*
cm)Cetak.,ocus()
(n) I;
8888 HNH$ M(NAMPI0$AN NAMA SHPP0I(=
Dim sEl! As Strin6
sEl! = .select NMSHP ;rom SHPP0I(= /%ere $DSHP like 8K. 2
rim(t!t$)Su*.e!t) 2 .K8 or)er by $DSHP asc.
cnn = Ne/ +leDbConnection(strConn)
cnn.+*en()
cmm) = Ne/ +leDbComman)(sEl!5 cnn)
)=ea)er = cmm).(!ecute=ea)er
I; )=ea)er.=ea) %en
t!tNmSu*.e!t = )=ea)er(@)
(n) I;
(n) Sub
Un-u, Tom7ol Keluar :
Private Sub cm)$eluar3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)$eluar.Click
Me$*isposeBC
(n) Sub
Tom7ol Ba-al :
Private Sub cm)Batal3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)Batal.Click
t!tNoSP.e!t = ..
t!t6lSP.e!t = ..
t!t$)Su*.e!t = ..
t!tNmSu*.e!t = ..
(n) Sub
Tom7ol 1e-a, :
Private Sub cm)Cetak3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les cm)Cetak.Click
,rm=*tCetakSP.S%o/()
(n) Sub
(n) Class
Im*orts System.Data.+leDb
Im*orts System.Data
Public Class Po*SP
Public retNoSP5 ret6lSP5 ret$)Su* As Strin6
Dim cnn As +leDbConnection
Dim cmm) As +leDbComman)
Dim )=ea)er As +leDbData=ea)er
Private Sub *o*SP30oa)(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les MyBase.0oa)
Call list3)ata()
(n) Sub
Private Sub t!t$ey3e!tC%an6e)(ByVal sen)er As System.+b4ect5 ByVal e
As System.(ventAr6s) 7an)les t!t$ey.e!tC%an6e)
Call list3)ata()
(n) Sub
Private Sub list3)ata()
Call clear3list()
Dim sEl! As Strin6
Dim ! As Inte6er
sEl! = .select N+SP5 :0SP5 $DSHP ;rom SP /%ere N+SP like 8K. 2
rim(t!t$ey.e!t) 2 .K8 or)er by N+SP asc.
cnn = Ne/ +leDbConnection(strConn)
I; cnn.State CD ConnectionState.Close) %en cnn.Close()
cnn.+*en()
cmm) = Ne/ +leDbComman)(sEl!5 cnn)
)=ea)er = cmm).(!ecute=ea)er
ry -%ile )=ea)er.=ea) = rue
! = Val(counter.e!t)
counter.e!t = Str(Val(counter.e!t) > ")
-it% 0istVie/"
.Items.A))(..)
.Items(0istVie/".Items.Count G ").SubItems.A))(..)
.Items(0istVie/".Items.Count G ").SubItems.A))(..)
.Items(0istVie/".Items.Count G ").SubItems.A))(..)
.Items(!).SubItems(@).e!t = )=ea)er.:etStrin6(@)
.Items(!).SubItems(").e!t
,ormat(CDate()=ea)er.:etDateime("))5 .))GMMMMGyyyy.)
.Items(!).SubItems(#).e!t = )=ea)er.:etStrin6(#)
(n) -it%
(n) -%ile
,inally
)=ea)er.Close()
(n) ry
cnn.Close()
(n) Sub
Private Sub clear3list()
-%ile Val(counter.e!t) D @
0istVie/".Items(@).=emove()
counter.e!t = Val(counter.e!t) G "
(n) -%ile
(n) Sub
Private Sub 0istVie/"3DoubleClick(ByVal sen)er As +b4ect5 ByVal e As
System.(ventAr6s) 7an)les 0istVie/".DoubleClick
Call *ili%()
(n) Sub
Private Sub *ili%()
ry
retNoSP = 0istVie/".Selecte)Items(@).SubItems(@).e!t.oStrin6
ret6lSP = 0istVie/".Selecte)Items(@).SubItems(").e!t.oStrin6
ret$)Su* = 0istVie/".Selecte)Items(@).SubItems(#).e!t.oStrin6
Me.Close()
Catc% e! As (!ce*tion
Ms6Bo!(.*ili% sala% satu )ata.5 Ms6Bo!Style.In;ormation)
(n) ry
(n) Sub
Tom7ol OK :
Private Sub btn+$3Click(ByVal sen)er As System.+b4ect5 ByVal e As
System.(ventAr6s) 7an)les btn+$.Click
Call *ili%()
(n) Sub
(n) Class
O).) $oal- $oal
1$ Buatlah .plikasi 9iste In+orasi dari salah satu atau #er#eda kasus8kasus 0an!
ada pada Industri seperti di#a:ah :
a$ 9iste In+orasi Reka Medis
#$ 9iste In+orasi Ra:at <alan dan Inap pada R9$ LEQ
"$ 9iste In+orasi "ard e#er untuk parkir @BM
d$ 9iste In+orasi Peesan Tiket Kereta .PI
e$ 9iste In+orasi Keuan!an/ General 4ed!er pada PT$ .B,*
+$ dst
setiap pro0ek dipresentasikan pada saat akhir perkuliahan atau perteuan 1) dan #urnin!
dala ,*/*V*7 untuk peran"an!an siste dapat di!a#arkan en!!unakan @M4 atau
*?*7 data#ase di!a#arkan dala #entuk "lass dia!ra atau 2R*$
DA&TA" PU$TAKA
*rs$ .rio 9ur0o Kusuo$ B2004C$ Visual Basi"$%et versi 2002 dan 200)$ 1$ 2le3 Media
Koputindo7 <akarta$
*odit 9uprinato$ B2010C$ Me#uat .plikasi *esktop en!!unakan M0s>l & VB$net$
1$ Mediakita7 <akarta$
Rani$B2001C$ *iktat Bahasa pero!raan )7@niversitas Budi 4uhur ,iledu!