CARILAH ILMU MULAI DARI AYUNAN SANG IBU SAMPAI KELIANG LAHAT

Senin, 31 Oktober 2011

Nokia Lumia 800 dan Lumia 710: Awal Baru Sejarah Smartphone Nokia

Nokia Lumia 800 dan Lumia 710: Awal Baru Sejarah Smartphone Nokia


Oleh Kristian Tjahjono

Delapan bulan lalu, Nokia mengumumkan strategi barunya yang beralih dari platform Symbian dan mengadopsi platform Windows Phone dari Microsoft. Dan kini Nokia mengumumkan dua smartphone terbarunya yang berbasis sistem operasi Windows Phone.

Nokia Lumia 800

Dari segi desain, Nokia Lumia 800 tidak berbeda jauh jika dibandingkan Nokia N9. Tapi untuk spesifikasinya, ada beberapa perbedaan. Nokia Lumia 800 telah dilengkapi layar AMOLED ClearBlack 3,7 inci (480x800 pixel) yang melengkung serta prosesor Qualcomm single-core 1,4GHz dengan prosesor grafis.


Untuk multimedia, tersedia kamera digital 8 megapixel dengan lensa Carl Zeiss dan dukungan merekam video HD 720p. Memori internal 16GB juga tersedia, yang ditunjang dengan tambahan 25GB berupa akun SkyDrive untuk menyimpan gambar dan musik.


Untuk mengakses file yang ada di SkyDrive, Anda harus terkoneksi ke Internet. Konektivitas ke Internet juga cukup baik, karena telah mendukung HSDPA 14,4 Mbps dan HSUPA 5,76 Mbps serta Wi-Fi dan Bluetooth. Nokia Lumia 800 rencananya akan dijual sekitar 420 EURO atau sekitar 5 jutaan.  


Nokia Lumia 710  


Bagi yang suka bergonta-ganti cover casing, Nokia Lumia 710 menjadi pilihan yang tepat. Untuk kinerja, sepertinya Lumia 710 tidak berbeda jauh dibandingkan Lumia 800 mengingat keduanya menggunakan prosesor yang sama dan sama-sama memiliki RAM 512MB.


Yang sedikit membedakan, selain desainnya, adalah kemampuan kamera yang hanya 5 megapixel, tanpa lensa Carl Zeiss, dan kapasitas penyimpanan yang hanya 8GB. Harganya cukup terjangkau, sekitar 270 EURO atau di kisaran Rp 3,5 juta.  Kedua smartphone berbasis Windows Phone 7.5 Mango ini telah dilengkapi Nokia Drive, yaitu solusi navigasi dengan panduan suara pertama untuk sebuah perangkat Windows Phone.


Yang menarik, fasilitas ini diberikan gratis. Bagi konsumen Indonesia, sayangnya harus menunggu sampai awal tahun 2012 jika ingin membelinya. Yang menarik, kedua smartphone Lumia ini menggunakan Micro SIM card yang seperti ditemukan di Apple iPhone 4. Tampaknya Micro SIM card juga akan menjadi tren baru di tahun 2012. Jadi, siapkah Anda beralih ke Windows Phone?

Sumber: http://id.spesial.yahoo.com/blogs/techguide/nokia-lumia-800-dan-lumia-710-awal-baru-sejarah-smartphone-nokia.html

Senin, 07 Februari 2011

Taksonomi Bloom Terbaru

Revisi Taksonomi Bloom

Taksonomi Bloom ini telah direvisi oleh Krathwohl salah satu penggagas taknomi tujuan belajar, agar lebih cocok dengan istilah yang sering digunakan dalam merumuskan tujuan belajar.
Kita sering mengenalnya dengan C1 s.d. C6 

Pada revisi ini , jika dibandingkan dengan taksonomi sebelumnya, ada pertukaran pada posisi C5 dan C6 dan perubahan nama. Istilah sintesis dihilangkan dan diganting dengan Create.


Berikut ini Struktur dari Dimensi Proses Kognitif menurut Taksonomi yang telah direvisi 
1 Remember (Mengingat) , yaitu mendapatkan kembali pengetahuan yang relevan dari memori jangka panjang.
 1.1 Recognizing (mengenali)
 1.2 Recalling (memanggilan/mengingat kembali)

2 Understand (Memahami), yaitu menentukan makna dari pesan dalam pelajaran-pelajaran meliputi oral, tertulis ataupun grafik.
 2.1 Interpreting (menginterpretasi)
 2.2 Exemplifying (mencontohkan)
 2.3 Classifying (mengklasifikasi)
 2.4 Summarizing (merangkum)
 2.5 Inferring (menyimpulkan)
 2.6 Comparing (membandingkan)
 2.7 Explaining (menjelaskan)

3 Apply (Menerapkan), yaitu mengambil atau menggunakan suatu prosedur tertentu bergantung situasi yang dihadapi.
 3.1 Executing (mengeksekusi)
 3.2 Implementing (mengimplementasi)

4 Analyze (menganalisa), yaitu memecah-mecah materi hingga ke bagian yang lebih kecil dan mendeteksi bagian apa yang berhubungan satu sama lain menuju satu struktur atau maksud tertentu. 
 4.1 Differentianting (membedakan)
 4.2 Organizing (mengelola)
 4.3 Attributing (menghubungkan)

5 Evaluate (mengevaluasi), yaitu membuat pertimbangan berdasarkan kriteria dan standar.
5.1 Checking (memeriksa)
5.2 Critiquing (mengkritisi)

6 Create (menciptakan), yaitu menyusun elemen-elemen untuk membentuk sesuatu yang berbeda atau mempuat produk original.
6.1 Generating (menghasilkan)
6.2 Planning (merencanakan)
6.3 Producing (memproduksi)

 Proses kognitif meaningful learning atau yang melibatkan proses berpikir kompleks bisa digambarkan dari struktur ke C2 hingga ke C5.

Sumber 
David R. Krathwohl, A Revision of Bloom’s Taxonomy, An Overview (Ohio: Theory Into Practice, vol 41 number 4 : 2002)

Sabtu, 18 Desember 2010

Windows 7 Official Release


Windows 7 beta Official Release saat ini dapat didownload oleh publik. Microsoft awalnya mengumumkan bahwa download Windows 7 Beta hanya untuk 2.5 juta pendownload pertama, namun kembali mengumumkan bahwa Windows 7 Beta dapat didownload sampai dengan tanggal 24 January 2009.

Windows 7 Beta akan tersedia untuk edisi English, German, Japanese, Arabic, dan Hindi. Masing-masing akan tersedia versi 32-bit dan 64-bit kecuali untuk Hindi yang hanya akan tersedia dalam versi 32-bit saja. Microsoft menyediakan Windows 7 Beta dalam bentuk file image .iso untuk didownload. Untuk meggunakannya harus di Brun terlebih dahulu ke media DVD. Anda dapat menggunakan Program NERO atau IMGBurn.

Pada Versi beta ini mendukung instalasi bersih Windows 7 dan upgrade dari Windows Vista ke Windows 7. Namun Windows Vista yang akan diupgrade harus sudah Vista SP1 (Service Pack 1). karena Windows 7 Beta yang tersedia tersebut hanya mendukung upgrade dari Windows Vista SP1 saja. Windows 7 Beta yang dapat didownload ini hadir sebagai edisi Ultimate.

Minimum recommended specs :

  • Processor: 1 GHz 32-bit or 64-bit processor
  • Memory: 1 GB of system memory
  • Hard drive: 16 GB of available disk space
  • Video card: Support for DirectX 9 graphics with 128MB memory (in order to enable Aero theme)
  • Drive: DVD-R/W drive
  • Internet connection (to download the Beta and get updates)

Windows Seven Final Release berdasarkan informasi akan hadir pada tahun 2010. Namun padaWindows 7 beta (build 7000.0.081212) ini sudah terlihat fitur dan keunggulan-keunggulannya. Proses installasi terbilang sangat cepat. Untuk Aplikasi dan Software juga tidak masalah. Hampir mendukung semua software yang dapat dijalankan di OS Windows Vista dan Windows XP.Untuk Driver yang digunakan juga tidak masalah dapat menggunakan Driver kita yang lama (Support Vista)

Untuk tampilan dan interface Windows Seven 7 jauh lebih bagus dan baik dari Windows Vista. windows media center dan windows media player 12 juga sudah terdapat pada versi Windows 7 beta (build 7000.0.081212) ini. Yang pasti Windows 7 lebih ringan dari Windows Vista, Windows 7 seringan Windows XP.

Jadi jika ingin mendapatkan dan menggunakan Windows 7 bisa download pada link yang saya sediakan dibwah ini. Karena file-a sangat besar sebaiknya ketika mendownload menggunakan Internet Download Manager karena link download yang saya sediakan dapat diresume.

Windows 7  32-bit (x86) – 2,44 GB

Senin, 06 Desember 2010

Hikmah Shalat Lima Waktu Bagi Pelakunya


Shalat, merupakan perintah Allah yang sangat serius dalam segala urusannya. Mulai dari proses turun perintah akan-nya, peran-nya sebagai tiang penegak agama kita, prosesi persiapannya melalui wudhu yang sarat khasiat dan manfaat, sampai kepada semua bacaan dan gerakan di dalamnya yang bertabur kebaikan di dunia juga kebaikan di akhirat. Mi'raj-nya Rasulullah ke Sidratul Muntaha merupakan simbol dari mi'rajnya setiap pelaku shalat yang sukses melaksanakan shalat-nya dengan khusyu sehingga terbuka tabir antara Allah dengannya. Dan subhanallah, beruntunglah kita yang diberi kesempatan tanpa batas oleh Allah untuk mencoba ber-mi'raj kepadaNya dalam setiap hari yang kita lewati.

Di bawah ini adalah rangkuman dari buku Mukjizat Shalat yang ditulis oleh Drs. Ir. Nogarsyah Moede Gayo.

Manfaat shalat ditinjau secara medis dan kesehatan

Manfaat Wudhu:

  1. Menghilangkan bakteri dan kuman yang menempel di kulit.
  2. Menjaga kebersihan mata.
  3. Berkumur akan membuang bakteri yang berkumpul di dalam mulut, dan bersiwak akan lebih memperbaiki kesehatan mulut.
  4. Istinsyaq berguna untuk membersihkan bagian dalam hidung, mencerahkan warna dinding dalam hidung, menguatkan dan membersihkan rambut dalam hidung sehingga dapat berfungsi secara maksimal, mengurangi bakteri di pangkal hidung, mencegah penularan berbagai penyakit seperti sakit tenggorokan, flu, radang paru-paru, TBC, dan penyakit ISPA, serta membantu kelancaran penyaringan udara sehat yang masuk ke dalam paru-paru.
  5. Membasuh wajah sambil memijat wajah dengan lembut dapat melancarkan peredaran darah di wajah.
  6. Mencuci tangan dan siku dapat mengatasi pembengkakan di daerah tangan dan bahu, juga menyegarkan fisik yang lelah.
  7. Mengusap kepala berguna untuk menurunkan suhu badan, menurunkan stress pada bagian kepala, menurunkan resiko tekanan darah tinggi, melancarkan peredaran darah ke otak, dan berefek menentramkan jiwa.
  8. Membasuh telinga berefek menenangkan, memijat titik-titik akupuntur sehingga melancarkan peredaran darah ke organ-organ tubuh, menurunkan emosi, menghasilkan rasa lebih sensitive terhadap getaran suara.
  9. Mencuci kaki berguna untuk melancarkan aliran darah, menguatkan kaki, menenangkan, membuat tidur menjadi lebih nyenyak/lebih dalam, sebagai terapi mental.

Manfaat shalat secara umum:

  1. Memperbaiki otot punggung.

  2. Memperbaiki jaringan otot tubuh.

  3. Mengembalikan keseimbangan tubuh pasca bedah tulang.

  4. Menyembuhkan otot/tulang yang terkilir.

  5. Menyehatkan urat nadi dan hati.

  6. Mengurangi resiko tekanan darah tinggi.

  7. Melancarkan saluran pernapasan lewat bacaan shalat.

  8. Memperlancar peredaran darah.

  9. Membuat tulang mampu menyerap lebih banyak kalsium.

  10. Membakar lemak di bagian perut.

  11. Menghindari proses penuaan dini.

Manfaat sujud:

  1. Memperkuat tulang dan otot terutama pada bagian paha, tumit dan kaki.

  2. Mengoptimalkan ketahanan fisik.

  3. Melancarkan peredaran darah.

  4. Mempermudah proses persalinan dan menghindari posisi bayi sungsang pada wanita hamil.

  5. Mencegah kenaikan kadar kolestrol dalam darah.

  6. Memperbaiki fungsi pencernaan.

  7. Sarana latihan pernapasan.

  8. Membersihkan sel darah putih dan sel darah merah.

  9. Menyiapkan diri secara psikologis dalam menghadapi tantagan hidup.

Manfaat shalat subuh pada waktunya:

  1. Mengoptimalikan fungsi urat syaraf.

  2. Menenangkan jiwa.

  3. Menjernihkan pikiran.

  4. Awet muda.

Manfaat Shalat dari Segi Psikologi:

  • Menjernihkan jiwa.

  • Mencapai kesadaran yang lebih tinggi (altered states of consciousness).

  • Mencapai pengalaman puncak (peak experience).

  • Mengurangi kecemasan lewat:

    1. meditasi/doa yang teratur

    2. relaksasi dengan gerakan shalat

    3. hetero/auto sugesti dalam bacaan shalat

    4. group therapy dalam shalat jamaah, atau bahkan dalam shalat sendiri ada saya dan Allah

    5. hydro therapy dengan berwudhu

  • Mengembalikan kesadaran dengan bermi'raj menuju kepada ketinggian Ilahi Rabbi.

  • Melepaskan diri dari pengaruh alam yang lebih rendah.

  • Bertemu Allah.

  • Meringankan ketegangan jiwa.

  • Membuat pelaku shalat mampu meninggalkan pekerjaan yang buruk.

  • Menumbuhkan kedermawanan dan keberanian pada pelakunya.

  • Menumbuhkan sifat saling tolong menolong.

  • Symbol persamaan dan kebersamaan.

Manfaat Medis Shalat Tahajjud:

Hadits: shalat tahajjud dapat menghapus dosa, mendatangkan ketenangan, dan menghindakan dari penyakit (HR Tirmidzi).

Ketenangan akan:

  1. Meningkatkan ketahanan tubuh (Imunologik).

  2. Mengurangi resiko serangan jantung.

  3. Meningkatkan usia harapan

  4. Menghilangkan rasa nyeri pada pasien kanker.

  5. Alternatif anastesis pra-bedah.

Manfaat medis lain tahajjud:

  1. Menjadikan wajah cemerlang dan bersinar.

  2. Mengobati sakit pada tubuh.

  3. Melancarkan peredaran darah , terutama pada syaraf otak dan punggung.

  4. Sujud di shalat tahajjud membuat sel-sel darah dalam otak menjadi bersih dan segar.

  5. Shalat tahajjud yang disertai niat ikhlas, khusyu, tepat waktu dan terus menerus akan menghindarkan stress, memperbaiki system imun, dan menghindarkan dari infeksi dan kanker, sedangkan shalat tahajjud yang tidak disertai niat yang iklas, tidak khuyu, tidak tepat waktu dan tidak terus menerus dapat menimbulkan stress, menimbulkan rasa sakir dan penyakit, memperburuk system imun, dan rentan terkena infeksi dan kanker.

Manfaat shalat tahajjud dalam rangka pemeliharaan homeostatis:

  1. Terkabulnya doa

  2. Terjawabnya permintaan

  3. Diampuninya dosa

  4. Menyambung komunikasi dengan Allah

Bukan tanpa maksud Allah menempatkan shalat dengan segala hal yang berhubungan dengannya sampai Dia menerbangkan rasul ke keluasan tanpa batas di sidratul muntaha. Karena, cukuplah pertemuan dengan Allah yang maha kasih yang akan menggenapkan kita dari segala butuh, di dunia dan akhirat.


Hikma Shalat Subuh


“Sesungguhnya amal manusia yang pertama kali dihisab pada hari kiamat adalah shalatnya” Jika shalatnya baik, maka baik pula seluruh amalnya; dan kalau jelek, maka jeleklah seluruh amalnya. Bagaimana mungkin seorang mukmin mengharapkan kebaikan di akhirat, sedang pada hari kiamat bukunya kosong dari shalat Subuh tepat waktu?

“Sesungguhnya shalat yang paling berat bagi orang munafik adalah shalat Isya’ dan shalat Subuh. Sekiranya mereka mengetahui apa yang terkandung di dalamnya, niscaya mereka akan mendatangi keduanya (berjamaah di masjid) sekalipun dengan merangkak” [HR Al-Bukhari dan Muslim]

Shalat Subuh memang shalat wajib yang paling sedikit jumlah rekaatnya; hanya dua rekaat saja. Namun, ia menjadi standar keimanan seseorang dan ujian terhadap kejujuran, karena waktunya sangat sempit (sampai matahari terbit)

Ada hukuman khusus bagi yang meninggalkan shalat Subuh. Rasulullah saw telah menyebutkan hukuman berat bagi yang tidur dan meninggalkan shalat wajib, rata-rata penyebab utama seorang muslim meninggalkan shalat Subuh adalah tidur.

“Setan melilit leher seorang di antara kalian dengan tiga lilitan ketika ia tidur. Dengan setiap lilitan setan membisikkan, ‘Nikmatilah malam yang panjang ini’. Apabila ia bangun lalu mengingat Allah, maka terlepaslah lilitan itu. Apabila ia berwudhu, lepaslah lilitan yang kedua. Kemudian apabila ia shalat, lepaslah lilitan yang ketiga, sehingga ia menjadi bersemangat. Tetapi kalau tidak, ia akan terbawa lamban dan malas”.

“Berikanlah kabar gembira kepada orang-orang yang banyak berjalan dalam kegelapan (waktu Isya’ dan Subuh) menuju masjid dengan cahaya yang sangat terang pada hari kiamat” [HR. Abu Dawud, At-Tarmidzi dan Ibnu Majah]

Allah akan memberi cahaya yang sangat terang pada hari kiamat nantinya kepada mereka yang menjaga Shalat Subuh berjamaah (bagi kaum lelaki di masjid), cahaya itu ada dimana saja, dan tidak mengambilnya ketika melewati Sirath Al-Mustaqim, dan akan tetap bersama mereka sampai mereka masuk surga, Insya Allah.

“Shalat berjamaah (bagi kaum lelaki) lebih utama dari shalat salah seorang kamu yang sendirian, berbanding dua puluh tujuh kali lipat. Malaikat penjaga malam dan siang berkumpul pada waktu shalat Subuh”. “Kemudian naiklah para Malaikat yang menyertai kamu pada malam harinya, lalu Rabb mereka bertanya kepada mereka - padahal Dia lebih mengetahui keadaan mereka - ‘Bagaimana hamba-2Ku ketika kalian tinggalkan ?’ Mereka menjawab, ‘Kami tinggalkan mereka dalam keadaan shalat dan kami jumpai mereka dalam keadaan shalat juga’. ” [HR Al-Bukhari]

Sedangkan bagi wanita - walau shalat di masjid diperbolehkan - shalat di rumah adalah lebih baik dan lebih banyak pahalanya, yaitu yang mengerjakan shalat Subuh pada saat para pria sedang shalat di masjid. Ujian yang membedakan antara wanita munafik dan wanita mukminah adalah shalat pada permulaan waktu.

“Barang siapa yang menunaikan shalat Subuh maka ia berada dalam jaminan Allah. Shalat Subuh menjadikan seluruh umat berada dalam jaminan, penjagaan, dan perlindungan Allah sepanjang hari. Barang siapa membunuh orang yang menunaikan shalat Subuh, Allah akan menuntutnya, sehingga Ia akan membenamkan mukanya ke dalam neraka” [HR Muslim, At-Tarmidzi dan Ibnu Majah]

Banyak permasalahan, yang bila diurut, bersumber dari pelaksanaan shalat Subuh yang disepelekan. Banyak peristiwa petaka yang terjadi pada kaum pendurhaka terjadi di waktu Subuh, yang menandai berakhirnya dominasi jahiliyah dan munculnya cahaya tauhid. “Sesungguhnya saat jatuhnya adzab kepada mereka ialah di waktu Subuh; bukankah Subuh itu sudah dekat?” (QS Huud:81)

Rutinitas harian dimulainya tergantung pada pelaksanaan shalat Subuh. Seluruh urusan dunia seiring dengan waktu shalat, bukan waktu shalat yang harus mengikuti urusan dunia.

“Jika kamu menolong (agama) Allah, maka ia pasti akan menolongmu dan meneguhkan kedudukanmu” (QS Muhammad : 7)

“Sungguh Allah akan menolong orang yang menolong agamanya, sesungguhnya Allah Maha Kuat dan Maha Perkasa” (QS Al-Hajj:40)

TIPS MENJAGA SHALAT SUBUH :

  1. Ikhlaskan niat karena Allah, dan berikanlah hak-hak-Nya
  2. Bertekad dan introspeksilah diri Anda setiap hari
  3. Bertaubat dari dosa-dosa dan berniatlah untuk tidak mengulangi kembali
  4. Perbanyaklah membaca doa agar Allah memberi kesempatan untuk shalat Subuh
  5. Carilah kawan yang baik (shalih)
  6. Latihlah untuk tidur dengan cara yang diajarkan Rasulullah saw (tidur awal; berwudhu sebelum tidur; miring ke kanan; berdoa)
  7. Mengurangi makan sebelum tidur serta jauhilah teh dan kopi pada malam hari
  8. Ingat keutamaan dan hikmah Subuh; tulis dan gantunglah di atas dinding
  9. Bantulah dengan 3 buah bel pengingat(jam weker; telpon; bel pintu)
  10. Ajaklah orang lain untuk shalat Subuh dan mulailah dari keluarga

Jika Anda telah bersiap meninggalkan shalat Subuh, hati-hatilah bila Anda berada dalam golongan orang-orang yang tidak disukai Allah untuk pergi shalat. Anda akan ditimpa kemalasan, turun keimanan, lemah dan terus berdiam diri.

Disarikan dari :
Buku “MISTERI SHALAT SUBUH”
Menyingkap 1001 Hikmah Shalat Subuh Bagi Para Pribadi dan Masyarakat
Pengarang : DR. Raghib As-Sirjani
Penerbit : Aqwam

Kamis, 02 Desember 2010

Network Address Translation (NAT)

Network Address Translation atau yang lebih biasa disebut dengan NAT adalah suatu metode untuk menghubungkan lebih dari satu komputer ke jaringan internet dengan menggunakan satu alamat IP. Banyaknya penggunaan metode ini disebabkan karena ketersediaan alamat IP yang terbatas, kebutuhan akan keamanan (security), dan kemudahan serta fleksibilitas dalam administrasi jaringan.

Dalam FreeBSD, mekanisme Network Address Translation (NAT) dijalankan oleh program Natd yang bekerja sebagai daemon. Network Address Translation Daemon (Natd) menyediakan solusi untuk permasalahan penghematan ini dengan cara menyembunyikan IP address jaringan internal, dengan membuat paket yang di-generate di dalam terlihat seolah-olah dihasilkan dari mesin yang memiliki IP address legal. Natd memberikan konektivitas ke dunia luar tanpa harus menggunakan IP address legal dalam jaringan internal.

Natd menyediakan fasilitas Network Address Translation untuk digunakan dengan socket divert. Natd mengubah semua paket yang ditujukan ke host lain sedemikian sehingga source IP addressnya berasal dari mesin Natd. Untuk setiap paket yang diubah berdasarkan aturan ini, dibuat tabel translasi untuk mencatat transaksi ini.

Dengan NAT, aturan bahwa untuk berkomunikasi harus menggunakan IP address legal, dilanggar.NAT bekerja dengan jalan mengkonversikan  IP-IP address ke satu atau lebih IP address lain. IP address yang dikonversi adalah IP address yang diberikan untuk tiap mesin dalam jaringan internal (bisa sembarang IP). IP address yang menjadi hasil konversi terletak di luar jaringan internal tersebut dan merupakan IP address legal yang valid/routable.

 

Jenis – Jenis NAT

1. Full cone NAT

2. Restricted cone NAT

3. Port restricted cone NAT

4. Symmetric NAT


Mekanisme NAT

Sebuah paket TCP terdiri dari header dan data. Header memiliki sejumlah field di dalamnya, salah satu field yang penting di sini adalah MAC (Media Access Control) address asal dan tujuan, IP address asal dan tujuan, dan nomor port asal dan tujuan.

Saat mesin A menghubungi mesin B, header paket berisi IP A sebagai IP address asal dan IP B sebagai IP address tujuan. Header ini juga berisi nomor port asal (biasanya dipilih oleh mesin pengirim dari sekumpulan nomor port) dan nomor port tujuan yang spesifik, misalnya port 80 (untuk web).
Kemudian B menerima paket pada port 80 dan memilih nomor port balasan untuk digunakan sebagai nomor port asal menggantikan port 80 tadi. Mesin B lalu membalik IP address asal & tujuan dan nomor port asal & tujuan dalam header paket. Sehingga keadaan sekarang IP B adalah IP address asal dan IP A adalah IP address tujuan. Kemudian B mengirim paket itu kembali ke A. Selama session terbuka, paket data hilir mudik menggunakan nomor port yang dipilih.
Router (yang biasa – tanpa Natd) memodifikasi field MAC address asal & tujuan dalam header ketika me-route paket yang melewatinya. IP address, nomor port, dan nomor sequence asal & tujuan tidak disentuh sama sekali.
NAT juga bekerja atas dasar ini. Dimulai dengan membuat tabel translasi internal untuk semua IP address jaringan internal yang mengirim paket melewatinya. Lalu men-set tabel nomor port yang akan digunakan oleh IP address yang valid. Ketika paket dari jaringan internal dikirim ke Natd untuk disampaikan keluar, Natd melakukan hal-hal sebagai berikut:
1.Mencatat IP address dan port asal dalam tabel translasi
2.Menggantikan nomor IP asal paket dengan nomor IP dirinya yang valid
3.Menetapkan nomor port khusus untuk paket yang dikirim keluar, memasukkannya dalam tabel translasi dan menggantikan nomor port asal tersebut dengan nomor port khusus ini. Ketika paket balasan datang kembali,  Natd mengecek nomor port tujuannya. Jika ini cocok dengan nomor port yang khusus telah ditetapkan sebelumnya, maka dia akan melihat tabel translasi dan mencari mesin mana di jaringan internal yang sesuai. Setelah ditemukan, ia akan menulis kembali nomor port dan  IP address tujuan dengan IP address dan nomor port asal yang asli yang digunakan dulu untuk memulai koneksi. Lalu mengirim paket ini ke mesin di jaringan internal yang dituju. Natd memelihara isi tabel translasi selama koneksi masih terbuka.

Kamis, 11 November 2010

Struktur Sintaks PHP

Apa Itu PHP? 
 
Berdasarkan  informasi  dari  situs  resmi  PHP,  “PHP.net”,  PHP  (PHP:  Hypertext  Prepocessor) 
merupakan bahasa pemrograman web yang dapat disisipkan dalam script HTML. Banyak sintaks 
di  dalamnya  yang  mirip  dengan  bahasa  C,  Java  dan  Perl.  Tujuan  dari  bahasa  ini  adalah 
membantu para pengembang web untuk membuat web dinamis dengan cepat. 
Ketika seseorang mengunjungi web berbasis PHP, web server akan memproses code-code PHP. 
Beberapa perintah atau  code dari PHP  tersebut  selanjutnya  ada  yang diterjemahkan ke dalam 
HTML dan beberapa ada yang disembunyikan  (misalnya proses kalkulasi dan operasi). Setelah 
diterjemahkan ke dalam HTML, web server akan mengirim kembali ke web browser pengunjung 
tersebut. 
Apa yang Bisa Dilakukan dengan PHP? 
 
•  Mengurangi waktu untuk membuat web berskala besar 
•  Mampu menciptakan web interaktif  
•  Menciptakan berbagai tool untuk keperluan online  (http://www.hotscripts.com/PHP/Scripts_and_Programs/) 
•  Mendukung e-commerce (shopping carts)

Modal Dasar Mempelajari PHP 
 
Sebelum mempelajari PHP, Anda harus menguasai  
•  HTML,  
•  Dasar-dasar pemrograman (C/C++ lebih baik) 
 
Aplikasi Yang Diperlukan ?
 
Untuk dapat bekerja dengan PHP, berikut ini adalah beberapa aplikasi yang diperlukan: 
•  Web server (Apache, IIS, Personal Web Server/PWS) 
•  PHP server (dapat didownload di PHP.net) 
•  Database server (MySQL, Interbase, MS SQL, dll) 
•  Web Editor (Dreamweaver, Frontpage, dll) 
 
Anda  dapat  pula  menggunakan  tool  aplikasi  yang  di  dalamnya  sudah  terdapat  web  server 
(Apache), PHP server, dan MySQL yang terintegrasi menjadi satu. Tool tersebut dapat diinstal di 
PC  sebagai  sarana  belajar  PHP.  Beberapa  contoh  tool  tersebut  diantaranya  adalah  Easyphp 
(Easyphp.org), PHPTriad, AppServe, dll. 
 
PHP server dapat berjalan dengan baik di beberapa OS seperti Windows, Linux, dan Macintosh.

untuk jenis Apache anda dapat menggantinya dengan Xampp yang mana akan lebih membantu anda dalam membuat php, selain fiturnya yang sudah lengkap, xampp juga memberikan kemudahan dalam pembuatan....

ok silahkan dicoba dan dilihat tiap ada perbedaan perbedannya,,,, kata orang jawa dipetani ngal sitok sitok.... kekekeke

untuk lanjutannya akan dibahas diartikel selnjutnya, karena klo dilanjutin bisa bikin kayak sepur, panjang,,,,,,,, banget. hehehehe

oza untuk mendownload tutorialnya bisa dilihat dibawah
1. struktur sintaks DISINI
2. Array DISINI
3. Operator DISINI
4. Modularitas DISINI
5. Statement Control DISINI
untuk xampp dapat didownload DISINI

Selasa, 02 November 2010

Tutorial Visual Basic 6

Visual Basic adalah sebuah alat yang memungkinkan kita untuk membuat aplikasi berbasis Windows GUI (Graphical User Interface). Aplikasi yang dihasilkan mirip seperti aplikasi-aplikasi windows lainnya, seperti MS Word, MS Excel, Wordpad, dsb; sehingga user yang terbiasa bekerja di lingkungan windows akan cepat menguasai aplikasi yang kita buat nantinya.
Aplikasi yang dibuat dengan Visual Basic bekerja berdasarkan event-event. Contoh event : user klik tombol, pilih menu, dll. Jadi ketika tidak ada event yang terjadi (user tidak melakukan apa-apa), aplikasi berada dalam kondisi tidak aktif. Sebenarnya semua aplikasi windows bekerja berdasarkan event-event. Contoh : MS Word tidak akan melakukan pekerjaan sebelum kita menyuruhnya (ketik teks, pilih warna, format font, dsb).
Penggunaan event ini sangat menguntungkan, karena kita tidak perlu menyelesaikan aplikasi hanya untuk mencoba sebuah event tertentu. Contoh : untuk melihat apakah aplikasi kita dapat membuka file, kita cukup menjalankan event tersebut (biasanya pemilihan menu file  open).

Sejarah Visual Basic
- Visual Basic for DOS dan Visual Basic for Windows diperkenalkan pada tahun 1991
- Visual Basic 3 dikeluarkan pada tahun 1993
- Visual Basic 4 dirilis pada akhir 1995 dengan menambahkan dukungan untuk aplikasi 32 bit.
- Visual Basic 5 dikeluarkan pada akhir 1996 dengan menghilangkan dukungan pembuatan aplikasi 16 bit.
- Visual Basic 6, 1998. Aplikasi yang dibuat dengan Visual Basic 6 dapat berjalan pada Windows 95, 98, Millenium, NT, 2000.

Pembuatan Aplikasi
Langkah Umum
1. Buat interface aplikasi dengan menempatkan control / object pada form.
2. Modifikasi properti control.
3. Buat kode pada event-event dari control, dan kode pelengkap (bukan event, misalnya fungsi/prosedur yang kita buat sendiri).

Dengan adanya event, maka kita dapat mengerjakan aplikasi per event. Jika satu event sudah berjalan dengan benar, kerjakan event yang lain. Dengan demikian cara kita membuat aplikasi menjadi modular (kerjakan event 1, event 2, event 3, dst sehingga menjadi aplikasi yang sebenarnya). Cara ini juga memudahkan kita untuk men-debug program apabila terjadi kesalahan.

Visual Basic berjalan pada 3 mode : 
- Mode Design, dalam modus inilah pembuatan aplikasi dilaksanakan
- Mode Run, dalam mode ini aplikasi dijalankan.
- Mode Break, dalam mode ini aplikasi di hentikan sementara mengaktifkan Visual Basic Debugger (untuk mendebug program, biasanya dilakukan untuk melacak kesalahan/error).

Visual Basic IDE (Integrated Development Environment)



Window Utama



Window Utama terdiri dari Title Bar, Menu Bar, dan Toolbar. Pada Title Bar terdapat nama project, dan mode Visual Basic. Menu Bar menyimpan menu-menu yang berguna dalam pembuatan aplikasi. Dalam Toolbar kita dapat menemukan sejumlah shortcut dari menu-menu pada Menu Bar. Pada Window Utama juga terdapat posisi form dan ukuran form relatif terhadap layar dalam ukuran Twips.


Form



Di dalam form inilah kita membuat user interface aplikasi yang akan kita buat dengan menempatkan control-control. Bayangkan form sebagai kanvas, di dalam “kanvas” inilah kita akan menggambar bagaimana bentuk GUI aplikasi.

Toolbox



Didalam Toolbox kita dapat menemukan control-control yang dapat dipergunakan pada form. Control-control yang lain dapat ditambah dengan mengakses menu Project  Components atau dengan menekan tombol Ctrl + T.


Window Properties



Kita dapat merubah property-property dari object pada window property ini. Drop down pada window property menyimpan control-control pada form yang sedang aktif. Window property mempunyai 2 macam view, Alphabetic dan Categorized.

Form Layout Window



Dalam window ini kita dapat melihat posisi form relatif terhadap layar monitor kita.


Window Project



Window ini memperlihatkan daftar form dan module aplikasi yang sedang kita kerjakan.

Menempatkan control pada form
Ada 2 cara untuk menempatkan control pada form :
1. Klik ganda control pada toolbox. Aksi ini akan menambahkan control tersebut pada form dengan ukuran standar (default) di tengah-tengah Form.
2. Klik control di Toolbox, lalu pindahkan mouse pointer ke form. Tekan dan tahan tombol kiri mouse, drag sampai ukuran yang diinginkan, lepas tombol mouse.

Untuk memindahkan control, klik controlnya lalu pindahkan ke tempat yang anda inginkan. Pemindahan dapat juga dilakukan dengan menekan tombol Ctrl dan tombol panah kanan, kiri, atas atau bawah dengan catatan bahwa control yang ingin dipindahkan harus mendapat fokus.
Untuk merubah ukuran control, pindahkan mouse pointer ke tepi control, tekan dan tahan tombol kiri, drag sehingga didapat ukuran yang diinginkan. Cara lain yaitu dengan cara menekan tombol Shift dan tombol panah atas, bawah, kiri, atau kanan dengan catatan control yang ingin dirubah ukurannya harus mendapat fokus. Namun demikian, beberapa control tidak dapat dirubah ukurannya, contoh : CommonDialog, Timer.

Penamaan Control
Yang dimaksud dengan penamaan yaitu memberikan nilai kepada property Name pada control (semua control mempunyai property Name). Adapun aturannya :
- Maksimal 40 karakter
- Diawali dengan huruf
- Hanya boleh mengandung huruf, angka, dan garis bawah “_”.

Secara kesepakatan, untuk mempermudah membaca kode program, para programmer Visual Basic memberi awalan / prefix 3 huruf.


Jenis Control
Prefix
CommandButton
Label
TextBox
Frame
CheckBox
ComboBox
Timer
OptionButton
HscrollBar
DirListBox
Shape
Image
OLE Container Control
PictureBox
OptionButton
ListBox
VscrollBar
DriveListBox
FileListBox
Line
Data cmd
lbl
txt
fra
chk
cbo
tmr
opt
hsb
dir
shp
img
ole
pic
opt
lst
vsb
drv
fil
lin
dat


Visual Basic Object
Berikut ini akan kita bahas beberapa objek-objek dari Visual Basic.

1. Label
Label digunakan untuk menampilkan teks pada layar. Penamaan object label biasanya diberi awalan “lbl” untuk membedakannya dari object-object yang lain. Contoh: lblNamaPegawai, dapat digunakan untuk menamai sebuah label yang dipergunakan untuk menampilkan nama pegawai di form. Seperti object-object yang lain, label juga mempunyai property yang dapat dirubah/disetting pada waktu design-time atau pada waktu running-time. Beberapa property yang sering digunakan:
a. Alignment
Digunakan untuk memberi efek perataan tulisan pada label. Left Justify (rata kiri), Right Justify (rata kanan), Center (rata tengah).
b. Appereance
Digunakan dalam efek tampilan object. Flat atau 3D. Hanya dapat diatur pada design-time.
c. Autosize
Digunakan dalam penentuan ukuran object. Jika bernilai True maka ukuran label akan disesuaikan dengan ukuran tulisan/captionnya. Jika bernilai False maka ukuran label dapat kita tentukan sendiri.
d. BackColor
Digunakan dalam penentuan warna latar belakang dari label.
e. BackStyle
Digunakan dalam penentuan sifat label terhadap object lain yang berada dibawahnya. Transparent digunakan agar object lain yang berada dibawah label tersebut terlihat. Opaque digunakan agar object lain yang berada dibawah label tidak terlihat.
f. BorderStyle
Digunakan dalam penentuan border/garis tepi dari label. Gunakan None untuk membuat label tanpa border, atau Fixed Single untuk membuat label dengan border.
g. Caption
Mungkin ini property dari label yang paling sering kita atur. Dimana property caption menentukan tulisan apa yang akan ditampilkan oleh label tersebut.
h. Enable
Digunakan dalam penentuan apakah label itu dapat menerima event (click, double click, dsb) dengan nilai True atau tidak bila nilainya False.
i. Font
Digunakan dalam penentuan efek tulisan/caption. Jenis huruf, tebal, miring dapat ditentukan disini.
j. Fore Color
Digunakan dalam penentuan efek warna tulisan/caption label.
k. Visible
Digunakan dalam penentuan apakah label tersebut dapat terlihat atau tidak. Jika True maka kita dapat melihat label tersebut, sedangkan jika False kita tidak dapat melihat label tersebut.

2. TextBox
TextBox biasa dipakai untuk interaksi dengan user yang memerlukan input data dari keyboard. Misalnya kita gunakan textbox untuk nama user. Penamaan textbox diberi awalan “txt”. Sebagian besar property textbox sama dengan label, tetapi ada beberapa yang berbeda dan atau mempunyai arti yang tidak persis sama.
a. Enable
Jika property Enable dari textbox di set menjadi True maka kita dapat mengedit isi dari textbox, sedangkan jika bernilai False kita tidak dapat mengedit isi dari textbox tersebut.
b. MultiLine
Digunakan untuk menentukan apakah tulisan dalam textbox dapat terdiri dari beberapa baris. Jika bernilai True maka isi textbox dapat terdiri dari beberapa baris, sedangkan jika False hanya terdiri dari 1 baris. 
c. Alignment
Berbeda dengan label, pada textbox property Alignment hanya dapat bekerja bila property MultiLine bernilai True.
d. PasswordChar
Digunakan untuk mengganti tampilan karakter yang kita ketik. Misalnya PasswordChar bernilai “*”, maka setiap karakter yang kita ketik akan ditampilkan dengan karakter “*” tersebut.
e. ScrollBar
Digunakan untuk menentukan apakah textbox tersebut memakai scrollbar atau tidak. None tanpa scrollbar, Horizontal jika textbox memakai scrollbar horizontal, Vertical jika textbox memakai scrollbar vertical, Both jika textbox memakai scrollbar horizontal dan vertical.
f. Text
Property textbox yang paling sering kita atur. Yaitu property tulisan/isi textbox.

3. CommandButton
CommandButton merupakan implementasi tombol pada Visual Basic. Jika kita memakai program berbasis windows yang lain, biasanya mereka menggunakan command button untuk interaksi user, seperti tombol OK, Cancel, Save, dsb. Awalan yang dipakai adalah "cmd". Property commandbutton sebagian besar sama dengan label. Beberapa perbedaan:
a. Cancel
Jika property ini bernilai True maka kita tidak perlu meng-klik tombol tersebut, kita cukup menekan tombol escape (ESC) pada keyboard. Dalam satu form hanya ada 1 tombol yang dapat mempunyai nilai True pada property Cancel-nya.

b. Default
Jika property ini bernilai True maka kita tidak perlu meng-klik tombol tersebut, kita cukup menekan tombol ENTER pada keyboard. Dalam satu form hanya ada 1 tombol yang dapat mempunyai nilai True pada property Default-nya.

4. OptionButton
OptionButton biasanya digunakan dalam pemilihan, dimana hanya satu pilihan yang dapat dipilih pada suatu saat tertentu. Penempatan OptionButton tergantung pada container-nya. Sekumpulan OptionButton dalam satu container, dianggap dalam satu grup dimana hanya ada 1 OptionButton yang dapat dipilih. Lihat gambar dibawah ini.



Disini 3 OptionButton dianggap satu grup dalam 1 container, yaitu form. Oleh karena itu hanya ada 1 OptionButton yang dapat dipilih (Option1). Bandingkan dengan gambar dibawah ini.



Dalam gambar diatas ada 2 OptionButton yang dipilih (Option2 dan Option4). Hal ini dimungkinkan karena container yang dipakai berbeda (Frame1 dan Frame2).
Jika sebuah OptionButton dipilih, maka property Value-nya bernilai True. Jika tidak dipilih maka Value-nya bernilai False.

5. CheckBox
Berbeda dengan OptionButton yang hanya dapat dipilih 1 dalam 1 container, kita dapat memilih satu, beberapa, atau bahkan semua checkbox karena chekbox tidak tergantung kepada container-nya. Walaupun begitu, kita dapat menempatkannya pada container seperti Frame untuk memberikan tampilan yang lebih jelas.



Property Value dari CheckBox terdiri dari 3 kemungkinan, 0-Unchecked, 1-Checked, 2-Grayed. Jadi dalam gambar kiri atas, nilai property Value Check1 adalah 0, Check2 adalah 1, dan Check3 adalah 2.

6. Menu Editor
Menu Editor dapat kita gunakan untuk membuat sistem menu dari program aplikasi. Jika terbiasa menggunakan program berbasis windows, tentu tidak asing lagi dengan istilah menu. Contoh : di dalam Microsoft Word kita dapat menemui menu-menu File, Edit, View dan sebagainya.
Untuk memulai pembuatan menu, aktifkan Menu Editor pada Toolbar Visual Basic. Jika icon nya disabled, aktifkan/tampilkan dulu form tempat dimana kita akan membuat sistem menu tersebut. Cara yang lain yaitu dengan klik kanan pada form tempat dimana kita akan membuat sistem menu lalu pilih Menu Editor.



Isi dari Caption akan ditampilkan pada layar, seperti property Caption pada Label. Jika Captionnnya diberi tanda "&" berarti selain mengklik menu kita dapat juga menggunakan tombol Alt dan huruf yang menyertai dibelakang tanda "&".
Isi dari Name adalah merupakan pengenal menu, seperti juga pada property Name pada object-object lainnya.
Menu juga dapat dilengkapi dengan Shortcut yang dapat dipilih dari Drop Down yang tersedia. Satu Shortcut hanya dapat diberikan kepada satu menu. (Contoh: Jika Ctrl+O sudah diberikan kepada Open, maka tidak bisa diberikan kepada menu Font, misalnya.)
Atur property Enabled untuk mengatur apakah menu dapat dipilih atau tidak dan property Visible untuk mengatur apakah menu dapat dilihat atau tidak.
Gunakan tombol panah kiri/kanan untuk mengatur indent dari menu. Menu yang berindent (menjorok ke dalam/kanan) adalah merupakan sub menu dari menu diatasnya yang menjorok lebih kekiri. Dalam gambar diatas, menu New dan Open merupakan sub menu dari menu File.

Fungsi String
Adakalanya didalam pembuatan sebuah program kita perlu memanipulasi string. Manipulasi ini dapat dilakukan dengan cara menggunakan fungsi-fungsi bawaan Visual Basic yang memang diperuntukkan untuk memanipulasi string. Berikut diberikan beberapa fungsi yang sering dipakai. (Catatan: dalam program, penulisan string diapit dengan tanda kutip ganda).

1. Val(string)
Fungsi Val menerima sebuah argumen berupa string dan merubahnya menjadi numerik. Contoh: Val("1990") akan menghasilkan angka 1990. Val("1990 AD") akan menghasilkan angka 1990. Val("Th 1990") akan menghasilkan angka 0.
2. Left(string, length)
Fungsi Left yang menerima 2 buah argumen yaitu string dan length, akan menghasilkan string sepanjang length karakter. Contoh: Left(“Global”,3) akan menghasilkan “Glo”
3. Right(string,length)
Jika fungsi Left mengambil karakter dari kiri, maka fungsi Right akan mengambil karakter dari kanan string sebanyak length karakter. 
Contoh: Right(“Global”,3) akan menghasilkan “bal”
4. Mid(string,start,length)
Fungsi Mid akan mengambil karakter dari string dimulai pada posisi start sepanjang length karakter. 
Contoh: Mid(“Global”,3,3) akan menghasilkan “oba”
5. Ltrim(string)
Fungsi Ltrim akan membuang semua spasi yang berada disebelah kiri string.
Contoh: Ltrim(“ Global”) akan menghasilkan “Global”
6. Rtrim(string)
RTrim akan membuang semua spasi yang berada disebelah kanan string.
Contoh: Nama = Ltrim(“Global ”) akan menghasilkan “Global”
7. Trim(string)
Fungsi Trim akan membuang semua spasi yang berada disebelah kanan dan di sebelah kiri string.
Contoh: Trim(“ Global ”) akan menghasilkan “Global”
8. Len(string)
Fungsi Len akan menghitung jumlah karakter yang terdapat pada string.
Contoh: Len(“Global”) akan menghasilkan 6
9. UCase(string)
Fungsi UCase akan merubah semua huruf pada string menjadi huruf besar/huruf kapital.
Contoh: UCase(“Global”) akan menghasilkan “GLOBAL”
10. LCase(string)
Kebalikannya dari UCase, LCase akan merubah semua huruf pada string menjadi huruf kecil.
Contoh: LCase(“GlobAL”) akan menghasilkan “global”

Percabangan Bersyarat

If..Then
IF 
THEN 
hanya akan dijalankan bila benar

Contoh:
If Text1.Text = "Hallo" Then MsgBox "Hallo Juga!"

If..Then..Else
IF 
THEN

ELSE

END IF
Jika 
benar, jalankan , jika tidak jalankan . 

Contoh:
If Val(Text1.Text) > 65 Then
MsgBox "Selamat! Anda Lulus"
Else
MsgBox "Maaf! Anda Tidak Lulus"
End If

Penggunaan IF..THEN..ELSE dapat saling berkait (nested):
IF 
THEN

ELSE
IF 
THEN

ELSE

END IF
END IF

Contoh:
If Val(Text1.Text) > 80 then
MsgBox "Nilai = A"
Else
If Val(Text1.Text) > 60 then
MsgBox "Nilai = B"
Else
MsgBox "Nilai = C"
End If
End If


Baris kode diatas dapat disederhanakan menjadi:
IF 
THEN

ELSEIF 
THEN

ELSE

END IF

Contoh:
If Val(Text1.Text) > 80 then
MsgBox "Nilai = A"
ElseIf Val(Text1.Text) > 60 then
MsgBox "Nilai = B"
Else
MsgBox "Nilai = C"
End If

Select Case
Digunakan untuk memilih dari beberapa pilihan bergantung pada nilai yang akan diuji. Pengujian dilakukan dari blok case teratas sampai terbawah, dan hanya ada satu blok case yang akan dijalankan.
SELECT CASE 

CASE 


CASE 


CASE ELSE

END SELECT

Contoh:
Select Case Text1.Text
Case "A"
MsgBox "Nilai = 4"
Case "B"
MsgBox "Nilai = 3"
Case "C"
MsgBox "Nilai = 2"
Case "D"
MsgBox "Nilai = 1"
End Select

Pemindahan Fokus pada Textbox
Pemindahan fokus untuk textbox dapat dilakukan dengan 3 cara. Cara pertama ialah dengan menggunakan mouse, klik textbox yang ingin kita isi. Cara kedua ialah dengan menggunakan tombol “Tab” pada keyboard. Cara yang ketiga ialah dengan menggunakan kode pada event “keypress”.
Dengan cara pertama, kita cukup meng-klik textbox yang kita mau dengan mouse. Dengan cara ini pemindahan fokus textbox agak sulit dilakukan karena tangan kita harus meraih mouse dan menekan tombol kiri pada textbox yang ingin diisi terlebih dahulu.
Dengan cara kedua, pemindahan menjadi lebih mudah karena kita hanya cukup menekan tombol tab. Pada cara ini perpindahan fokus tergantung dari property TabIndex masing-masing textbox. Dimana nilai terkecil akan menerima fokus terlebih dahulu.
Cara ketiga lebih mudah lagi, karena perpindahan tidak tergantung pada property TabIndex tersebut. Cukup tekan enter dan kita set textbox mana yang akan menerima fokus berikutnya.

‘Kode dibawah ini akan memindahkan fokus ke Text2 setelah kita menekan Enter pada Text1
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn then
Text2.SetFocus
End If
End Sub

Penggunaan event Change pada textbox
Event Change pada textbox terjadi bila kita merubah isi dari textbox melalui pengisian langsung pada textbox yang bersangkutan atau melalui perubahan setting pada property Text-nya pada saat running-time.

‘Kode dibawah ini akan menambahkan “a” dengan isi dari Text1 dan menyimpannya ke Text2
Private Sub Text1_Change()
Text2.Text = “a” & Text1.Text
End Sub

Tipe-Tipe Data dalam Visual Basic

Tipe Data Range Karakter
Integer -32768 s/d 32767 %
Long -2147483648 s/d 2147483647 &
Single Negatif: -3,402823E38 s/d -1,401298E-45
Positif: 1,401298E-45 s/d 3,402823E38 !
Double Negatif: -1,79769313486232E308 s/d 
-4,94065645841247E-324
Positif: 4,94065645841247E-324 s/d
1,79769313486232E308 #
Currency -922337203685477,5808 s/d
922337203685477,5807 @
String 0 s/d 2 milyar karakter (win32)
0 s/d 65535 karakter (win16) $
Byte 0 s/d 255 
Boolean True (Benar) dan False (Salah) 
Date 1 Januari 100 s/d 31 Desember 9999 
Object Referensi Object 
Variant Null, Error, dan seluruh tipe data lain diatas 


Database Programming Dengan VB6

Membuat Database
Pembuatan database yang dibahas pada modul ini mencakup pembuatan database Microsoft Access (*.mdb) dengan menggunakan Visual Basic Add-Ins yaitu Visual Data Manager.
Untuk menjalankan Visual Data Manager, pilih menu Add-Ins  Visual Data Manager pada menu utama VB 6.0. Setelah itu akan muncul tampilan seperti dibawah ini.



Untuk membuat sebuah database, pilih menu File  New  Microsoft Access  Version 7.0 MDB.



Setelah itu akan muncul tampilan yang meminta kita untuk memasukkan nama file database dan lokasinya.


Setelah menentukan lokasi dan nama databasenya, tekan tombol Save hingga muncul tampilan berikut.



Klik kanan pada Database Window dan pilih New Table, sehingga tampil window Table Structure.



Ketikkan TbBarang pada Table Name lalu tekan Add Field yang akan menampilkan form berikut



Ketikkan KodeBarang pada Name sebagai nama dari field yang pertama. Pilih Text pada Type untuk menentukan tipe data dari field Kode Barang. Isikan 8 pada Size untuk menentukan lebar data yang dapat disimpan pada field tersebut. Klik OK. 
Untuk menambahkan field-field yang lain, isi lagi Name, pilih Type dan isi Size. Jika semua field sudah dimasukkan, tekan Close untuk menutup window Add Field.
Penambahan Index dilakukan dengan cara yang hampir sama dengan penambahan Field. Klik Add Index hingga muncul tampilan



Ketikkan IdxKodeBarang pada Name sebagai nama dari index. Setelah itu pilih field yang ingin di-index pada Available Fields. Field yang di-Index akan tampil pada Indexed Fields. Dengan menggunakan Index, maka record-record akan diurutkan berdasarkan field yang diindex. Selain itu dengan adanya Index, kita dapat menggunakan metode Seek untuk mencari record. Dengan cara ini pencarian record lebih cepat daripada dengan cara sequential dengan metode Find.


Bound Control

Di dalam Visual Basic, terdapat sebuah control yang disebut Data Control. Dengan Data Control ini dan beberapa control yang dapat dihubungkan dengan Data Control (disebut juga Data-Bound Control), kita dapat membuat sebuah program database sederhana dengan mudah. 
Walaupun demikian, tidak semua database di support oleh Visual Basic Data Control. Access dan dBase adalah beberapa contoh yang telah disupport oleh Visual Basic. Untuk lebih jelasnya letakkan sebuah Data Control pada form, lihat property Connect pada Data Control. Disana dapat dilihat list yang disupport oleh Visual Basic.
Untuk pemakaian, letakkan sebuah Data Control pada form. Set property DatabaseName dengan nama database Access beserta path-nya. Set property RecordSource dengan nama table yang ingin digunakan. Visual Basic juga memungkinkan penggunaan statement SQL SELECT dan query yang disimpan pada database Access.
Selain menghubungkan form dengan database, Data Control juga dapat digunakan untuk navigasi record-record.







Kasus I : Browsing Database dengan Bound Control

Buat sebuah project dengan nama prjBound.vbp. Selanjutnya lihat tabel di bawah :

Object Property Setting
Form Name frmBarang
Caption Pemeliharaan Data Barang
Data Name datBarang
Caption Barang
DatabaseName c:\vb\data.mdb
RecordSource tbBarang
Text Name txtKodeBarang
DataField KodeBarang
DataSource datBarang
Text

Name txtNama
DataField Nama
DataSource datBarang
Text Name txtHargaSatuan
DataField HargaSatuan
DataSource datBarang
Object Property Setting
Text Name txtStok
DataField Stok
DataSource datBarang

Gunakan Visual Basic Menu Editor untuk membuat menu sbb:

Caption Name
&File mnuFile
----E&xit mnuFileExit



Pada event click untuk mnuFileExit ketikkan perintah:

Private Sub mnuFileExit_Click()
Unload Me
End Sub

Jalankan program, perhatikan bahwa textbox langsung terisi dengan data record pertama dalam tabel tbBarang. Coba juga melakukan navigasi record-record dengan mengklik First Record, Previous Record, Next Record, Last Record. Perhatikan juga bahwa isi text akan otomatis di-update berdasarkan navigasi yang kita lakukan. 
Selain itu, jika kita melakukan perubahan pada data yang aktif, perubahan akan otomatis disimpan apabila kita berpindah record. Dengan demikian kita sudah dapat membuat sebuah aplikasi database sederhana tanpa kode sedikitpun. Pada contoh diatas, kode program hanya untuk menu keluar aplikasi.
Namun demikian, aplikasi ini tidak / belum dapat melakukan validasi pemasukan data, menambah data ataupun menghapus data. Untuk itu kita perlu memodifikasi aplikasi tersebut diatas.

Kasus II : Validasi Data

Agar aplikasi kita dapat melakukan validasi data, maka kita harus memodifikasi aplikasi sebelummnya. Tehnik yang dilakukan ialah dengan menggunakan event Validate dari Data Control.
Setiap navigasi - merubah posisi record / pindah ke record lain, Visual Basic akan menjalankan event Validate dari Data Control tersebut. Di dalam event inilah kita akan menulis kode yang nantinya dapat memvalidasi data yang akan disimpan ke dalam database.
Perubahan posisi record dengan data control dinyatakan dengan konstanta Visual Basic : vbDataActionMoveFirst – pindah ke record pertama, vbDataActionMovePrevious – pindah ke record sebelumnya, vbDataActionMoveNext – pindah 1 record ke depan, dan vbDataActionMoveLast – pindah ke record terakhir. Jadi di dalam event ini kita akan mengecek berdasarkan konstanta di atas. 
Selanjutnya kita cek apakah pengisian data sudah sesuai dengan peraturan yang kita buat, misalnya textbox KodeBarang harus diisi. Jika setelah kita cek KodeBarang tidak diisi, maka keluarkan pesan dan set Action menjadi dbDataActionCancel (konstanta built-in Visual Basic yang akan membatalkan).
Buka project diatas, lalu ketikkan kode dibawah ini sebagai Validate event dari data control :

Private Sub datBarang_Validate (Action As Integer, Save As Integer)
If Action = vbDataActionMoveFirst or Action = vbDataActionMovePrevious or Action = vbDataActionMoveNext or Action = vbDataActionMoveLast then
If txtKodeBarang.Text = “” then
Msgbox “Kode Barang harus diisi”, vbExclamation
txtKodeBarang.SetFocus
Action = vbDataActionCancel
End If
End If
End Sub

Jika user melakukan perpindahan record, maka cek property text pada txtKodeBarang. Jika textbox tersebut kosong, keluarkan pesan error, lalu set focus pada textbox tersebut dan batalkan perpindahan pointer record.

Catatan:
Konstanta Visual Basic Nilai Pengganti
vbDataActionCancel 0
vbDataActionMoveFirst 1
vbDataActionMovePrevious 2
vbDataAvtionMoveNext 3
vbDataActionMoveLast 4

Kasus III : Menyediakan Fitur Undo pada Aplikasi

Situasi : setelah user melakukan perubahan pada bound control tetapi sebelum melakukan perpindahan pointer record untuk menyimpan perubahan, user ingin membatalkan perubahan yang ia buat. Untuk itu Visual Basic telah menyediakan UpdateControls Method dari Data Control. Dengan mengeksekusi method ini, maka Visual Basic akan membaca ulang database dan mengisi bound control dengan data asli dari database.
Modifikasi project diatas dengan merubah sistem menu menjadi :

Caption Name
&File mnuFile
----E&xit mnuFileExit
&Edit mnuEdit
----&Undo mnuEditUndo



Ketikkan kode berikut :

Private Sub mnuEditUndo_Click()
datBarang.UpdateControls
End Sub

Dengan adanya kode diatas, maka jika user memilih menu Edit  Undo, semua textbox akan terisi dengan data asli sebelum user melakukan perubahan.


Kasus IV : Menambah Record

Penambahan record pada bound controls dapat dilakukan dengan 2 cara : dengan merubah property data control atau dengan bantuan kode.
Property yang harus dirubah agar kita dapat menambah record baru ialah property EOFAction. Set property tersebut dengan 2 – AddNew. Dengan demikian jika pointer record telah berada pada record terakhir, penekanan tombol Move Next akan menyebabkan Visual Basic menambahkan record baru dan mengisi semua bound control dengan nilai default dari database (biasanya kosong / tidak diisi). Setelah entry data selesai, penyimpanan dilakukan oleh Visual Basic jika kita berpindah pointer ke record lain atau menambah record baru.
Cara lain yaitu dengan menggunakan kode. Buka project sebelumnya, kembalikan setting property EOFAction pada keadaan semula 0 – Move Last dan rubah sistem menu menjadi :

Caption Name
&File mnuFile
----E&xit mnuFileExit
&Edit mnuEdit
----&Undo mnuEditUndo
&Data mnuData
----&Add Record mnuDataAdd
----&Save Record mnuDataSave



Ketikkan kode dibawah ini :

Private Sub Form_Load()
mnuDataSave.Enabled = False
End Sub


Private Sub mnuDataAdd_Click()
datBarang.Recordset.AddNew
mnuDataSave.Enabled = True
mnuDataAdd.Enabled = False
txtKodeBarang.SetFocus
End Sub

Private Sub mnuDataSave_Click()
datBarang.Recordset.Update
mnuDataSave.Enabled = False
mnuDataAdd.Enabled = True
End Sub

Ketika user memilih menu Data  Add, metode AddNew dari data control akan mereset textbox menjadi nilai defaultnya (kosong / tidak diisi) dan menyiapkan tempat untuk record baru nantinya. Selanjutnya menu Save akan di-enable dan menu Add akan di-disable dan merubah focus ke txtKodeBarang.
Ketika user memiih menu Data  Save, metode Update akan mengkopi isi dari textbox ke dalam database dan mengupdate table sebagai langkah akhir penyimpanan. Selanjutnya menu Save akan di-disable dan menu Add akan di-enable.

Kasus V : Menghapus Data

Kadang diperlukan juga suatu fitur aplikasi yaitu untuk menghapus data. Penghapusan ini biasanya dilakukan apabila, misalnya, penjualan suatu barang tertentu dihapuskan atau dengan kata lain kita tidak menjual barang tersebut lagi untuk seterusnya.
Untuk itu buka kembali project diatas. Rubah sistem menu menjadi :

Caption Name
&File mnuFile
----E&xit mnuFileExit
&Edit mnuEdit
----&Undo mnuEditUndo
&Data mnuData
----&Add Record mnuDataAdd
----&Save Record mnuDataSave
----&Delete Record mnuDataDelete

Lalu ketikkan kode berikut :


Private Sub mnuDataDelete_Click()
if MsgBox(“Hapus data ini ?”, vbQuestion + vbYesNo + vbDefaultButton2) = vbYes then
datBarang.Recordset.Delete
datBarang.Recordset.MoveFirst
End If
End Sub

Jika user memilih menu Data  Delete Record, maka akan keluar kotak pesan yang menanyakan konfirmasi penghapusan. Jika user benar-benar ingin menghapus data (user pilih Yes), maka record aktif akan dihapus. Selanjutnya pointer record akan berpindah ke record pertama. Ini untuk menghindari error sebab setelah record dihapus, pointer record tidak akan menuju ke suatu record yang valid.

Kasus VI : Browse Data dengan DBGrid

Untuk user yang biasa menggunakan aplikasi Spreadsheet (Lotus, Excel), mungkin membutuhkan suatu cara penyajian data dalam bentuk tabel. Untuk menyediakan fitur tersebut, kita dapat menggunakan control Data Bound Grid (DBGrid).
Buka kembali project diatas. Tambahkan sebuah CommandButton pada form tersebut :

Object Property Setting
CommandButton Name cmdBrowseBarang
Caption Browse Data Barang



Ketikkan kode berikut sebagai event klik dari tombol yang baru kita buat tersebut:

Private Sub cmdBrowseBarang_Click()
frmBrowseBarang.Show vbModal
End Sub

Maksudnya ialah agar menampilkan form frmBrowseBarang tersebut sebagai modal. Sebelum from frmBrowseBarang ditutup, user tidak akan bisa pindah ke form yang lain.
Setelah itu tambah 1 buah form, 1 buah data control, sebuah DBGrid dan CommandButton:

Object
Property Setting
Form Name frmBrowseBarang
Caption Browse Data Barang
Data Name datBarang
Caption Barang
DatabaseName c:\vb\data.mdb
RecordSource tbBarang
Visible False
DBGrid Name grdBrowseBarang
Align 1 - vbAlignTop
DataSource datBarang
CommandButton Name cmdExit
Caption Keluar



Ketikkan kode berikut sebagai event click dari cmdExit :

Private Sub cmdExit_Click()
Unload Me
End Sub

Jadi jika user klik tombol Keluar, form akan di-unload dan kembali ke form sebelumnya.
Untuk mengisi judul kolom-kolom DBGrid, klik kanan pada DBGrid tersebut dan pilih Retrieve Fields. Judul kolom tersebut akan terisi otomatis berdasarkan nama field dari table tbBarang.
Klik kanan DBGrid, pilih Properties…, pada tab General kita dapat memberikan judul untuk DBGrid tersebut dengan mengisi box Caption.
Jika ingin merubah judul kolom, pilih tab Columns dan rubah Caption dari kolom-kolom tersebut.
Agar user dapat menambahkan data baru langsung pada DBGrid, rubah property AllowAddNew menjadi True atau dengan membari tanda centang pada AllowAddNew pada tab General.
Agar user dapat menghapus data langsung pada DBGrid, rubah property AllowDelete menjadi True atau dengan memberi tanda centang pada AllowDelete pada tab General.
Setelah program dijalankan, DBGrid akan langsung terisi dengan data dari database. Selain itu user dapat menambah data baru, merubah data dan menghapus langsung pada DBGrid.

Data Access Object

Dengan Data Control, kita dapat dengan mudah membuat aplikasi database tanpa atau dengan sedikit kode. Walupun demikian Data Control membatasi akses kita terhadap database itu sendiri. Untuk dapat melakukan kontrol penuh terhadap database dengan fleksibilitas yang besar, Microsoft Jet database engine menyediakan metode lain yaitu dengan menggunakan Data Access Object (DAO) – walaupun dengan koding yang lebih banyak.

Deklarasikan variabel database dan recordset
Contoh:
Dim dbBarang As Database
Dim rsPemilik As Recordset

Set database dan recordset
Contoh:
Set dbBarang = OpenDatabase("c:\data.mdb")
Set rsPemilik = db.OpenRecordset("tbPemilik")
Catatan: tbPemilik adalah nama tabel.

Menambah record baru
Contoh:
rsPemilik.AddNew
rsPemilik!KodePemilik = txtKodePemilik.Text
rsPemilik!NamaPemilik = txtNamaPemilik.Text
rsPemilik.Update

Mencari data dengan index
Contoh:
rsPemilik.Index = "idxKodePemilik"
rsPemilik.Seek "=", txtCari.Text

Menghapus record
Contoh:
rsPemilik.Delete
rsPemilik.MoveFirst/MoveLast
Catatan: setelah penghapusan data, pointer record tidak menunjuk ke record yang valid. Oleh karena itu untuk menghindari masalah, pindahkan pointer record ke record pertama/terakhir.

Merubah data
Contoh:
rsPemilik.Edit
rsPemilik!KodePemilik = txtKodePemilik.Text
rsPemilik!NamaPemilik = txtNamaPemilik.Text
rsPemilik.Update
Catatan : Untuk menghapus atau merubah data, data yang ingin dirubah / dihapus harus dijadikan record aktif dengan terlebih dahulu melakukan pencarian terhadap record tersebut. Jika data yang dicari ada, baru dapat dilakukan penghapusan / perubahan.

Contoh Kasus : Pembuatan aplikasi pemeliharaan data barang





Object Property Setting
Form Name FrmBarang
Caption Pemeliharaan Data Barang
TextBox Name txtKodeBarang
Text Kosongkan
TextBox Name txtNama
Text Kosongkan
TextBox Name txtHargaSatuan
Text Kosongkan
TextBox Name txtStok
Text Kosongkan
Frame Caption Kosongkan
CommandButton Name cmdAdd
Caption &Tambah
CommandButton Name cmdEdit
Caption &Rubah
CommandButton Name cmdDelete
Caption &Hapus
CommandButton Name cmdExit
Caption &Keluar


Listing Kode

Dim dbBarang As Database
Dim rsBarang As Recordset
Deklarasi variabel database dan recordset

Sub DisableBox()
txtNama.Enabled = False
txtNama.BackColor = vbButtonFace
txtHargaSatuan.Enabled = False
txtHargaSatuan.BackColor = vbButtonFace
txtStok.Enabled = False
txtStok.BackColor = vbButtonFace
End Sub
Prosedur DisableBox akan men-disable-kan textbox Nama, HargaSatuan dan Stok

Sub EnableBox()
txtNama.Enabled = True
txtNama.BackColor = vbWhite
txtHargaSatuan.Enabled = True
txtHargaSatuan.BackColor = vbWhite
txtStok.Enabled = True
txtStok.BackColor = vbWhite
End Sub
Prosedur EnableBox akan meng-enable-kan textbox Nama, HargaSatuan dan Stok

Sub ClearBox()
txtKodeBarang.Text = ""
txtNama.Text = ""
txtHargaSatuan.Text = ""
txtStok.Text = ""
txtKodeBarang.SetFocus
End Sub
Prosedur ClearBox akan membersihkan textbox KodeBarang, Nama, HargaSatuan dan Stok serta merubah focus ke KodeBarang.

Sub ClearBox2()
txtNama.Text = ""
txtHargaSatuan.Text = ""
txtStok.Text = ""
End Sub
Prosedur ClearBox2 akan membersihkan textbox Nama, HargaSatuan dan Stok.







Private Sub cmdAdd_Click()
rsBarang.AddNew
rsBarang!KodeBarang = txtKodeBarang
rsBarang!Nama = txtNama
rsBarang!HargaSatuan = txtHargaSatuan
rsBarang!Stok = txtStok
rsBarang.Update
ClearBox
DisableBox
cmdAdd.Enabled = False
End Sub
Jika user klik tombol Add, method AddNew akan menyediakan tempat untuk data / record baru. Selanjutnya field-field akan diisi berdasarkan textbox yang bersangkutan. Setelah itu method Update akan melakukan penyimpanan, panggil prosedur ClearBox dan DisableBox, disable-kan tombol Add.

Private Sub cmdDelete_Click()
rsBarang.Delete
rsBarang.MoveFirst
ClearBox
cmdEdit.Enabled = False
cmdDelete.Enabled = False
End Sub
Jika user klik tombol Delete, data aktif yang ditampilkan di layar akan dihapus, lalu panggil prosedur ClearBox dan disable-kan tombol Edit dan Delete. Untuk menghapus data sebelumnya jalankan terlebih dahulu fasilitas pencarian untuk mencari dan memindahkan pointer record ke record yang ingin dihapus tersebut.

Private Sub cmdEdit_Click()
If cmdEdit.Caption = "&Rubah" Then
EnableBox
cmdEdit.Caption = "&Simpan Perubahan"
cmdDelete.Enabled = False
Else
rsBarang.Edit
rsBarang!KodeBarang = txtKodeBarang
rsBarang!Nama = txtNama
rsBarang!HargaSatuan = txtHargaSatuan
rsBarang!Stok = txtStok
rsBarang.Update
ClearBox
DisableBox
cmdEdit.Caption = "&Rubah"
cmdEdit.Enabled = False
End If
End Sub
Jika captionnya “Rubah”, penekanan tombol akan memanggil prosedur EnableBox, merubah Caption tombol menjadi “Simpan Perubahan” dan men-disable-kan tombol Delete.

Jika captionnya “Simpan Perubahan”, simpan perubahan data ke dalam database, panggil ClearBox, DisableBox, rubah caption menjadi “Rubah” dan disablekan tombol tersebut.

Private Sub cmdExit_Click()
Unload Me
End Sub
Tombol Exit akan membawa user keluar dari program.

Private Sub Form_Load()
Set dbBarang = OpenDatabase(App.Path + "\glosell.mdb")
Set rsBarang = dbBarang.OpenRecordset("TbBarang")
DisableBox
cmdAdd.Enabled = False
cmdEdit.Enabled = False
cmdDelete.Enabled = False
End Sub
Buka database dan recordset, panggil DisableBox, disable-kan tombol Add, Edit dan Delete.

Private Sub txtKodeBarang_Change()
If Len(txtKodeBarang) < 8 Then
ClearBox2
DisableBox
cmdAdd.Enabled = False
Exit Sub
End If
rsBarang.Index = "IdxKodeBarang"
rsBarang.Seek "=", txtKodeBarang
If Not rsBarang.NoMatch Then
txtNama.Text = rsBarang!Nama
txtHargaSatuan.Text = rsBarang!HargaSatuan
txtStok.Text = rsBarang!Stok
cmdEdit.Enabled = True
cmdDelete.Enabled = True
Else
EnableBox
ClearBox2
cmdAdd.Enabled = True
End If
End Sub

Private Sub txtKodeBarang_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Private Sub txtNama_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub


Aplikasi Database dengan 2 Tabel atau Lebih

Dalam pembuatan aplikasi database, ada kemungkinan pemakaian database dengan 2 tabel atau lebih. Misalnya dalam aplikasi penjualan, diperlukan tabel Pelanggan, Barang dan Transaksi. Dimana ketika kita melakukan Transaksi Penjualan, Pelanggan yang membeli dan Barang yang dibelinya akan kita simpan ke dalam tabel Transaksi.
Untuk lebih jelasnya diberikan contoh kasus sebagai berikut : 
Buatlah sebuah aplikasi penjualan dengan menggunakan database Access yang terdiri dari 3 tabel tbPelanggan, tbBarang dan tbTransaksi dengan ketentuan field-field sebagai berikut:

Tabel tbPelanggan
Field Name Field Type Field Size
KodePelanggan Text 5
Nama Text 20
Alamat Text 100
Telepon Text 8
Tabel diindex berdasarkan field KodePelanggan dengan nama index idxKodePelanggan

Tabel tbBarang
Field Name Field Type Field Size
KodeBarang Text 5
Nama Text 20
Harga Currency 
Stok Integer 
Tabel diindex berdasarkan field KodeBarang dengan nama index idxKodeBarang

Tabel tbTransaksi
Field Name Field Type Field Type
NoTrans Text 5
Tanggal Date/Time 
KodePelanggan Text 5
KodeBarang Text 5
Jumlah Integer 
Total Currency 
Tabel diindex berdasarkan field NoTrans dengan nama index idxNoTrans

Selanjutnya, buatlah form Menu Utama, Data Pelanggan ,Data Barang dan Transaksi.
Input Kode Barang dan Kode Pelanggan pada form Transaksi dilakukan dengan memilih data yang ada dari dropdown yang tersedia. Untuk itu kita mempergunakan DBCombo dari Microsoft Data Bound List Controls 6.0.



Object Type Property Setting
Data Name dtaPelanggan
Caption Pelanggan
DatabaseName c:\vb\data.mdb
RecordSource tbPelanggan
Visible False
DBCombo Name dbcKodePelanggan
ListField KodePelanggan
RowSource dtaPelanggan
Style 2 - dbcDropDownList
Data Name dtaBarang
Caption Barang
DatabaseName c:\vb\data.mdb
RecordSource tbBarang
Visible False
DBCombo Name dbcKodeBarang
ListField KodeBarang
RowSource dtaBarang
Style 2 - dbcDropDownList



Deklarasikan recordset pencarian pada General Declaration:
Public rsBarangCari as Recordset
Public rsPelangganCari as Recordset

Set recordset dengan tabel database pada Form_Load (asumsi : db adalah variabel untuk database yang telah diset ke file database)
Set rsBarangCari = db.OpenRecordset(“tbBarang”)
Set rsPelangganCari = db.OpenRecordset(“tbPelanggan”)
rsBarangCari.Index = “idxKodeBarang”
rsPelangganCari.Index = “idxKodePelanggan”

Pada event Click dbcKodePelanggan ketikkan:
Private Sub dbcKodePelanggan_Click(Area As Integer)
If Area = dbcListArea then
rsPelangganCari.Seek "=",dbcKodePelanggan.Text
txtNamaPelanggan.Text = rsPelangganCari!Nama
End If
End Sub

Pada event Click dbcKodeBarang ketikkan:
Private Sub dbcKodeBarang_Click(Area As Integer)
If Area = dbcListArea then
rsBarangCari.Seek "=",dbcKodeBarang.Text
txtNamaBarang.Text = rsBarangCari!Nama
txtHargaSatuan.Text = rsBarangCari!Harga
End If
End Sub

Setelah program dijalankan, bukalah form Transaksi. Perhatikan bahwa kita cukup memilih KodePelanggan dari dropdown yang tersedia maka NamaPelanggan akan terisi secara otomatis. Hal ini berlaku pula jika kita memilih KodeBarang dari drop down yang tersedia, Namabarang dan Harga Satuan akan terisi secara otomatis.
Adapun untuk penyimpanan, yang kita simpan adalah KodePelanggan (didapat dari dbcKodePelanggan.Text) dan KodeBarang (didapat dari dbcKodeBarang.Text).



Pembuatan Laporan pada Visual Basic

Pendahuluan

Pembuatan report / laporan dimaksudkan agar user dapat menghasilkan keluaran / output berupa cetakan ke atas kertas. Laporan ini biasanya diperlukan oleh para manajer untuk pengambilan keputusan-keputusan. 
Sebelumnya pembuatan laporan harus menggunakan program dari luar seperti Seagate Crystal Report, atau dengan mengkoding sendiri semua langkah-langkah dari pembacaan data, looping, pencetakan dan format laporannya. Tentu saja pembuatan laporan dengan cara koding seperti ini tidak mudah karena diperlukan berlembar-lembar kertas agar dapat dicapai format laporan yang diinginkan.
Untunglah Microsoft menyadari hal ini dan memasukkan fitur pembuatan laporan pada Visual Basic versi 6, yaitu Microsoft Data Report Designer. Dengan fitur ini, programmer dapat dengan mudah membuat laporan karena sifatnya yang WYSIWYG dan mirip seperti pembuatan form pada umumnya. Laporan yang dihasilkan pun defaultnya hanya di-preview, sehingga dapat mengurangi penggunaan kertas yang tidak perlu untuk mencoba melihat hasilnya. Laporan juga dapat dikonversikan ko format umum seperti HTML.


Pembuatan Laporan dengan MS Data Report Designer

Buat project baru (standard exe) pada Visual Basic. Pilih menu Project  Add Data Environment untuk menambahkan Data Environment pada project.



Klik kanan pada Connection1 dan pilih Properties. Pada window yang muncul kemudian, pilih Microsoft Jet 4.0 OLE DB Provider lalu klik Next. (Jika tidak ada, dapat juga digunakan Microsoft Jet 3.51 OLE DB Provider)
Catatan: Microsoft Jet 4.0 OLE DB Provider dapat ditemukan apabila di komputer telah terinstall MS Access 2000.


Isikan path dan nama file database (*.mdb) atau tekan tombol … untuk mencari filenya (browse). Setelah itu tekan tombol Test Connection untuk mengetes apakah sudah dapat terkoneksi dengan database tersebut dan klik OK.

Klik kanan kembali pada Connection1 dan pilih Add Command



Klik kanan pada Command1 untuk menampilkan form berikut



Pilih option Database Object lalu pilih Table dari dropdown di sebelahnya. Setelah itu pilih nama tabel pada Object Name. Klik Apply lalu OK.
Tambahkan sebuah Data Report dengan memilih Project  Add Data Report



Klik dan tahan Command1 pada Data Environment, lalu drag ke Data Report pada Detail (Section1) sehingga tampilan Data Report menjadi seperti dibawah ini.



Perhatikan bahwa semua field dari tabel telah berada pada Report. Selanjutnya atur posisinya sesuai keperluan. 
Langkah selanjutnya adalah menentukan sumber data untuk Data Report tersebut. Untuk itu pilih property DataSource pada Data Report dan pilih DataEnvironment1 pada dropdown yang tersedia.
Setelah itu pilih Command1 pada dropdown property DataMember. Tambahkan sebuah form pada project. Pada Form_Load ketikkan kode berikut:

DataReport1.Show

Jika langkah-langkah diatas telah dijalankan dengan benar, maka ketika program dijalankan, datareport1 akan muncul.



Catatan : 2 buah Icon yang berada diatas kegunaannya berturut-turut adalah untuk mencetak dan untuk export laporan yang ada ke format lain, misalnya, HTML.

Pembuatan Laporan dengan Menggunakan Crystal Report.

Jika di dalam Visual Basic versi 5 terdapat pilihan untuk menginstall Crystal Report, maka pada Visual Basic versi 6 pilihan tersebut dihilangkan. Hal ini mungkin dilakukan karena Visual basic versi 6 sudah mempunyai Data Report Designer yang dapat digunakan untuk pembuatan laporan.
Namun demikian bukan berarti kita tidak dapat menggunakan Crystal Report. Crystal Report dapat ditemukan pada CD instalasi Visual Basic pada folder/direktory "D:\Common\Tools\VB\Crysrept\" (ganti D dengan drive CDROM Anda). Setelah berada di dalam folder/direktory ini, jalankan file Crystl32.exe untuk menginstall Crystal Report.
Setelah diinstall, Crystal Report dapat Anda temui pada menu Add-Ins Visual Basic, yaitu Report Designer.

Menjalankan Crystal Report
Pilih menu Add-InsReport Designer untuk menampilkan window utama Crytal Report seperti dibawah ini.




Membuat Report Baru
Pilih menu File  New untuk menampilkan windows berikut ini



Klik pada tombol Standard untuk menampilkan window Report Expert.



Memasukkan Database
Pada tab Step1: Tables, klik pada Data File untuk menampilkan window Choose Database File. Di window ini Anda dapat mem-browse direktory untuk mencari file database yang akan dipakai sebagai sumber data dari report yang akan kita buat.


Setelah file database yang diinginkan ditemukan, tekan tombol Add untuk menampilkan kembali tab Step1: Tables.

Menambahkan Tabel
Pada tab Step1: Tables, pilihlah tabel yang ingin dimasukkan ke dalam report, lalu klik Next >>.



Melihat/Modifikasi Relasi Tabel-Tabel



Jika tabel yang dimasukkan lebih dari satu, maka pada tab 2: Links anda dapat melihat/memodifikasi hubungan antara tabel-tabel. Selanjutnya tekan Next >>.

Menambahkan Field-field
Pada tab 3: Fields, Anda dapat memilih field-field mana saja yang ingin ditampilkan di dalam report. Terlebih dahulu klik field-nya pada Database Fields lalu klik Add ->, atau klik All -> untuk memasukkan semua field. Klik Next >>.



Menentukan Sortir Data
Pada tab 4: Sort, Anda dapat memilih field yang akan di sort dan ordernya. Pada gambar terlihat bahwa laporan akan diurutkan berdasarkan Field KodeBarang secara menaik (Ascending).



Menentukan Field yang akan di Total
Pada tab 5: Total, Anda dapat memilih field-field yang akan ditotalkan.



Memilih Field Filter
Pada tab 6: Select, Anda dapat memilih field yang akan difilter. Sebagai acuan, yang biasanya dipilih adalah field yang di-index.



Memilih Report Style
Pada field 7: Style, Anda dapat memberi judul pada laporan yang Anda buat. Anda juga dapat memilih style dari laporan Anda, apakah bentuk Standard, Table, dsb. Gambar style yang dipilih akan ditampilkan di sebelah kanan. Setelah itu Anda dapat mengklik Preview Report untuk melihat hasil laporan yang Anda buat.



Gambar Preview Report dapat dilihat seperti gamabr dibawah ini.


Jika Anda pilih tab Design maka Anda dapat merubah desain dari laporan yang baru Anda buat.

Merubah Desain Report



Di dalam tab Design ini Anda dapat menambahkan Field dari Tabel, Text Field, sampai dengan menambahkan gambar pada laporan Anda.

Menambahkan Field
Untuk menambahkan field, pilih menu InsertDatabase Field. Pada window yang tampil, pilih field yang ingin di-insert lalu klik Insert.


Jika Anda ingin menambahkan tulisan pada report. Pilih menu InsertText Field. Pada window yang keluar, isikan teks yang akan ditampilkan.



Klik Accept, setelah itu letakkan Text Field di tempat yang diinginkan. Pilih tab Preview untuk menampilkan report dengan Text Field yang baru dimasukkan.

Merubah Format Tanggal
Di dalam tab Design kita dapat juga merubah format tampilan dari field tanggal. Contohnya merubah format tanggal dari "dd/mm/yyyy" menjadi "dd-mm-yyyy". Klik kanan pada Field Tanggal lalu pilih Change Format.
Pada window yang tampil, Anda dapat merubah format tampilan dari tanggal tersebut. 
- Use Windows Default Format : field tanggal tersebut akan mengikuti format dari penanggalan system Windows.
- Suppress if Duplicated : apabila ada dua nilai yang sama, yang akan ditampilkan hanya satu nilai.
- Hide when Printing : jika report tersebut diprint, field tidak akan ikut tercetak.
- Alignment : Left (rata kiri), Center (rata tengah), Right (rata kanan), atau Default (standar).
- MDY : field akan berformat "mm-dd-yyyy", DMY berformat "dd-mm-yyyy" serta YMD akan berformat "yyyy-mm-dd".
Anda dapat memilih format angka bulan, tanggal dan tahun pada dropdown yang tersedia. Anda juga dapat sekaligus merubah karakter pemisah tanggal, bulan dan tahun.
Setelah perubahan selesai, klik OK untuk kembali ke tab Design.



Setelah kembali pada tab Design, perubahan yang dilakukan langsung diterapkan.

Merubah Format Angka Currency
Pada tab Design, klik kanan pada Field HargaSatuan dan pilih Change Format.



- Use Windows Default Format : Format Angka akan mengikuti format System Windows Anda.
- Suppress if Duplicated : ahnya menampilkan satu nilai walaupun ada nilai yang sama.
- Suppress if Zero : apabila jika nilainya 0 maka field tidak akan diisi.
- Hide when Printing : nilai tidak akan tercetak.
- Decimals : memilih format nilai desimal.
- Rounding : memilih pembulatan nilai.
- Negatives : memilih format tampilan nilai negatif.
- Currency Symbol : akan ditambahkan simbol Mata Uang pada nilai.
- One Symbol Per Page : hanya akan menampilkan satu simbol mata uang per halaman.
- Fixed : Simbol Mata Uang berada di kiri sedangkan nilai angka berada di kanan, sehingga kemungkinan ada spasi antara simbol dan nilai.
- Floating : simbol mata uang dan nilai berdekatan, rata kanan sehingga kemungkinan ada spasi di sebelah kiri simbol mata uang.
- Position : menentukan letak simbol mata uang.
- Decimal Separator : menentukan pemisah angka desimal
- Thousands Separator : menentukan pemisah angka ribuan
- Leading Zero : menentukan apakah ada angka 0 di depan.
Setelah perubahan selesai dilakukan, klik OK.

Menambah Gambar pada Laporan
Untuk menambah gambar pada laporan, pilih menu InsertPicture. Cari file yang diinginkan lalu klik OK. Selanjutnya letakkan gambar di tempat yang diinginkan.

Hasil dari perubahan diatas dapat di lihat pada gambar dibawah ini.



Setelah modifikasi selesai, simpan report dengan nama file : "Laporan Data Barang.rpt".

Memanggil Report dari Visual Basic
Pertama-tama yang perlu dilakukan ialah menambahkan Crystal Report Control. Tekan Ctrl+T dan tandai Crystal Report Control 4.6 untuk menampilkan icon Crystal Report di Toolbox.
Langkah selanjutnya adalah menempatkan control pada form. Untuk itu buka lagi project Aplikasi Pemeliharaan Data Barang. Tempatkan sebuah CommandButton dan sebuah Crystal Report Control 4.6.

Object Property Setting
CommandButton Name cmdLaporan
Caption &Laporan
Crystal Report Control 4.6 Name rptLaporan




Pada event Click cmdLaporan ketikkan kode berikut:

rptLaporan.ReportFileName = app.path & _
"\Laporan Data Barang.rpt"
rptlaporan.PrintReport

Jalankan program. Tekan tombol Laporan, maka akan muncul form Crystal Report yang berisikan laporan data barang yang kita buat tadi.