INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Di Susun Oleh : Teknik Informatika Angkatan 2007 1 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL KATA PENGANTAR Pemrograman Visual Basic masih sangat digemari, baik oleh para pemula ataupun yang sudah expert di dalam pemrograman, dengan perintah perintah yang sederhana didalam Visual Basic, kita dapat membuat aplikasi aplikasi Windows yang tidak kalah canggihnya dengan menggunakan Bahasa Pemrograman yang lain seperti Delphi, Visual C++, C#, Java dan yang lainnya. walaupun demikian, bukan berarti Visual Basic Bahasa Pemrograman yang paling Ideal Memang diakui, masih banyak rekan rekan yang masih belum paham dan masih awam dengan Pemrograman, maka dari itu, kami berharap dengan adanya Catatan Singkat ini, rekan rekan dapat mulai paham ( sedikitnya tahu ) tentang Pemrograman suatu aplikasi. Kami memilih menggunakan Visual Basic dikarenakan kemudahan sintak- sintak yang ada didalam bahasa Pemrograman ini, sehingga kami berharap rekan rekan yang masih sama sekali belum tahu Teknik pemrograman sekalipun dapat dengan mudah mengikutinya. Pembahasan yang ada di dalam buku ini dimulai dengan pengenalan sebuah PC serta bagaimana aplikasi windows dapat berjalan. Lalu kemudian dilanjutkan dengan pengenalan Visual Basic beserta Kontrol kontrol yang biasa dipakai dalam membuat suatu aplikasi windows. Di bab selanjutnya, kami sertakan beberapa Project sederhana yang mungkin dapat menambah pengetahuan rekan rekan dalam menggunakan Visual Basic 6 , diantaranya : Membuat aplikasi Database sederhana berbasis file Teks. Pemrograman Parallel Port sebagai kendali alat ( I/O ) menggunakan component io.dll : di bab ini akan di ajarkan bagaimana menjalankan alat alat yang ada di sekitar kita dengan menggunakan aplikasi yang kita buat, seperti : menyalakan TV, menyalakan kipas angin atau bahkan dapat dikembangkan untuk mengontrol suhu ruangan ataupun yang lainnya. ( cocok untuk mahasiswa jurusan Teknik Elektro ) Pemrograman aplikasi Chatting sederhana ( Client Server ) menggunakan component yang bernama winsock Pemrograman DataBase dan MS Access dengan menggunakan komponen ADODC dan DataGrid. Di bab terakhir kami sertakan juga Tip dan Trik dalam Visualisasi sebuah aplikasi agar tampilan aplikasi kita nantinya terlihat lebih cantik dan menarik Mudah mudahan dengan adanya buku ini, rekan rekan dapat mengambil manfaatnya. Dan sekiranya ada saran ataupun kritik, kami sangat menunggu akan hal tersebut demi kemajuan kita bersama. Akhirnya kami mengucapkan terima kasih kepada rekan rekan semua dan keluarga besar ISTA. Jakarta, April 2009 Dwi Saputro 2 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL DAFTAR ISI Kata Pengantar Pendahuluan Pengenalan Komputer Lingkungan Visual Basic Menu & Tool Bar Jendela Properties Jendel Kode Editor Jendel Project Explorer Konsep Pemrograman Visual Hierarki Aplikasi Perintah Dasar Di Visual Basic 6 Looping Penyeleksian Kondisi Prosedur dan Module Operator dan Fungsi Internal Visual Basic 6 Project Pertama ( Database berbasis File Teks ) Project Kedua ( Parallel Port sebagai Kendli I/O ) Project Ketiga ( Aplikasi Chatting Sederhana ) Project KeEmpat ( Aplikasi Data Base ) Preview Contoh Aplikasi dari Visual Basic 6 2 .4 .5 .6 .6 .7 .8 .9 .10 .11 .12 .12 .16 .19 .22 .25 .29 .34 .40 .49 3 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Pendahuluan Didalam Pemrograman tradisional ( under DOS ), untuk membuat suatu kotak ataupun tombol tidaklah mudah, dengan adanya pemrograman Visual, kita di beri kemudahan dalam hal visualisasi / GUI ( Front End ) ataupun coding di dalam aplikasi yang kita bentuk. Untuk membuat suatu tampilan Form yang isinya beberapa tombol, teks box, bahkan gambar, kita tinggal melakukan drag drop. Sedangkan untuk melakukan coding, kita dikenalkan dengan adanya event yaitu aksi apa yang terjadi saat kita atau user memperlakukan terhadap aplikasi kita, seperti : click, doble click, mouse_move, mouse_down dan yang lainya. Gambar berikut adalah tampilan dari Visual Basic 6 : Tampilan Visual Basic 4 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Kita mengenal adanya Bahasa BASIC, QBASIC, TURBO BASIC. Kesemuanya itu merupakan Bahasa pemrograman yang berjalan di DOS. Dengan bertambahnya waktu, Bahasa Pemrograman tersebut di kembangkan menjadi sebuat Bahasa Pemrograman yang mengenalkan sebuah Object dalam pemrogramannya, yaitu Visual Basic. ( kami tidak berani mengatakan OOP atau Object Oriented Programming ). Karena ada yang mengatakan bahwa Visual Basic belum sepenuhnya berorientasi Object seperti JAVA ataupun yang lainnya. Pengenalan Komputer Saat pertama kali komputer dijalankan, BIOS akan menjalankan POST ( Power ON Self Test ) untuk memastikan bahwa semua Hardware yang terpasang dalam kondisi baik termasuk Power Supply, jika semua itu berjalan normal, BIOS akan mencari Boot Loader, jika Boot Loader ditemukan, maka akan di jalankan di RAM dan selanjutnya Boot Loader akan men-Load Kernel ke dalam memori dan bersifat Resident ( akan tetap ada di memori selama PC hidup ) dan proses Booting akan memulai menjalankan Sistem ( Linux atau Windows ). Untuk Sistem linux sendiri mengenal dengan adanya RAMDISK, yaitu memperlakukan RAM seolah olah sebuah hardisk yang berisi File System yang bersifat Read Only. Jika Ramdisk telah di load, maka setelah itu system akan mencari Root File System yang sebenarnya, jika ditemukan, maka File System tersebut akan di load dimemori dan dijaankan beserta Driver - driver yang dibutuhkan. Driver driver tersebut bisa berupa BuiltIn di kernel ataupun sebagai Module Driver. Kernel di Linux biasanya dikenal dengan nama vmlinuz ( mungkin seperti itu gambaran tentang proses Booting sebuah Sistem Komputer ). Di dalam Windows XP sendiri, semua Settingan dan konfigurasinya disimpan di dalam Registry ( Registry merupakan jantungnya Windows ), semua aplikasi mengacu kepadanya tanpa kecuali, bahkan Viruspun sering menggunakannya untuk kelangsungan hidup Virus tersebut. Di dalam Windows ( win 9x ataupun XP ), kita mengenal Komponen komponen atau ActiveX ( biasanya berekstensi DLL atau OCX ) yang di simpan dibawah folder C:\Windows\System32 atau C:\Windows\System. Library Library tersebut digunakan oleh semua Aplikasi yang berjalan di Sistem Windows, seperti Library untuk grafis, Audio bahkan hardware. ( APIs Programming ). Di dalam pembuatan sebuah aplikasi Windows, kita tidak mungkin bisa lepas dari Library tersebut. Di pembahasan nanti kita akan selalu menemuinya. 5 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Lingkungan Visual Basic 6 MENU dan TOOL BAR Gambar dibawah merupakan menu perintah untuk pengembangan Aplikasi, mulai Create, Save, Open, Run, Compile dan yang lainya. TOOL BOX Gambar dibawah merupakan jendela Tool Box yang berisi ikon tersedia untuk membuat antar muka di atas Form. ikon Kontrol Dasar yang Pointer Picture Box Label Text Box Frame Command Button Check Box OptionbButton Combo Box ListBox Hscroll bar Vscroll bar Timer DriveListBox DirListBox FileListBox Shape Line Image Box Data OLE 6 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL JENDELA PROPERTIES Setiap kontrol seperti Label, Command Button, Text Box, bahkan Form sendiri mempunyai Properties yang dapat di atur manual saat design ataupun Runtime, gambar disamping merupakan gambar Jendela Properties . untuk mengedit properties dari sebuah control, kita harus melakukan klik terhadap kontrol tersebut atau bisa juga memilih di listbox di atas jendela properties. JENDELA FORM LAYOUT Jendela form layout memperlihatkan posisi relative form terhadap layar komputer. Untuk mengubah posisinya, gunakan cara drag-drop object form yang terlihat di jendela. 7 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL JENDELA KODE EDITOR Berfungsi sebagai program pengolah kata untuk menuliskan baris baris kode pemrograman pada aplikasi yang sedang dibuat. Suatu jendela code editor akan terpisah untuk setiap Form atau Module. Di jendela ini, kita belum dapat menggunkan Scrolling menggunakan mouse, untuk dapat menggunkannya, tambahkan komponen MouseWell.dll ke system kita. Notes : Lakukan Klik Ganda pada objek untuk menampilkan jendela Code Editor. Daftar Object Code Editor Daftar Event 8 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL JENDELA PROJECT EXPLORER Berbeda dengan bahasa pemrograman lama seperti Pascal atau Basic, VB melibatkan beberapa file file yang berbeda sehingga diberi istilah Project. Untuk mengelola file file tersebut digunakan Jendela Project Explorer.. Dalam jendela tersebut akan ditampilkan nama Project, nama nama Form, nama-nama Module serta user control lainya. Didalam tanda kurung merupakan nama file yang di simpan, karena setiap form dan control user di simpan dengan nama file sendiri sendiri. Catatan : dalam pemakaian Visual Basic, untuk menampilkan form yang sedang dibuat dapat menggunakan cara klik dua kali di nama form yang berada di jendela Project Explorer. 9 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL KONSEP PEMROGRAMAN VISUAL Bayangkan jendela ( window ) sebagai suatu daerah persegi denagn batasan batasannya. Apabila anda pernah menjalankan aplikasi Windows, tentunya sudah tidak asing lagi dengan kondis I tersebut, misalnya : Windows Explorer, Notepad, Ms Word atau yang lainnya. Didalam window tersebut terdapat beberapa ikon, menu bar, teks, tombol dan sebagainya. Sistem operasi windows mengatur semua window tersebut dan menandai masing masing window dengan suatu kode unik tertentu. Kemudain system akan memonitor setiap window terhadap adanya aktifitas atau Event yang berasal dari interaksi antara window dengan user. Setiap aktifitas ( Event ) akan menimbulkan pesan ( messages )yang dikirim ke ontro operasi. System operasi kemudian akan memproses pesan pesan tersebut. PEMAHAMAN EVENT Aplikasi yang dibuat dengan cara lama ( berbasis Teks ) menjalankan Programnya secara berurutan, dimana aplikasi tersebut mengatur urutan eksekusi dn alur berdasarkan masukan yang diberikan. Eksekusi program dimulai dari baris pertama kode kemudian mengikuti alur yang telah ditentukan saat penulisan kode program. Pemrograman berbasis Visual memakai konsep Event-Driven, kode program tidak mengikuti alur yang ditetapkan dari awal, melainkan sesuai dengan event yang terjadi. Event dapat terjadi akibat aksi dari pemakai, seperti Klik, dobel klik, drag, dan yang lainya. PEMAHAMAN OBJECT Di pemrograman Visual setiap control akan di ibaratkan sebagai object yang mempunyai property yang berbeda beda, contoh : Mobil Mobil1.warna = Merah Mobil1.Roda = 4 Mobil1.merek = BMW Mobil2.warna = Hitam Mobil2.Roda = 4 Mobil2.merek = Marcedez Dapat dilihat dari contoh di atas bahwa, tiap mobil mempunyai karakter atau property masing walaupun keduanya berasal dari satu Class yang sama yaitu Class Mobil. Jadi jika di dalam aplikasi kita nanti terdapat beberapa Gambar, maka setiap control tersebut mempunyai Properti masing masing ontrol seperti Tombol, Teks Box, masing. 10 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL HIERARKI APLIKASI Aplikasi Visual Basic di bentuk berdasarkan FORM, MODULE dan CLASS. Sebuah Form terdiri atas Properti, Prosedur, Even dan Kontrol. Kontrol mempunyai Properti dan Even. Di Visual Basic , Module dapat berupa beberapa Funtion atau pun Prosedur ( sub Program ), semua Prosedur yang di buat didalam Module akan dapat di pakai atau dipanggil dari semua Form yang ada di Aplikasi. Jika sebuah Prosedur di buat di dalam Form ( bukan di Module ), maka Prosedur tersebut hanya dapat di pakai oleh Form itu sendiri. Begitu juga halnya dengan Variable, suatu variable yang di deklarasikan di dalam Module dengan sifat Public, maka variable tersebut akan dapat di pakai oleh semua Form yang ada didalam Aplikasi kita. 11 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL PERINTAH DASAR DI VISUAL BASIC 6 PERULANGAN (LOOPING) Sama seperti bahasa pemrograman lainnya, di VB6 juga mengenal adanya perintah Looping yang sangat bermanfaat untuk melakukan perintah perintah yang sama untuk sekali waktu. FOR NEXT Perintah ini digunakan untuk melakukan perulangan / looping dengan jumlah looping yang telah di tentukan. Contoh : B=1 For A = 1 to 4 B=B*A Next A Penjelasan : - Lakukan looping sebanyak 4 kali yaitu dari 1 sampai 4 - di setiap looping kalikan nilai B dan A jadi : B = 1 * 1 B=1*2 B=2*3 B=6*4 Dan nilai terakhir dari variable B = 24 Kode di atas dapat digunakan untuk mencari suatu nilai Faktorial bilangan. Jadi 4 faktorial ( 4! ) adalah 24 Catatan : di VB6, gunakan perintah Val untuk merubah nilai String menjadi bilangan Numerik 12 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL FOR NEXT STEP Perintah ini pada dasarnya sama dengan perintah sebelumnya, hanya saja disini terdapat tambahan perintan STEP, yang berarti perubahan nilai looping di tentukan nilai STEP, contoh : B=0 For A = 0 To 10 Step 2 B=B+A Next A Penjelasan : perubahan nilai A akan selalu bertambah 2 B=0+0 B=0+2 B=2+4 B=6+6 B = 12 + 8 B = 20 + 10 Jadi nilai akhir dari variable B adalah 30 Bagaimana jika nilai STEP diganti menjadi Negatif ( - 2 ) ????? 13 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL DO LOOP UNTIL Perintah ini digunakan untuk melakukan Looping tetapi dengan menggunakan sebuah Kondisi untuk menghentikan proses loopingnya. Contoh : B=1 A=1 Do B=B*A A=A+1 Loop Until A > 4 Kode diatas hasilnya sama dengan kode mencari Faktorial menggunakan For Proses Looping akan terus di lakukan sampai A lebih besar dari 4. Next. Bagaimana jika kita menggunkan perintah seperti berikut : B=1 A=1 Do Until A > 4 B=B*A A=A+1 Loop Bagaimana Output dari kode diatas ????? Perinyah sejenis : Do While Loop ; Do Loop While 14 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL WHILE WEND Perintah ini digunakan untuk looping selama kondisinya masih terpenuhi. Kondisi akan di seleksi di awal perintah While. Contoh : B=1 A=1 While a <= 4 B=B*A A=A+1 Wend Anda bisa coba sendiri untuk kasus kasus yang lain, dan anda harus bisa menentukan kapan anda memakai Do While, Do Until atau While Wend atau perintah Perulangan yang lainnya. 15 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL PENYELEKSIAN KONDISI IIF Digunakan untuk memberikan nilai dari suatu kondisi, contoh : 16 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL IF THEN Perintah ini digunakan untuk menyeleksi suatu kondisi, statement setelah THEN akan di jalankan jika Kondisi terpenuhi dan tidak akan menjalankan apa apa jika kondisi tidak terpenuhi. IF THEN ELSE Perintah ini akan menyeleksi lebih dari 1 kondisi dan akan menjalankan statement sesuai kondisi yang kita hendaki. Coba anda jalankan, bandingkan dengan perintah IF THEN tanpa menggunakan Else. 17 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL SELECT CASE Digunakan jika kondisinya terlalu banyak untuk dikodingkan menggunakan If Then Else. Coba anda kerjakan dengan menggunakan IF THEN ELSE ??? 18 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL PROSEDUR & MODULE Di lingkungan Visual Basic dikenal adanya Sub Program yang mana sub Program tersebut dapat di deklarasikan sebagai Private atau Public . Maksudnya, jika suatu Sub Program di buat Didalam Form, maka bias dikatakan Sub Program tersebut hanya bias di panggil di lingkungan Form itu sendiri. Berbeda jika Suatu Sub Program tersebut di buat di dalam sebuah Module, maka semua Form yang ada di Project kita bisa memanggil Sub Program yang ada di Module tersebut. Contoh berikut merupakan Prosedur yang berada di Form dan bias di panggil berkali kali: 19 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Sekarang kita akan coba membuat suatu module yang berisi Prosedur diatas, caranya klik kanan di Project Explorer Add Module Open. Sekarang, salin kode di form mulai Private Sub pilih( ) sampai End Sub ke dalam jendela Module kita. Lalu ganti tulisan Private menjadi Public seperti berikut : Jangan lupa hapus prosedur yang ada di dalam Form, karena kita akan memakai yg ada di module !! 20 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Sekarang coba jalankan Program kita, program kita masih dapat berjalan dengan normal sama seperti pertama kali tanpa menggunakan module. Coba anda buat lagi satu Form yang sama persis dengan Form pertama beserta kodenya. Sekarang kita mempunya 2 buah Form yang sama persis. Lalu coba anda buat dulu sebuah Button yang jika di klik akan menampilkan Form kedua tanpa menghilangkan Form yang pertama. Jadi disini Module berfungsi sebagai Prosedur Global yang dapat di panggil di mana saja sepanjang masih dalam satu Project. Lalu bagaimana jika kita membuat Prosedur di dalam Form tetapi bersifat Public, bukan Private ???? Sekarang bisa anda coba sendiri perbedaannya. !!! Pemanggilang Prosedur dapat dilakukan tanpa menggunakan Call , dengan sintak sebagai berikut : Dengan Call Tanpa Call Call Nama_Prosedur( parameter1, parameter2, parameter3, Nama_Prosedur Parameter1, parameter2, parameter3, ) Jadi kita bisa memanggil Prosedur tanpa Call tetapi penulisan parameternya tanpa Tanda Kurung. 21 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL OPERATOR & FUNGSI Internal VB6 Seperti halnya bahasa pemrograman yang lainnya, di VB6 juga mempunyai Operator yang digunakan untuk operasi Aritmatik ataupun operasi Logika. operator OPERATOR ARITMATIK Pangkat ( ^ ) Kurang ( - ) Tambah ( + ) Bagi ( / ) Pembagian bulat ( \ ) Sisa hasil bagi ( mod ) OPERATOR LOGIKA Sama dengan ( = ) Lebih besar ( > ) Kurang dari ( < ) Tidak sama dengan ( <> ) Lebih besar atau sama dengan ( >= ) Kurang dari atau sama dengan ( <= ) AND, OR, XOR, NOT, LIKE FUNGSI MATEMATIKA Abs(x) Cos(x) Sin(x) Tan(x) Int(x) Sqr(x) Hex(x) Oct(x) absolute nilai x fungsi Cosinus x fungsi Sinus x fungsi Tangen x konversi ke bulat Akar dari x konversi ke Hexa konversi ke Octal 22 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL FUNGSI STRING Left Right Trim Ltrim Rtrim Ucase Lcase Mid Len Dll mengambil n karakter dari sebelah kiri ; st = Left( abcdefgh ,3) ; st = abc mengambil n karakter dari sebelah kanan menghilangkan spasi kosong di awal dan akhir string menghilangkan sepasi sebelah kiri string menghilangkan sepasi sebelah kanan string merubah string menjadi huruf besar merubah string menjadi huruf kecil mengambil n karakter string dari posisi tertentu ; st = Mid( abcdef ,2,3) ; st= bcd menghitung jumlah karakter string ; jum = Len ( abcdefg ) jum = 7 Untuk fungsi string yang lainnya bisa and abaca baca sendiri di Perpustakaan Kampus kita, karena saya juga mencari refensi dari Perpustakaan kampus kita kok. PENGELOLAAN FILE TEKS Dalam pengelolaan file text, kita sangat di berikan kemudahan oleh VB6. kita dapat mengakses file text tersebut sebagai Input ataupun Output. Tanpa mneggunakan Data Base, Contoh : Kita membuat suatu aplikasi yang mana aplikasi kita membutuhkan Form Login untuk memanggil user name dan password. Di VB6 kita dapat menggunakan file TXT untuk hal tersebut. Saya sendiri sering menggunbakannya, hanya saja filenya saya samarkan dengan ekstensi DLL, jadi tidak terlalu mencurigakan hhee heee MEMBACA ISI FILE PASSWORD.TXT Kode di bawah digunakan untuk mengambil isi dari file password.txt : Dim fl As String Open App.Path & \password.txt For Input As #1 Input #1, fl Close #1 Pass = fl Penjelasan kode : variable Pass akan berisi string yang berada di dalam file Password.txt 23 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL MENYIMPAN STRING KE FILE PASSWORD.TXT Kode dibawah digunakan untuk menyimpan string ke file password.txt : Dim ad As Integer ad = FreeFile Open App.Path & \password.txt For Output As #ad Print #ad, ini password Close #ad Penjelasan kode : isi file password.txt akan diganti oleh string ini password Lalu bagaimana jika kita ingin menyimpan nama_user dan juga password ?? Kita bisa mengakalinya dengan cara menyatukan kedua nilai tersebut dengan karakter khusus. Kita ambil contoh di antara nilai nama user dan password kita sisipi karakter || . Dengan cara itu, isi file password.txt akan menjadi = nama_user||password. Lalu bagaimana cara kita mendapatkan kedua nilai tersebut?? Dengan metode Split, kita bisa memisahkan kedua nilai tersebut. Contoh Isi file password.txt adalah agus||12345 , berarti nilai nama_user adalah agus dan passwordnya adalah 12345 Dim isi() As String isi = Split( agus||12345 , || ) nama_user = isi(0) password = isi(1) penjelasan kode : Dim digunakan untuk deklarasi variable isi yang bersifat Array. Split digunakan untuk memisahkan string agus||12345 dengan tanda || . Untuk mengakses Array variable isi, kita gunakan index. Di VB6, index suatu Array dimulai dari 0. Kita bisa menggunakan metode Split untuk memisahkan data lebih dari 2 nilai : Split(string1||string2||string3||string4| ) Metode file teks tidak hanya digunakan untuk menyimpan user dan password, tapi bisa anda kembangkan untuk menyimpan nilai yang lainnya. Dalam tugas IMK dulu saya menggunakannya untuk menyimpan nilai settingan untuk password, Themes, letak database dan settingan lainnya. Anda bisa juga mencoba membuat database dengan file txt. 24 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL PROJECT PERTAMA Di project pertama ini kita akan mencoba bermain main dengan menggunakan File Teks Buka Visual Basic 6 dan buat sebuah Form serta atur kontrolnya seperti gambar berikut : Buat lagi sebuah Form kedua seperti gambar berikut : Di Form yang pertama, klik 2x tombol Simpan untuk menampilkan jendela kode editor. Lalu ketikkan kode seperti dibawah ini : Private Sub Command2_Click() If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then MsgBox "Isikan Data dengan benar !!!!!!!!!!!!!!", , "Goblookk" Else smp = Text1.Text & "||" & Text2.Text & "||" & Text3.Text Open App.Path & "\test.txt" For Append As 1 ' sama dengan output Print #1, smp Close #1 Text1.Text = "" Text2.Text = "" Text3.Text = "" Text1.SetFocus End If End Sub 25 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Masih di Form pertama, klik 2x di tombol View, lalu ketikkan kode berikut : Private Sub Command1_Click() Unload Me Form2.Show End Sub Lalu klik 2x di tombol Exit, dan ketikkan kode berikut : Private Sub Command3_Click() End End Sub Lalu ketikkan kode berikut di baris paling atas di jendela kode editor : Dim smp As String Kode lengkap 26 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Di Form kedua, ketikkan kode berikut sesuai di masing2 kontrol. 27 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Untuk memasukkan kode di event Form_Load() seperti diatas, kita bisa klik 2x di sembarang bagian Form asal tidak mengenai control yang ada di dalam Form tersebut. Sekarang coba jalankan Program pertama kita dengan cara menekan F5 NOTE: jangan lupa buat dahulu file test.txt di dlm folder yang sama dengan project kita. 28 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL PROJECT KEDUA Di Project kedua ini, kita akan mencoba membuat aplikasi sebagai kendali I/O dengan menggunakan Parallel Port dan juga menggunakan Componen bernama io.dll Di masa sekarang ini Parallel Port sudah mulai di tinggalkan kegunaannya karena telah di gantikan dengan adanya Port USB. Di komputer komputer Tua masih banyak kita jumpai Parallel Port tersebut.dan nganggur begitu saja. Kita dapat memanfaatkan lagi Parallel Prot tersebut untuk keperluan yang lainnya, semisal : menyalakan TV, menyalakan Lampu ruang Tengah, lampu ruang tamu atau pun jika kita bisa lebih kreatif lagi, bisa kita kembangkan lagi untuk mengatur suhu ruangan.di Bantu dengan device lain semisal ADC ataupun DAC. Memang kita tidak dapat mendapatkan I/O yang banyak jika menggunakan Parallel Port, tapi kita bisa memperbanyaknya dengan menambah sebuah IC PPI semisal 8255. dengan PPI tersebut, kita bisa mendapatkan sekitar 24 I/O. Di project kita kali ini, kita hanya mencoba membuat 8 Output saja. Gambar Parallel Port 29 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Dari gambar Parallel Port, kita bisa melihat bahwa Parallel Port mempunyai 3 alamat yang masing masing mempunyai fungsi sendiri-sendiri. Alamat alamat tersebut yaitu : Data Port ( 378H / 888 decimal ) : 8 bit Port ini berfungsi sebagai jalur data yang akan di gunakan. Port ini bersifat Bi-direct ( bisa input ataupun Output ) yang mana dapat kita seting melalui BIOS. Status Port ( 379H / 889 decimal ) : 8 bit Port ini berfungsi membaca status dari Printer ( jika Printer kita Hubungkan ke Port Parallel ) alias sebagai Input. Control Port (37AH / 890 decimal ) : 8 bit Port ini bisa digunakan untuk Output juga, hanya saja di Port ini ada sebagian Bit yang berstatus Invert. Agar Data Port ( 378H ) dapat digunakan sebagai input, bit ke 6 harus di set 1 ( ON ). Di Aplikasi kita nantinya , kita mencoba untuk menggunakan salah satu Port saja, yaitu di alamat 378H atau 888 decimal. Dengan Port tersebut kita akan mencoba membuat beberapa Program, diantaranya : Lampu berjalan bolak balik. Lampu berjalan mulai dari tengah . Menyeting tiap tiap bit di Data Port ( 378H ) untuk menjalankan beberapa alat di sekitar kita. Note : untuk mencoba Output dari Parallel Port, saya telah membuat rangkaian sederhana berupa LED yang akan mengindikasikan Output dari Port tersebut. 30 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL PROGRAM LAMPU BERJALAN BOLAK BALIK Okey, kita akan memulai membuat Programnya. Buatlah Form dan beberapa kontrolnya seperti berikut: Setting interval timer1 menjadi 250 dan jangan lupa setting timer1 Enable menjadi False, karena timer1 akan kita jalankan melalui tombol Mulai. Kode lengkap 31 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Lalu buat module dan ketikkan kode berikut : Jalankan Program kita tersebut. Jangan lupa component io.dll telah terregistrasi di Komputer kita. Bagaimana jika kita membuat program diatas dengan menggunakan Array ??? Penjelasan : Variable balik digunakan untuk menyimpan arah dari nyala Lampu, sedangkan variable isi digunakan untuk menyimpan nilai yang akan di kirim ke Parallel Port. Fungsi module adalah untuk mendeklarasikan Funsi ( Prosedure ) yang bersifat Public. Fungsi tersebut mempunyai arti sbb : PortOut PortIn SetPortBit ClrPortBit funsi menuliskan data bertipe byte ke Port di alamat tertentu ( contoh : 888 ) membaca data yang berada di alamt Port tertentu memberi nilai 1 di bit tertentu di Alamat Port ( nilainya harus Byte ) memberi nilai 0 di bit tertentu di Alamat Port ( nilainya harus Byte ) Sebenarnya di component io.dll masih ada beberapa Fungsi lagi, tetapi di Program kita nanti fungsi tersebut tidak kita pakai. Untuk Program kedua ( nyala lampu dari tengah ) bisa anda coba sendiri.., okey !!! 32 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL PROGRAM KE TIGA Di program ketiga ini, kita akan mencoba mengakses Port 378H per BIT dengan menggunakan Prosedur SetPortBit dan ClrPortBit yang berada di io.dll ., kedua prosedur tersebut dapat mengakses per BIT secara indipenden. Okey.. , kita mulai ya .., buat sebuah Form lengkap dengan kode seperti Berikut : 33 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL PROJECT KETIGA 34 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL APLIKASI CHATTING DENGAN WINSOCK Di project kali ini, kita akan mencoba membuat aplikasi Chatting sederhana dengan menggunakan komponen Winsock. Winsock ( Windows Socket ) merupakan suatu komponenn yang dapat digunakan untuk keperluan komunikasi antar computer lewat Jaringan ataupun Internet Winsock sendiri dapat menggunakan 2 Protokol untuk berkomunikasi, yaitu TCP atau UDP. Kedua protocol tersebut mempunyai perbedaan dalam cara berkomunikasi, berikut ringkasanya : TCP ( Transmission Control Protokol ) Protocol ini memerlukan koneksi terlebih dahulu untuk dapat berkomunikasi. Server Membuka Port untuk komunikasi Client Meminta koneksi ke server di Port yang di buka oleh Server Server Menerima Permintaan Koneksi dari Client Setelah koneksi berhasil, Server dan Client dapat berkomunikasi ( bertukar Data ) Analoginya seperti saat kita menelpon seseorang, kita memanggil nomor telepon yang dituju, setelah telepon di angkat, kita baru dapat melakukan komunikasi UDP ( User Datagram Protocol ) Protocol ini tidak membutuhkan koneksi terlebih dahulu untuk berkomunikasi, sebagai konsekuansinya, data yang di kirim beleum tentu terkirim ke tujuan. Server membuka Port untuk komunikasi Client mengirim data Server menerima data Analoginya seperti kita mengirim surat, si Pengirim surat tidak tahu apakah paket yang dikirim telah diterima atau belum ketujuan. Di aplikasi kita nanti, kita akan menggunkan Protokol TCP. Seperti yang telah di jelaskan diatas, Protokol TCP dapat memberi jaminan bahwa paket yang kita kirim dapat sampai ketujuan. Sedangkan Protokol UDP, walaupun lebih cepat, tapi protocol tersebut tidak menjamin bahwa paket telah diterima atau belum. Okey.., kita akan memulai Project kita , dah siap kann ..???? 35 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Pertama tama, buatlah form dengan kontrol sebagai berikut : Kontrol Winsock Dalam keadaan biasa, Kontrol Winsock belum ada di Tool Box, untuk mengaktifkannya, tekan CTRL+T untuk menampilkan Jendela component seperti gambar berikut : Lalu centrang pada option Microsoft Winsock Control 6.0 lalu tekan OK Untuk memasukkan kontrol Winsock ke dalam Form, klik ikon Winsock lalu gambarkan kedalam Form yang kita buat. 36 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Sekarang kita buat kodenya Klik 2x di tombol Server, lalu ketikkan kode seperti berikut : Private Sub Command2_Click() Port = "1000" Winsock1.LocalPort = Port Winsock1.Listen End Sub Klik 2x di tombol Client, lalu ketikkan kode seperti berikut : Private Sub Command3_Click() Port = "1000" host = "127.0.0.1" Winsock1.Connect host, Port End Sub Klik 2x di timbol Kirim, lalu ketikkan kode seperti berikut : Private Sub Command1_Click() Winsock1.SendData Text1.Text Text1.Text = "" End Sub Klik 2x di control Winsock, pilih di event DataArrival dan ConnectionRequest, lalu ketikkan : Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) If Winsock1.State <> sckclose Then Winsock1.Close Winsock1.Accept requestID Form1.Caption = requestID & " konek.." End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Winsock1.GetData chat, vbString, bytesTotal Text2.Text = Text2 & vbCrLf & chat Text2.SelStart = Len(Text2.Text) End Sub 37 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Kode Lengkap : 38 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Penjelasan Kode : Dengan menekan tombol Server, maka Aplikasi kita akan bertindak sebagai server dengan membuka port di nomot Port 1000, setelah itu Winsock akan mulai melakukan Listening terhadap Permintaan koneksi dari klien Jika kita menekan tombol Client, maka Aplikasi kita akan bertindak sebagai Klien dengan cara meminta koneksi ke server di alamat Localhost ( 127.0.0.1 ) dan di no Port 1000. Alamat Localhost ( 127.0.0.1 ) digunakan jika kita memcoba Aplikasi kita di Satu komputer ( Looping ke komputer kita sendiri ). Jika kita akan mencobanya menggunakan 2 komputer, maka alamat Remotehost harus di isi dengan alamat IP dari komputer yang bertindak sebagai Server. Tombol Kirim digunakan untuk mengirim data atau teks yang ada di Textbox1, method yang dipakai adalah Winsock1.SendData Methode ConnectionRequest digunakan oleh Server ( Client tidak membutuhkannya ) untuk menerima permintaan koneksi dari klien. Jika ada suatu permintaan koneksi maka server akan menerimanya dengan menggunakan method Winsock.Accept RequestID. Sedangkan untuk menerima data yang dikirim, Winsock menggunakan method DataArrival untuk mengambil paket tersebut dan akan di simpan di variable yang telah kita tentukan. Lalu teksbox2 akan menampung menampung data di variable tersebut. Fungsi perintah Text2.SelStart = Len(text2.text) adalah untuk menampilkan selalu data terakhir yang di tampung di teksbox2. Untuk mencoba aplikasi chatting inim kita harus mengompilenya terlebih dahulu agar terbentuk file EXE nya. Karena untuk mencobanya ita harus menjalankan file EXE tersebut 2 x, EXE pertama harus kita klik di tombol Server, sedangkan di EXE kedua kita klik di tombol Client. Setelah itu kita sudah bisa mencobanya mengirim pesan dengan cara mengetikkan pesan kita di Textbox1 lalu tekan tombol kirim, cobalah anda kirim melalui kedua Aplikasi tersebut bergantian. Jika dilihat, sebenarnya aplikasi Chatting kita ini masih mempunyai kelemahan dn kekurangan, yaitu : Belum dibuatkan nama pengirim yang tampil di TeksBox. Jika salah satu aplikasi tersebut ( Entah Server atau Client ) kita tutup, kita harus memulainya dari awal, yaitu kita jalankan dahulu Aplikasi kita sebagai Server, baru kemudian kita jalankan Aplikasi kita sebagai Client. ( karena memang Aplikasi Chatting kita ini belumlah Multi Client ) Di kesempatan yang lainya nanti, kita akan mencoba membuat Aplikasi Chatting yang Multi Client Jika kita mau bereksperimen dan berkreasi, kita bisa saja menggabungkan Aplikasi Chatting ini dengan Aplikasi Parallel Port, maka kita akan bisa membuat sebuah aplikasi yang dapat mengontrol atau menjalankan alat2 disekeliling kita melalui Jaringan, hebat bukan .. ???? Di gambar depan Project Chatting ini adalah salah satu Aplikasi Chatting yang saya buat dan saya gabungkan dengan Ms Agent Merlin.acs serta file WAV, sehingga saat Aplikasi chatting kita menerima pesan, akan terdengar bunyi suara dan akan tampil penyihir Merlin yang akan bersuara sesuai pesan yang kita terima ( tentunya dengan logat inggris hhee hee . ) 39 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL PROJECT KE EMPAT Di Project ke empat ini kita akan membahas sedikit tentang pemrograman Data base menggunakan Visual basic dan Ms Access, di project kita nantinya, kita akan mencoba melakukan koneksi ke Database Ms Access dengan cara semi Coding dan juga Full Coding. Dengn bantuan Kontrol ADODC. Okey.., kita langsung mulai saja ya SEMI CODING Kita asumsikan bahwa kita sudah dapat membuat sebuah DataBase di Ms Access dengan nama Cobacoba.mdb dengan nama Tabel Mahasiswa, dengan Field field sebagai berikut : nim nama jurusan no_hp alamat untuk tipe datanya sementara gunakan String semua., coba masukkan dahulu data ke database kita itu gara tidak terkesan kosong saat program kita dijalankan ( isikan 1 Record saja ) Di Aplikasi kita ini, kita akan membuat sebuah program database dengan menggunakan Kontrol ADODC dan beberapa TextBox dan Button. Buatlah sebuah Form lengkap dengan kontrolnya : Kontrol ADODC Seperti Kontrol Winsock, Kontrol ADODC harus di aktifkan terlebih dahulu karena di Tool Box secara Default belumlah ada. Adapun caranya sama dengan mengaktifkan Kontrol Winsock. 40 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Untuk meload Kontrol ADODC, tekan CTRL+T, maka jendela Component akan tampil. TIPS DAN TRIK Lalu pilih option Microsoft ADO Data Control 6.0 ( OLEDB ), kemudian tekan OK Untuk memasukkan control ADODC, seperti biasa, klik di control tersebut dan gambarkan di Form kita. Sekarang kita akan mencoba meng-koneksikan Adodc kita ke Data Base yang telah kita buat sebelumnya, yaitu Cobacoba.mdb. Klik Kontrol Adodc di Form kita, lalu di jendela Properties, cari Properti yang bernama ConnectionString, lalu tekan tombol [ ] . 41 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Maka akan tampil jendela Propertie Page : Kemudian, klik tombol Build : Pilih Driver yang kita gunakan untuk koneksi ke MS Access, untuk hal ini kita pilih Microsoft Jet 4.0 OLE DB Provider, kemudian tekan tombol Next 42 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Tekan tombol [ ] untuk mencari Data Base yang akan kita koneksikan, dalam hal ini cari File Cobacoba.mdb lalu klik tombol Test Conection untuk memastikan bahwa Data Base telah terkoneksi dengar sukses., kemudian klik Tab Advanced dan pilih option ReadWrite dan kemudian tekan tombol OK. Kemudian tekan Tombol Apply untuk menampilkan Tab yang tersembunyi. lalu pilih Tab RecordSource dan pilih: CommandType : 2-addCmdTable Table or . : Mahasiswa Kemudian tekan OK, Sampai disini kita sudah dapat menggunakan control Adodc kita. 43 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Sekarang kita akan mengonekkan TextBox yang ada di From kita ke Kontrol Adodc sesuai dengan Field yang ada di Table Mahasiswa seperti berikut : Klik di TextBox1 ( Text1 ), kemudian klik di Properties DataSource dan pilih Adodc1.Kemudian klik di Propertie DataField dn pilih Field nim, untuk TextBox yang lainnya, setting juga Properties DataSource seperti Text1 tetapi sesuaikan Fieldnya dengan yang kita inginkan. Text1 DataSource Data Field : Adodc1 : nim Text2 DataSource DataField : Adodc1 : nama Text3 DataSource Data Field : Adodc1 : jurusan Text4 DataSource DataField : Adodc1 : no_hp Text5 DataSource DataField : Adodc1 : alamat 44 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Sekarang ketikkan kode berikut untuk masing masing Kontrol : Jika semua kode telah di ketikkan, kemudian kita coba jalankan program kita ini denga cara menekan F5 45 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL FULL CODING Sekarang kita akan mencoba mengoneksikan DataBase kita dengan cara menggunakan kode, walaupun sebenarnya kita masih tetap membutuhkan control OLEDB tersebut. Sebelumnya aktifkan control DataGrid melalui Jendela Component ( CTRL+T ) , kemudian pilih Microsoft DataGrid Control 6.0 , jangan lupa aktifkan juga Kontrol Adodc !! okey., kita buat Form seperti berikut : Oiya, untuk menampilkan field ke Object DataGrid, kita pancing terlebih dahulu dengan menggunakan Kontrol Adodc, setelah itu kita bias menghapusnya lagi ( Adodc nya dihapus lagi ). Sekarang buatlah sebuah module dan ketikkan kode berikut : Public con As New ADODB.Connection Public rs As New ADODB.Recordset Sub Main() con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\cobacoba.mdb" Form1.Show End Sub Module ini berfungsi untuk koneksi kita ke DataBase, untuk itu, Prosedur Sub Main() harus kita panggil pertama kali saat program kita di jalankan. Caranya adalah dengan menyetting StartUP Object yang ada di Project Properties ke Sub Main, bukan Form1. 46 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Kemudian ketikkan kode berikut : Sekarang coba jalankan program kita. 47 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Untuk mengakses field field dari record yang kita pilih melalui Query, kita bisa menggunakan kode : Text2.Text = rsmahasiswa!nim Text3.Text = rsmahasiswa!nama Dan seterusnya Pembahasan disini hanyalah contoh sederhana dan dasar dasar dari koneksi Database menggunkan Visual Basic. Sebenarnya masih ada beberapa lagi teknik koneksi Data Base menggunakan Visual basic, tapi Anda bisa mencarinya sendiri melalui Buku buku ataupun dari Internet. TIP dan TRIK Di sesi Tip dan Trik ini kita akan mencoba membahas tentang Visualisasi Aplikasi kita ( mempercantik tampilan Aplikasi kita ), yaitu : Memasukkan file Flash SWF kedalam Form kita. Membuat Tombol yang lebih cantik dan atraktif ( Tombol transparent, Lonjong, Bintang, dll ) Menjadikan Aplikasi kita mempunyai Styles XP ( default Form Visual Basic mirip dengan aplikasi di Win98 ) Mendandani Form kita dengan image yang menawan Tapi kita akan membahasnya saat kita Sharing bersama saja ya ..Dah capekk nie Okey Hee..hee .. .., sampai jumpa di sesi selanjutnya !!! dan semoga saja dpat bermanfaat buat kita semua .. 48 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Contoh Program Mini Market 49 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Contoh Program Styles XP 50 INSTITUT SAINS DAN TEKNOLOGI AL KAMAL Contoh Program Perpustakaan dengan Flash ( SWF ) Okey.., sekian dulu pembahasan kita tentang Visual Basic 6, untuk hal Sharing bersama . hal yang lainnya bisa kita By Dwi Saputro 200722012.. ISTA - Teknik Informatika 51