Anda di halaman 1dari 43

1.1.

1.2.

BABI MENGENALDANMENCOBAMSVISUALBASIC6.0 MengenalMicrosoftVisualBasic6.0 MicrosoftVisualBasic6.0adalahbahasapemrogramanyangbekerjadalamlingkup MSWindows. Microsoft Visual Basic 6.0 dapat memanfaatkan kemapuan MS Windows secara optimal. Kemampuannya dapat dipakai untuk merancang program aplikasiyangberpenampilansepertiprogramaplikasiyangberbasisMSWindows CaraMemulaiProgramMicrosoftVisualBasic6.0 UntukmemulaiMicrosoftVisualBasic6.0lakukanlahsepertilangkahlangkahberikut : 1.KliskStart 2.TunjukProgram,dilanjutandenganMicrosoftVisualBasic6.0 3.KlikMicrosoftVisualBasic6.0 4.Akanmunculgambarsepertidibawahini,pilihStandardExe,KlikOpen.

Gambar1.1.TampilanNewProject

BarisMenu Toolbar Toolbox Form Jendela Project

Jendela Propertis Jendela FormLayout

Gambar1.2.TampilanDasarMicrosoftVisualBasic6.0

1.3. BeberapaKomponenMicrosoftVisualBasic6.0 1.Project Project adalah sekumpulan modul. Jadi Project adalah program aplikasi itu sendiri. Project disimpan dalam file yang berektensi .VBP. file ini menyimmpan seluruh komponen program, termasuk project, pilihan environment. Pilihan EXE dan segala sesuatu yang berhubungandenganproject 2.Form Form adalah suatu abjek yang dipakai sebagai tempat kerja program aplikasi. Form berbentukjendeladandapatdibayangkansebagaikertasataumejayangdapatdilukisatau diletakankedalannyaobjekobjeklain.

Gambar1.3.Form 3.Toolbox

Gambar1.4.Toolbox 4.Properties Propertis digunakan untuk mementukan seting suatu objek. Suatu objek biasanya mempunyai beberapa properti, yang dapat diatur langsung dari jendela Properties atau lewat kode program. Setting properti akan mementukan cara kerja dari objek yang bersangkuta saat program aplikasi dijalankan. Misalnya menentukan warna objek, bingkai objek,pengambilandatadanlainlain. Untuk mengaktifkan Properties dengan cara mengklik Menu View|Properties WindowsataudenganmenekantombokF4

Gambar1.5.Properties 5.KodeProgram Kode Program adalah serngkaian tulisan perintah yang akan dilakukan jika suatu objekdijalankan.Kodeprograminiakanmengontroldanmenentukanjalannyasuatuobjek. Contohkodeprogram. PrivateSubCommand1_click() Label1.Caption=SelamatBelajarMSVisualBasic Label2.Caption=DiSTMIKTasikmalaya EndSub 6.Event Eventadalahperistiwaataukejadianyangditerimaolehsuatuobjek,misalnyadiklik, drag, dan lain lain. Event yang diterima objek akan memicu MSVisual Basic 6.0 menjalankankodeprogramyangadadidalamnya. ContohEvent PrivateSubCommand1_click() Baris diatas menunjukan penggunaan event Click pada objek Command1, yang berarti jika mengklik pada objek Command1, maka baris baris kode program dibawahnya akan dijalankan. 7.Metoda Metoda adalah suatu set perintah seperti halnya fungsi dan prosedur, tetapi sudah tersedia di dalam suatu objek. Seperti halnya dengan properti (yang juga terdapat pada suatu objek), suatu metoda dapat dipanggil dengan menyebut nama objek tertentu, sedangkan properti biasanya memberi definisi nilai atau setting pada objek. Antara objek lain dengan objek lain dapat mempunyai metoda yang sama atau tidak sama, baik dalam segi umlah metoda atau semacam metoda. Metoda akan dapat dilihat saat program dijalankan. 8.Module

Module dapat disejajarkan dengan form, tetapi mengandung objek dan bentuk standarModuledapatberisibeberapakodeprogramatauprosedureyangdapatdigunakan dalamprogramaplikasi.Sebenarnyasuatuformjugasebuahmodule(disebutsebagaiFORM Module), tetapi mempunyai objek berupa form. Selain itu juga Class Module, yaitu suatu modul yang berupa objek class, yaitu suatu objek yang mempunyai metoda dan properti yangsudahterdefinisi. Untuk membuat modul sendiri, langkahnya masuk ke Menu Project | Add Module. Selanjutnyatinggalmengisikankodeprogramdalammoduletersebut. 1.4. MembuatProgramAplikasiPertama Contoh1.1 Tambahkan2BuahLabel,3BuahCommanddarijendelaToolbox BuatlahformdenganLayoutsebagaiberikut

Command1 Command2
Command3

PengaturanObjek NamaObjek Properties Isi Form1 Caption ProgramAplikasiYangPertama Label1 Caption SELAMATBELAJARMSVISUALBASIC Label2 Caption DISTMIKTASIKMALAYA Command1 Caption TUKAR Command2 Caption BALIK Command3 Caption KELUAR ListingProgram PrivateSubCommand1_Click() Label1.Caption=DISTMIKTASIKMALAYA Label2.Caption=SELAMATBELAJARMSVISUALBASIC EndSub PrivateSubCommand2_Click() Label1.Caption=SELAMATBELAJARMSVISUALBASIC Label2.Caption=DISTMIKTASIKMALAYA EndSub

PrivateSubCommand2_Click() End EndSub PenjelasanProgram Jika Di Klik Tombol Tukar maka pada label1 Caption akan berubah menjadi DI STMIK TASIKMALAYA.Padalabel2CaptionakanberubahmenjadiSELAMATBELAJARMSVISUAL BASIC. Jika Di Klik Tombol Tukar maka pada label1 Caption akan berubah menjadi SELAMAT BELAJAR MS VISUAL BASIC. Pada label2 Caption akan berubah menjadi DI STMIK TASIKMALAYA. JalankanProgramdenganMengklikMenuRun|KlikStartataumenggunakanF5 Simpanpekerjaandengancara 1.KlikMenuFilepilihSaveProjectAs 2.KetikanNamaFileProjectnyaLat1prj 3.KetikanNamaFileFormnyaLat1prj Contoh1.2

Langkahlangkahnya 1.KlikMenuFile 2.KlikNewProject 3.KlikStandardExe 4.KlikOpen PengaturanObjek NamaObjek Properties Form1 Caption Label1 Caption Label2 Caption Label3 Caption Text3 Enabled Command1 Caption Command2 Caption ListingProgram PrivateSubText1_Change()

Isi MENGHITUNGLUASPERSEGIPANJANG PANJANG LEBAR LUAS False MULAI SELESAI

Text3.Text=Val(Text1.Text)*Val(Text2.Text) EndSub PrivateSubText2_Change() Text3.Text=Val(Text1.Text)*Val(Text2.Text) EndSub PrivateSubCommand1_Click() Text1.Text= Text2.Text= Text3.Text= Text1.Setfocus EndSub PrivateSubCommand1_Click() End EndSub Ket: ValdigunakanuntukmengkonversidatayangberupaStringkeNumerikdandiKonversilagi keString Latihan1.1. BuatlahFormUntukmenghitungJumlahBayar,denganLayoutsebagaiberikut:

KetentuanProses: JumlahBayar=JumlahPembelian*HargaSatuan

BABII TIPEDATA,VARIABELDANOPERATOR 2.1.TipeData MSVisualBasic6.0menyediakanbeberapatipedatasepertipadatabeldibawah ini. Tipe Nilai Memory Integer BilanganBulat 2byte Long BilanganBulat 4byte Single BilanganDesimal 4byte Double BilanganDesimal 8byte Currency 15 Digit di depan koma dan 4 digit 8byte dibelakangkoma String Teks 1byteperkarakter Byte BilanganBulat 1byte Bolean Logika 2byte Date TanggaldanWaktu 8byte Object GambardanObjekyanglain 4byte Variant Tipedatasendiri 16byte+1byteperkarakter Tabel2.1NilaidanKebutuhanMemoriTipetipedata Tipe Range Integer 32768s/d32767 Long 2147483.648s/d2147483.647 Negatif :3.402823E38s/d1.401298E45 Single Positif :1.401298E45s/d3.402823E38 Negatif :1.79769313486232E308s/d4.94065645841247E324 Double Positif :4.94065645841247E324s/d1.79769313486232E308 Currency 922337203685477.5808s/d922337203685477.5807 String 0 s/d 2 milyar karakter (95/97 & NT) dan 0 s/d sekitar 65535 karakter (versi3.1) Byte 0s/d255 Bolean True(benar)atauFalse(salah) Date AJanuari100s/d31Desember9999 Object ReferensiObjek Variant Null,error,danseluruhtipedatalain,misalnyaboolean,numerik,string, objek,array Tabel2.2JangkauanNilaiTipetipedata 2.2.1.PenggunaanTipeDataVariant Jika di dalam suatu program tidak mendeklarasikab suatu variabel, tetapi langsung memakainya, maka variabel yang dipakai akan nertipe variant. Tipe data variant dapat dipakai untuk menampung data null, error, dan seluruh file data lain, misalnya boolean, numerik,string,objek,aray.Olehkarenaitupenggunaannyaharuslahsangatselektif,karena selaintidakmemberikankepastiantentangjenisdarayangdikandungnya,jugamemerlukan bytememorylebihbanyak. 2.1.2.TipeDataBuatanSendiri

Dalam MSVisual Basic 6.0 kita dapat membuat sendiri tipe data baru dengan mengambil salah satu atau beberapa tipe standar yang disediakan. Misalnya pada penanganan database, sering diperlukan variabel yang dapat menampung 1 record dara. Record data tersebut terdiri dari dari beberapa tipe data yang berbeda, misalnya record mahasiswadapatterdiritipedatastringuntukmenampungdataNPM,nama,alamat,kota, tanggallahir.RecorddataMahasiswasemacaminidisebuttipedataterstruktur. Penulisanumumtipedatabuatansendiriadalahsebagaiberikut: PrivateTypeNamaTipeData EndType Atau; PublicTypeNamaTipeData EndType Sebagaicontohuntukrecorddatapegawaisepertidibahasdiatas,dapatdibuattipe datanyasebagaiberikut: PublicTypeDataMahasiswa NPMAsString*10 NamaAsString*25 AlamatAsString*25 KotaAsString*10 TahunMasukAsLong TanggalLahirAsDate EndType 2.2.Variabel Variabel adalah suatu tempat dalam memory komputer yang diberi nama (sebagai pengenal) dan dialokasikan untuk menampung data, sesuai data yang ditampung, variabel harus mempunyai tipe data yang sesuai dengan isinya. Kita dapat menggunakan dua cara untukmemberitahuMSVisualBasic6.0tentangtipevariabeldannamavariabelyangakan dipakai. Cara pertama adalah menggunakan perintah DIM untuk mendeklarasikan nama variabelbesertatipedatanyapadaawalprosedur,seperticontohdibawahini. DimnamaAsString DimAlamatAsString*36 DimGajiAsLong

PernyataanDIMdiatasdisebutDeklarasiEksplisitdanmenyebabkanMSVisualBasic 6.0mengalokasikanmemorysesuaidengannamadantipeyangdiinginkansehinggavariabel dantipevariabelyangdigunakanterkontrol. CarakeduaDeklarasiImplisitseperticontohdibawahini Nama$=Asep Alamat$=Jl.MitraBatik21Tasikmalaya Gaji&=400000 Deklarasi implisit ini membuat MSVisual Basic 6.0 mengalokasikan nama variabel berikut tipenya dan langsung mengisi nilai variabelnya. Cara yang dianjurkan adalah cara pertama (DeklarasiEksplisitdenganmenuliskanDIM)karenalebihterencanadanterkontrol. 2.2.1.NamaVariabel Dalammenggunakannamavariabel,sebaiknyadigunakannamavariabelyangsesuai dengan dara yang dikandungnya data yang mudah diingat(singkat dan jelas). Misalnya NamaMhs, Alamat, TglLahir dan lain lain. Penulisan huruf besar dan kecilnya diatur biar lebih mudah dibaca. Kita tidak perlu mengkhawatirkan konsistensi penulisan besar can kecilnya, karena MSVisual Basic 6.0 akan otomatis menjaga konsistensi penulisannya. Menuliskan DIM NamaMhs, maka pada saat kita menulis dalam bada program nama variabel namamhs, akan diubah secara otomatis oleh MSVisual Basic 6.0 menjadi NamaMhs. Beberapa peraturan yang berlaku pada penggunaan nama variabel adalah sebagai berikut: 1. HarusdimulaidarikarakterAlfabet(Huruf) 2. HarusUnique(Tidakbolehadayangsama)padaruanglingkup(Scope)variabelyang sama. 3. Maksimum 255 karakter, tetapi hanya 40 karakter pertama yang dianggap sebagai namavariabelnya(Karakterke41danseterusnyadiabaikan) 4. Beberapa karakter tidak diperbolehkan dipakai, misalnya karakter yang dipakai operator(+,,*,/,<,>danlainlain),titikdua,titikkomadanlainlain. 2.2.2.RuangLingkupVariabel Ruang lingkup variabel (variabel scope) adalah ruang lingkup atau daerah dimana variabel yang dibuat dikenal (dapat dipakai). Ruang lingkup variabel biasanya juga berhubungan dengan umur (waktu hidup) variabel. Ada variabel yang dapat dikenal di seluruh bagian program (proyek) dan hidup selama program berjalan, ada variabel yang hanyadikenaldiprosedureataufungsitempatvariabeltersebutdibuatdanhidupnyahanya prosedureataufungsitersebutberjalan. Ruang lingkup paling dalam adalah ruang lingkup prosedure. Jika mendeklarasikan secaraeksplisitsuatuvariabeldidalamsuatuproseduredenganperintahDIM,Privateatau Static, maka variabel yang dideklarasikan mempunyai ruang lingkup prosedure, artinya

variabeltersebuthanyadikenaldandapatdipakaipadaprosedureyangbersangkutan.Jadi persifatLocalpadaprocedureitu.Jikapadaprosedurelainataupadaleveldiatanya(Form atauModul)mempunyaivariabeldengannamayangsama,makatidaksalingmengganggu. 2.3.Operator Untuk melakulan berbagai manipulasi dan pengolahan data, MSVisual Basic 6.0 menyediakanbermacammacamoperator. 2.3.1.OperatorPenugasan Operator penugasan disimbolkan dengan tanda sama dengan dan berfungsi untuk memasukansuatudatakedalamsuatuvariabel.Penulisannyaadalah: <variabel>=<ekpresi> Contoh Bilangan=0 Harga=500 2.3.2.OperatorAritmatika Digunakan untuk melakukan operasi aritmatika. Operator aritmatika mempunyai hirarki paling tinggi dibandingkan dengan operator yang lain, yaitu operator pembanding danoperatorlogika.Operatoraritmatikadenganhirarkipalingtinggikepalingrendahadalah sebagaiberikut Operator Operasi ^ Pangkat TandaNegatif *,/ PerkaliandanPembagian \ PembagiInteger Mod Modulud(sisapembagian) +, Tambahdanpengurangan +,& PenggabunganString Tabel2.3OperatorAritmatika 2.3.3.OperatorPembanding Operatorpembandingdigunakanutukmembandingkansuatudata(ekpresi)dengan data(ekpresi)laindanmenghasilkannilailogika(boolean)benaratausalah.Dengansyarat antaraduadatayangdibandingkanharusmempunyaitipedatayangsama.Berikutadalah tabeloperatorpembanding Operator Operasi = Samadengan <> Tidaksamadengan < LebihKecil > LebihBesar <= LebihKecilatausamadengan >= LebihBesaratausamadengan Like Mempunyaicirisesuai Is Samareferensiobjek Tabel2.4OperatorPembanding

2.3.4.OperatorLogika Digunakan untuk mengekpresikan satu atau lebih data (ekpresi) logika (boolean) sehingga menghalikandata logikabari (boolean). Tabel operator logika dengan hirarki dari ataskebawahadalahsebagaiberikut Operator Operasi Not Tidak And Dan Or Atau Xor Exclusiveor Eqv Ekuivalensi Lmp Implikasi Tabel2.5.OperatorLogika Operator logika Not menghasilkan nilai kebalikan dari suatu data logika dan mempunyai hirarki paling tinggi pada operator logika. Tetapi ingat operator logika hirarkinya lebih rendahdarioperatorpenugasan,operatoraritmatika,danoperatorpembanding

BABIII KONTROLPROGRAM 3.1.PencabanganBersyaratIf........Then......Else Digunakanuntukmenjalankansuatublokperintah,tergantungdarinilaiyangdiuji Penulisannyaadalahsebagaiberikut IF<kondisi>Then {satuataulebihpernyataanprogram} Elseif<kondisi>Then {satuataulebihpernyataanprogram} Else {satuataulebihpernyataanprogram} Endif <kondisi> adalah suatu ekpresi logika. Perintah IF yang pertama akan menguji <kondisi> disebelahkanannyaJika<kondisi>benar,makablokperintahyangterletakdibawahnyaakan dikerjakan sampai memenuhi perintah Elseif atau Else lalu langsung melompat ke pernyataanEndIF.PerhatikanbahwaperintahElseIfdanatauFalsebolehtidakdigunakan. Jika <kondisi> pertama salah dan ada perintah ElseIf, maka <kondisi> disebelah perintah dibawahnya akan dilaksanakan. Jika salah, maka program akan mengerjakan blok perintah yangterletakdibawahperintahElseataukeEndIf ContohProgram3.1. BuatlahFormdenganLayoutsebagaiberikut
Ketentuan: Total=Harga*JumlahPembelian JikaTotal>=100000makaDiskon30%daritotal JikaTotal>=75000makaDiskon20%daritotal JikaTotal>=50000makaDiskon10%daritotal JikaTotal<50000makatidakdapatdiskon JumlahBayar=TotalDiskon GunakanlahpernyataanbersyaratIF.....Then... Else

ListingProgram PrivateSubCommand1_Click() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text=""

Text5.Text="" Text6.Text="" Text7.Text="" Text5.Enabled=False'MenonaktifkanObjekText5 Text6.Enabled=False'MenonaktifkanObjekText6 Text7.Enabled=False'MenonaktifkanObjekText7 Text1.SetFocus EndSub PrivateSubCommand2_Click() UnloadMe EndSub PrivateSubText4_Change() Dimtotal,bayar,diskonAsSingle total=Val(Text3.Text)*Val(Text4.Text) Iftotal>=100000Then diskon=0.3*total ElseIftotal>=75000Then diskon=0.2*total ElseIftotal>=50000Then diskon=0.1*total ElseIftotal<50000Then diskon=0 EndIf bayar=totaldiskon Text5.Text=Format(total,"###,###,###") Text6.Text=Format(diskon,"###,###,###") Text7.Text=Format(bayar,"###,###,###") EndSub ContohProgram3.2. BuatlahFormdenganLayoutsebagaiberikut
Ketentuan: ObjekCombo1terdapatpilihanPerumahan, PerkantorandanBisnis JikaPilihanPerumahanMakahargaperm3:1000 JikaPilihanPerkantoranMakahargaperm3:1500 JikaPilihanBisnisMakahargaperm3:2000 Total=HargaPerM3*BanyaknyaPemakaian PPn=10%daritotal JumlahBayar=Total+PPn

UntukmemasukanjenisPerumahan,PerkantorandanBisnisaturlahpadaobjekCombo1: NamaObjek Properties Isi

Combo1

List

Perumahan Perkantoran Bisnis

ListingProgram PrivateSubCombo1_Click() IfCombo1.Text="Perumahan"Then Text3.Text=1000 ElseIfCombo1.Text="Perkantoran"Then Text3.Text=1500 ElseIfCombo1.Text="Bisnis"Then Text3.Text=2000 EndIf EndSub PrivateSubCommand1_Click() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" Text5.Text="" Text6.Text="" Text7.Text="" Combo1.Text="" Text1.SetFocus Text3.Enabled=False'MenonaktifkanObjekText3 Text5.Enabled=False'MenonaktifkanObjekText5 Text6.Enabled=False'MenonaktifkanObjekText6 Text7.Enabled=False'MenonaktifkanObjekText7 EndSub PrivateSubCommand2_Click() UnloadMe EndSub PrivateSubText4_Change() Dimtotal,ppn,bayarAsSingle total=Val(Text4.Text)*Val(Text3.Text) ppn=total*0.1 bayar=total+ppn Text5.Text=Format(total,"###,###,###") Text6.Text=Format(ppn,"###,###,###") Text7.Text=Format(bayar,"###,###,###") EndSub ContohProgram3.3. BuatlahFormdenganLayoutsebagaiberikut

ListingProgram

Ketentuan: JikapadaStatusdipilihNikahmaka Jumlahbisadiisi TunjanganIstri=30%dariGajiPokok JikaJmlAnak>=3maka TunjAnak=2*gapok*20% JikaJmlAnak<3maka TunjAnak=JmlAnak*gapok*20% TotalTunj=TunjAnak+TunjIstri TotalPendapatan=gapok+totaltunj JikaStatusnyadipilihbelumnikahmaka Jumlahanaktidakbisadiisi TunjIstri=0 JmlAnak=0 TunjAnak=0 TotalPendapatan==gapok

PrivateSubCommand2_Click() UnloadMe EndSub PrivateSubCommand1_Click() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" Text5.Text="" Text6.Text="" Text7.Text="" Text8.Text="" Option1.Value=False Option2.Value=False Text5.Enabled=False'MenonaktifkanObjekText5 Text6.Enabled=False'MenonaktifkanObjekText6 Text7.Enabled=False'MenonaktifkanObjekText7 Text8.Enabled=False'MenonaktifkanObjekText8 Text1.SetFocus EndSub PrivateSubOption1_Click() Text4.Enabled=True Text6.Text=Val(Text3.Text)*0.3 Text7.Text=Val(Text5.Text)*Val(Text6.Text)

Text6.Text=Val(Text3.Text)+Val(Text5.Text)+Val(Text6.Text) EndSub PrivateSubOption2_Click() Text4.Text=0 Text4.Enabled=False Text5.Text=0 Text6.Text=0 Text7.Text=0 Text8.Text=Val(Text3.Text)+Val(Text5.Text)+Val(Text6.Text) EndSub PrivateSubText4_Change() IfVal(Text4.Text)>=3Then Text5.Text=2*Val(Text3.Text)*0.2 Else Text5.Text=Val(Text4.Text)*Val(Text3.Text)*0.2 EndIf Text6.Text=Val(Text3.Text)*0.3'Tunjanganistri Text7.Text=Val(Text5.Text)+Val(Text6.Text)'TotalTunjangan Text8.Text=Val(Text3.Text)+Val(Text5.Text)+Val(Text6.Text)'JumlahPendapatan EndSub 3.2.PercabanganBersyaratSelectCase Digunakan untuk menjalankan satu blok perintah, tergantung dari nilai yang diuji. Jadi fungsinya sama dengan struktur IF .... Then .... Else, tetapi biasanya dipakai untuk percabangandenganlebihdariduapilihan(percabangandenganbanyakpilihan) Penulisannyaadalahsebagaiberikut SelectCase<ekpresiyangdiuji> [Case<ekpresi1> [SatuataulebihPernyataanProgram] [Case<ekpresi2> [SatuataulebihPernyataanProgram] .......... .......... [Case<ekpresin> [SatuataulebihPernyataanProgram] CaseElse [Case<ekpresi1> [SatuataulebihPernyataanProgram] EndSelect

<ekpresiyangdiuji>adalahsuatuekpresidatanumericataustring.Jika<ekpresi1> adalah sama atau anggota dari <ekpresi yang diuji>, maka blok perintah yang ada dibawahnyaakandilaksanakansampaibertemuperintahCaseberikutnyaataubertemuEnd Select.Perludiingat,pengujiandilakukandariurutanCaseyangpalingatasdanhanyasatu blokyangdilaksanakan.JadibilasalahsatuCasedipenuhi,programlangsungmencabangke EndSelect. ContohProgram3.4 BuatlahFormdenganLayoutsebagaiberikut
Ketentuan: Total=Harga*JumlahPembelian JikaTotal>=100000makaDiskon30%daritotal JikaTotal>=75000makaDiskon20%daritotal JikaTotal>=50000makaDiskon10%daritotal JikaTotal<50000makatidakdapatdiskon JumlahBayar=TotalDiskon GunakanlahpernyataanbersyaratIF.....Then... Else

ListingProgram PrivateSubCommand1_Click() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" Text5.Text="" Text6.Text="" Text7.Text="" Text5.Enabled=False'MenonaktifkanObjekText5 Text6.Enabled=False'MenonaktifkanObjekText6 Text7.Enabled=False'MenonaktifkanObjekText7 Text1.SetFocus EndSub PrivateSubCommand2_Click() UnloadMe EndSub PrivateSubText4_Change() Dimtotal,bayar,diskonAsSingle total=Val(Text3.Text)*Val(Text4.Text) SelectCasetotal CaseIs>=100000 diskon=0.3*total

CaseIs>=75000Then diskon=0.2*total CaseIs>=50000Then diskon=0.1*total CaseIs<50000Then diskon=0 EndIf bayar=totaldiskon Text5.Text=Format(total,"###,###,###") Text6.Text=Format(diskon,"###,###,###") Text7.Text=Format(bayar,"###,###,###") EndSub 3.3.Pengulangan 1.PengulanganForNext StatementpengulananFor...Nextdipakaiuntukmelakukanpengulangansuatublok programbeberapakaliyangditentukanolenilaiawaldannilaiakhir 2.PengulanganDo....LoopdanWhileWend Statement pengulangan Do .... Loop digunakan untuk mengulang suatu blok pernyataan(syarat)bernilaiTrueatausampai(until)suatukonsisimenjadiTrue ContohProgram3.5 BuatlahFormdenganLayoutsebagaiberikut

OptionExplicit DimangkaAsInteger PrivateSubCommand1_Click() Form2.Print"Mencetakangka1sampaidengan10denganForNext" Forangka=1To10 Form2.Printangka Nextangka EndSub PrivateSubCommand2_Click() angka=1 Form2.Print"Mencetakangka1sampaidengan10denganDoWhileLoop"

DoWhileangka<=10 Form2.Printangka angka=angka+1 Loop EndSub PrivateSubCommand3_Click() angka=1 Form2.Print"Mencetakangka1sampaidengan10denganDoWhileLoop" Whileangka<=10 Form2.Printangka angka=angka+1 Wend EndSub ContohProgram3.6 BuatlahFormdenganLayoutsebagaiberikut

ListingProgram OptionExplicit DimAngka,KelAsInteger PrivateSubCommand1_Click() Form2.Print"MencariKelipatan2denganForNext" Kel=0 ForAngka=1To10 Kel=Kel+2 Form2.PrintKel NextAngka EndSub PrivateSubCommand2_Click() Angka=1

Kel=0 Form2.Print"MencariKelipatan2denganDoWhileLoop" DoWhileAngka<=10 Kel=Kel+2 Form2.PrintKel Angka=Angka+1 Loop EndSub PrivateSubCommand3_Click() Angka=1 Kel=0 Form2.Print"MencariKelipatan2denganDoWhileLoop" WhileAngka<=10 Kel=Kel+2 Form2.PrintKel Angka=Angka+1 Wend EndSub

BABIV FUNGSI Fungsiadalahsebuahrutinprogramyangmampumenerimaberbagainiatiataudata danmemberikansuatuhasiltertentu.Nilaiataudatadanmemberikansuatuhasiltertentu. Nilai atau data dalam fungsi disebut dengan istilah argumen, dan argumen ini tidak dapat berupa berbagai macam jenis seperti angka, string, tanggal dan sebagainya. Fungsi dapat menerima satu atau lebih argumen tetapi hanya akan mengembalikan hasil suatu nilai tunggal. Fungsibermanfaatuntukmembantudidalampemrogramandanmenghematwaktu dantenaga.Fungsibiasanyadigunakanuntukmelakukanhalhalsepertidibawahini: 1. Perhitungan matematik misalnya : akar, menentukan nilai absolut,menghitung nilai sinus,dansebagainya 2. Menanipulasitextataustringmisalnya:menghitungpanjangstring,mengubahstring kapital,mengambisebagianstring,dansebagainya 3. Memanipulasi tanggal, jam, data, melakukan operasi input dan output, dan sebagainya 4.1.FungsiInput() Fungsi InputBox() adalah fungsi yang menghasilkan kotak yang meminta input tertentudariuser.inputBoxmenampilkankotakdialogyangberisikotakteksyangbisadiisi olehusertertentuolehuseryangberupastring

Gambar4.1ContohInputBox MembuatInputBoxSintaks/penulisandarifungsiInputBox()adalahsebagaiberikut NamaVariabel=InputBox(esan,[strjudul,imtxpos,intYpos]) Keterangan: 1. Nama Variabel : variabel untuk menyimpan hasil yang dikembalikan oleh fungsi InputBox() 2. Pesan : teks atau kalimat yang s\ingin ditampilkan pada kotak input (ditulis dalam tandakutip) 3. Strjudul : judul yang akan ditampilkan pada baris teratas kotak input (diapit oleh tanda kutip). Jika string tidak ditulis, judul pada kotan input akan bertuliskan nama proyekaplikasianda. 4. Strjudul :teks yang ditampilkan sebagai jawaban default (jawaban yang sudah disediakan)padakotakinput(ditulisdalamtandakutip)

5. Intxpos:LokasipadasumbuXdimanakotakinputakanmunculdilayar 6. Intypos:LokasipadasumbuYdimanakotakinputakanmunculdilayar 4.2.FungsiMsgBox() FungsiMsgBoxadalahFungsiyangmenghasilkanpesanpesanuntukuser.Pesanini biasanya dapat berupa pesan peringatan, pesan error, pesan untuk memastikan suatu tindakan, dan sebagainya. Message Box (Kotak Pesan) ini biasanya digunakan untuk menampilkan pesan tertentu, lalu menunggu konfirmasi penekanan tombol dari user (biasanyatombolOkdanCancel),laluaplikasidilanjutkankembali.

Gambar4.3.hasildaripembuatanMsgBox PilihanpilihanpadaMessageBox TabelJenisTombol Nilai Konstanta Keterangan 0 vbOkOnly MenampilkanTombolOk 1 vbOkCancel MenampilkanTombolOkdanCancel 2 vbAbortRetryIgnor MenampilkanTombolAbort,RetrydanIgnor 3 vbYesNoCancel MenampilkanTombolYes,NodanCancel 4 vbRetryCancel MenampilkanTombolRetryDanCancel TabelJenisIcon Nilai Konstanta Keterangan 16 vbCritical MenampilkanIconCritical 32 vbQuestion MenampilkanIconWarningQuery 48 vbExclamation MenampilkanIconwarningmessage 64 vbInformation MenampilkanIconinformationmessage TabelTOmbolDefault Nilai Konstanta Keterangan 0 vbdefaultButton1 Tombolpertamamendapatfocus 256 vbdefaultButton2 Tombolkeduamendapatfocus 512 vbdefaultButton3 Tombolketigamendapatfocus

Contoh4.1.BuatlahFormdengandesainsebagaiberikut

ListingProgram PrivateSubCommand1_Click() DimangkaAsSingle angka=InputBox("MasukanNilaiAnda","Nilai") Ifangka>0Andangka<100Then Label1.Caption="AndaMemasukanNilaiPuuhan" ElseIfangka>=100Andangka<1000Then Label1.Caption="AndaMemasukanNilaiRatusan" ElseIfangka>=1000Andangka<10000Then Label1.Caption="AndaMemasukanNilaiRibuan" ElseIfangka>=10000Andangka<100000Then Label1.Caption="AndaMemasukanNilaiPuluhanRibu" EndIf EndSub PrivateSubCommand2_Click() keluar=MsgBox("YakinAndaAkanKeluar?",vbCritical+vbOKCancel+256,"Keluar") Ifkeluar=vbOKThen UnloadMe EndIf EndSub PrivateSubForm_Load() user=InputBox("MasukanNamaAnda","Silahkan") Form1.Caption="HalloSemalatDatang"+""+user EndSub 4.3.FungsiMatematika Fungsimatematikaberfungsimelakukanperhitunganmatematikatertentupadanilai bertipenumeric(angka) Fungsi Keterangan Contoh Abs() Menghasilkannilaimutlak Abs(90)=90 Abs(90)=90 Atn() NilaiArcTangen(dalamRadian) Atn(3,14)=1.2625 Cos() NilaiKosinis(dalamRadian) Cos(3.14)=1 Exp() Nilaibasislogaritma Exp(100)=2,688 Int() NilaiIntegersaja(bulat) Int(123.45)=123 Len() JumlahKarakternumeric Len(1234)=4

Long() Nilaialgoritmanatural Long(100)=4,605 Round(Nilai,x) Membulatkannilaisebesarangkadibelakankoma Round(1.23,1)=1.2 Round(1.26,1)=1.3 Sin() Nilaisinus(dalamradian) Sin(3.14)=0 Sqr() AkarKuadrat Sqr(4)=2 Tan() Nilaitangen(dalamradian) Tan(3.14)=0 Tabel4.4FungsiMatematika Fungsi Keterangan Contoh Asc(Str) Mengubah String menjadi Asc(A)=65 ASCII Chr(int) Mengubah nilai ASCII Chr(65)=A menjadikarakter Lcase(str) Mengubah semua string Lcase(Stmik)=stmik menjadihurufkecil Left(str,int) Mengambil huruf dari kiri Left(STMIKTASIKMALAYA,2)=ST stringstrsebanyakint Len(Str) Menghitungpanjangstring Len(STMIKTASIKMALAYA)=17 LTrim(Str) Memotong spasi di sebelah LTrim( STMIK TASIKMALAYA) = kiristringstr STMIKTASIKMALAYA Mid(Str,intstart,intlen) Mengambil huruf dari Mid(STMIKTASIKMALAYA,5,3)=KT tengah string yang diawali dari posisi intstart sebanyak intlen Right(Str,int) Mengambilhurufdarikanan Right(STMIKTASIKMALAYA,3)=AYA stringstrsemanyakint Str() Mengubah nilai numeric Str(100)=100 menjadistring StrReverse() Merubahurutanhurufstring StrReverse(STMIK)=KIMTS Ucase() Mengubah semua string Ucase(Stmik)=STMIK menjadihurufbesar Tabel4.5.FungsiString ContohProgram4.2,BuatlahProgramdenganLayoutsebagaiberikut

ListingProgram PrivateSubCommand1_Click() Label2.Caption="LCASE"+"["+Text1.Text+"]" Label3.Caption="UCASE"+"["+Text1.Text+"]" Label4.Caption="LTRIM"+"["+Text1.Text+"]" Label5.Caption="RTRIM"+"["+Text1.Text+"]" Label6.Caption="LEFT"+"["+Text1.Text+",3]" Label7.Caption="RIGHT"+"["+Text1.Text+",3]" Label8.Caption="MID"+"["+Text1.Text+"3,4]" Label9.Caption="LEN"+"["+Text1.Text+"]" Text2.Text=LCase(Text1.Text) Text3.Text=UCase(Text1.Text) Text4.Text=LTrim(Text1.Text) Text5.Text=RTrim(Text1.Text) Text6.Text=Left(Text1.Text,3) Text7.Text=Right(Text1.Text,3) Text8.Text=Mid(Text1.Text,3,4) Text9.Text=Len(Text1.Text) EndSub PrivateSubCommand2_Click() keluar=MsgBox("YakinAndaAkanKeluar?",vbCritical+vbOKCancel+256,"Keluar") Ifkeluar=vbOKThen UnloadMe EndIf EndSub 4.5.FungsiTanggaldanJam Fungsi tanggal dan jam berfungsi untuk memanipulasi nilai nilai tanggal dan jam. Biasanyafungsiiniuntukpembuatanobjekwaktu,tanggaldanjam.

Fungsi Date Dateserial(Year, Month,Day) DateDiff(Interval, dtel,dtel2) DatePart(Interval, dtelDate) Now Time Timer TimerSerial(Hour, min,sec)

Keterangan Contoh Menampilkantanggalsaatini 17/01/2009 Mengubah nilai numeric menjadi DateSerial(2009, 01, 17)= bentuktanggal 17/01/009 Menghitung interval antara dua DateDiff(d,10,13)=3 tanggal Mengambil bagian tertentu dari DatePart(d,17/01/09)=17 tanggal Menampilkan tanggal dan jam 17/10/0222:37:06 saatitu Waktusaatini 22:37:06 Jumlah detik setelah tengah 81426,98 malam Mengubah nilai menjadi bentuk TimerSerial(10,20,30)=10:20:30 jam 4.6.FungsiTanggaldanjam

FungsiDateDiff()danDatePart()membutuhkanIntervalyangdapatdiambildarisalahsatu nilaidibawahini(danditulisdalamkutip). Interval Keterangan H Jam D Tanggal M Bulan N Menit S Detik Y Daridalamtahun W Haridalamminggu WW Minggu YYYY tahun 4.7.TabelintervalDatediff

ContohProgram4.3. ContohFormdenganLayoutsebagaiberikut

Ketentuan: PadaPilihanJenisPelangganBerisi:Umum,Perumahan,Industri TarifM3Air JenisPelanggan BiayaAbodemen 0025 2675 76. Umum 3000 100 200 300 Perumahan 5000 250 475 600 Industri 15000 350 650 900 ListingProgram OptionExplicit Dimbanyakpakai,biaya1,biaya2,biaya3AsSingle'deklarasivariabelumum Dimabodemen,jmlbayar,denda,biayapakai,totalbayarAsSingle PrivateSubProses()'prosedurProses biaya1=0 biaya2=0 biaya3=0 jmlbayar=0 denda=0 totalbayar=0 banyakpakai=Val(Text4.Text) SelectCaseCombo1.Text Case"Umum" abodemen=3000 Case"Perumahan" abodemen=5000

Case"Perkantoran" abodemen=15000 EndSelect IfCombo1.Text="Umum"Then SelectCasebanyakpakai Case0To25 biaya1=biayapakai*100 biaya2=0 biaya3=0 Case26To75 biaya1=25*100 biaya2=(7525)*200 biaya3=0 CaseIs>=76 biaya1=25*100 biaya2=(7525)*200 biaya3=(banyakpakai75)*300 EndSelect ElseIfCombo1.Text="Perumahan"Then SelectCasebanyakpakai Case0To25 biaya1=biayapakai*250 biaya2=0 biaya3=0 Case26To75 biaya1=25*250 biaya2=(7525)*475 biaya3=0 CaseIs>=76 biaya1=25*250 biaya2=(7525)*475 biaya3=(banyakpakai75)*600 EndSelect ElseIfCombo1.Text="Industri"Then SelectCasebanyakpakai Case0To25 biaya1=biayapakai*350 biaya2=0 biaya3=0 Case26To75 biaya1=25*350 biaya2=(7525)*650 biaya3=0 CaseIs>=76 biaya1=25*350 biaya2=(7525)*650 biaya3=(banyakpakai75)*900

EndSelect EndIf jmlbayar=biaya1+biaya2+biaya3+abodemen IfDatePart("d",DTPicker1.Value)>10Then denda=jmlbayar*0.15 ElseIfDatePart("d",DTPicker1.Value)<=10Then denda=0 totalbayar=jmlbayar EndIf Text5.Text=Format(abodemen,"###,###") Text6.Text=Format(biaya1,"#,###,###") Text7.Text=Format(biaya2,"#,###,###") Text8.Text=Format(biaya3,"#,###,###") Text9.Text=Format(jmlbayar,"#,###,###") Text10.Text=Format(denda,"###,###") Text11.Text=Format(totalbayar,"#,###,###") EndSub PrivateSubCombo1_Click() Proses EndSub PrivateSubCommand1_Click() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" Text5.Text="" Text6.Text="" Text7.Text="" Text8.Text="" Text9.Text="" Text10.Text="" Text11.Text="" Combo1.Text="" Text1.SetFocus Text5.Enabled=False Text6.Enabled=False Text7.Enabled=False Text8.Enabled=False Text9.Enabled=False Text10.Enabled=False Text11.Enabled=False EndSub PrivateSubCommand2_Click()

End EndSub PrivateSubDTPicker1_Change() Proses EndSub PrivateSubForm_Load() DTPicker1.Value=Date'mengisiobjectdtpickerdengantanggalaktif EndSub PrivateSubText4_Change() Proses EndSub

BABV KONEKSIDATABSEDENGANKONTROLDATADAO
51.KontrolDataDAO Data Bound controls (control data terikat), selanjutnya disebut control bound, digunakanuntukmenampilkaninformasidalamtecordset(kumpulanrecordyangdipanggil olehcontroldatadarisatuataulebihtable)yangdibuatolehkomtroldata. Kontroldataakanmemanggilrecordyangakankitamintadanmenempatkandalam memoriuntuknantinyakitagunakan.Untukmenampilkanrecorddiperlukancontrolbound. Visualbasic6.0.memiliki3komponendatayaituDAO,RDOdanADO. Control data digunakan untuk menjalankan tugas berikut : koneksi database, membuat table, membuat table virtual berdasarkan query database, berhubungan dengan tool visual basic lainnya untuk menampilkan dan menyunting data seperti tool control bound, menambah, menghapus, dan update record, membuat perangkap kesalahan dan menutupdatabase. Control data juga dapat digunakan bersama kontrok noninstrinsik seperti seperti format .OCX (file control ActiveX) yang harus diinstall dulu ke toolbox, contohnya control ControlDBGrid(untukADO),DateTimerPicket,CommondDialog. 5.2.MembuatDatabase&Tabel TerminologyDatabase:datamenunjukaninformasiyangdisimpandalambasisdata, basisdataadalahsekumpulantabledatayangberisiinformasiyangsalingberhubungan. 1. MembuatFileDatabase: PadaVisualBasic,pilihMenuAddIns VisualDataManager

PadaJEndelaVisData,KlikFile

New

MicrosoftAcess

Version7.0

BuatFolderdiC:\MyDocuments\Asep(namamasingmasing) Save in C:\My Documents\Asep (nama masing masing), File Name = Mahasiwa, saveAstype=*.mdb 2. Membuattablemahasiswa UntukMembuattable,klikkananpadaproperties NewTabel

Padajendelatablestructure,TabelName=MHS PadaJEndelaAddFields, Name=NPM Type=Text Size=15,KlikOK Name=Nama Type=Text Size=30,KlikOK Name=JnsKel Type=Text Size=15,KilkOK Size=15,KlikOK Name=ProgStudi Type=Text Name=TglLahir Type=Date/TimeSize=8,KlikOK Name=TmpLahir Type=Test Size=20,KlikOK Name=Jurusan Type=Text Size=17,KlikOK Name=Foto Type=Binary Size=0,KlikOK BilaSudahselesaiKlikClose MembuatIndexatauPrimaryKey,KlikAddIndex Pada Available Fileds, Klik NPM name = XNPM, pastikan Primary dan unique di checklist/aktif,klikOK,KlikClose 3. MembuatFormDataMahasiswaUntukmanipulasidata KlikMenuProject Components Pilih/Checklist di sebelah kiri Microsoft Windows Common Control 2.6.0. Untuk menambahkanobjekDTPicker Pilih/Checklist di sebelah kiri Microsoft Data Bound Grid Control 5.0 (SP3) Untuk menambahkanobjekDBGrid Pilih/Checklist di sebelah kiri Microsoft Commond Control 6.0 (SP3) Untuk menambahkanobjekCommonDialog KlikOK BuatlahFormdenganLayoutsebagaiberikut:

PengaturanProperties Objek Properti Form1 Caption Data1 DatabaseName EOFAction RecordSource Text1 DataSource DataField Maxlength Text2 DataSource DataField Maxlength Combo1 Combo2 DTPicker1 Text3 Image1 CommonDialog1 DataSource DataField List DataSource DataField List DataSource DataField DataSource DataField Maxlength DataSource DataField Stretch DialogTitle

Pengaturan DataMahasiswaSTMIKTasikmalaya C:\MyDocument\Asep\Mahasiswa 2AddNew Mhs Data1 NPM 15 Data1 Nama 30 Data1 JnsKel LakiLaki Perempuan Data1 ProgStudi TeknikInformatika KomputerAkuntansi Data1 TglLahir Data1 TmpLahir 20 Data1 Foto True MembukaFileGambar

DBGrid1

ListingProgram PrivateSubCommand1_Click() CommonDialog1.ShowOpen Image1.Picture=LoadPicture(CommonDialog1.FileName) EndSub PrivateSubCommand2_Click() DimmcariAsString*15 Dimmsyarat,pesanAsString mcari=InputBox("MasukanNPMYangAkanDicari","Pencarian") msyarat="NPM='"&mcari&"'" Data1.Recordset.FindFirstmsyarat IfData1.Recordset.NoMatchThen pesan=MsgBox("DataTidakDitemukan",vbOKOnly,"PencarianNPM") Else pesan=MsgBox("DataDitemukan",vbOKOnly,"PencarianNPM") EndIf EndSub PrivateSubCommand3_Click() hapus=MsgBox("YakinDataAkanDihapus?",vbYesNo+vbQuestion,"Konfirmasi") Ifhapus=vbYesThen Data1.Recordset.Delete Data1.Refresh EndIf EndSub PrivateSubCommand4_Click() UnloadMe EndSub PrivateSubCommand5_Click() DataReport1.Show EndSub

Filter InitDir DataSource Caption

FileBitmap(*.bmp)*.bmp| C:\ Data1 BrowseDataMahasiswa

BABVI MEMBUATLAPORAN
6.1. MembuatLaporanMenggunakanDataReport Ada beberapa cara untuk membuat laporan database. Laporan dapat dibuat dalam lingkungan/IDE(integratedDevelopmentEnvironment)VisualBasicmenggunakanMicrosoft Data Report Designer, menggunakan program third party (piohak ke tiga diluar Microsoft danuser)CrystalReportyangdisertakandalamVisualBasic6.0Menggunakanprogramthird partylain,ataumemakaikodeprogram. AdatigalangkahuntukmembuatdatabasemenggunakanDataReportDesigneryaitu: 1. Membuatkoneksidatamenggunakandataenvironmentyangmerupakanobjekdimana report akan memanggil data. Pada Visual Basic 6.0 selain tipe data Access .Mdb juga dapat diambil data dari sumbet ODBC (Open Database Conectivity) atau menggunakan fungsi builtin (terpasang) untung berhubungan secara langsung dengan Microsoft SQL ServerataudatabaseOracle. 2. Menempatkan report ke suatu data connector yang dibuat dalam data environment. DenganmenggunakanpilihanRetrivieStructuremakaseksi/sectionakanreportakan disesuaikandengankoneksidata. 3. Menambah control report ke report. Control akan menampilkan data yang dipanggil report. TabelKontrolDataReportDesigner Objek Gambar Keterangan RptTextBox Menambah data (field) ke report baik berasal dari kode ataucommand RptLine Menambahberbagaimacamgariskereport Menambahkan fungsi dalam grup data report, data hanya RptFunction bisadigunakanpadaseksifooter RptLabel Menambahkanteksyangstatiskereport RptImage Menambahkangambarbmp,JPG,gifdanicon RptShape Menambahkanberbagaimacambentukgambarkereport sepertipersegipanjang,lingkarandanvariasinya

TabelSeksidataReportDesigner Bagian/Seksi Keterangan ReportHeader Bagian yang digunakan untuk header laporan dan hanya ditampilkan sekalisajadibagianawalreport.Biasanyaisinyaadalahjudullaporan PageHeader Bagianyangmunculdisebelahatastiaphalaman GrupHeader Bagianyangmunculdisebelahatastiapkelompokdata.Terletakdiatas seksidetail. GrupFooter Bagian yang muncul di sebelah bawah tiap kelompok data. Terletak dibawahseksidetail. PageFooter Bagian yang muncul disebelah bawah tiap kelompok data. Terletak dibawahseksidetail ReportFooter Bagian yang digunakan untuk footer laporan dan hanya ditampilkan sekali saja di bagian akhir report. Isinya dapat berupa grand total, ringkasandll 6.2. Membuatlaporandatamahasiswa Langkahlangkahpembuatannyaadalahsebagaiberikut: 1. JalankanVisualbasicdenganProyekstandarEXE 2. Klik menu Project Data Environment. Jendela data akan muncul seperti gambar dibawah 3. ClickkananpadaitemConnection1.

4. Pilih item properties pada jendela popup. Akan muncul DataLink Propertis. Pada tab ProviderpilihMicrosoftJet4.0OLEDBProvider

5. KliktombolNext dan pilih file C:\My 6. Pada tab Connectionklik tombol command elipis Document\Asep\Mahasiswa(sesuaidenganletakdatabase)KlikOK

7. Klikkananpadaconnection1danpadajendelapopupyangmunculpilihperintahAdd Command.AkanmunculitemdengannamaCommand1

8. KlikkananpadaitemCommand1dandarimenupopupyangmunculpilihProperties 9. Padatabgeneral,didatabaseobjekpilihlahtable KemudianObjekNamepilihMhs,KlikOK

10. KlikMenuProject ini: Objek DataReport

Adddatareport,kemudianaturpropertinyasepertitabledibawah Properti Pengaturan

Name DataReport1 DataMember Command1 DataSource DataEnvironment1 Caption LAPORANDATAMAHASISWA Ada2carauntukmenambahkanfieldketampilanreport:pertamamenggambarfield ke dalam report. Kedua, membuka jendela DataEnvironment dan melakukan drag and drop, field langsung ke dalam report, Susunlah report seperti gambar dibawah ini dan aturpropertysepertitablediatas.

Properti Seksi ReportHeader

Objek RptLabel RptLabel Properti Name Caption Font Name Caption Font Pengaturan Label1 STMIKTASIKMALAYA Arial,Bold,16 Label2 DATAMAHASISWA Arial,Bold,14

PageHeader

RptLabel RptLabel RptLabel RptLabel RptLabel RptLabel

Detail

RptTextBox RptTextBox RptTextBox RptTextBox RptTextBox RptTextBox

Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name DataMember DataField Name DataMember DataField Name DataMember DataField Name DataMember DataField Name DataMember DataField Name DataMember DataField

Label3 NPM Label4 Nama Label5 JenisKelamin Label6 TempatLahir Label7 ProgramStudi Label8 TanggalLahir Text1 Command1 NPM Text2 Command1 Nama Text3 Command1 JnsKel Text4 Command1 TmpLahir Text5 Command1 ProgStudi Text6 Command1 TglLahir

Latihan BuatlahProgramsepertidibawahini

ListingProgram OptionExplicit PrivateSubkosongkan() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" Text1.SetFocus Command2.Enabled=False EndSub PrivateSubtampilkan() WithData1.Recordset Text1.Text=!kodebrg Text2.Text=!namabrg Text3.Text=!satuan Text4.Text=![hargajual] Command2.Enabled=True EndWith EndSub PrivateSubCommand1_Click() DimsalahAsString IfText1.Text=""Then salah = MsgBox("Data tidak terekam karena kode barang harus diisi", vbCritical + vbOKOnly,"Perhatian") Text1.SetFocus ElseIfNotIsNumeric(Text4.Text)Then salah=MsgBox("Datatidakterekamkarenahargajualharusdiisidenganangka",vbCritical +vbOKOnly,"Perhatian") Text4.SetFocus Else

Data1.Recordset.Index="barangidx" Data1.Recordset.Seek"=",Text1.Text IfData1.Recordset.NoMatchThen Data1.Recordset.AddNew Else Data1.Recordset.Edit EndIf Data1.Recordset!kodebrg=Text1.Text Data1.Recordset!namabrg=Text2.Text Data1.Recordset!satuan=Text3.Text Data1.Recordset![hargajual]=Text4.Text Data1.Recordset.Update kosongkan EndIf EndSub PrivateSubCommand2_Click() DimhapusAsString hapus=MsgBox("Yakindataakandihapus?",vbCritical+vbYesNo,"Peringatan") Ifhapus=vbYesThen Data1.Recordset.Delete Data1.Refresh kosongkan EndIf EndSub PrivateSubCommand3_Click() kosongkan EndSub PrivateSubCommand4_Click() DataReport1.Refresh DataReport1.Show EndSub PrivateSubCommand5_Click() Data1.Recordset.MoveFirst tampilkan EndSub PrivateSubCommand6_Click() Data1.Recordset.MovePrevious IfData1.Recordset.BOFThen Data1.Recordset.MoveLast EndIf tampilkan EndSub

PrivateSubCommand7_Click() Data1.Recordset.MoveNext IfData1.Recordset.EOFThen Data1.Recordset.MoveFirst EndIf tampilkan EndSub PrivateSubCommand8_Click() Data1.Recordset.MoveLast tampilkan EndSub PrivateSubCommand9_Click() Form1.Hide Form3.Show EndSub PrivateSubText1_KeyPress(KeyAsciiAsInteger) IfKeyAscii=13Then Text2.SetFocus EndIf EndSub PrivateSubText1_LostFocus() Data1.Recordset.Index="barangidx" Data1.Recordset.Seek"=",Text1.Text IfData1.Recordset.NoMatchThen Text2.Text="" Text3.Text="" Text4.Text="" Command2.Enabled=False Else Text2.Text=Data1.Recordset!namabrg Text3.Text=Data1.Recordset!satuan Text4.Text=Data1.Recordset![hargajual] EndIf EndSub PrivateSubText2_KeyPress(KeyAsciiAsInteger) IfKeyAscii=13Then Text3.SetFocus EndIf EndSub PrivateSubText3_KeyPress(KeyAsciiAsInteger) IfKeyAscii=13Then

Text4.SetFocus EndIf EndSub PrivateSubText4_KeyPress(KeyAsciiAsInteger) IfKeyAscii=13Then Command1.SetFocus EndIf EndSub

Anda mungkin juga menyukai