*
Mengoptimalkan sistem operasi komputer
.
Sistem operasi pada komputer, khususnya Windows, semakin lama dipakai maka daya kerjanya semakin lamban, bahkan kadang-kadang terjadi crash/ freeze. Booting lama, memproses suatu aplikasi lamban, banyak menerima pesan error, dsb. Ditambah lagi bila banyak program yang diinstall, lalu dibuang, padahal tanpa disadari program-program itu masih menyisakan file-file yang tidak berguna baik di sistem registry maupun di harddisk. Cara yang cepat adalah dengan format ulang, -deep format adalah cara terbaik agar semua file-file yang tersembunyi dapat terhapus semuanya sehingga hardddisk benar-benar bersih- dan menginstall lagi sistem operasinya. Atau dengan menggunakan aplikasi/piranti lunak pihak ketiga untuk memperbaiki kinerja komputer.
Dari sekian banyak piranti lunak untuk mengoptimalkan sistem operasi komputer salah satunya adalah Digeus System Optimizer 8.2.
digeus mainhttp://digeus.com/products/systemoptimizer/system-optimizer.html
Kegunaannya antara lain: menghapus dan memperbaiki registry, menghapus file-file usang, mengidentifikasi file ganda, menghapus jejak rekam internet, dsb. Dengan demikian daya kerja komputer menjadi lebih baik, menambah ruang penyimpanan di harddisk dan mempercepat daya kerja sistem secara keseluruhan.
* Digeus Data Encryptor
* Digeus Disk Space Analyzer
* Digeus Drivers and Programs
* Digeus Duplicate Files Finder
* Digeus Icon Manager
* Digeus IE Manager
* Digeus Junk Files Cleaner
* Digeus Memory Cleaner
* Digeus Multimedia Settings Tweaker
* Digeus Optimization Wizard
* Digeus Privacy Protection
* Digeus Process Manager
* Digeus Registry Cleaner
* Digeus Registry Defragmenter
* Digeus Repair System Settings
* Digeus Service Manager
* Digeus File Shredder
* Digeus Smart Uninstaller
* Digeus Startup Manager
* Digeus System Customization
* Digeus System Info
* Digeus System Security Tweaker
* Digeus System Speed Optimizer
* Digeus Unnecessary Files Cleaner
Dibawah ini beberapa fungsi:
registrycleaner1
Membersihkan, memperbaiki, dan mengoptimalkan Windows registry hanya dengan beberapa klik! Masalah pada registry ini umumnya menyebabkan sistem rusak, dan lamban dalam memproses. Dengan menggunakan registry cleaner ini secara berkala dan sekaligus memperbaiki kesalahannya maka sistem akan menjadi lebih stabil.
Registry Defragmenter.
registrydefrag2Membuat registry menjadi rapat-terpadu (dipampatkan) berarti membuat daya kerja komputer semakin baik dan semakin cepat.
Junk Files Cleaner.
junkcleaner3Banyak aplikasi-aplikasi Windows yang selalu membuat file yang tidak diperlukan. Secara normal file-file itu akan terhapus bila sudah tidak diperlukan lagi ketika aplikasi itu berhasil di install, tetapi kebanyakan tidak. Maka fungsi tool ini adalah membuang file-file usang dan yang tidak diperlukan dari komputer. Tool ini dapat mengidentifikasi lebih dari 50 tipe file-file usang dan menghapusnya sehingga akan mempercepat kerja harddisk, menambah ruang penyimpanan, dan tentu saja lebih mempercepat sistem bekerja.
Duplicate File Fider.
duplicatefinder4 Tool ini dapat mencari dan mengidentifikasi file-file ganda: teks,binary, musik,video, gambar, dsb, sehingga kita dapat menghapusnya jika menginginkannya agar ruang penyimpanan di harddisk bertambah.
Privacy Protection.
privacyprotection5Menghapus file-file tersembunyi seperti index.dat, url yang dikunjungi, coockies, cache, dan data2 yang sering digunakan. Dengan demikian kerja komputer tetap baik dan ruang penyimpanan harddisk lebih banyak tersedia.
Selasa, 19 Oktober 2010
Senin, 18 Oktober 2010
Membuat virus
Ingin mengetahui Cara Membuat Virus baik itu virus komputer maupun handphone mudah kok karena Cara kerjanya Membuat Virus hampir sama. Hanya saja perbedaannya pada kode pemrograman dan cara kerja virus yg telah jadi nantinya. Namun harap di ingat ya Sahabat Sejati tidak menyarankan Cara Membuat Virus ini ditujukan untuk berbuat sesuatu hal yg merugikan orang lain, seperti menabur virus di warnet, lab kampus dll.
Kalian ingat gak dengan virus Aksika, Virus “open source” satu itu sungguh mempunyai banyak sekali jenisnya. Tidak heran karena source code-nya memang disediakan gratis di Internet, jadi siapa saja bisa dengan mudah mengubah dan merobah source codenya dan jadilah jenis baru dari Cara Membuat Virus.
computer virus Cara Membuat Virus
Berawal dari kemudahan itulah, banyak Cara Membuat Virus atau programer newbi mencoba–coba untuk membuat virus tanpa perlu usaha extra. Cuma dibutuhkan hanya pengetahuan seputar operating system dan programming Komputer saja.
Namun kemudahan itu belum seberapa, bila dibandingkan dengan menggunakan aplikasi Virus Generator. Dari namanya saja, kita sudah dapat mengira kegunaan dari aplikasi tersebut. Ya, Virus Generator merupakan aplikasi untuk dapat membuat virus secara mudah dan instan.
Bermula dari contoh sebuah virus lumayan banyak dikirimkan oleh pembaca kepada kami. PC Media Antivirus mengenalnya dengan nama Gen.FFE-Fajar, tetapi antivirus lain ada juga menyebutnya dengan nama Brontok.D. Dengan penyelidikan sederhana akhirnya diketahui bahwa virus tersebut dibuat dari Virus Generator.
Fast Firus Engine (FFE)
Pembuat Cara Membuat Virus Generator tersebut menamakan aplikasi buatannya itu dengan nama Fast Firus Engine. Seperti terlihat pada aplikasi ataupun situs pembuatnya, ia memberitahukan bahwa aplikasi ini hanya untuk tujuan pembelajaran dan tidak untuk tindakan merusak. Namun tetap saja, bila aplikasi ini sudah jatuh ke tangan yang salah, pasti akan digunakan untuk melakukan perusakan.
Virus Generator ini dibuat menggunakan bahasa Visual Basic dan di-compress menggunakan packer tELock. Dalam paketnya terdapat dua buah file, yakni Fast Firus Engine.exe dan data.ex_. Fast Firus Engine. exe merupakan aplikasi utama dalam pembuatan virusnya dan sementara file data.exe. Sebenarnya merupakan badan virus asli belum sebelum dirobah.
Ketika file Fast Firus Engine.exe dijalankan, maka Cara Membuat Virus pengguna akan dihadapkan pada sebuah interface. Anda hanya disuruh mengisikan nama virus, nama pembuat, dan pesan-pesannya. Lalu dengan menekan tombol Generate, maka jadilah virus Anda.
Cara Membuat Virus dari Generator tersebut sebenarnya sangat sederhana. Ia hanya menambahkan data yg Anda masukkan tadi ke bagian akhir file virus asli (data.ex_). Nantinya informasi tersebut digunakan oleh virus dalam proses infeksi.
Bagaimana Cara Membuat Virus Menginfeksi?
Virus hasil ciptaan FFE memang terlihat sederhana. Sama seperti Generatornya, ia juga dibuat menggunakan bahasa Visual Basic di compile dengan metode Native Code. Lalu di compress menggunakan tELock agar ukurannya semakin kecil. Virus ini memiliki ukuran tubuh asli sebesar 55.296 bytes.
Saat virus kali pertama dieksekusi, ia akan membuat beberapa file induk di beberapa lokasi. Seperti di direktori \%WINDOWS%\, akan terdapat file dengan nama.exe, Win32 exe, activex.exe, dan %virusname% (nama virus sesuai diisikan oleh sang pembuatnya pada Generator). Di \%WINDOWS%\ %system32%\ akan terdapat file copy.pif, _default.pif, dan surif.bin. Selain itu, Cara Membuat Virus juga mengubah atau membuat file Oeminfo.ini merupakan bagian dari System Properties. Jadi apabila komputer Anda terinfeksi oleh virus hasil generate dari FFE, maka pada System Properties akan terdapat tulisan “Generated by Fast Firus Engine”.
Di direktori \%WINDOWS%\%System%\ akan terdapat beberapa file induk lagi menggunakan nama sama seperti file system milik Windows, seperti csrss.exe, winlogon.exe, lsass.exe, smss.exe, svchost. exe, dan winlogon.exe.
Dan tak lupa, pada root drive akan terdapat sebuah file dengan nama “baca euy.txt” berisikan pesan–pesan dari si pembuat virus. Jadi pada saat membuat virus dengan menggunakan Generator tersebut, maka pembuatnya akan disuguhkan beberapa kotak input, seperti Author Cara Membuat Virus, Name of the virus, dan Messages. Nah, isi dari kotak messages ini nantinya ditampilkan pada file “baca euy.txt” tersebut.
Setelah virus berhasil memindahkan file induknya ke dalam sistem tersebut, ia akan menjalankan file induk tadi, sehingga pada memory akan terdapat beberapa process virus, seperti csrss.exe, winlogon.exe, lsass. exe, smss.exe, svchost.exe, dan winlogon.exe. Nama process mirip dengan process/services milik Windows tersebut mungkin sengaja untuk mengecoh user. Untuk membedakannya, Anda dapat melihat path atau lokasi process tersebut dijalankan. Process virus ini biasanya berjalan di direktori System sementara process/services milik Windows yg running biasanya berasal dari direktori System32.
Cara Membuat Virus Mengubah Registry.
Virus ini menambahkan beberapa item startup pada registry agar pada saat memulai Windows ia dapat running secara otomatis atau untuk mengubah setting-an Windows agar sesuai keinginannya. Informasi mengenai registry diubahnya tidak akan dapat dengan mudah kita lihat karena dalam kondisi terenkripsi.
Yang ia ubah adalah seperti nilai dari item Userinit, yakni dengan menambahkan parameter ke file induk. Pada key HKEY_CURRENT_ USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Load juga akan diubah itemnya agar mengarah ke file induknya dengan nama Activex.exe. Pada HKEY_CURRENT_USER \Software\Microsoft\ Windows\CurrentVersion\Run\ akan terdapat item baru dengan nama present. Key HKEY_ LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Run\ akan terdapat item baru juga dengan nama Default dan %username%, username di sini merupakan nama user yang sedang aktif saat itu.
Virus hasil generate dari FFE juga mengubah shell extension untuk file .exe, yakni dengan mengubah type information dari Application menjadi File Folder. Setting-an folder Options juga diubah agar tidak menampilkan extension dan setiap fi le dengan attribut hidden. Dan agar dapat aktif pada safe-mode, ia pun mengubah nilai dari item SafeBoot.
Dengan menggunakan bantuan registry Image File Execution Options, virus ini juga menambahkan item baru pada section tersebut dengan nama cmd.exe, msconfi g.exe, regedit.exe, dan taskmgr.exe. Maksudnya adalah agar setiap user ketika mengakses aplikasi dengan nama file seperti itu, maka akan di-bypass oleh Windows dan dialihkan ke file induk si virus.
Bagaimana Cara Membuat Virus Virus Menyebar?
Virus ini dapat menyebar melalui media penyimpan data seperti flash disk. Saat kita mencolokkan flash disk pada komputer yang terinfeksi, maka pada flash disk tersebut akan terdapat beberapa file baru, seperti explorer.exe, %virusname%.exe, dan msvbvm60.dll. Juga beberapa file pendukung seperti desktop.ini, autorun.inf agar ia dapatrunning otomatis pada saat mengakses flash disk tersebut.
File virus lainnya pun disimpan pada direktori baru di flash disk tersebut dengan nama Recycled yang berisikan file Firus.pif dan Folder.htt. Kesemua file virus tersebut dalam kondisi hidden sehingga tidak terlihat.
Cara Virus Beraksi?
Untuk dapat bertahan hidup, virus ini pun akan mencoba untuk memblok setiap aplikasi yang tidak ia inginkan seperti tools atau aplikasi antivirus termasuk PCMAV. Sama seperti halnya dataregistry yang diubah, data mengenai aplikasi apa saja yang diblok olehnya juga terdapat dalam tubuhnya dalam kondisi terenkripsi.
Jadi, saat virus komputer sudah berada di memory, ia akan memantau setiap aplikasi yang diakses oleh user, yakni dengan membaca nama file dan juga caption Window. Beberapa nama program antivirus yang dicoba untuk dibloknya adalah nav.exe, avgcc.exe, njeeves.exe, ccapps.exe, ccapp.exe, kav.exe, nvcoas.exe, avp32.exe, dan masih banyak lagi yang lainnya. Termasuk beberapa aplikasi setup atau installer juga tidak dapat dijalankan pada komputer terinfeksi.
Pencegahan dan Penanggulangan Cara Membuat Virus ?
PC Media Antivirus RC19 ini dapat membersihkan komputer terinfeksi secara tuntas dan akurat 100% setiap virus dibuat dengan menggunakan Fast Firus Generator. Untuk menghindari aksi blok oleh virus terhadap PCMAV, silakan Anda rename terlebih dahulu file PCMAV misalnya PCMAV-CLN.EXE menjadi MERDEKA.EXE
Kalian ingat gak dengan virus Aksika, Virus “open source” satu itu sungguh mempunyai banyak sekali jenisnya. Tidak heran karena source code-nya memang disediakan gratis di Internet, jadi siapa saja bisa dengan mudah mengubah dan merobah source codenya dan jadilah jenis baru dari Cara Membuat Virus.
computer virus Cara Membuat Virus
Berawal dari kemudahan itulah, banyak Cara Membuat Virus atau programer newbi mencoba–coba untuk membuat virus tanpa perlu usaha extra. Cuma dibutuhkan hanya pengetahuan seputar operating system dan programming Komputer saja.
Namun kemudahan itu belum seberapa, bila dibandingkan dengan menggunakan aplikasi Virus Generator. Dari namanya saja, kita sudah dapat mengira kegunaan dari aplikasi tersebut. Ya, Virus Generator merupakan aplikasi untuk dapat membuat virus secara mudah dan instan.
Bermula dari contoh sebuah virus lumayan banyak dikirimkan oleh pembaca kepada kami. PC Media Antivirus mengenalnya dengan nama Gen.FFE-Fajar, tetapi antivirus lain ada juga menyebutnya dengan nama Brontok.D. Dengan penyelidikan sederhana akhirnya diketahui bahwa virus tersebut dibuat dari Virus Generator.
Fast Firus Engine (FFE)
Pembuat Cara Membuat Virus Generator tersebut menamakan aplikasi buatannya itu dengan nama Fast Firus Engine. Seperti terlihat pada aplikasi ataupun situs pembuatnya, ia memberitahukan bahwa aplikasi ini hanya untuk tujuan pembelajaran dan tidak untuk tindakan merusak. Namun tetap saja, bila aplikasi ini sudah jatuh ke tangan yang salah, pasti akan digunakan untuk melakukan perusakan.
Virus Generator ini dibuat menggunakan bahasa Visual Basic dan di-compress menggunakan packer tELock. Dalam paketnya terdapat dua buah file, yakni Fast Firus Engine.exe dan data.ex_. Fast Firus Engine. exe merupakan aplikasi utama dalam pembuatan virusnya dan sementara file data.exe. Sebenarnya merupakan badan virus asli belum sebelum dirobah.
Ketika file Fast Firus Engine.exe dijalankan, maka Cara Membuat Virus pengguna akan dihadapkan pada sebuah interface. Anda hanya disuruh mengisikan nama virus, nama pembuat, dan pesan-pesannya. Lalu dengan menekan tombol Generate, maka jadilah virus Anda.
Cara Membuat Virus dari Generator tersebut sebenarnya sangat sederhana. Ia hanya menambahkan data yg Anda masukkan tadi ke bagian akhir file virus asli (data.ex_). Nantinya informasi tersebut digunakan oleh virus dalam proses infeksi.
Bagaimana Cara Membuat Virus Menginfeksi?
Virus hasil ciptaan FFE memang terlihat sederhana. Sama seperti Generatornya, ia juga dibuat menggunakan bahasa Visual Basic di compile dengan metode Native Code. Lalu di compress menggunakan tELock agar ukurannya semakin kecil. Virus ini memiliki ukuran tubuh asli sebesar 55.296 bytes.
Saat virus kali pertama dieksekusi, ia akan membuat beberapa file induk di beberapa lokasi. Seperti di direktori \%WINDOWS%\, akan terdapat file dengan nama.exe, Win32 exe, activex.exe, dan %virusname% (nama virus sesuai diisikan oleh sang pembuatnya pada Generator). Di \%WINDOWS%\ %system32%\ akan terdapat file copy.pif, _default.pif, dan surif.bin. Selain itu, Cara Membuat Virus juga mengubah atau membuat file Oeminfo.ini merupakan bagian dari System Properties. Jadi apabila komputer Anda terinfeksi oleh virus hasil generate dari FFE, maka pada System Properties akan terdapat tulisan “Generated by Fast Firus Engine”.
Di direktori \%WINDOWS%\%System%\ akan terdapat beberapa file induk lagi menggunakan nama sama seperti file system milik Windows, seperti csrss.exe, winlogon.exe, lsass.exe, smss.exe, svchost. exe, dan winlogon.exe.
Dan tak lupa, pada root drive akan terdapat sebuah file dengan nama “baca euy.txt” berisikan pesan–pesan dari si pembuat virus. Jadi pada saat membuat virus dengan menggunakan Generator tersebut, maka pembuatnya akan disuguhkan beberapa kotak input, seperti Author Cara Membuat Virus, Name of the virus, dan Messages. Nah, isi dari kotak messages ini nantinya ditampilkan pada file “baca euy.txt” tersebut.
Setelah virus berhasil memindahkan file induknya ke dalam sistem tersebut, ia akan menjalankan file induk tadi, sehingga pada memory akan terdapat beberapa process virus, seperti csrss.exe, winlogon.exe, lsass. exe, smss.exe, svchost.exe, dan winlogon.exe. Nama process mirip dengan process/services milik Windows tersebut mungkin sengaja untuk mengecoh user. Untuk membedakannya, Anda dapat melihat path atau lokasi process tersebut dijalankan. Process virus ini biasanya berjalan di direktori System sementara process/services milik Windows yg running biasanya berasal dari direktori System32.
Cara Membuat Virus Mengubah Registry.
Virus ini menambahkan beberapa item startup pada registry agar pada saat memulai Windows ia dapat running secara otomatis atau untuk mengubah setting-an Windows agar sesuai keinginannya. Informasi mengenai registry diubahnya tidak akan dapat dengan mudah kita lihat karena dalam kondisi terenkripsi.
Yang ia ubah adalah seperti nilai dari item Userinit, yakni dengan menambahkan parameter ke file induk. Pada key HKEY_CURRENT_ USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Load juga akan diubah itemnya agar mengarah ke file induknya dengan nama Activex.exe. Pada HKEY_CURRENT_USER \Software\Microsoft\ Windows\CurrentVersion\Run\ akan terdapat item baru dengan nama present. Key HKEY_ LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Run\ akan terdapat item baru juga dengan nama Default dan %username%, username di sini merupakan nama user yang sedang aktif saat itu.
Virus hasil generate dari FFE juga mengubah shell extension untuk file .exe, yakni dengan mengubah type information dari Application menjadi File Folder. Setting-an folder Options juga diubah agar tidak menampilkan extension dan setiap fi le dengan attribut hidden. Dan agar dapat aktif pada safe-mode, ia pun mengubah nilai dari item SafeBoot.
Dengan menggunakan bantuan registry Image File Execution Options, virus ini juga menambahkan item baru pada section tersebut dengan nama cmd.exe, msconfi g.exe, regedit.exe, dan taskmgr.exe. Maksudnya adalah agar setiap user ketika mengakses aplikasi dengan nama file seperti itu, maka akan di-bypass oleh Windows dan dialihkan ke file induk si virus.
Bagaimana Cara Membuat Virus Virus Menyebar?
Virus ini dapat menyebar melalui media penyimpan data seperti flash disk. Saat kita mencolokkan flash disk pada komputer yang terinfeksi, maka pada flash disk tersebut akan terdapat beberapa file baru, seperti explorer.exe, %virusname%.exe, dan msvbvm60.dll. Juga beberapa file pendukung seperti desktop.ini, autorun.inf agar ia dapatrunning otomatis pada saat mengakses flash disk tersebut.
File virus lainnya pun disimpan pada direktori baru di flash disk tersebut dengan nama Recycled yang berisikan file Firus.pif dan Folder.htt. Kesemua file virus tersebut dalam kondisi hidden sehingga tidak terlihat.
Cara Virus Beraksi?
Untuk dapat bertahan hidup, virus ini pun akan mencoba untuk memblok setiap aplikasi yang tidak ia inginkan seperti tools atau aplikasi antivirus termasuk PCMAV. Sama seperti halnya dataregistry yang diubah, data mengenai aplikasi apa saja yang diblok olehnya juga terdapat dalam tubuhnya dalam kondisi terenkripsi.
Jadi, saat virus komputer sudah berada di memory, ia akan memantau setiap aplikasi yang diakses oleh user, yakni dengan membaca nama file dan juga caption Window. Beberapa nama program antivirus yang dicoba untuk dibloknya adalah nav.exe, avgcc.exe, njeeves.exe, ccapps.exe, ccapp.exe, kav.exe, nvcoas.exe, avp32.exe, dan masih banyak lagi yang lainnya. Termasuk beberapa aplikasi setup atau installer juga tidak dapat dijalankan pada komputer terinfeksi.
Pencegahan dan Penanggulangan Cara Membuat Virus ?
PC Media Antivirus RC19 ini dapat membersihkan komputer terinfeksi secara tuntas dan akurat 100% setiap virus dibuat dengan menggunakan Fast Firus Generator. Untuk menghindari aksi blok oleh virus terhadap PCMAV, silakan Anda rename terlebih dahulu file PCMAV misalnya PCMAV-CLN.EXE menjadi MERDEKA.EXE
Membuat generator hidrogen buat motor
Akhirnya setelah nyari-nyari kamera pinjaman buat jepret terkabul juga, sehingga untuk mengisi blog ini jalan terus, orang sekere saya kamera ndak punya, tetapi itu bukan halangan untuk berkreatifitas bukan ? asal ada niat pasti ada jalan, kalo ada jalan berarti ada perempatan eh ada tujuan. Setelah jepret-jepret lalu upload ke hosting photo, banyak kok yang gratisan. Ok … kita mulai saja, dari pada ngomong ngalor ngidul nggak karuan. Ada beberapa komponen yang kita perlukan untuk membuat tabung hidrogen ini.
Pipa Stainless Steel
Pipa stainless steel ini besi dibeli di toko bahan bangunan, jangan di apotik atau warteg. Ukurannya kalo ke toko bangunan 5/8 … pihak toko bangunan akan tahu, tetapi kudu beli dalam satuan 4 meter. Bah ! kita butuhkan pipa stainless steel itu cukup 5 cm saja, kita buat 2 sebagai elemen positif dan negatif. Bagaimana kalo butuh 5 cm x 2 kok kudu beli 4 meter ? itu bukan urusan saya.
Mur - Baut - Ring
Baut, mur dan ring ini gunanya untuk menyambung dengan pipa stainless steel tadi, tidak usah dilas, diketok pake palu saja dah cukup, usahakan beli baut mur ukuran 13, karena sesuai dengan pipa ukuran 5/8 tadi,
Tabung / Botol
Pipa yang sudah dipasangi baut tadi kita pasang di dalam botol
Kalo sebelum masang dibagian dalam dikasih ring sama seal tape, trus disekrup dibagian luar, jika perlu dikasih ganjal karet biar ndak bocor, usahakan pake lem power glue dan silikon, jarak antar pipa stainless steel ngikut selera saja, bisa 2 cm, jangan terlalu dekat dan terlalu jauh:
Lem Silikon - Power Glue dan Seal Tape
Hmmm … dah paham belum ? kalo belum paham scroll ke atas lagi. Kalo dah paham kita lanjutkan lagi ke tahap selanjutnya … kalo capek silakan berhenti dulu. Kalo saya mah nggak capek, karena ini sudah menjadi hobby, lagian saya bikin materi blog ini semoga bisa berguna bagi para pembaca, saya ndak mengharapkan apa-apa dari anda semua, kalo anda sudah bisa membuat tolong sebarkan cara membuat tabung ini, jangan melulu dibisnis, orientasinya ke edukasi, sehingga bangsa ini bisa melakukan penghematan BBM, secara tidak langsung pengeluaran uang anda untuk beli BBM bisa berkurang, bisa buat beli susu anak, atau buat beli yang lain dan lebih bermanfaat. Tetapi saya lebih menekankan demi kebaikan mesin, seperti menyempurnakan pembakaran, gas emisi buang kecil, mesin menajdi bersih, busi bersih, suara mesin menjadi halus. Tahap selanjutnya kita mempersiapkan komponen lain, saya menggunakan diode 25 ampere beserta kabel-kabelnya.
Kabel - Jepitan Kabel - Diode
Saya terbiasa menggunakan diode 25 ampere untuk kendaraan roda dua dari merk honda dan suzuki, untuk mengambil litsrik dari spool, nah diode itu khan terdiri dari 4 kaki. ada tanda + dan -, tanda + dan -, kita kasih kabel sesuai kebutuhan, alangkah baiknya tidak usah disolder tetapi dijepit dengan jepitan kabel sehingga jadi rapi terus ditutup dengan selang polos kecil untuk menghindari kontak langsung antar jepitan jika secara tak sengaja melengkung, kedua kutub + dan - tadi kita sambungkan ke tabung yang sudah kita siapkan tadi dimana ada pipa stainless steel yang sudah disekrup, terserah anda mau ambil mana yang plus dan minus di tabung, bisa sebelah kanan, bisa sebelah kiri … trus masih ada 2 kaki untuk apa ? untuk kedua kaki yang tidak ada tandanya itu berarti anda bebas menentukan mana yang mau dijadikan ground ke chasis/body motor, kalo sebelah kiri anda ambil sebagai ground ke chasis/body motor maka sebelah kanan anda sambungkan dengan kabel spool … bebas menentukan sesuai kehendak hati anda. Jadi semua kaki di diode terpakai semua .
Selang L dan Selang Polos
Kita juga membutuhkan selang L dan selang polos kecil, selang L dipasang di bagian atas tabung, alias tempat untuk mengalirkan hidrogen ke mesin dan selang L satunya kita pasang di motor, nah kedua selang tersebut kita sambungkan lagi dengan selang lain yang tahan panas. Sedang selang polos kita gunakan sebagai pelapis jepitan kabel dan juga berfungsi sebagai selang pernafasan di tabung. lihatlah gambar-gambar dibawah ini yang memperlihatkan di mana kita menempatkan selang L dan selang pernafasan:
Di atas tutup tabung or botol ada tempat untuk menaruh selang L trus kita sambung dengan selang lain. sedangkan ada tanda panah itu merupakan tempat menaruh selang pernafasan, selang pernafasan di buatn untuk menghindari tekanan balik, karena jika motor kita hidupin dengan “dipancal” kadang akan keluar air sedikit ” cruuutt ” … belum jelas yach ? kalo masih belum jelas bisa lihat diagram skema tentang pengambilan listrik spool beserta diodenya di materi sebelumnya ( Oprek Montore Bang Pirman ), di situ juga diperlihatkan di mana letak selang pernafasan, dan selang pernafasan ini bisa menggunakan sedotan, lebih baik sedotan yang kaku. Dan selang L yang kedua kita taruh di filter or karburator atau selang vacum, ke manipol juga boleh
Perlu anda ketahui jika anda langsung menuju manipol … eh tunggu apa sih manipol itu ? manipol adalah pipa selang angsa yang terbuat dari logam, nah di manipol itu bisa kita lubangi dan siberi nipel sama sekrup, selang arahkan ke manipol tadi. Ada yang nggak tahu manipol ?
Selang Ke Manipol /Filter /Karburator / Karet Vacum
Ini contoh selang yang dipergunakan untuk mengalirkan hidrogen ke mesin. Yang terakhir tak kalah penting adalah air, gunakan air murni yang disebut dengan aquades dan juga soda api, merk air yang saya gunakan adalah merk Cleo.
Soda kue
ada banyak istilah yang membingungkan dengan soda api sama soda kue, secara pribadi sih nggak masalah, soalnya ini hanya membantu proses elektrolisis, hasilnya saja yang mungkin berbeda, saya pribadi lebih suka menyebut kalium Hidroksida dari pada protasium hidroksida. Soda kue sendiri sering kali membuat air keruh, tetapi terserah anda saja.
Akhirnya lengkap dah dan bisa kita pasang ke mesin motor. Sementara saya sampai di sni dulu yak .. ntar kapan-kapan kalo sempat materi ini saya update kembali. Akhir kata saya ucapkan terima kasih bagi anda semua.
Pipa Stainless Steel
Pipa stainless steel ini besi dibeli di toko bahan bangunan, jangan di apotik atau warteg. Ukurannya kalo ke toko bangunan 5/8 … pihak toko bangunan akan tahu, tetapi kudu beli dalam satuan 4 meter. Bah ! kita butuhkan pipa stainless steel itu cukup 5 cm saja, kita buat 2 sebagai elemen positif dan negatif. Bagaimana kalo butuh 5 cm x 2 kok kudu beli 4 meter ? itu bukan urusan saya.
Mur - Baut - Ring
Baut, mur dan ring ini gunanya untuk menyambung dengan pipa stainless steel tadi, tidak usah dilas, diketok pake palu saja dah cukup, usahakan beli baut mur ukuran 13, karena sesuai dengan pipa ukuran 5/8 tadi,
Tabung / Botol
Pipa yang sudah dipasangi baut tadi kita pasang di dalam botol
Kalo sebelum masang dibagian dalam dikasih ring sama seal tape, trus disekrup dibagian luar, jika perlu dikasih ganjal karet biar ndak bocor, usahakan pake lem power glue dan silikon, jarak antar pipa stainless steel ngikut selera saja, bisa 2 cm, jangan terlalu dekat dan terlalu jauh:
Lem Silikon - Power Glue dan Seal Tape
Hmmm … dah paham belum ? kalo belum paham scroll ke atas lagi. Kalo dah paham kita lanjutkan lagi ke tahap selanjutnya … kalo capek silakan berhenti dulu. Kalo saya mah nggak capek, karena ini sudah menjadi hobby, lagian saya bikin materi blog ini semoga bisa berguna bagi para pembaca, saya ndak mengharapkan apa-apa dari anda semua, kalo anda sudah bisa membuat tolong sebarkan cara membuat tabung ini, jangan melulu dibisnis, orientasinya ke edukasi, sehingga bangsa ini bisa melakukan penghematan BBM, secara tidak langsung pengeluaran uang anda untuk beli BBM bisa berkurang, bisa buat beli susu anak, atau buat beli yang lain dan lebih bermanfaat. Tetapi saya lebih menekankan demi kebaikan mesin, seperti menyempurnakan pembakaran, gas emisi buang kecil, mesin menajdi bersih, busi bersih, suara mesin menjadi halus. Tahap selanjutnya kita mempersiapkan komponen lain, saya menggunakan diode 25 ampere beserta kabel-kabelnya.
Kabel - Jepitan Kabel - Diode
Saya terbiasa menggunakan diode 25 ampere untuk kendaraan roda dua dari merk honda dan suzuki, untuk mengambil litsrik dari spool, nah diode itu khan terdiri dari 4 kaki. ada tanda + dan -, tanda + dan -, kita kasih kabel sesuai kebutuhan, alangkah baiknya tidak usah disolder tetapi dijepit dengan jepitan kabel sehingga jadi rapi terus ditutup dengan selang polos kecil untuk menghindari kontak langsung antar jepitan jika secara tak sengaja melengkung, kedua kutub + dan - tadi kita sambungkan ke tabung yang sudah kita siapkan tadi dimana ada pipa stainless steel yang sudah disekrup, terserah anda mau ambil mana yang plus dan minus di tabung, bisa sebelah kanan, bisa sebelah kiri … trus masih ada 2 kaki untuk apa ? untuk kedua kaki yang tidak ada tandanya itu berarti anda bebas menentukan mana yang mau dijadikan ground ke chasis/body motor, kalo sebelah kiri anda ambil sebagai ground ke chasis/body motor maka sebelah kanan anda sambungkan dengan kabel spool … bebas menentukan sesuai kehendak hati anda. Jadi semua kaki di diode terpakai semua .
Selang L dan Selang Polos
Kita juga membutuhkan selang L dan selang polos kecil, selang L dipasang di bagian atas tabung, alias tempat untuk mengalirkan hidrogen ke mesin dan selang L satunya kita pasang di motor, nah kedua selang tersebut kita sambungkan lagi dengan selang lain yang tahan panas. Sedang selang polos kita gunakan sebagai pelapis jepitan kabel dan juga berfungsi sebagai selang pernafasan di tabung. lihatlah gambar-gambar dibawah ini yang memperlihatkan di mana kita menempatkan selang L dan selang pernafasan:
Di atas tutup tabung or botol ada tempat untuk menaruh selang L trus kita sambung dengan selang lain. sedangkan ada tanda panah itu merupakan tempat menaruh selang pernafasan, selang pernafasan di buatn untuk menghindari tekanan balik, karena jika motor kita hidupin dengan “dipancal” kadang akan keluar air sedikit ” cruuutt ” … belum jelas yach ? kalo masih belum jelas bisa lihat diagram skema tentang pengambilan listrik spool beserta diodenya di materi sebelumnya ( Oprek Montore Bang Pirman ), di situ juga diperlihatkan di mana letak selang pernafasan, dan selang pernafasan ini bisa menggunakan sedotan, lebih baik sedotan yang kaku. Dan selang L yang kedua kita taruh di filter or karburator atau selang vacum, ke manipol juga boleh
Perlu anda ketahui jika anda langsung menuju manipol … eh tunggu apa sih manipol itu ? manipol adalah pipa selang angsa yang terbuat dari logam, nah di manipol itu bisa kita lubangi dan siberi nipel sama sekrup, selang arahkan ke manipol tadi. Ada yang nggak tahu manipol ?
Selang Ke Manipol /Filter /Karburator / Karet Vacum
Ini contoh selang yang dipergunakan untuk mengalirkan hidrogen ke mesin. Yang terakhir tak kalah penting adalah air, gunakan air murni yang disebut dengan aquades dan juga soda api, merk air yang saya gunakan adalah merk Cleo.
Soda kue
ada banyak istilah yang membingungkan dengan soda api sama soda kue, secara pribadi sih nggak masalah, soalnya ini hanya membantu proses elektrolisis, hasilnya saja yang mungkin berbeda, saya pribadi lebih suka menyebut kalium Hidroksida dari pada protasium hidroksida. Soda kue sendiri sering kali membuat air keruh, tetapi terserah anda saja.
Akhirnya lengkap dah dan bisa kita pasang ke mesin motor. Sementara saya sampai di sni dulu yak .. ntar kapan-kapan kalo sempat materi ini saya update kembali. Akhir kata saya ucapkan terima kasih bagi anda semua.
Kamis, 07 Oktober 2010
simpan database di foxpro
- Data yang disimpan ada kemungkinan data kembar (redudandy data), terutama untuk data yang bersifat unik, misalnya nim, no pegawai, dsb
- Tanpa menginput ternyata ketika klik tombol simpan, masih bisa masuk ke tabel(padahal data kosong kan nggak ada gunanya)
- Perlu adanya semacam notifikasi kepada user saat melakukan tindakan sesuatu(misal simpan, error, dsb)
- Input data
- Apakah semua data sudah diisi ? jika belum maka tampilkan pesan error dan kembali ke nomor satu
- Jika sudah diisi semua, maka lakukan pencarian, apakah ada data kembar untuk field yang bersifat unik ? Jika ada, maka tampilkan pesan error dan kembali ke nomor satu
- Simpan data ke tabel
- Tampilkan pesan bahwa Data berhasil disimpan
- Selesai
Untuk desain tabel dan formnya adalah sebagai berikut :
Source Code
FORM1.LOADSelamat mencoba, mohon dikoreksi jika ada kesalahan
set order to no
go top
CMDSIMPAN.CLICK
with thisform
IF (empty(.txtno.value) OR empty(.txtnama.value))
messagebox(“Data harus diisi semua ya”,48,”Perhatian”)
.txtno.setfocus
ELSE
seek alltrim(.txtno.value)
if found()
messagebox(“Nomor tersebut sudah ada”,48,”Perhatian”)
.txtno.setfocus
else
append blank
replace no with .txtno.value
replace nama with .txtnama.value
.txtno.value=”"
.txtnama.value=”"
.txtno.setfocus
messagebox(“Data disimpan”,64,”Informasi”)
.refresh
endif
ENDIF
endwith
Minggu, 26 September 2010
Membuat Program Penjualan Visual Basic 8 : Membuat Form Laporan
Membuat Program Penjualan Visual Basic 8 : Membuat Form Laporan
Dengan adanya laporan kita dapat mengetahui seluruh data apa saja yang masuk ke dalam database program penjualan ini. Ada banyak cara untuk membuat sebuah laporan. Dan cara yang saya pakai saat ini adalah dengan menggunakan software tambahan yang bernama Crystal Report. Bagi anda yang tidak punya Crystal Report, anda dapat membaca tutorial yang lain yang judulnya Membuat Laporan Dengan Data Report. Dan bagi anda yang punya Crystal Report, anda dapat melihat cara membuat laporannya pada Tutorial Membuat Laporan Dengan Crystal Report. Pada Tutorial yang ini saya hanya membahas pembuatan form laporan beserta listing programnya saja.
8. Membuat FORM LAPORAN
- Buat form baru lagi lalu isikan dengan isi dan properties dibawah ini:
Adapun Listing Program dari Form Login ini adalah:
Private Sub CMDEXIT_Click()
Unload Me
End Sub
Private Sub Combo6_Click()
If Combo6.Text = "HARIAN" Then
Frame1.Visible = True
Frame2.Visible = False
Frame3.Visible = False
Frame4.Visible = False
Label8.Visible = False
Combo1.Text = ""
Else
If Combo6.Text = "MINGGUAN" Then
Frame2.Visible = True
Frame1.Visible = False
Frame3.Visible = False
Frame4.Visible = False
Label8.Visible = False
Combo2.Text = ""
Else
If Combo6.Text = "BULANAN" Then
Frame3.Visible = True
Frame2.Visible = False
Frame1.Visible = False
Frame4.Visible = False
Label8.Visible = False
Combo3.Text = ""
Else
If Combo6.Text = "TAHUNAN" Then
Frame4.Visible = True
Frame2.Visible = False
Frame1.Visible = False
Frame3.Visible = False
Label8.Visible = False
Combo7.Text = ""
Else
If Combo6.Text = "KESELURUHAN" Then
Label8.Visible = True
Frame4.Visible = False
Frame2.Visible = False
Frame1.Visible = False
Frame3.Visible = False
End If
End If
End If
End If
End If
End Sub
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "/buku.mdb"
Data1.RecordSource = "select * from Table_transaksi"
Data1.RecordSource = "Select Distinct Tgl_faktur From table_transaksi order By 1"
Data1.Refresh
Do Until Data1.Recordset.EOF
Combo1.AddItem Data1.Recordset!Tgl_faktur
Combo2.AddItem Format(Data1.Recordset!Tgl_faktur, "YYYY ,MM, DD")
Combo3.AddItem Format(Data1.Recordset!Tgl_faktur, "YYYY ,MM, DD")
Data1.Recordset.MoveNext
Loop
For i = 1 To 12
Combo4.AddItem i
Next i
For i = 1 To 20
Combo5.AddItem 2000 + i
Next i
For i = 1 To 20
Combo7.AddItem 2000 + i
Next i
End Sub
KETERANGAN 1:
-Combo1 diisi dengan semua field Tanggal faktur yang ada di database.
-Combo2 juga diisi dengan semua field Tanggal faktur yang ada di database tapi dengan memakai format Tahun, Bulan, Hari contoh: 2009/03/20
-Combo3 juga diisi dengan semua field Tanggal faktur yang ada di database dan dengan memakai format seperti pada combo2.
-Combo4 diisi dengan angka dari 1 sampai 12
-Combo5 diisi dengan angka 2001 sampai 2020
-Combo7 diisi dengan angka 2001 sampai 2020
Private Sub CMDPREVIEW_Click()
On Error Resume Next
If Frame1.Visible = True Then
cr.SelectionFormula = "Totext({table_transaksi.Tgl_faktur})=’" & Combo1 & "’"
cr.ReportFileName = App.Path & "\Transaksi.rpt"
cr.WindowState = crptMaximized
cr.RetrieveDataFiles
cr.Action = 1
Else
If Frame2.Visible = True Then
cr.SelectionFormula = "{table_transaksi.Tgl_faktur} in date (" & Combo2.Text & ") to date (" & Combo3.Text & ")"
cr.ReportFileName = App.Path & "\Transaksi.rpt"
cr.WindowState = crptMaximized
cr.RetrieveDataFiles
cr.Action = 1
Else
If Frame3.Visible = True Then
Data1.RecordSource = "select * from table_transaksi where month(Tgl_faktur)=’" & Val(Combo4) & "’ and year(Tgl_faktur)=’" & (Combo5) & "’"
cr.SelectionFormula = "Month({table_transaksi.Tgl_faktur})=" & Val(Combo4.Text) & " and Year({table_transaksi.Tgl_faktur})=" & Val(Combo5.Text)
cr.ReportFileName = App.Path & "\Transaksi.rpt"
cr.WindowState = crptMaximized
cr.RetrieveDataFiles
cr.Action = 1
Else
If Frame4.Visible = True Then
Data1.RecordSource = "select * from table_transaksi where year(Tgl_faktur)=’" & (Combo7) & "’"
cr.SelectionFormula = "Year({table_transaksi.Tgl_faktur})=" & Val(Combo7.Text)
cr.ReportFileName = App.Path & "\Transaksi.rpt"
cr.WindowState = crptMaximized
cr.RetrieveDataFiles
cr.Action = 1
Else
cr.ReportFileName = App.Path & "\Transaksi.rpt"
cr.WindowState = crptMaximized
cr.RetrieveDataFiles
cr.Action = 1
End If
End If
End If
End If
End Sub
KETERANGAN 2 :
-Selection Formula disini berfungsi untuk menyeleksi suatu data tertentu saja.
-Report File Name adalah nama dari Report/laporan yang kita buat dengan Crystal Report.
-Window State berguna untuk pengaturan besarnya layar laporan. Jika Crpt maximezed berarti layar laporan diperbesar sampai maximal.
-Retrieve Data Files dipakai agar apabila data yang ada di program penjualan berubah, maka data yang ada di laporan juga ikut berubah.
-Action disini adalah perintahnya.
KETERANGAN 3 :
-Frame1 mengambil data dari Table Transaksi yang Tanggal Faktur nya sama dengan yang dipilih di Combo1. Tapi sebelumnya Type data Tanggal Faktur dirubah menjadi Text (aslinya adalah Date/Time).
-Frame2 mengambil data dari Table Transaksi yang Tanggal Faktur nya adalah antara Tanggal yang dipilih di Combo2 dan Combo3.
– Frame3 mengambil data dari Table Transaksi yang Bulan faktur nya sama dengan yang dipilih di Combo4 dan Tahun faktur nya sama dengan yang dipilih di Combo5.
-Frame4 mengambil data dari Table Transaksi yang Tahun Faktur nya sama dengan yang dipilih di Combo7.
-Jika Tidak ada frame yang muncul berarti tidak memakai rumus Selection Formula, sehingga data akan ditampilkan semuanya dari awal hingga akhir.
- Jangan lupa untuk mengganti Name dari form ini di properties menjadi ”Flaporan” dan menyimpannya dengan nama ”Laporan.frm”.
- Sekali lagi saya ingatkan agar anda membaca juga cara Membuat Laporan Dengan Data Report dan cara Membuat Laporan Dengan Crystal Report.
Akhirnya selesai sudahlah semua tutorial belajar membuat program penjualan buku dengan menggunakan microsoft visual basic ini. Mudah mudahan bisa menjadi ilmu yang bermanfaat di dunia dan akhirat. Mohon maaf kalau seandainya pengetahuan yang saya berikan hanya sedikit karena saya juga masih belajar. Hanya Allah lah yang maha luas ilmunya. Dan saya mengharapkan komentar anda semua untuk membuat saya dan blog ini menjadi semakin maju. Atas perhatiannya saya ucapkan banyak terima kasih.
Wassalamualaikum !!!
Dengan adanya laporan kita dapat mengetahui seluruh data apa saja yang masuk ke dalam database program penjualan ini. Ada banyak cara untuk membuat sebuah laporan. Dan cara yang saya pakai saat ini adalah dengan menggunakan software tambahan yang bernama Crystal Report. Bagi anda yang tidak punya Crystal Report, anda dapat membaca tutorial yang lain yang judulnya Membuat Laporan Dengan Data Report. Dan bagi anda yang punya Crystal Report, anda dapat melihat cara membuat laporannya pada Tutorial Membuat Laporan Dengan Crystal Report. Pada Tutorial yang ini saya hanya membahas pembuatan form laporan beserta listing programnya saja.
8. Membuat FORM LAPORAN
- Buat form baru lagi lalu isikan dengan isi dan properties dibawah ini:
NAME | CAPTION/TEXT | KETERANGAN |
Flaporan | Laporan | Form |
Label1 | Tanggal | Label |
Label2 | Tanggal Awal | Label |
Label3 | Tanggal Akhir | Label |
Label4 | Bulan | Label |
Label5 | Tahun | Label |
Label7 | Tahun | Label |
Label8 | Tekan Preview | Label |
Cmdexit | &exit | Command Button |
Cmdpreview | &preview | Command Button |
Frame1 | Harian | Frame |
Frame2 | Mingguan | Frame |
Frame3 | Bulanan | Frame |
Frame4 | Tahunan | Frame |
Data1 | - | Data |
CR | - | Crystal Report |
Combo1 | - | Combo |
Combo2 | - | Combo |
Combo3 | - | Combo |
Combo4 | - | Combo |
Combo5 | - | Combo |
Combo6 | Keseluruhan | Combo |
Combo7 | - | Combo |
Adapun Listing Program dari Form Login ini adalah:
Private Sub CMDEXIT_Click()
Unload Me
End Sub
Private Sub Combo6_Click()
If Combo6.Text = "HARIAN" Then
Frame1.Visible = True
Frame2.Visible = False
Frame3.Visible = False
Frame4.Visible = False
Label8.Visible = False
Combo1.Text = ""
Else
If Combo6.Text = "MINGGUAN" Then
Frame2.Visible = True
Frame1.Visible = False
Frame3.Visible = False
Frame4.Visible = False
Label8.Visible = False
Combo2.Text = ""
Else
If Combo6.Text = "BULANAN" Then
Frame3.Visible = True
Frame2.Visible = False
Frame1.Visible = False
Frame4.Visible = False
Label8.Visible = False
Combo3.Text = ""
Else
If Combo6.Text = "TAHUNAN" Then
Frame4.Visible = True
Frame2.Visible = False
Frame1.Visible = False
Frame3.Visible = False
Label8.Visible = False
Combo7.Text = ""
Else
If Combo6.Text = "KESELURUHAN" Then
Label8.Visible = True
Frame4.Visible = False
Frame2.Visible = False
Frame1.Visible = False
Frame3.Visible = False
End If
End If
End If
End If
End If
End Sub
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "/buku.mdb"
Data1.RecordSource = "select * from Table_transaksi"
Data1.RecordSource = "Select Distinct Tgl_faktur From table_transaksi order By 1"
Data1.Refresh
Do Until Data1.Recordset.EOF
Combo1.AddItem Data1.Recordset!Tgl_faktur
Combo2.AddItem Format(Data1.Recordset!Tgl_faktur, "YYYY ,MM, DD")
Combo3.AddItem Format(Data1.Recordset!Tgl_faktur, "YYYY ,MM, DD")
Data1.Recordset.MoveNext
Loop
For i = 1 To 12
Combo4.AddItem i
Next i
For i = 1 To 20
Combo5.AddItem 2000 + i
Next i
For i = 1 To 20
Combo7.AddItem 2000 + i
Next i
End Sub
KETERANGAN 1:
-Combo1 diisi dengan semua field Tanggal faktur yang ada di database.
-Combo2 juga diisi dengan semua field Tanggal faktur yang ada di database tapi dengan memakai format Tahun, Bulan, Hari contoh: 2009/03/20
-Combo3 juga diisi dengan semua field Tanggal faktur yang ada di database dan dengan memakai format seperti pada combo2.
-Combo4 diisi dengan angka dari 1 sampai 12
-Combo5 diisi dengan angka 2001 sampai 2020
-Combo7 diisi dengan angka 2001 sampai 2020
Private Sub CMDPREVIEW_Click()
On Error Resume Next
If Frame1.Visible = True Then
cr.SelectionFormula = "Totext({table_transaksi.Tgl_faktur})=’" & Combo1 & "’"
cr.ReportFileName = App.Path & "\Transaksi.rpt"
cr.WindowState = crptMaximized
cr.RetrieveDataFiles
cr.Action = 1
Else
If Frame2.Visible = True Then
cr.SelectionFormula = "{table_transaksi.Tgl_faktur} in date (" & Combo2.Text & ") to date (" & Combo3.Text & ")"
cr.ReportFileName = App.Path & "\Transaksi.rpt"
cr.WindowState = crptMaximized
cr.RetrieveDataFiles
cr.Action = 1
Else
If Frame3.Visible = True Then
Data1.RecordSource = "select * from table_transaksi where month(Tgl_faktur)=’" & Val(Combo4) & "’ and year(Tgl_faktur)=’" & (Combo5) & "’"
cr.SelectionFormula = "Month({table_transaksi.Tgl_faktur})=" & Val(Combo4.Text) & " and Year({table_transaksi.Tgl_faktur})=" & Val(Combo5.Text)
cr.ReportFileName = App.Path & "\Transaksi.rpt"
cr.WindowState = crptMaximized
cr.RetrieveDataFiles
cr.Action = 1
Else
If Frame4.Visible = True Then
Data1.RecordSource = "select * from table_transaksi where year(Tgl_faktur)=’" & (Combo7) & "’"
cr.SelectionFormula = "Year({table_transaksi.Tgl_faktur})=" & Val(Combo7.Text)
cr.ReportFileName = App.Path & "\Transaksi.rpt"
cr.WindowState = crptMaximized
cr.RetrieveDataFiles
cr.Action = 1
Else
cr.ReportFileName = App.Path & "\Transaksi.rpt"
cr.WindowState = crptMaximized
cr.RetrieveDataFiles
cr.Action = 1
End If
End If
End If
End If
End Sub
KETERANGAN 2 :
-Selection Formula disini berfungsi untuk menyeleksi suatu data tertentu saja.
-Report File Name adalah nama dari Report/laporan yang kita buat dengan Crystal Report.
-Window State berguna untuk pengaturan besarnya layar laporan. Jika Crpt maximezed berarti layar laporan diperbesar sampai maximal.
-Retrieve Data Files dipakai agar apabila data yang ada di program penjualan berubah, maka data yang ada di laporan juga ikut berubah.
-Action disini adalah perintahnya.
KETERANGAN 3 :
-Frame1 mengambil data dari Table Transaksi yang Tanggal Faktur nya sama dengan yang dipilih di Combo1. Tapi sebelumnya Type data Tanggal Faktur dirubah menjadi Text (aslinya adalah Date/Time).
-Frame2 mengambil data dari Table Transaksi yang Tanggal Faktur nya adalah antara Tanggal yang dipilih di Combo2 dan Combo3.
– Frame3 mengambil data dari Table Transaksi yang Bulan faktur nya sama dengan yang dipilih di Combo4 dan Tahun faktur nya sama dengan yang dipilih di Combo5.
-Frame4 mengambil data dari Table Transaksi yang Tahun Faktur nya sama dengan yang dipilih di Combo7.
-Jika Tidak ada frame yang muncul berarti tidak memakai rumus Selection Formula, sehingga data akan ditampilkan semuanya dari awal hingga akhir.
- Jangan lupa untuk mengganti Name dari form ini di properties menjadi ”Flaporan” dan menyimpannya dengan nama ”Laporan.frm”.
- Sekali lagi saya ingatkan agar anda membaca juga cara Membuat Laporan Dengan Data Report dan cara Membuat Laporan Dengan Crystal Report.
Akhirnya selesai sudahlah semua tutorial belajar membuat program penjualan buku dengan menggunakan microsoft visual basic ini. Mudah mudahan bisa menjadi ilmu yang bermanfaat di dunia dan akhirat. Mohon maaf kalau seandainya pengetahuan yang saya berikan hanya sedikit karena saya juga masih belajar. Hanya Allah lah yang maha luas ilmunya. Dan saya mengharapkan komentar anda semua untuk membuat saya dan blog ini menjadi semakin maju. Atas perhatiannya saya ucapkan banyak terima kasih.
Wassalamualaikum !!!
Membuat Program Penjualan Visual Basic 6 : Membuat Menu Utama
Membuat Program Penjualan Visual Basic 6 : Membuat Menu Utama
Menu Utama digunakan sebagai pusat dari semua form yang telah kita buat. Melalui form inilah kita mengakses semua form yang ada. Dengan Form menu utama ini anda tinggal menekan nama form yang dicari, maka form yang kita pilih akan segera muncul. Pada form menu utama ini anda boleh menghiasnya sesuka anda. Buatlah seindah mungkin agar user menjadi tetap tertarik untuk memakain program ini.
6. Membuat FORM MENU UTAMA
- Buatlah sebuah form baru
– Tekanlah Icon MENU EDITOR yang ada pada bagian atas toolbar. Atau bisa juga klick kanan pada Form lalu pilih MENU EDITOR.
– Pada layar Menu Editor anda disuruh memasukan Caption dan Name form yang ingin kita tuju bila user menekannya (maksudnya sub menu).
– Untuk tutorial ini terdapat beberapa sub menu yang akan kita buat :
1. FILE di dalamnya terdapat 3 bagian yaitu: File buku, Pelanggan, dan User.
2. TRANSAKSI di dalamnya terdapat Input Transaksi dan Cari Transaksi.
3. LAPORAN (akan memanggil form laporan yang akan kita buat pada tutorial lain).
4. EXIT terbagi menjadi 2 yaitu: Log Off dan Close All.
- Tekan tombol Next untuk memasukan sub menu yang selanjutnya
– Tekan tombol Insert untuk menyisipkan sub menu diantara sub menu yang lain
– Tekan tombol Delete untuk menghapus sebuah sub menu
- Tekan tombol panah Kanan untuk memasukan sub menu ke dalam sub menu yang lain
– Tekan tombol panah Kiri untuk mengeluarkan sub menu dari sub menu yang lain
– Tekan tombol panah Atas untuk meletakan sub menu di atas sub menu yang lain
– Tekan tombol panah Bawah untuk meletakan sub menu di bawah sub menu yang lain
- Adapun yang harus anda masukan di dalam Menu Editor tersebut adalah:
- Jika semua sudah dimasukan silahkan tekan tombol Oke.
- Adapun Listing Program dari Form Menu Utama ini adalah:
Private Sub BROWSE_Click()
FBrowse.Show
End Sub
Private Sub CLOSEALL_Click()
End
End Sub
Private Sub FILEBUKU_Click()
Buku.Show
End Sub
Private Sub FILEPELANGGAN_Click()
Pelanggan.Show
End Sub
Private Sub FILEUSER_Click()
If txttype.Text = "ADMINISTRATOR" Then
User.Show
Else
MsgBox "ANDA TIDAK DAPAT MENGAKSES, HANYA ADMINISTRATOR YANG BISA MENGAKSES !!!", vbOKOnly, "PERINGATAN"
End If
End Sub
Private Sub Laporan_Click()
fLaporan.Show
End Sub
Private Sub LOGOFF_Click()
Unload Me
Login.Show
End Sub
Private Sub PENJUALAN_Click()
fTransaksi.Show
End Sub
- Jangan lupa untuk mengganti NAME dari form ini di properties menjadi ”menuutama” dan menyimpannya dengan nama ”menu.frm”.
- Cukup sekian untuk belajar kali ini. Jika ada pertanyaan silahkan kirimkan di kolom komentar dan Insya Allah kalau saya mengerti akan saya jawab langsung. Thanx !
Menu Utama digunakan sebagai pusat dari semua form yang telah kita buat. Melalui form inilah kita mengakses semua form yang ada. Dengan Form menu utama ini anda tinggal menekan nama form yang dicari, maka form yang kita pilih akan segera muncul. Pada form menu utama ini anda boleh menghiasnya sesuka anda. Buatlah seindah mungkin agar user menjadi tetap tertarik untuk memakain program ini.
6. Membuat FORM MENU UTAMA
- Buatlah sebuah form baru
– Tekanlah Icon MENU EDITOR yang ada pada bagian atas toolbar. Atau bisa juga klick kanan pada Form lalu pilih MENU EDITOR.
– Pada layar Menu Editor anda disuruh memasukan Caption dan Name form yang ingin kita tuju bila user menekannya (maksudnya sub menu).
– Untuk tutorial ini terdapat beberapa sub menu yang akan kita buat :
1. FILE di dalamnya terdapat 3 bagian yaitu: File buku, Pelanggan, dan User.
2. TRANSAKSI di dalamnya terdapat Input Transaksi dan Cari Transaksi.
3. LAPORAN (akan memanggil form laporan yang akan kita buat pada tutorial lain).
4. EXIT terbagi menjadi 2 yaitu: Log Off dan Close All.
- Tekan tombol Next untuk memasukan sub menu yang selanjutnya
– Tekan tombol Insert untuk menyisipkan sub menu diantara sub menu yang lain
– Tekan tombol Delete untuk menghapus sebuah sub menu
- Tekan tombol panah Kanan untuk memasukan sub menu ke dalam sub menu yang lain
– Tekan tombol panah Kiri untuk mengeluarkan sub menu dari sub menu yang lain
– Tekan tombol panah Atas untuk meletakan sub menu di atas sub menu yang lain
– Tekan tombol panah Bawah untuk meletakan sub menu di bawah sub menu yang lain
- Adapun yang harus anda masukan di dalam Menu Editor tersebut adalah:
CAPTION | NAME | POSISI |
File | File | Sub Menu Utama |
Buku | Filebuku | Di dalam sub menu File |
Pelanggan | Filepelanggan | Di dalam sub menu File |
User | Fileuser | Di dalam sub menu File |
Transaksi | Transaksi | Sub Menu Utama |
Input Transaksi | Penjualan | Di dalam sub menu Transaksi |
Cari Transaksi | Browse | Di dalam sub menu Transaksi |
Laporan | Laporan | Sub Menu Utama |
Exit | Exit | Sub Menu Utama |
Log Off | Logoff | Di dalam sub menu Exit |
Close All | Closeall | Di dalam sub menu Exit |
- Adapun Listing Program dari Form Menu Utama ini adalah:
Private Sub BROWSE_Click()
FBrowse.Show
End Sub
Private Sub CLOSEALL_Click()
End
End Sub
Private Sub FILEBUKU_Click()
Buku.Show
End Sub
Private Sub FILEPELANGGAN_Click()
Pelanggan.Show
End Sub
Private Sub FILEUSER_Click()
If txttype.Text = "ADMINISTRATOR" Then
User.Show
Else
MsgBox "ANDA TIDAK DAPAT MENGAKSES, HANYA ADMINISTRATOR YANG BISA MENGAKSES !!!", vbOKOnly, "PERINGATAN"
End If
End Sub
Private Sub Laporan_Click()
fLaporan.Show
End Sub
Private Sub LOGOFF_Click()
Unload Me
Login.Show
End Sub
Private Sub PENJUALAN_Click()
fTransaksi.Show
End Sub
- Jangan lupa untuk mengganti NAME dari form ini di properties menjadi ”menuutama” dan menyimpannya dengan nama ”menu.frm”.
- Cukup sekian untuk belajar kali ini. Jika ada pertanyaan silahkan kirimkan di kolom komentar dan Insya Allah kalau saya mengerti akan saya jawab langsung. Thanx !
Membuat Program Penjualan Visual Basic 5 : Membuat Form Pencarian Transaksi
Form pencarian transaksi ini digunakan untuk mengetahui dan mencari semua data transaksi yang telah masuk ke database. Untuk pencarian pada form ini terbagi menjadi 3 pilihan yaitu pencarian berdasarkan nomor faktur, kode buku, atau kode pelanggan. Jika anda tidak memakai form ini juga tidak apa apa karena sebenarnya data transaksi juga bisa dilihat melalui laporan transaksi yang akan kita bahas pada tutorial yang lain. Baiklah sekarang kita mulai saja belajar ini.
5. Membuat FORM PENCARIAN TRANSAKSI
- Buat form baru lagi lalu isikan dengan isi dan properties dibawah ini:
NAME CAPTION/TEXT KETERANGAN TAMBAHAN
Combo1 - Combo box
Txtfind - Textbox
Cmdfind &find Command button
Cmdexit &exit Command button
Data1 - Data
Data2 - Data
Data3 - Data
Data4 - Data
Dbgrid1 - Dbgrid
Dbgrid2 - Dbgrid
Dbgrid3 - Dbgrid
Dbgrid4 - Dbgrid
Fbrowse Form Pencarian Transaksi Form
Cmdprint &print Command Button Jika punya Crystal Report
CR - Crystal Report Jika punya Crystal Report
CR2 &print Crystal Report Jika punya Crystal Report
CR3 - Crystal Report Jika punya Crystal Report
Adapun Listing Program dari Form Pencarian Transaksi ini adalah:
Private Sub Form_Load()
Data1.DatabaseName = App.Path & “/buku.mdb”
Data1.RecordSource = “select * from Table_transaksi”
Data1.Refresh
DBGrid1.Refresh
Data2.DatabaseName = App.Path & “/buku.mdb”
Data2.RecordSource = “select * from Table_detail”
Data2.Refresh
DBGrid2.Refresh
Data3.DatabaseName = App.Path & “/buku.mdb”
Data3.RecordSource = “select * from Table_transaksi”
Data3.Refresh
DBGrid3.Refresh
Data4.DatabaseName = App.Path & “/buku.mdb”
Data4.RecordSource = “select * from Table_detail”
Data4.Refresh
DBGrid4.Refresh
End Sub
Private Sub Combo1_Click()
TXTFIND.Text = “”
TXTFIND.SetFocus
If Combo1.Text = “NOMOR FAKTUR” Then
DBGrid1.Visible = True
Data1.Visible = True
DBGrid2.Visible = True
Data2.Visible = True
DBGrid3.Visible = False
DBGrid4.Visible = False
Data3.Visible = False
Data4.Visible = False
Else
If Combo1.Text = “KODE PELANGGAN” Then
DBGrid3.Visible = True
Data3.Visible = True
DBGrid4.Visible = False
Data4.Visible = False
DBGrid1.Visible = False
DBGrid2.Visible = False
Data1.Visible = False
Data2.Visible = False
Else
If Combo1.Text = “KODE BUKU” Then
DBGrid4.Visible = True
Data4.Visible = True
DBGrid3.Visible = False
Data3.Visible = False
DBGrid1.Visible = False
DBGrid2.Visible = False
Data1.Visible = False
Data2.Visible = False
End If
End If
End If
End Sub
Private Sub TXTFIND_Change()
If TXTFIND.Text = “” Then
Data1.RecordSource = “select*from Table_transaksi”
Data1.Refresh
DBGrid1.Refresh
Data2.RecordSource = “select*from Table_detail”
Data2.Refresh
DBGrid2.Refresh
Data3.RecordSource = “select*from Table_transaksi”
Data3.Refresh
DBGrid3.Refresh
Data4.RecordSource = “select*from Table_detail”
Data4.Refresh
DBGrid4.Refresh
End If
End Sub
Private Sub CMDFIND_Click()
If Combo1.Text = “” Or TXTFIND.Text = “” Then
MsgBox “masih ada DATA YANG HARUS DIISI”
Else
If Combo1.Text = “NOMOR FAKTUR” Then
Data1.RecordSource = “SELECT*FROM Table_transaksi WHERE No_faktur=’” & TXTFIND.Text & “‘”
DBGrid1.Refresh
Data1.Refresh
Data2.RecordSource = “SELECT*FROM Table_detail WHERE No_faktur=’” & TXTFIND.Text & “‘”
DBGrid2.Refresh
Data2.Refresh
If Data1.Recordset.EOF And Data2.Recordset.EOF Then
MsgBox “DATA TIDAK ADA !”
TXTFIND.SetFocus
TXTFIND.Text = “”
End If
Else
If Combo1.Text = “KODE PELANGGAN” Then
Data3.RecordSource = “SELECT*FROM Table_transaksi WHERE Kode_pelanggan=’” & TXTFIND.Text & “‘”
DBGrid3.Refresh
Data3.Refresh
If Data3.Recordset.EOF Then
MsgBox “DATA TIDAK ADA !”
TXTFIND.SetFocus
TXTFIND.Text = “”
End If
Else
If Combo1.Text = “KODE BUKU” Then
Data4.RecordSource = “SELECT*FROM Table_detail WHERE Kode_buku=’” & TXTFIND.Text & “‘”
DBGrid4.Refresh
Data4.Refresh
If Data4.Recordset.EOF Then
MsgBox “DATA TIDAK ADA !”
TXTFIND.SetFocus
TXTFIND.Text = “”
End If
End If
End If
End If
End If
End Sub
Private Sub CMDEXIT_Click()
Unload Me
End Sub
Private Sub CMDPRINT_Click()
‘If Combo1.Text = “” Or TXTFIND.Text = “” Then
‘MsgBox “MASIH ADA DATA YANG HARUS DIISI”
‘End If
‘If Combo1.Text = “NOMOR FAKTUR” Then
‘CR.ReportFileName = App.Path & “\TRANSAKSI2.rpt”
‘CR.SelectionFormula = “({Table_detail.No_faktur}=’” & TXTFIND.Text & “‘)”
‘CR.WindowState = crptMaximized
‘CR.RetrieveDataFiles
‘CR.Action = 1
‘Else
‘If Combo1.Text = “KODE PELANGGAN” Then
‘cr2.ReportFileName = App.Path & “\TRANSAKSI2.rpt”
‘cr2.SelectionFormula = “({Table_Transaksi.Kode_pelanggan}=’” & TXTFIND.Text & “‘)”
‘cr2.WindowState = crptMaximized
‘cr2.RetrieveDataFiles
‘cr2.Action = 1
‘Else
‘If Combo1.Text = “KODE BUKU” Then
‘cr2.ReportFileName = App.Path & “\TRANSAKSI2.rpt”
‘cr2.SelectionFormula = “({Table_detail.Kode_buku}=’” & TXTFIND.Text & “‘)”
‘cr2.WindowState = crptMaximized
‘cr2.RetrieveDataFiles
‘cr2.Action = 1
‘End If
‘End If
‘End If
End Sub
PERHATIAN: CMDPRINT hanya dipakai jika anda mempunyai software pembuat laporan yang bernama CRYSTAL REPORT. Jika tidak punya, silahkan hapus rumusnya. Tapi jika anda punya, gunakan listing program tersebut dan hilangkan tanda petik di depan rumusnya. Untuk keterangan lebih lanjut baca Tutorial Membuat Laporan dengan Crystal Report.
Pada listing program kali ini saya kira tidak ada yang perlu dijelaskan karena semuanya sudah saya jelaskan pada tutorial tutorial yang sebelumnya. Sebenarnya anda bisa saja membuat form ini lebih sederhana dari yang saya buat. Karena pada form ini saya memakai banyak Data Control dan Dbgrid sehingga kelihatan ruwet.
Adapun cara memakai Fomr Pencarian Transaksi ini adalah :
1. Pilihlah pada combo box yang ada apakah anda ingin mencari data transaksi berdasarkan Nomor faktur atau Kode buku atau kode pelanggan.
2. Jika kriteria pencarian sudah dipilih, selanjutkan masukan kode data yang dicari.
3. Tekan tombol Find untuk memunculkan data tersebut.
4. Data akan ditampilkan dan anda bisa melihat perbedaan dari kriteria pencarian yang telah anda pilih:
Jika memilih Kode buku maka muncul data transaksi berdasarkan buku.
Jika memilih Kode Pelanggan maka muncul data transaksi berdasarkan pelanggan.
Jika memilih Nomor Faktur maka yang muncul adalah data transaksi berdasarkan nomor faktur yang terdiri dari 2 bagian yaitu Data Transaksi itu sendiri dan Data Detail dari Transaksi tersebut.
5. Tekan tombol Exit untuk keluar dari form ini.
- Jangan lupa untuk mengganti Name dari form ini di properties menjadi ”Fbrowse” dan menyimpannya dengan nama ”browse.frm”.
Untuk tutorial berikutnya kita akan membuat Form Menu Utama jadi, jangan sampai ketinggalan untuk membacar tutorial saya yang berikutnya. Mudah mudahan bermanfaat bagi yang sudah jago atau bagi yang masih belajar seperti saya. Amin !
5. Membuat FORM PENCARIAN TRANSAKSI
- Buat form baru lagi lalu isikan dengan isi dan properties dibawah ini:
NAME CAPTION/TEXT KETERANGAN TAMBAHAN
Combo1 - Combo box
Txtfind - Textbox
Cmdfind &find Command button
Cmdexit &exit Command button
Data1 - Data
Data2 - Data
Data3 - Data
Data4 - Data
Dbgrid1 - Dbgrid
Dbgrid2 - Dbgrid
Dbgrid3 - Dbgrid
Dbgrid4 - Dbgrid
Fbrowse Form Pencarian Transaksi Form
Cmdprint &print Command Button Jika punya Crystal Report
CR - Crystal Report Jika punya Crystal Report
CR2 &print Crystal Report Jika punya Crystal Report
CR3 - Crystal Report Jika punya Crystal Report
Adapun Listing Program dari Form Pencarian Transaksi ini adalah:
Private Sub Form_Load()
Data1.DatabaseName = App.Path & “/buku.mdb”
Data1.RecordSource = “select * from Table_transaksi”
Data1.Refresh
DBGrid1.Refresh
Data2.DatabaseName = App.Path & “/buku.mdb”
Data2.RecordSource = “select * from Table_detail”
Data2.Refresh
DBGrid2.Refresh
Data3.DatabaseName = App.Path & “/buku.mdb”
Data3.RecordSource = “select * from Table_transaksi”
Data3.Refresh
DBGrid3.Refresh
Data4.DatabaseName = App.Path & “/buku.mdb”
Data4.RecordSource = “select * from Table_detail”
Data4.Refresh
DBGrid4.Refresh
End Sub
Private Sub Combo1_Click()
TXTFIND.Text = “”
TXTFIND.SetFocus
If Combo1.Text = “NOMOR FAKTUR” Then
DBGrid1.Visible = True
Data1.Visible = True
DBGrid2.Visible = True
Data2.Visible = True
DBGrid3.Visible = False
DBGrid4.Visible = False
Data3.Visible = False
Data4.Visible = False
Else
If Combo1.Text = “KODE PELANGGAN” Then
DBGrid3.Visible = True
Data3.Visible = True
DBGrid4.Visible = False
Data4.Visible = False
DBGrid1.Visible = False
DBGrid2.Visible = False
Data1.Visible = False
Data2.Visible = False
Else
If Combo1.Text = “KODE BUKU” Then
DBGrid4.Visible = True
Data4.Visible = True
DBGrid3.Visible = False
Data3.Visible = False
DBGrid1.Visible = False
DBGrid2.Visible = False
Data1.Visible = False
Data2.Visible = False
End If
End If
End If
End Sub
Private Sub TXTFIND_Change()
If TXTFIND.Text = “” Then
Data1.RecordSource = “select*from Table_transaksi”
Data1.Refresh
DBGrid1.Refresh
Data2.RecordSource = “select*from Table_detail”
Data2.Refresh
DBGrid2.Refresh
Data3.RecordSource = “select*from Table_transaksi”
Data3.Refresh
DBGrid3.Refresh
Data4.RecordSource = “select*from Table_detail”
Data4.Refresh
DBGrid4.Refresh
End If
End Sub
Private Sub CMDFIND_Click()
If Combo1.Text = “” Or TXTFIND.Text = “” Then
MsgBox “masih ada DATA YANG HARUS DIISI”
Else
If Combo1.Text = “NOMOR FAKTUR” Then
Data1.RecordSource = “SELECT*FROM Table_transaksi WHERE No_faktur=’” & TXTFIND.Text & “‘”
DBGrid1.Refresh
Data1.Refresh
Data2.RecordSource = “SELECT*FROM Table_detail WHERE No_faktur=’” & TXTFIND.Text & “‘”
DBGrid2.Refresh
Data2.Refresh
If Data1.Recordset.EOF And Data2.Recordset.EOF Then
MsgBox “DATA TIDAK ADA !”
TXTFIND.SetFocus
TXTFIND.Text = “”
End If
Else
If Combo1.Text = “KODE PELANGGAN” Then
Data3.RecordSource = “SELECT*FROM Table_transaksi WHERE Kode_pelanggan=’” & TXTFIND.Text & “‘”
DBGrid3.Refresh
Data3.Refresh
If Data3.Recordset.EOF Then
MsgBox “DATA TIDAK ADA !”
TXTFIND.SetFocus
TXTFIND.Text = “”
End If
Else
If Combo1.Text = “KODE BUKU” Then
Data4.RecordSource = “SELECT*FROM Table_detail WHERE Kode_buku=’” & TXTFIND.Text & “‘”
DBGrid4.Refresh
Data4.Refresh
If Data4.Recordset.EOF Then
MsgBox “DATA TIDAK ADA !”
TXTFIND.SetFocus
TXTFIND.Text = “”
End If
End If
End If
End If
End If
End Sub
Private Sub CMDEXIT_Click()
Unload Me
End Sub
Private Sub CMDPRINT_Click()
‘If Combo1.Text = “” Or TXTFIND.Text = “” Then
‘MsgBox “MASIH ADA DATA YANG HARUS DIISI”
‘End If
‘If Combo1.Text = “NOMOR FAKTUR” Then
‘CR.ReportFileName = App.Path & “\TRANSAKSI2.rpt”
‘CR.SelectionFormula = “({Table_detail.No_faktur}=’” & TXTFIND.Text & “‘)”
‘CR.WindowState = crptMaximized
‘CR.RetrieveDataFiles
‘CR.Action = 1
‘Else
‘If Combo1.Text = “KODE PELANGGAN” Then
‘cr2.ReportFileName = App.Path & “\TRANSAKSI2.rpt”
‘cr2.SelectionFormula = “({Table_Transaksi.Kode_pelanggan}=’” & TXTFIND.Text & “‘)”
‘cr2.WindowState = crptMaximized
‘cr2.RetrieveDataFiles
‘cr2.Action = 1
‘Else
‘If Combo1.Text = “KODE BUKU” Then
‘cr2.ReportFileName = App.Path & “\TRANSAKSI2.rpt”
‘cr2.SelectionFormula = “({Table_detail.Kode_buku}=’” & TXTFIND.Text & “‘)”
‘cr2.WindowState = crptMaximized
‘cr2.RetrieveDataFiles
‘cr2.Action = 1
‘End If
‘End If
‘End If
End Sub
PERHATIAN: CMDPRINT hanya dipakai jika anda mempunyai software pembuat laporan yang bernama CRYSTAL REPORT. Jika tidak punya, silahkan hapus rumusnya. Tapi jika anda punya, gunakan listing program tersebut dan hilangkan tanda petik di depan rumusnya. Untuk keterangan lebih lanjut baca Tutorial Membuat Laporan dengan Crystal Report.
Pada listing program kali ini saya kira tidak ada yang perlu dijelaskan karena semuanya sudah saya jelaskan pada tutorial tutorial yang sebelumnya. Sebenarnya anda bisa saja membuat form ini lebih sederhana dari yang saya buat. Karena pada form ini saya memakai banyak Data Control dan Dbgrid sehingga kelihatan ruwet.
Adapun cara memakai Fomr Pencarian Transaksi ini adalah :
1. Pilihlah pada combo box yang ada apakah anda ingin mencari data transaksi berdasarkan Nomor faktur atau Kode buku atau kode pelanggan.
2. Jika kriteria pencarian sudah dipilih, selanjutkan masukan kode data yang dicari.
3. Tekan tombol Find untuk memunculkan data tersebut.
4. Data akan ditampilkan dan anda bisa melihat perbedaan dari kriteria pencarian yang telah anda pilih:
Jika memilih Kode buku maka muncul data transaksi berdasarkan buku.
Jika memilih Kode Pelanggan maka muncul data transaksi berdasarkan pelanggan.
Jika memilih Nomor Faktur maka yang muncul adalah data transaksi berdasarkan nomor faktur yang terdiri dari 2 bagian yaitu Data Transaksi itu sendiri dan Data Detail dari Transaksi tersebut.
5. Tekan tombol Exit untuk keluar dari form ini.
- Jangan lupa untuk mengganti Name dari form ini di properties menjadi ”Fbrowse” dan menyimpannya dengan nama ”browse.frm”.
Untuk tutorial berikutnya kita akan membuat Form Menu Utama jadi, jangan sampai ketinggalan untuk membacar tutorial saya yang berikutnya. Mudah mudahan bermanfaat bagi yang sudah jago atau bagi yang masih belajar seperti saya. Amin !
Membuat Program Penjualan Visual Basic 4 : Membuat Form Transaksi
Membuat Program Penjualan Visual Basic 4 : Membuat Form Transaksi
Selamat datang kembali di tutorial belajar VB. Pada kali ini kita akan belajar yang lebih sulit lagi yaitu membuat form transaksi yang merupakan inti dari program ini dibuat. Kalau yang namanya penjualan sudah pasti ada transaksi yang terjadi disitu. Pada tutorial yang ke 1 dulu kita sudah membuat sebanyak 7 Table dan yang akan kita bahas disini adalah semua table tersebut yang dijadikan satu di dalam form transaksi ini. Sudah siap? Bismillahirrohmanirrohim !
4. Membuat FORM TRANSAKSI
- Buat form baru lagi lalu isikan dengan isi dan properties dibawah ini:
Adapun Listing Program dari Form Transaksi Ini Adalah :
Private Sub Form_Activate()
Call nonaktif
Call kosong
TXTKASIR.Text = Menuutama.txtuser.Text
End Sub
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "/buku.mdb"
Data1.RecordSource = "select * from Table_buku order by Kode_buku"
Data2.DatabaseName = App.Path & "/buku.mdb"
Data2.RecordSource = "select * from Table_pelanggan"
Data3.DatabaseName = App.Path & "/buku.mdb"
Data3.RecordSource = "select * from Table_transaksi"
Data4.DatabaseName = App.Path & "/buku.mdb"
Data4.RecordSource = "select * from Table_detail"
Data5.DatabaseName = App.Path & "/buku.mdb"
Data5.RecordSource = "select * from Table_user"
Data6.DatabaseName = App.Path & "/buku.mdb"
Data6.RecordSource = "select * from Table_bantu"
Data7.DatabaseName = App.Path & "/buku.mdb"
Data7.RecordSource = "select * from Table_bayar"
End Sub
Private Sub CMDADD_Click()
Call Auto
Call aktif
CMDFINDP.Enabled = True
CMDADD.Enabled = False
CMDEXIT.Enabled = False
End Sub
Private Sub CMDCLEAR_Click()
Call kosong
Call hapus_grid
Call nonaktif
CMDADD.Enabled = True
CMDEXIT.Enabled = True
End Sub
Private Sub CMDEXIT_Click()
Unload Me
Menuutama.Show
End Sub
Sub aktif()
CMDCLEAR.Enabled = True
CMDSAVE.Enabled = False
End Sub
Sub nonaktif()
CMDFINDB.Enabled = False
CMDFINDP.Enabled = False
TXTKASIR.Enabled = False
TXTNOFAK.Enabled = False
TXTKDPEL.Enabled = False
TXTNMPEL.Enabled = False
TXTTELPON.Enabled = False
TXTALAMAT.Enabled = False
TXTKDBUKU.Enabled = False
TXTNMBUKU.Enabled = False
TXTSTOK.Enabled = False
TXTHARGA.Enabled = False
TXTJUMBEL.Enabled = False
TXTTOHAR.Enabled = False
TXTTOBAY.Enabled = False
TXTUBAR.Enabled = False
TXTUKEM.Enabled = False
TXTKIRIM.Enabled = False
OPTDALAM.Enabled = False
OPTLUAR.Enabled = False
OPTTIDAK.Enabled = False
CMDCLEAR.Enabled = False
CMDSAVE.Enabled = False
CMDLAGI.Enabled = False
CMDSELESAI.Enabled = False
End Sub
Sub kosong()
TXTNOFAK.Text = ""
TXTKDPEL.Text = ""
TXTNMPEL.Text = ""
TXTALAMAT.Text = ""
TXTTELPON.Text = ""
TXTKDBUKU.Text = ""
TXTNMBUKU.Text = ""
TXTSTOK.Text = ""
TXTHARGA.Text = ""
TXTJUMBEL.Text = ""
TXTTOHAR.Text = ""
TXTUBAR.Text = ""
TXTUKEM.Text = ""
TXTTOBAY.Text = ""
TXTKIRIM.Text = ""
OPTDALAM.Value = False
OPTLUAR.Value = False
OPTTIDAK.Value = False
End Sub
Private Sub CMDFINDB_Click()
Frame2.Visible = True
TXTFINDB.SetFocus
End Sub
Private Sub CMDFINDP_Click()
Frame3.Visible = True
TXTFINDP.SetFocus
End Sub
VISIBLE digunakan sebagai pilihan apakah suatu objek akan ditampilkan atau disembunyikan.
Jika VISIBLE = TRUE maka objek akan ditampilkan.
Jika VISIBLE = FALSE maka objek akan disembunyikan.
Private Sub TXTFINDB_Change()
Data1.RecordSource = "SELECT*FROM Table_buku WHERE Kode_buku LIKE’*" & TXTFINDB.Text & "*’"
DBGrid3.Refresh
Data1.Refresh
If Data1.Recordset.EOF Then
MsgBox "DATA TIDAK ADA !"
End If
End Sub
Private Sub TXTFINDB_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
TXTKDBUKU.Text = Data1.Recordset!Kode_buku
TXTNMBUKU.Text = Data1.Recordset!Judul_buku
TXTSTOK.Text = Data1.Recordset!Stok_buku
TXTHARGA.Text = Data1.Recordset!Harga_buku
Frame2.Visible = False
TXTJUMBEL.Enabled = True
TXTJUMBEL.SetFocus
TXTFINDB.Text = ""
CMDFINDB.Enabled = False
End If
End Sub
Private Sub TXTFINDP_Change()
Data2.RecordSource = "SELECT*FROM Table_pelanggan WHERE Kode_pelanggan LIKE’*" & TXTFINDP.Text & "*’"
DBGrid2.Refresh
Data2.Refresh
If Data2.Recordset.EOF Then
MsgBox "DATA TIDAK ADA !"
End If
End Sub
Private Sub TXTFINDP_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
TXTKDPEL.Text = Data2.Recordset!Kode_pelanggan
TXTNMPEL.Text = Data2.Recordset!Nama_Pelanggan
TXTTELPON.Text = Data2.Recordset!Telp_pelanggan
TXTALAMAT.Text = Data2.Recordset!Almt_pelanggan
Frame3.Visible = False
CMDFINDB.Enabled = True
CMDFINDP.Enabled = False
TXTFINDP.Text = ""
End If
End Sub
Private Sub CMDLAGI_Click()
CMDFINDB.Enabled = True
CMDSELESAI.Enabled = False
CMDLAGI.Enabled = False
TXTJUMBEL.Text = ""
End Sub
Private Sub CMDSELESAI_Click()
OPTDALAM.Enabled = True
OPTLUAR.Enabled = True
OPTTIDAK.Enabled = True
If Data6.Recordset.RecordCount = 0 Then
Data6.Recordset.AddNew
Data6.Recordset!Nofak = TXTNOFAK.Text
Data6.Recordset!Kode_buku = TXTKDBUKU.Text
Data6.Recordset!Jumlah_beli = TXTJUMBEL.Text
Data6.Recordset!Total_harga = Val(TXTTOHAR.Text)
Data6.Recordset.Update
Data6.Refresh
DBGrid1.Refresh
TXTTOBAY.Text = Val(TXTTOBAY.Text) + Val(TXTTOHAR.Text)
End If
CMDLAGI.Enabled = False
CMDSELESAI.Enabled = False
TXTJUMBEL.Enabled = False
End Sub
Maksud dari If Data6.Recordset.RecordCount = 0 Then dst… yang ada pada CmdSelesai ini adalah jika isi dari field data6 (Table_bantu) masih kosong maka terjadi penyimpanan data dan isi data txttobay adalah txttobay yang lama ditambah dengan txttohar.
Private Sub OPTDALAM_Click()
If OPTDALAM.Value = True Then
TXTKIRIM.Text = 5000
TXTTOBAY.Text = Val(TXTTOBAY.Text) + Val(TXTKIRIM.Text)
TXTUBAR.Enabled = True
TXTUBAR.SetFocus
OPTLUAR.Enabled = False
OPTTIDAK.Enabled = False
TXTUBAR.SetFocus
End If
End Sub
Private Sub OPTLUAR_Click()
If OPTLUAR.Value = True Then
TXTKIRIM.Text = 10000
TXTTOBAY.Text = Val(TXTTOBAY.Text) + Val(TXTKIRIM.Text)
TXTUBAR.Enabled = True
TXTUBAR.SetFocus
OPTDALAM.Enabled = False
OPTTIDAK.Enabled = False
TXTUBAR.SetFocus
End If
End Sub
Private Sub OPTTIDAK_Click()
If OPTTIDAK.Value = True Then
TXTKIRIM.Text = 0
TXTTOBAY.Text = Val(TXTTOBAY.Text) + Val(TXTKIRIM.Text)
TXTUBAR.Enabled = True
TXTUBAR.SetFocus
OPTLUAR.Enabled = False
OPTDALAM.Enabled = False
TXTUBAR.SetFocus
End If
End Sub
Maksud dari VALUE pada Option Button adalah:
Jika VALUE = TRUE berarti Option Button tersebut dipilih.
Jika VALUE = FALSE berarti Option Button tersebut tidak dipilih.
Keterangan dari data biaya pengirimannya adalah:
Jika yang dipilih adalah OptDalam (dalam kota) maka biaya kirimnya adalah 5000
Jika yang dipilih adalah OptLuar(luar kota) maka biaya kirimnya adalah 10000
Jika yang dipilih adalah OptTidak (tidak dikirim) maka biaya kirimnya adalah 0
Total bayar berisi penjumlahan dari Total bayar yang lama ditambah biaya kirim tersebut.
Private Sub TXTJUMBEL_Change()
TXTTOHAR.Text = Val(TXTJUMBEL.Text) * Val(TXTHARGA.Text)
End Sub
Private Sub TXTJUMBEL_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Val(TXTJUMBEL.Text) > Val(TXTSTOK.Text) Then
MsgBox "stok terbatas"
Else
Data6.Recordset.AddNew
Data6.Recordset!No_faktur = TXTNOFAK.Text
Data6.Recordset!Kode_buku = TXTKDBUKU.Text
Data6.Recordset!Jumlah_beli = Val(TXTJUMBEL.Text)
Data6.Recordset!Total_harga = Val(TXTTOHAR.Text)
Data6.Recordset.Update
Data6.Refresh
DBGrid1.Refresh
TXTTOBAY.Text = Val(TXTTOBAY.Text) + Val(TXTTOHAR.Text)
TXTJUMBEL.Text = ""
TXTTOHAR.Text = ""
CMDFINDB.Enabled = False
CMDLAGI.Enabled = True
CMDSELESAI.Enabled = True
TXTKDBUKU.Text = ""
TXTNMBUKU.Text = ""
TXTSTOK.Text = ""
TXTHARGA.Text = ""
TXTJUMBEL.Enabled = False
End If
End If
End Sub
Perhatikan bahwa TxtJumbel (jumlah beli) disitu ada 2 bagian yaitu CHANGE dan KEYPRESS.
CHANGE: Pada txtjumbel ketika ditulis suatu data maka secara langsung akan terjadi perkalian antara txtjumbel dan txtharga dan hasilnya akan ditaruh di txttohar (total harga).
KEYPRESS: Pada txtjumbel ketika ditekan Enter maka akan terjadi perhitungan data stok, Jika angka yang dimasukan pada txtjumbel lebih besar daripada angka yang ada di txtstok maka akan muncul pesan bahwa Stok terbatas. Tapi jika lebih kecil maka akan terjadi proses penyimpanan data.
Private Sub TXTUBAR_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Val(TXTUBAR.Text) < Val(TXTTOBAY.Text) Then
MsgBox "uang bayar kurang"
Else
TXTUKEM.Text = Val(TXTUBAR.Text) – Val(TXTTOBAY.Text)
CMDSAVE.Enabled = True
CMDSAVE.SetFocus
End If
End If
End Sub
Pada txtubar apabila ditekan Enter maka akan terjadi perhitungan data sebagai berikut:
Jika angka yang dimasukan pada txtubar (uang bayar) lebih kecil dari angka yang ada di txttobay (total bayar) maka akan muncul pesan bahwa uang bayar kurang.
Tapi jika lebih besar maka terjadi pengurangan antara txtubar dikurangi dengan txttobay yang hasilnya diletakkan pada txtukem (uang kembali).
Private Sub Timer1_Timer()
TXTTGL.Text = Date
TXTJAM.Text = Time
End Sub
Listing ini digunakan untuk memunculkan tanggal dan waktu terjadinya transaksi (hari itu juga)
Txttgl berisi Tanggal terjadinya transaksi.
txtjam berisi Jam terjadinya transaksi.
Diperlukan Tool TIMER dan jangan lupa untuk merubah INTERVAL nya pada properties.
Sub hapus_grid()
If Data6.Recordset.RecordCount <= 0 Then
Exit Sub
End If
Data6.Recordset.MoveFirst
Do While Not Data6.Recordset.EOF
Data6.Recordset.Delete
Data6.Recordset.MoveNext
Loop
End Sub
Sub hapus_bayar()
If Data7.Recordset.RecordCount <= 0 Then
Exit Sub
End If
Data7.Recordset.MoveFirst
Do While Not Data7.Recordset.EOF
Data7.Recordset.Delete
Data7.Recordset.MoveNext
Loop
End Sub
Private Sub CMDSAVE_Click()
‘TABLE DETAIL DAN TABLE BANTU
While Not Data6.Recordset.EOF
Data4.Recordset.AddNew
Data4.Recordset!No_faktur = Data6.Recordset!No_faktur
Data4.Recordset!Kode_buku = Data6.Recordset!Kode_buku
Data4.Recordset!Jumlah_beli = Data6.Recordset!Jumlah_beli
Data4.Recordset!Total_harga = Data6.Recordset!Total_harga
‘ PENGURANGAN STOK
Data1.Recordset.MoveFirst
Data1.Recordset.FindFirst "Kode_buku= ‘" & Data6.Recordset!Kode_buku & "’"
If Not Data1.Recordset.NoMatch Then
Data1.Recordset.Edit
Data1.Recordset!Stok_buku = Val(Data1.Recordset!Stok_buku) – Val(Data6.Recordset!Jumlah_beli)
Data1.Recordset.Update
Data1.Refresh
End If
Data4.Recordset.Update
Data6.Recordset.MoveNext
N = N + 1
Wend
Data4.Refresh
Data6.Refresh
‘TABLE TRANSAKSI
Data3.Recordset.AddNew
Data3.Recordset!No_faktur = TXTNOFAK.Text
Data3.Recordset!Tgl_faktur = TXTTGL.Text
Data3.Recordset!Kode_pelanggan = TXTKDPEL.Text
Data3.Recordset!Total_bayar = TXTTOBAY.Text
Data3.Recordset!Id_user = TXTKASIR.Text
Data3.Recordset!Biaya_kirim = TXTKIRIM.Text
Data3.Recordset.Update
Data3.Refresh
‘TABLE BAYAR
Data7.Recordset.AddNew
Data7.Recordset!No_faktur = TXTNOFAK.Text
Data7.Recordset!Uang_bayar = TXTUBAR.Text
Data7.Recordset!Uang_kembali = TXTUKEM.Text
Data7.Recordset.Update
Data7.Refresh
‘MENCETAK FAKTUR
‘CR.ReportFileName = App.Path & "\Faktur.rpt"
‘CR.SelectionFormula = "({Table_detail.No_faktur}=’" & TXTNOFAK.Text & "’)"
‘CR.WindowState = crptMaximized
‘CR.RetrieveDataFiles
‘CR.Action = 1
CMDADD.Enabled = True
CMDSAVE.Enabled = False
Call kosong
Call nonaktif
Call hapus_grid
Call hapus_bayar
CMDEXIT.Enabled = True
End Sub
Dalam Tombol Save ini terjadi Penyimpanan data pada beberapa Table yaitu: Table Detail (diambil dari Table Bantu), Table Transaksi (diambil dari form), dan Table Bayar (diambil dari form).
Isi dari Table Detail didapat dari isi dari Table Bantu. Sedangkan isi Table Bantu itu sendiri didapat dari data yang dimasukan pada form transaksi ini.
Pada Penyimpanan data ke dalam Table Detail terjadi perintah perulangan yaitu WHILE WEND karena data Table Bantu yang akan disimpan ke dalam Table Detail berjumlah banyak sehingga berulang ulang memasukannya.
Contoh dari perulangan itu adalah apabila ada pelanggan yang membeli buku banyak yang berbeda beda pastinya semua itu hanya dicatat dalam 1 faktur atau 1 struk saja. Makanya disini terjadi pengulangan. Karena tidak mungkin setiap 1 pelanggan yang membeli buku yang banyak harus menggunakan banyak faktur juga.
Didalam penyimpanan Table Detail diatas juga terjadi PENGURANGAN STOK.
Maksud Listing Programnya adalah:
FINDFIRST dipakai untuk mencari kode_buku yang ada pada data1 (Table_buku) yang sama dengan kode_buku yang ada pada data6 (Table_bantu).
Dan jika data tersebut ditemukan maka stok_buku yang ada di data1 (Table_buku) akan dikurangi oleh Jumlah_beli yang ada di data6 (Table_bantu).
Dan setelah data tersebut di Save, maka terjadi perintah untuk memanggil Sub Hapus_Grid dan Sub Hapus_bayar.
Dengan adanya Sub Hapus_Grid tersebut, maka semua data yang ada di data6 (table_bantu) akan dikosongkan karena sudah disimpan pada data4 (table_detail).
Dan dengan adanya Sub Hapus_Bayar tersebut, maka semua data yang ada di data7 (table_bayar) juga akan dikosongkan karena sudah dipakai dan ditampilkan di dalam Faktur.
MENCETAK FAKTUR hanya dipakai jika anda mempunyai software pembuat laporan yang bernama CRYSTAL REPORT. Jika tidak punya, silahkan hapus rumusnya. Tapi jika anda punya, gunakan listing program tersebut dan hilangkan tanda petik di depan rumusnya. Untuk keterangan lebih lanjut baca Tutorial Membuat Laporan dengan Crystal Report.
Private Sub Auto()
Data3.RecordSource = "select * from Table_Transaksi Where No_faktur In(Select Max(No_faktur)From Table_Transaksi)Order By No_faktur Desc"
Data3.Refresh
Dim Urutan As String * 10
Dim Hitung As Long
With Data3.Recordset
If .EOF Then
Urutan = Right(Date, 2) + Mid(Date, 4, 2) + Left(Date, 2) + "0001"
No_faktur = Urutan
Else
If Left(!No_faktur, 6) <> Right(Date, 2) + Mid(Date, 4, 2) + Left(Date, 2) Then
Urutan = Right(Date, 2) + Mid(Date, 4, 2) + Left(Date, 2) + "0001"
Else
Hitung = (!No_faktur) + 1
Urutan = (Right(Date, 2) + Mid(Date, 4, 2) + Left(Date, 2)) + Right("0000" & Hitung, 4)
End If
End If
TXTNOFAK.Text = Urutan
End With
End Sub
Sub AUTO ini digunakan untuk memunculkan nomor faktur secara otomatis.
Jumlah karakter dari nomor faktur ini adalah 10 digit angka yang terdiri dari: 2 angka pertama untuk Tahun faktur, 2 angka berikutnya untuk Bulan faktur, 2 angka berikutnya untuk Tanggal faktur dan 4 angka terakhir digunakan untuk Nomor faktur.
Contoh: jika ada Nomor Faktur yang bertuliskan 0806250099 maka
Tahun faktur tersebut adalah 08 (2008)
Bulan faktur tersebut adalah 06 (Juni)
Tanggal faktur tersebut adalah 25
Nomor faktur tersebut adalah 0099
PERHATIAN: untuk memakai nomor faktur otomatis ini, settingan waktu komputer anda harus berformat ”dd/mm/yy” (2 digit angka hari/bulan/tahun). Contoh: 30/12/09.
Jika belum dirubah, maka rubahlah format tanggal tersebut dari CONTROL PANEL lalu pilihlah REGIONAL AND LANGUAGE OPTIONS lalu tekan tombol CUSTOMIZE dan pilih DATE lalu rubahlah SHORT DATE FORMAT menjadi dd/mm/yy jika sudah tekan Oke.
CARA MEMAKAI FORM TRANSAKSI INI:
1. Klik Add, untuk memasukan data transaksi yang baru
2. Klik tombol find yang ada disamping kode pelanggan lalu masukan kode pelanggan pada kotak pencarian data kemudian tekan enter.
3. Klik tombol find yang ada disamping kode buku lalu masukan kode buku pada kotak pencarian data kemudian tekan enter.
4. Masukan jumlah beli, lalu tekan enter.
5. Klik tombol Lagi untuk membeli buku yang lainnya lagi.
6. Klik tombol Selesai bila semua buku yang diinginkan sudah selesai dimasukkan.
7. Pilih cara pengiriman buku yang telah disediakan.
8. Masukan uang bayar pada tempat yang disediakan.
9. Klik Save, untuk menyimpan data atau Klik Clear, untuk mengosongkan dan membatalkan data yang akan disimpan.
10. Klik Exit untuk keluar.
- Jangan lupa untuk mengganti Name dari form ini di properties menjadi ”Ftransaksi” dan menyimpannya dengan nama ”Transaksi.frm”.
Demikianlah pembahasan tentang program transaksi yang memang sangat panjang dan lebar. Tapi jika anda mengerti maka terasa tidak terlalu sulit untuk membuatnya. Selamat menikmati tutorial selanjutnya !
Selamat datang kembali di tutorial belajar VB. Pada kali ini kita akan belajar yang lebih sulit lagi yaitu membuat form transaksi yang merupakan inti dari program ini dibuat. Kalau yang namanya penjualan sudah pasti ada transaksi yang terjadi disitu. Pada tutorial yang ke 1 dulu kita sudah membuat sebanyak 7 Table dan yang akan kita bahas disini adalah semua table tersebut yang dijadikan satu di dalam form transaksi ini. Sudah siap? Bismillahirrohmanirrohim !
4. Membuat FORM TRANSAKSI
- Buat form baru lagi lalu isikan dengan isi dan properties dibawah ini:
NAME | CAPTION/TEXT | KETERANGAN | TAMBAHAN | |
Label1 | No Faktur | Label | ||
Label2 | Kode Pelanggan | Label | ||
Label3 | Nama Pelanggan | Label | ||
Label4 | Nomor Hp/Telpon | Label | ||
Label5 | Alamat | Label | ||
Label6 | ID User | Label | ||
Label7 | Kode Buku | Label | ||
Label8 | Nama Buku | Label | ||
Label9 | Stok Buku | Label | ||
Label10 | Harga Buku | Label | ||
Label11 | Biaya Pengiriman | Label | ||
Label12 | Jumlah beli | Label | ||
Label13 | Total Harga | Label | ||
Label14 | Total Bayar | Label | ||
Label15 | Uang bayar | Label | ||
Label16 | Uang Kembali | Label | ||
Label17 | Masukan Kode Buku | Label | ||
Label18 | Masukan Kode Pelanggan | Label | ||
txtnofak | - | Textbox | ||
txtkdpel | - | Textbox | ||
txtnmpel | - | Textbox | ||
txttelpon | - | Textbox | ||
txtalamat | - | Textbox | ||
txtkasir | - | Textbox | ||
txtkdbuku | - | Textbox | ||
txtnmbuku | - | Textbox | ||
txtstok | - | Textbox | ||
txtharga | - | Textbox | ||
txtkirim | - | Textbox | ||
txtjumbel | - | Textbox | ||
txttohar | - | Textbox | ||
txttobay | - | Textbox | ||
txtubar | - | Textbox | ||
txtukem | - | Textbox | ||
txtfindb | - | Textbox | ||
txtfindp | - | Textbox | ||
txtjam | - | Textbox | ||
txttgl | - | Textbox | ||
cmdfindp | Find Pelanggan | Command Button | ||
cmdfindb | Find Barang | Command Button | ||
Cmdadd | &add | Command Button | ||
Cmdclear | &clear | Command Button | ||
Cmdsave | &save | Command Button | ||
Cmdexit | &exit | Command Button | ||
Cmdlagi | lagi | Command Button | ||
Cmdselesai | selesai | Command Button | ||
Optdalam | Dalam kota | Command Button | ||
Optluar | Luar kota | Command Button | ||
Opttidak | Tidak dikirim | Command Button | ||
Timer1 | - | Timer | Interval : 10 | |
Dbgrid1 | - | Dbgrid | Data source: data6 | |
Dbgrid2 | - | Dbgrid | Data source: data2 | |
Dbgrid3 | - | Dbgrid | Data source: data1 | |
Data1 | Data | |||
Data2 | Data | |||
Data3 | Data | |||
Data4 | Data | |||
Data5 | Data | |||
Data6 | Data | |||
Data7 | Data | |||
FTransaksi | Transaksi | Form | ||
Frame1 | Biaya Pengiriman Buku | Frame | ||
Frame2 | Buku | Frame | Visible: False | |
Frame3 | Pelanggan | Frame | Visible: False | |
Frame4 | - | Frame | ||
Frame5 | - | Frame | ||
CR | - | Crystal Report | Jika Punya CR |
Private Sub Form_Activate()
Call nonaktif
Call kosong
TXTKASIR.Text = Menuutama.txtuser.Text
End Sub
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "/buku.mdb"
Data1.RecordSource = "select * from Table_buku order by Kode_buku"
Data2.DatabaseName = App.Path & "/buku.mdb"
Data2.RecordSource = "select * from Table_pelanggan"
Data3.DatabaseName = App.Path & "/buku.mdb"
Data3.RecordSource = "select * from Table_transaksi"
Data4.DatabaseName = App.Path & "/buku.mdb"
Data4.RecordSource = "select * from Table_detail"
Data5.DatabaseName = App.Path & "/buku.mdb"
Data5.RecordSource = "select * from Table_user"
Data6.DatabaseName = App.Path & "/buku.mdb"
Data6.RecordSource = "select * from Table_bantu"
Data7.DatabaseName = App.Path & "/buku.mdb"
Data7.RecordSource = "select * from Table_bayar"
End Sub
Private Sub CMDADD_Click()
Call Auto
Call aktif
CMDFINDP.Enabled = True
CMDADD.Enabled = False
CMDEXIT.Enabled = False
End Sub
Private Sub CMDCLEAR_Click()
Call kosong
Call hapus_grid
Call nonaktif
CMDADD.Enabled = True
CMDEXIT.Enabled = True
End Sub
Private Sub CMDEXIT_Click()
Unload Me
Menuutama.Show
End Sub
Sub aktif()
CMDCLEAR.Enabled = True
CMDSAVE.Enabled = False
End Sub
Sub nonaktif()
CMDFINDB.Enabled = False
CMDFINDP.Enabled = False
TXTKASIR.Enabled = False
TXTNOFAK.Enabled = False
TXTKDPEL.Enabled = False
TXTNMPEL.Enabled = False
TXTTELPON.Enabled = False
TXTALAMAT.Enabled = False
TXTKDBUKU.Enabled = False
TXTNMBUKU.Enabled = False
TXTSTOK.Enabled = False
TXTHARGA.Enabled = False
TXTJUMBEL.Enabled = False
TXTTOHAR.Enabled = False
TXTTOBAY.Enabled = False
TXTUBAR.Enabled = False
TXTUKEM.Enabled = False
TXTKIRIM.Enabled = False
OPTDALAM.Enabled = False
OPTLUAR.Enabled = False
OPTTIDAK.Enabled = False
CMDCLEAR.Enabled = False
CMDSAVE.Enabled = False
CMDLAGI.Enabled = False
CMDSELESAI.Enabled = False
End Sub
Sub kosong()
TXTNOFAK.Text = ""
TXTKDPEL.Text = ""
TXTNMPEL.Text = ""
TXTALAMAT.Text = ""
TXTTELPON.Text = ""
TXTKDBUKU.Text = ""
TXTNMBUKU.Text = ""
TXTSTOK.Text = ""
TXTHARGA.Text = ""
TXTJUMBEL.Text = ""
TXTTOHAR.Text = ""
TXTUBAR.Text = ""
TXTUKEM.Text = ""
TXTTOBAY.Text = ""
TXTKIRIM.Text = ""
OPTDALAM.Value = False
OPTLUAR.Value = False
OPTTIDAK.Value = False
End Sub
Private Sub CMDFINDB_Click()
Frame2.Visible = True
TXTFINDB.SetFocus
End Sub
Private Sub CMDFINDP_Click()
Frame3.Visible = True
TXTFINDP.SetFocus
End Sub
VISIBLE digunakan sebagai pilihan apakah suatu objek akan ditampilkan atau disembunyikan.
Jika VISIBLE = TRUE maka objek akan ditampilkan.
Jika VISIBLE = FALSE maka objek akan disembunyikan.
Private Sub TXTFINDB_Change()
Data1.RecordSource = "SELECT*FROM Table_buku WHERE Kode_buku LIKE’*" & TXTFINDB.Text & "*’"
DBGrid3.Refresh
Data1.Refresh
If Data1.Recordset.EOF Then
MsgBox "DATA TIDAK ADA !"
End If
End Sub
Private Sub TXTFINDB_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
TXTKDBUKU.Text = Data1.Recordset!Kode_buku
TXTNMBUKU.Text = Data1.Recordset!Judul_buku
TXTSTOK.Text = Data1.Recordset!Stok_buku
TXTHARGA.Text = Data1.Recordset!Harga_buku
Frame2.Visible = False
TXTJUMBEL.Enabled = True
TXTJUMBEL.SetFocus
TXTFINDB.Text = ""
CMDFINDB.Enabled = False
End If
End Sub
Private Sub TXTFINDP_Change()
Data2.RecordSource = "SELECT*FROM Table_pelanggan WHERE Kode_pelanggan LIKE’*" & TXTFINDP.Text & "*’"
DBGrid2.Refresh
Data2.Refresh
If Data2.Recordset.EOF Then
MsgBox "DATA TIDAK ADA !"
End If
End Sub
Private Sub TXTFINDP_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
TXTKDPEL.Text = Data2.Recordset!Kode_pelanggan
TXTNMPEL.Text = Data2.Recordset!Nama_Pelanggan
TXTTELPON.Text = Data2.Recordset!Telp_pelanggan
TXTALAMAT.Text = Data2.Recordset!Almt_pelanggan
Frame3.Visible = False
CMDFINDB.Enabled = True
CMDFINDP.Enabled = False
TXTFINDP.Text = ""
End If
End Sub
Private Sub CMDLAGI_Click()
CMDFINDB.Enabled = True
CMDSELESAI.Enabled = False
CMDLAGI.Enabled = False
TXTJUMBEL.Text = ""
End Sub
Private Sub CMDSELESAI_Click()
OPTDALAM.Enabled = True
OPTLUAR.Enabled = True
OPTTIDAK.Enabled = True
If Data6.Recordset.RecordCount = 0 Then
Data6.Recordset.AddNew
Data6.Recordset!Nofak = TXTNOFAK.Text
Data6.Recordset!Kode_buku = TXTKDBUKU.Text
Data6.Recordset!Jumlah_beli = TXTJUMBEL.Text
Data6.Recordset!Total_harga = Val(TXTTOHAR.Text)
Data6.Recordset.Update
Data6.Refresh
DBGrid1.Refresh
TXTTOBAY.Text = Val(TXTTOBAY.Text) + Val(TXTTOHAR.Text)
End If
CMDLAGI.Enabled = False
CMDSELESAI.Enabled = False
TXTJUMBEL.Enabled = False
End Sub
Maksud dari If Data6.Recordset.RecordCount = 0 Then dst… yang ada pada CmdSelesai ini adalah jika isi dari field data6 (Table_bantu) masih kosong maka terjadi penyimpanan data dan isi data txttobay adalah txttobay yang lama ditambah dengan txttohar.
Private Sub OPTDALAM_Click()
If OPTDALAM.Value = True Then
TXTKIRIM.Text = 5000
TXTTOBAY.Text = Val(TXTTOBAY.Text) + Val(TXTKIRIM.Text)
TXTUBAR.Enabled = True
TXTUBAR.SetFocus
OPTLUAR.Enabled = False
OPTTIDAK.Enabled = False
TXTUBAR.SetFocus
End If
End Sub
Private Sub OPTLUAR_Click()
If OPTLUAR.Value = True Then
TXTKIRIM.Text = 10000
TXTTOBAY.Text = Val(TXTTOBAY.Text) + Val(TXTKIRIM.Text)
TXTUBAR.Enabled = True
TXTUBAR.SetFocus
OPTDALAM.Enabled = False
OPTTIDAK.Enabled = False
TXTUBAR.SetFocus
End If
End Sub
Private Sub OPTTIDAK_Click()
If OPTTIDAK.Value = True Then
TXTKIRIM.Text = 0
TXTTOBAY.Text = Val(TXTTOBAY.Text) + Val(TXTKIRIM.Text)
TXTUBAR.Enabled = True
TXTUBAR.SetFocus
OPTLUAR.Enabled = False
OPTDALAM.Enabled = False
TXTUBAR.SetFocus
End If
End Sub
Maksud dari VALUE pada Option Button adalah:
Jika VALUE = TRUE berarti Option Button tersebut dipilih.
Jika VALUE = FALSE berarti Option Button tersebut tidak dipilih.
Keterangan dari data biaya pengirimannya adalah:
Jika yang dipilih adalah OptDalam (dalam kota) maka biaya kirimnya adalah 5000
Jika yang dipilih adalah OptLuar(luar kota) maka biaya kirimnya adalah 10000
Jika yang dipilih adalah OptTidak (tidak dikirim) maka biaya kirimnya adalah 0
Total bayar berisi penjumlahan dari Total bayar yang lama ditambah biaya kirim tersebut.
Private Sub TXTJUMBEL_Change()
TXTTOHAR.Text = Val(TXTJUMBEL.Text) * Val(TXTHARGA.Text)
End Sub
Private Sub TXTJUMBEL_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Val(TXTJUMBEL.Text) > Val(TXTSTOK.Text) Then
MsgBox "stok terbatas"
Else
Data6.Recordset.AddNew
Data6.Recordset!No_faktur = TXTNOFAK.Text
Data6.Recordset!Kode_buku = TXTKDBUKU.Text
Data6.Recordset!Jumlah_beli = Val(TXTJUMBEL.Text)
Data6.Recordset!Total_harga = Val(TXTTOHAR.Text)
Data6.Recordset.Update
Data6.Refresh
DBGrid1.Refresh
TXTTOBAY.Text = Val(TXTTOBAY.Text) + Val(TXTTOHAR.Text)
TXTJUMBEL.Text = ""
TXTTOHAR.Text = ""
CMDFINDB.Enabled = False
CMDLAGI.Enabled = True
CMDSELESAI.Enabled = True
TXTKDBUKU.Text = ""
TXTNMBUKU.Text = ""
TXTSTOK.Text = ""
TXTHARGA.Text = ""
TXTJUMBEL.Enabled = False
End If
End If
End Sub
Perhatikan bahwa TxtJumbel (jumlah beli) disitu ada 2 bagian yaitu CHANGE dan KEYPRESS.
CHANGE: Pada txtjumbel ketika ditulis suatu data maka secara langsung akan terjadi perkalian antara txtjumbel dan txtharga dan hasilnya akan ditaruh di txttohar (total harga).
KEYPRESS: Pada txtjumbel ketika ditekan Enter maka akan terjadi perhitungan data stok, Jika angka yang dimasukan pada txtjumbel lebih besar daripada angka yang ada di txtstok maka akan muncul pesan bahwa Stok terbatas. Tapi jika lebih kecil maka akan terjadi proses penyimpanan data.
Private Sub TXTUBAR_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Val(TXTUBAR.Text) < Val(TXTTOBAY.Text) Then
MsgBox "uang bayar kurang"
Else
TXTUKEM.Text = Val(TXTUBAR.Text) – Val(TXTTOBAY.Text)
CMDSAVE.Enabled = True
CMDSAVE.SetFocus
End If
End If
End Sub
Pada txtubar apabila ditekan Enter maka akan terjadi perhitungan data sebagai berikut:
Jika angka yang dimasukan pada txtubar (uang bayar) lebih kecil dari angka yang ada di txttobay (total bayar) maka akan muncul pesan bahwa uang bayar kurang.
Tapi jika lebih besar maka terjadi pengurangan antara txtubar dikurangi dengan txttobay yang hasilnya diletakkan pada txtukem (uang kembali).
Private Sub Timer1_Timer()
TXTTGL.Text = Date
TXTJAM.Text = Time
End Sub
Listing ini digunakan untuk memunculkan tanggal dan waktu terjadinya transaksi (hari itu juga)
Txttgl berisi Tanggal terjadinya transaksi.
txtjam berisi Jam terjadinya transaksi.
Diperlukan Tool TIMER dan jangan lupa untuk merubah INTERVAL nya pada properties.
Sub hapus_grid()
If Data6.Recordset.RecordCount <= 0 Then
Exit Sub
End If
Data6.Recordset.MoveFirst
Do While Not Data6.Recordset.EOF
Data6.Recordset.Delete
Data6.Recordset.MoveNext
Loop
End Sub
Sub hapus_bayar()
If Data7.Recordset.RecordCount <= 0 Then
Exit Sub
End If
Data7.Recordset.MoveFirst
Do While Not Data7.Recordset.EOF
Data7.Recordset.Delete
Data7.Recordset.MoveNext
Loop
End Sub
Private Sub CMDSAVE_Click()
‘TABLE DETAIL DAN TABLE BANTU
While Not Data6.Recordset.EOF
Data4.Recordset.AddNew
Data4.Recordset!No_faktur = Data6.Recordset!No_faktur
Data4.Recordset!Kode_buku = Data6.Recordset!Kode_buku
Data4.Recordset!Jumlah_beli = Data6.Recordset!Jumlah_beli
Data4.Recordset!Total_harga = Data6.Recordset!Total_harga
‘ PENGURANGAN STOK
Data1.Recordset.MoveFirst
Data1.Recordset.FindFirst "Kode_buku= ‘" & Data6.Recordset!Kode_buku & "’"
If Not Data1.Recordset.NoMatch Then
Data1.Recordset.Edit
Data1.Recordset!Stok_buku = Val(Data1.Recordset!Stok_buku) – Val(Data6.Recordset!Jumlah_beli)
Data1.Recordset.Update
Data1.Refresh
End If
Data4.Recordset.Update
Data6.Recordset.MoveNext
N = N + 1
Wend
Data4.Refresh
Data6.Refresh
‘TABLE TRANSAKSI
Data3.Recordset.AddNew
Data3.Recordset!No_faktur = TXTNOFAK.Text
Data3.Recordset!Tgl_faktur = TXTTGL.Text
Data3.Recordset!Kode_pelanggan = TXTKDPEL.Text
Data3.Recordset!Total_bayar = TXTTOBAY.Text
Data3.Recordset!Id_user = TXTKASIR.Text
Data3.Recordset!Biaya_kirim = TXTKIRIM.Text
Data3.Recordset.Update
Data3.Refresh
‘TABLE BAYAR
Data7.Recordset.AddNew
Data7.Recordset!No_faktur = TXTNOFAK.Text
Data7.Recordset!Uang_bayar = TXTUBAR.Text
Data7.Recordset!Uang_kembali = TXTUKEM.Text
Data7.Recordset.Update
Data7.Refresh
‘MENCETAK FAKTUR
‘CR.ReportFileName = App.Path & "\Faktur.rpt"
‘CR.SelectionFormula = "({Table_detail.No_faktur}=’" & TXTNOFAK.Text & "’)"
‘CR.WindowState = crptMaximized
‘CR.RetrieveDataFiles
‘CR.Action = 1
CMDADD.Enabled = True
CMDSAVE.Enabled = False
Call kosong
Call nonaktif
Call hapus_grid
Call hapus_bayar
CMDEXIT.Enabled = True
End Sub
Dalam Tombol Save ini terjadi Penyimpanan data pada beberapa Table yaitu: Table Detail (diambil dari Table Bantu), Table Transaksi (diambil dari form), dan Table Bayar (diambil dari form).
Isi dari Table Detail didapat dari isi dari Table Bantu. Sedangkan isi Table Bantu itu sendiri didapat dari data yang dimasukan pada form transaksi ini.
Pada Penyimpanan data ke dalam Table Detail terjadi perintah perulangan yaitu WHILE WEND karena data Table Bantu yang akan disimpan ke dalam Table Detail berjumlah banyak sehingga berulang ulang memasukannya.
Contoh dari perulangan itu adalah apabila ada pelanggan yang membeli buku banyak yang berbeda beda pastinya semua itu hanya dicatat dalam 1 faktur atau 1 struk saja. Makanya disini terjadi pengulangan. Karena tidak mungkin setiap 1 pelanggan yang membeli buku yang banyak harus menggunakan banyak faktur juga.
Didalam penyimpanan Table Detail diatas juga terjadi PENGURANGAN STOK.
Maksud Listing Programnya adalah:
FINDFIRST dipakai untuk mencari kode_buku yang ada pada data1 (Table_buku) yang sama dengan kode_buku yang ada pada data6 (Table_bantu).
Dan jika data tersebut ditemukan maka stok_buku yang ada di data1 (Table_buku) akan dikurangi oleh Jumlah_beli yang ada di data6 (Table_bantu).
Dan setelah data tersebut di Save, maka terjadi perintah untuk memanggil Sub Hapus_Grid dan Sub Hapus_bayar.
Dengan adanya Sub Hapus_Grid tersebut, maka semua data yang ada di data6 (table_bantu) akan dikosongkan karena sudah disimpan pada data4 (table_detail).
Dan dengan adanya Sub Hapus_Bayar tersebut, maka semua data yang ada di data7 (table_bayar) juga akan dikosongkan karena sudah dipakai dan ditampilkan di dalam Faktur.
MENCETAK FAKTUR hanya dipakai jika anda mempunyai software pembuat laporan yang bernama CRYSTAL REPORT. Jika tidak punya, silahkan hapus rumusnya. Tapi jika anda punya, gunakan listing program tersebut dan hilangkan tanda petik di depan rumusnya. Untuk keterangan lebih lanjut baca Tutorial Membuat Laporan dengan Crystal Report.
Private Sub Auto()
Data3.RecordSource = "select * from Table_Transaksi Where No_faktur In(Select Max(No_faktur)From Table_Transaksi)Order By No_faktur Desc"
Data3.Refresh
Dim Urutan As String * 10
Dim Hitung As Long
With Data3.Recordset
If .EOF Then
Urutan = Right(Date, 2) + Mid(Date, 4, 2) + Left(Date, 2) + "0001"
No_faktur = Urutan
Else
If Left(!No_faktur, 6) <> Right(Date, 2) + Mid(Date, 4, 2) + Left(Date, 2) Then
Urutan = Right(Date, 2) + Mid(Date, 4, 2) + Left(Date, 2) + "0001"
Else
Hitung = (!No_faktur) + 1
Urutan = (Right(Date, 2) + Mid(Date, 4, 2) + Left(Date, 2)) + Right("0000" & Hitung, 4)
End If
End If
TXTNOFAK.Text = Urutan
End With
End Sub
Sub AUTO ini digunakan untuk memunculkan nomor faktur secara otomatis.
Jumlah karakter dari nomor faktur ini adalah 10 digit angka yang terdiri dari: 2 angka pertama untuk Tahun faktur, 2 angka berikutnya untuk Bulan faktur, 2 angka berikutnya untuk Tanggal faktur dan 4 angka terakhir digunakan untuk Nomor faktur.
Contoh: jika ada Nomor Faktur yang bertuliskan 0806250099 maka
Tahun faktur tersebut adalah 08 (2008)
Bulan faktur tersebut adalah 06 (Juni)
Tanggal faktur tersebut adalah 25
Nomor faktur tersebut adalah 0099
PERHATIAN: untuk memakai nomor faktur otomatis ini, settingan waktu komputer anda harus berformat ”dd/mm/yy” (2 digit angka hari/bulan/tahun). Contoh: 30/12/09.
Jika belum dirubah, maka rubahlah format tanggal tersebut dari CONTROL PANEL lalu pilihlah REGIONAL AND LANGUAGE OPTIONS lalu tekan tombol CUSTOMIZE dan pilih DATE lalu rubahlah SHORT DATE FORMAT menjadi dd/mm/yy jika sudah tekan Oke.
CARA MEMAKAI FORM TRANSAKSI INI:
1. Klik Add, untuk memasukan data transaksi yang baru
2. Klik tombol find yang ada disamping kode pelanggan lalu masukan kode pelanggan pada kotak pencarian data kemudian tekan enter.
3. Klik tombol find yang ada disamping kode buku lalu masukan kode buku pada kotak pencarian data kemudian tekan enter.
4. Masukan jumlah beli, lalu tekan enter.
5. Klik tombol Lagi untuk membeli buku yang lainnya lagi.
6. Klik tombol Selesai bila semua buku yang diinginkan sudah selesai dimasukkan.
7. Pilih cara pengiriman buku yang telah disediakan.
8. Masukan uang bayar pada tempat yang disediakan.
9. Klik Save, untuk menyimpan data atau Klik Clear, untuk mengosongkan dan membatalkan data yang akan disimpan.
10. Klik Exit untuk keluar.
- Jangan lupa untuk mengganti Name dari form ini di properties menjadi ”Ftransaksi” dan menyimpannya dengan nama ”Transaksi.frm”.
Demikianlah pembahasan tentang program transaksi yang memang sangat panjang dan lebar. Tapi jika anda mengerti maka terasa tidak terlalu sulit untuk membuatnya. Selamat menikmati tutorial selanjutnya !
Membuat Program Penjualan Visual Basic 3 : Membuat Form Pelanggan dan User
Membuat Program Penjualan Visual Basic 3 : Membuat Form Pelanggan dan User
Di tutorial ini kita masih belajar membuat form seperti yang kita buat pada tutorial yang ke 2. Dan form yang akan kita buat adalah form pelanggan dan form user. Inti dari rumusnya sebagian besar sama hanya ada beberapa saja yang mesti dirubah. Tapi jika ada beberapa rumus atau logika yang tidak anda mengerti di tutorial yang ke 3 ini silahkan baca kembali tutorial yang ke 2 karena listing programnya hampir sama dan saya tidak akan menulis keterangan listing program tersebut kembali pada tutorial yang kali ini karena sudah saya jelaskan di tutorial yang ke 2.
2. Membuat FORM PELANGGAN
- Buat form baru lagi lalu isikan dengan isi dan properties dibawah ini:
Adapun Listing Program dari Form Pelanggan ini: (keterangannya baca di Tutorial 2)
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "/BUKU.mdb"
Data1.RecordSource = "Table_Pelanggan"
End Sub
Private Sub Form_Activate()
Call nonaktif
TXTKDPEL.Enabled = False
CMDCLEAR.Enabled = False
CMDSAVE.Enabled = False
CMDEDIT.Enabled = False
CMDDELETE.Enabled = False
End Sub
Sub aktif()
TXTNMPEL.Enabled = True
TXTALAMAT.Enabled = True
TXTTELP.Enabled = True
End Sub
Sub nonaktif()
TXTNMPEL.Enabled = False
TXTALAMAT.Enabled = False
TXTTELP.Enabled = False
End Sub
Sub tampil()
On Error Resume Next
With Data1.Recordset
TXTKDPEL.Text = !Kode_pelanggan
TXTNMPEL.Text = !Nama_Pelanggan
TXTALAMAT.Text = !Almt_pelanggan
TXTTELP.Text = !Telp_pelanggan
End With
End Sub
Private Sub CMDFIND_Click()
Dim Kode_pelanggan As String
Kode_pelanggan = InputBox("masukan kode!", "Cari Data")
If Kode_pelanggan = Empty Then Exit Sub
If Kode_pelanggan <> "" Then
Data1.Recordset.Index = "Kode_pelanggan"
Data1.Recordset.Seek "=", Kode_pelanggan
If Not Data1.Recordset.NoMatch Then
Call tampil
Call aktif
TXTKDPEL.Enabled = False
TXTNMPEL.Enabled = False
TXTALAMAT.Enabled = False
TXTTELP.Enabled = False
CMDSAVE.Enabled = False
CMDADD.Enabled = False
CMDDELETE.Enabled = True
CMDEDIT.Enabled = True
CMDFIND.Enabled = False
Else
MsgBox "Data Tidak ada"
End If
End If
End Sub
KETERANGAN: Untuk Pencarian Data pada Tutorial 3 ini berbeda dengan Tutorial 2. Kalau pada Tutorial 2 saya menggunakan textbox maka kali ini saya menggunakan command button.
Tipe data Kode pelanggan disini dideklarasikan sebagagai STRING.
INPUT BOX adalah sebuah form kecil yang digunakan untuk memasukan data yang ingin dicari.
Maksud logika pencariannya adalah:
Jika Kode Pelanggan yang dimasukan ke dalam Input Box itu kosong (empty) maka akan keluar dari sub program ini.
Tapi Jika Kode Pelanggan yang dimasukan ke dalam Input Box itu tidak kosong (ada isinya) maka akan dilakukan proses pencarian data dari kode pelanggan yang sama dengan yang dimasukan ke Input box tadi.
Dan jika data yang dicari “BUKAN TIDAK ADA” (maksudnya ada) maka data akan ditampilkan.
Tapi jika data yang dicari SELAIN ITU (maksudnya tidak ada) maka akan muncul pesan.
JANGAN BINGUNG YA? HEHEHE ! BAHASANYA DIBOLAK BALIK .
Sub kosong()
TXTNMPEL.Text = ""
TXTALAMAT.Text = ""
TXTTELP.Text = ""
End Sub
Private Sub CMDADD_Click()
Call aktif
Call kosong
CMDADD.Enabled = False
CMDCLEAR.Enabled = True
CMDSAVE.Enabled = True
CMDEDIT.Enabled = False
CMDDELETE.Enabled = False
CMDFIND.Enabled = False
TXTNMPEL.SetFocus
End Sub
Private Sub CMDCLEAR_Click()
TXTKDPEL.Text = ""
Call kosong
Call nonaktif
CMDADD.Enabled = True
CMDSAVE.Enabled = False
CMDCLEAR.Enabled = False
CMDFIND.Enabled = True
CMDEDIT.Enabled = False
CMDDELETE.Enabled = False
End Sub
Private Sub CMDSAVE_Click()
With Data1.Recordset
.AddNew
!Kode_pelanggan = TXTKDPEL.Text
!Nama_Pelanggan = TXTNMPEL.Text
!Almt_pelanggan = TXTALAMAT.Text
!Telp_pelanggan = TXTTELP.Text
.Update
End With
Data1.Refresh
MsgBox "data telah disimpan"
Call nonaktif
CMDSAVE.Enabled = False
CMDCLEAR.Enabled = False
CMDADD.Enabled = True
CMDFIND.Enabled = True
TXTKDPEL.Text = ""
Call kosong
End Sub
Private Sub CMDEDIT_Click()
If CMDEDIT.Caption = "&EDIT" Then
Call aktif
CMDSAVE.Enabled = False
CMDCLEAR.Enabled = False
CMDADD.Enabled = False
CMDDELETE.Enabled = False
CMDEDIT.Caption = "&UPDATE"
Else
With Data1.Recordset
.Edit
!Kode_pelanggan = TXTKDPEL.Text
!Nama_Pelanggan = TXTNMPEL.Text
!Almt_pelanggan = TXTALAMAT.Text
!Telp_pelanggan = TXTTELP.Text
.Update
End With
Call kosong
CMDEDIT.Caption = "&EDIT"
CMDADD.Enabled = True
CMDDELETE.Enabled = False
CMDFIND.Enabled = True
CMDEDIT.Enabled = False
Call nonaktif
TXTKDPEL.Text = ""
End If
End Sub
Private Sub CMDDELETE_Click()
CMDEDIT.Enabled = False
CMDCLEAR.Enabled = False
CMDDELETE.Enabled = False
a = MsgBox("YAKIN ANDA MAU MENGAHAPUS DATA INI ?", vbQuestion + vbYesNo, "KONFIRMASI")
If a = vbYes Then
Data1.Recordset.Delete
Call kosong
TXTKDPEL.Text = ""
MsgBox "DATA TELAH BERHASIL DIHAPUS", vbOKOnly, "INFO"
CMDADD.Enabled = True
CMDFIND.Enabled = True
Data1.Refresh
DBGrid1.Refresh
Else
CMDDELETE.Enabled = False
CMDADD.Enabled = True
CMDFIND.Enabled = True
Call kosong
TXTKDPEL.Text = ""
End If
End Sub
Private Sub CMDEXIT_Click()
Unload me
End Sub
Private Sub CMDPRINT_Click()
‘CR.ReportFileName = App.Path & "\PELANGGAN.rpt"
‘CR.WindowState = crptMaximized
‘CR.RetrieveDataFiles
‘CR.Action = 1
End Sub
PERHATIAN: CMDPRINT hanya dipakai jika anda mempunyai software pembuat laporan yang bernama CRYSTAL REPORT. Jika tidak punya, silahkan hapus rumusnya. Tapi jika anda punya, gunakan listing program tersebut dan hilangkan tanda petik di depan rumusnya. Untuk keterangan lebih lanjut baca Tutorial Membuat Laporan dengan Crystal Report.
- Jangan lupa untuk mengganti Name dari form ini di properties menjadi ”Pelanggan” dan menyimpannya dengan nama ”Pelanggan.frm”.
3. Membuat FORM USER
- Buat form baru lagi lalu isikan dengan isi dan properties dibawah ini:
Adapun Listing Program dari Form User ini: (keterangannya baca di Tutorial 2)
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "/BUKU.mdb"
Data1.RecordSource = "Table_user"
Cbotype.add item “ADMINISTRATOR”
Cbotype.add item “LIMITED”
End Sub
Private Sub Form_Activate()
CBOTYPE.Enabled = False
Call nonaktif
TXTID.Enabled = False
CMDCLEAR.Enabled = False
CMDSAVE.Enabled = False
CMDDELETE.Enabled = False
CMDEDIT.Enabled = False
End Sub
Sub aktif()
TXTNAMA.Enabled = True
TXTPASS.Enabled = True
TXTALAMAT.Enabled = True
TXTTELPON.Enabled = True
End Sub
Sub nonaktif()
TXTNAMA.Enabled = False
TXTPASS.Enabled = False
TXTALAMAT.Enabled = False
TXTTELPON.Enabled = False
End Sub
Sub kosong()
TXTNMPEL.Text = ""
TXTALAMAT.Text = ""
TXTTELP.Text = ""
End Sub
Sub tampil()
On Error Resume Next
With Data1.Recordset
TXTKDPEL.Text = !Kode_pelanggan
TXTNMPEL.Text = !Nama_Pelanggan
TXTALAMAT.Text = !Almt_pelanggan
TXTTELP.Text = !Telp_pelanggan
End With
End Sub
Private Sub TXTFIND_Change()
If TXTFIND.Text = "" Then
Data1.RecordSource = "SELECT*FROM Table_user"
Data1.Refresh
CMDEDIT.Enabled = False
CMDDELETE.Enabled = False
CMDFIND.Enabled = True
TXTFIND.Enabled = True
CMDADD.Enabled = True
End If
End Sub
Private Sub CMDFIND_Click()
If TXTFIND.Text = "" Then
MsgBox "masukan data dulu"
TXTFIND.SetFocus
Else
Data1.RecordSource = "SELECT*FROM Table_user WHERE Id_user=’" & TXTFIND.Text & "’"
Data1.Refresh
Call tampil
CMDFIND.Enabled = False
CMDADD.Enabled = False
CMDEDIT.Enabled = True
CMDDELETE.Enabled = True
If Data1.Recordset.EOF Then
MsgBox "DATA TIDAK ADA !!!", vbOKOnly, "INFO"
TXTFIND.Text = ""
TXTFIND.SetFocus
Call kosong
TXTID.Text = ""
End If
End If
End Sub
KETERANGAN: Lagi lagi di Form User ini saya memakai kode pencarian yang berbeda dari Form Pelanggan dan Form Buku. Jika di Form Buku saya hanya menggunakan textbox lalu di Form Pelanggan saya hanya menggunakan command button, maka pada Form User ini saya menggunakan kedua duanya baik textbox dan command button.
Maksud dari logika program pencariannya agak mirip dengan yang ada di Form Buku tetapi kalau memasukan data yang dicari pada Form User ini harus benar benar sama persis dengan yang ada di database. Arti listing programnya yaitu: Pilih semua data dari Table User yang ada di database yang ID User nya sama persis dengan yang ada di txtfind.
Private Sub CMDADD_Click()
Call aktif
Call kosong
CBOTYPE.Enabled = True
TXTNAMA.SetFocus
CMDADD.Enabled = False
CMDCLEAR.Enabled = True
CMDSAVE.Enabled = True
CMDEDIT.Enabled = False
CMDDELETE.Enabled = False
CMDFIND.Enabled = False
End Sub
Private Sub CMDCLEAR_Click()
TXTID.Text = ""
Call kosong
Call nonaktif
CMDADD.Enabled = True
CMDSAVE.Enabled = False
CMDCLEAR.Enabled = False
CMDEDIT.Enabled = False
CMDDELETE.Enabled = False
CBOTYPE.Enabled = False
CMDFIND.Enabled = True
End Sub
Private Sub CMDSAVE_Click()
With Data1.Recordset
.AddNew
!Id_user = TXTID.Text
!Nama_user = TXTNAMA.Text
!Almt_user = TXTALAMAT.Text
!Telp_user = TXTTELPON.Text
!Pass_user = TXTPASS.Text
!Type_user = CBOTYPE.Text
.Update
End With
Data1.Refresh
MsgBox "data telah disimpan"
Call nonaktif
CMDSAVE.Enabled = False
CMDCLEAR.Enabled = False
CMDADD.Enabled = True
CBOTYPE.Enabled = False
CMDFIND.Enabled = True
Call kosong
TXTID.Text = ""
End Sub
Private Sub CMDEDIT_Click()
If CMDEDIT.Caption = "&EDIT" Then
Call aktif
CMDSAVE.Enabled = False
CMDCLEAR.Enabled = False
CMDDELETE.Enabled = False
CMDEDIT.Caption = "&UPDATE"
CBOTYPE.Enabled = True
Else
CBOTYPE.Enabled = False
With Data1.Recordset
.Edit
!Id_user = TXTID.Text
!Nama_user = TXTNAMA.Text
!Almt_user = TXTALAMAT.Text
!Telp_user = TXTTELPON.Text
!Pass_user = TXTPASS.Text
!Type_user = CBOTYPE.Text
.Update
End With
If TXTID.Text = Menuutama.txtuser.Text Then
Menuutama.txtuser.Text = Data1.Recordset!Id_user
Menuutama.Label2.Caption = Data1.Recordset!Nama_user
End If
Call kosong
TXTFIND.Text = ""
TXTID.Text = ""
CMDEDIT.Caption = "&EDIT"
CMDDELETE.Enabled = False
CMDADD.Enabled = True
CMDEDIT.Enabled = False
CMDFIND.Enabled = True
Call nonaktif
End If
End Sub
Private Sub CMDDELETE_Click()
a = MsgBox("YAKIN ANDA MAU MENGAHAPUS DATA INI ?", vbQuestion + vbYesNo, "KONFIRMASI")
If a = vbYes Then
Data1.Recordset.Delete
Call kosong
TXTID.Text = ""
MsgBox "DATA TELAH BERHASIL DIHAPUS", vbOKOnly, "INFO"
CMDADD.Enabled = True
Data1.Refresh
CMDDELETE.Enabled = False
CMDEDIT.Enabled = False
CMDFIND.Enabled = True
TXTFIND.Text = ""
Else
CMDDELETE.Enabled = False
CMDADD.Enabled = True
Call kosong
TXTID.Text = ""
TXTFIND.Text = ""
End If
End Sub
Private Sub CMDEXIT_Click()
Unload Me
End Sub
Private Sub CMCPRINT_Click()
CR.ReportFileName = App.Path & "\USER.rpt"
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End Sub
PERHATIAN: CMDPRINT hanya dipakai jika anda mempunyai software pembuat laporan yang bernama CRYSTAL REPORT. Jika tidak punya, silahkan hapus rumusnya. Tapi jika anda punya, gunakan listing program tersebut dan hilangkan tanda petik di depan rumusnya. Untuk keterangan lebih lanjut baca Tutorial Membuat Laporan dengan Crystal Report.
- Jangan lupa untuk mengganti Name dari form ini di properties menjadi ”User” dan menyimpannya dengan nama ”User.frm”.
Akhirnya selesai juga Form Pelanggan dan Form User ini. Bagaimana? Tambah mengerti atau tambah pusing? Nyantai aja bro, masih banyak yang harus kita bikin. Masih ada beberapa form lagi. Jadi, tetap ikuti tutorial dari saya. We’ll meet at 4rd Tutorial , okey? Cheeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrsssssss!!!
By: OPIX HOLMES
opix.holmes@yahoo.com
http://www.islamicunderground.com
Di tutorial ini kita masih belajar membuat form seperti yang kita buat pada tutorial yang ke 2. Dan form yang akan kita buat adalah form pelanggan dan form user. Inti dari rumusnya sebagian besar sama hanya ada beberapa saja yang mesti dirubah. Tapi jika ada beberapa rumus atau logika yang tidak anda mengerti di tutorial yang ke 3 ini silahkan baca kembali tutorial yang ke 2 karena listing programnya hampir sama dan saya tidak akan menulis keterangan listing program tersebut kembali pada tutorial yang kali ini karena sudah saya jelaskan di tutorial yang ke 2.
2. Membuat FORM PELANGGAN
- Buat form baru lagi lalu isikan dengan isi dan properties dibawah ini:
NAME | CAPTION/TEXT | KETERANGAN | TAMBAHAN | |
Label1 | Kode pelanggan | Label | | |
Label2 | Nama pelanggan | Label | | |
Label3 | Nomor Hp/telpon | Label | | |
Label4 | Alamat | Label | | |
Txtkdpel | - | Textbox | | |
Txtnmpel | - | Textbox | | |
Txttelp | - | Textbox | | |
Txtalamat | - | Textbox | | |
Cmdadd | &add | Command Button | | |
Cmdclear | &clear | Command Button | | |
Cmdsave | &save | Command Button | | |
Cmdedit | &edit | Command Button | | |
Cmddelete | &delete | Command Button | | |
Cmdexit | &exit | Command Button | | |
Cmdfind | &find | Command Button | | |
Data1 | - | Data | | |
Dbgrid1 | - | Dbgrid | Data source : data1 | |
Pelanggan | Data Pelanggan | Form | | |
Cmdprint | &print | Command Button | Jika punya Crystal Report | |
CR | - | Crystal Report | Jika punya Crystal Report |
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "/BUKU.mdb"
Data1.RecordSource = "Table_Pelanggan"
End Sub
Private Sub Form_Activate()
Call nonaktif
TXTKDPEL.Enabled = False
CMDCLEAR.Enabled = False
CMDSAVE.Enabled = False
CMDEDIT.Enabled = False
CMDDELETE.Enabled = False
End Sub
Sub aktif()
TXTNMPEL.Enabled = True
TXTALAMAT.Enabled = True
TXTTELP.Enabled = True
End Sub
Sub nonaktif()
TXTNMPEL.Enabled = False
TXTALAMAT.Enabled = False
TXTTELP.Enabled = False
End Sub
Sub tampil()
On Error Resume Next
With Data1.Recordset
TXTKDPEL.Text = !Kode_pelanggan
TXTNMPEL.Text = !Nama_Pelanggan
TXTALAMAT.Text = !Almt_pelanggan
TXTTELP.Text = !Telp_pelanggan
End With
End Sub
Private Sub CMDFIND_Click()
Dim Kode_pelanggan As String
Kode_pelanggan = InputBox("masukan kode!", "Cari Data")
If Kode_pelanggan = Empty Then Exit Sub
If Kode_pelanggan <> "" Then
Data1.Recordset.Index = "Kode_pelanggan"
Data1.Recordset.Seek "=", Kode_pelanggan
If Not Data1.Recordset.NoMatch Then
Call tampil
Call aktif
TXTKDPEL.Enabled = False
TXTNMPEL.Enabled = False
TXTALAMAT.Enabled = False
TXTTELP.Enabled = False
CMDSAVE.Enabled = False
CMDADD.Enabled = False
CMDDELETE.Enabled = True
CMDEDIT.Enabled = True
CMDFIND.Enabled = False
Else
MsgBox "Data Tidak ada"
End If
End If
End Sub
KETERANGAN: Untuk Pencarian Data pada Tutorial 3 ini berbeda dengan Tutorial 2. Kalau pada Tutorial 2 saya menggunakan textbox maka kali ini saya menggunakan command button.
Tipe data Kode pelanggan disini dideklarasikan sebagagai STRING.
INPUT BOX adalah sebuah form kecil yang digunakan untuk memasukan data yang ingin dicari.
Maksud logika pencariannya adalah:
Jika Kode Pelanggan yang dimasukan ke dalam Input Box itu kosong (empty) maka akan keluar dari sub program ini.
Tapi Jika Kode Pelanggan yang dimasukan ke dalam Input Box itu tidak kosong (ada isinya) maka akan dilakukan proses pencarian data dari kode pelanggan yang sama dengan yang dimasukan ke Input box tadi.
Dan jika data yang dicari “BUKAN TIDAK ADA” (maksudnya ada) maka data akan ditampilkan.
Tapi jika data yang dicari SELAIN ITU (maksudnya tidak ada) maka akan muncul pesan.
JANGAN BINGUNG YA? HEHEHE ! BAHASANYA DIBOLAK BALIK .
Sub kosong()
TXTNMPEL.Text = ""
TXTALAMAT.Text = ""
TXTTELP.Text = ""
End Sub
Private Sub CMDADD_Click()
Call aktif
Call kosong
CMDADD.Enabled = False
CMDCLEAR.Enabled = True
CMDSAVE.Enabled = True
CMDEDIT.Enabled = False
CMDDELETE.Enabled = False
CMDFIND.Enabled = False
TXTNMPEL.SetFocus
End Sub
Private Sub CMDCLEAR_Click()
TXTKDPEL.Text = ""
Call kosong
Call nonaktif
CMDADD.Enabled = True
CMDSAVE.Enabled = False
CMDCLEAR.Enabled = False
CMDFIND.Enabled = True
CMDEDIT.Enabled = False
CMDDELETE.Enabled = False
End Sub
Private Sub CMDSAVE_Click()
With Data1.Recordset
.AddNew
!Kode_pelanggan = TXTKDPEL.Text
!Nama_Pelanggan = TXTNMPEL.Text
!Almt_pelanggan = TXTALAMAT.Text
!Telp_pelanggan = TXTTELP.Text
.Update
End With
Data1.Refresh
MsgBox "data telah disimpan"
Call nonaktif
CMDSAVE.Enabled = False
CMDCLEAR.Enabled = False
CMDADD.Enabled = True
CMDFIND.Enabled = True
TXTKDPEL.Text = ""
Call kosong
End Sub
Private Sub CMDEDIT_Click()
If CMDEDIT.Caption = "&EDIT" Then
Call aktif
CMDSAVE.Enabled = False
CMDCLEAR.Enabled = False
CMDADD.Enabled = False
CMDDELETE.Enabled = False
CMDEDIT.Caption = "&UPDATE"
Else
With Data1.Recordset
.Edit
!Kode_pelanggan = TXTKDPEL.Text
!Nama_Pelanggan = TXTNMPEL.Text
!Almt_pelanggan = TXTALAMAT.Text
!Telp_pelanggan = TXTTELP.Text
.Update
End With
Call kosong
CMDEDIT.Caption = "&EDIT"
CMDADD.Enabled = True
CMDDELETE.Enabled = False
CMDFIND.Enabled = True
CMDEDIT.Enabled = False
Call nonaktif
TXTKDPEL.Text = ""
End If
End Sub
Private Sub CMDDELETE_Click()
CMDEDIT.Enabled = False
CMDCLEAR.Enabled = False
CMDDELETE.Enabled = False
a = MsgBox("YAKIN ANDA MAU MENGAHAPUS DATA INI ?", vbQuestion + vbYesNo, "KONFIRMASI")
If a = vbYes Then
Data1.Recordset.Delete
Call kosong
TXTKDPEL.Text = ""
MsgBox "DATA TELAH BERHASIL DIHAPUS", vbOKOnly, "INFO"
CMDADD.Enabled = True
CMDFIND.Enabled = True
Data1.Refresh
DBGrid1.Refresh
Else
CMDDELETE.Enabled = False
CMDADD.Enabled = True
CMDFIND.Enabled = True
Call kosong
TXTKDPEL.Text = ""
End If
End Sub
Private Sub CMDEXIT_Click()
Unload me
End Sub
Private Sub CMDPRINT_Click()
‘CR.ReportFileName = App.Path & "\PELANGGAN.rpt"
‘CR.WindowState = crptMaximized
‘CR.RetrieveDataFiles
‘CR.Action = 1
End Sub
PERHATIAN: CMDPRINT hanya dipakai jika anda mempunyai software pembuat laporan yang bernama CRYSTAL REPORT. Jika tidak punya, silahkan hapus rumusnya. Tapi jika anda punya, gunakan listing program tersebut dan hilangkan tanda petik di depan rumusnya. Untuk keterangan lebih lanjut baca Tutorial Membuat Laporan dengan Crystal Report.
- Jangan lupa untuk mengganti Name dari form ini di properties menjadi ”Pelanggan” dan menyimpannya dengan nama ”Pelanggan.frm”.
3. Membuat FORM USER
- Buat form baru lagi lalu isikan dengan isi dan properties dibawah ini:
NAME | CAPTION/TEXT | KETERANGAN | TAMBAHAN | |
Label1 | ID user | Label | | |
Label2 | Nama user | Label | | |
Label3 | Alamat | Label | | |
Label4 | Telpon | Label | | |
Label5 | Type | Label | | |
Label6 | Password | Label | | |
TxtId | - | Textbox | | |
Txtnama | - | Textbox | | |
Txtalamat | - | Textbox | | |
Txttelpon | - | Textbox | | |
Cbotype | - | Combo box | | |
Txtpass | - | Textbox | | |
Txtfind | - | Textbox | | |
Cmdadd | &add | Command Button | | |
Cmdclear | &clear | Command Button | | |
Cmdsave | &save | Command Button | | |
Cmdedit | &edit | Command Button | | |
Cmddelete | &delete | Command Button | | |
Cmdexit | &exit | Command Button | | |
Cmdfind | &find | Command Button | | |
Data1 | - | Data | | |
Dbgrid1 | - | Dbgrid | Data source : data1 | |
User | Data User | Form | | |
Cmdprint | &print | Command Button | Jika punya Crystal Report | |
CR | - | Crystal Report | Jika punya Crystal Report |
Adapun Listing Program dari Form User ini: (keterangannya baca di Tutorial 2)
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "/BUKU.mdb"
Data1.RecordSource = "Table_user"
Cbotype.add item “ADMINISTRATOR”
Cbotype.add item “LIMITED”
End Sub
Private Sub Form_Activate()
CBOTYPE.Enabled = False
Call nonaktif
TXTID.Enabled = False
CMDCLEAR.Enabled = False
CMDSAVE.Enabled = False
CMDDELETE.Enabled = False
CMDEDIT.Enabled = False
End Sub
Sub aktif()
TXTNAMA.Enabled = True
TXTPASS.Enabled = True
TXTALAMAT.Enabled = True
TXTTELPON.Enabled = True
End Sub
Sub nonaktif()
TXTNAMA.Enabled = False
TXTPASS.Enabled = False
TXTALAMAT.Enabled = False
TXTTELPON.Enabled = False
End Sub
Sub kosong()
TXTNMPEL.Text = ""
TXTALAMAT.Text = ""
TXTTELP.Text = ""
End Sub
Sub tampil()
On Error Resume Next
With Data1.Recordset
TXTKDPEL.Text = !Kode_pelanggan
TXTNMPEL.Text = !Nama_Pelanggan
TXTALAMAT.Text = !Almt_pelanggan
TXTTELP.Text = !Telp_pelanggan
End With
End Sub
Private Sub TXTFIND_Change()
If TXTFIND.Text = "" Then
Data1.RecordSource = "SELECT*FROM Table_user"
Data1.Refresh
CMDEDIT.Enabled = False
CMDDELETE.Enabled = False
CMDFIND.Enabled = True
TXTFIND.Enabled = True
CMDADD.Enabled = True
End If
End Sub
Private Sub CMDFIND_Click()
If TXTFIND.Text = "" Then
MsgBox "masukan data dulu"
TXTFIND.SetFocus
Else
Data1.RecordSource = "SELECT*FROM Table_user WHERE Id_user=’" & TXTFIND.Text & "’"
Data1.Refresh
Call tampil
CMDFIND.Enabled = False
CMDADD.Enabled = False
CMDEDIT.Enabled = True
CMDDELETE.Enabled = True
If Data1.Recordset.EOF Then
MsgBox "DATA TIDAK ADA !!!", vbOKOnly, "INFO"
TXTFIND.Text = ""
TXTFIND.SetFocus
Call kosong
TXTID.Text = ""
End If
End If
End Sub
KETERANGAN: Lagi lagi di Form User ini saya memakai kode pencarian yang berbeda dari Form Pelanggan dan Form Buku. Jika di Form Buku saya hanya menggunakan textbox lalu di Form Pelanggan saya hanya menggunakan command button, maka pada Form User ini saya menggunakan kedua duanya baik textbox dan command button.
Maksud dari logika program pencariannya agak mirip dengan yang ada di Form Buku tetapi kalau memasukan data yang dicari pada Form User ini harus benar benar sama persis dengan yang ada di database. Arti listing programnya yaitu: Pilih semua data dari Table User yang ada di database yang ID User nya sama persis dengan yang ada di txtfind.
Private Sub CMDADD_Click()
Call aktif
Call kosong
CBOTYPE.Enabled = True
TXTNAMA.SetFocus
CMDADD.Enabled = False
CMDCLEAR.Enabled = True
CMDSAVE.Enabled = True
CMDEDIT.Enabled = False
CMDDELETE.Enabled = False
CMDFIND.Enabled = False
End Sub
Private Sub CMDCLEAR_Click()
TXTID.Text = ""
Call kosong
Call nonaktif
CMDADD.Enabled = True
CMDSAVE.Enabled = False
CMDCLEAR.Enabled = False
CMDEDIT.Enabled = False
CMDDELETE.Enabled = False
CBOTYPE.Enabled = False
CMDFIND.Enabled = True
End Sub
Private Sub CMDSAVE_Click()
With Data1.Recordset
.AddNew
!Id_user = TXTID.Text
!Nama_user = TXTNAMA.Text
!Almt_user = TXTALAMAT.Text
!Telp_user = TXTTELPON.Text
!Pass_user = TXTPASS.Text
!Type_user = CBOTYPE.Text
.Update
End With
Data1.Refresh
MsgBox "data telah disimpan"
Call nonaktif
CMDSAVE.Enabled = False
CMDCLEAR.Enabled = False
CMDADD.Enabled = True
CBOTYPE.Enabled = False
CMDFIND.Enabled = True
Call kosong
TXTID.Text = ""
End Sub
Private Sub CMDEDIT_Click()
If CMDEDIT.Caption = "&EDIT" Then
Call aktif
CMDSAVE.Enabled = False
CMDCLEAR.Enabled = False
CMDDELETE.Enabled = False
CMDEDIT.Caption = "&UPDATE"
CBOTYPE.Enabled = True
Else
CBOTYPE.Enabled = False
With Data1.Recordset
.Edit
!Id_user = TXTID.Text
!Nama_user = TXTNAMA.Text
!Almt_user = TXTALAMAT.Text
!Telp_user = TXTTELPON.Text
!Pass_user = TXTPASS.Text
!Type_user = CBOTYPE.Text
.Update
End With
If TXTID.Text = Menuutama.txtuser.Text Then
Menuutama.txtuser.Text = Data1.Recordset!Id_user
Menuutama.Label2.Caption = Data1.Recordset!Nama_user
End If
Call kosong
TXTFIND.Text = ""
TXTID.Text = ""
CMDEDIT.Caption = "&EDIT"
CMDDELETE.Enabled = False
CMDADD.Enabled = True
CMDEDIT.Enabled = False
CMDFIND.Enabled = True
Call nonaktif
End If
End Sub
Private Sub CMDDELETE_Click()
a = MsgBox("YAKIN ANDA MAU MENGAHAPUS DATA INI ?", vbQuestion + vbYesNo, "KONFIRMASI")
If a = vbYes Then
Data1.Recordset.Delete
Call kosong
TXTID.Text = ""
MsgBox "DATA TELAH BERHASIL DIHAPUS", vbOKOnly, "INFO"
CMDADD.Enabled = True
Data1.Refresh
CMDDELETE.Enabled = False
CMDEDIT.Enabled = False
CMDFIND.Enabled = True
TXTFIND.Text = ""
Else
CMDDELETE.Enabled = False
CMDADD.Enabled = True
Call kosong
TXTID.Text = ""
TXTFIND.Text = ""
End If
End Sub
Private Sub CMDEXIT_Click()
Unload Me
End Sub
Private Sub CMCPRINT_Click()
CR.ReportFileName = App.Path & "\USER.rpt"
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End Sub
PERHATIAN: CMDPRINT hanya dipakai jika anda mempunyai software pembuat laporan yang bernama CRYSTAL REPORT. Jika tidak punya, silahkan hapus rumusnya. Tapi jika anda punya, gunakan listing program tersebut dan hilangkan tanda petik di depan rumusnya. Untuk keterangan lebih lanjut baca Tutorial Membuat Laporan dengan Crystal Report.
- Jangan lupa untuk mengganti Name dari form ini di properties menjadi ”User” dan menyimpannya dengan nama ”User.frm”.
Akhirnya selesai juga Form Pelanggan dan Form User ini. Bagaimana? Tambah mengerti atau tambah pusing? Nyantai aja bro, masih banyak yang harus kita bikin. Masih ada beberapa form lagi. Jadi, tetap ikuti tutorial dari saya. We’ll meet at 4rd Tutorial , okey? Cheeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrsssssss!!!
By: OPIX HOLMES
opix.holmes@yahoo.com
http://www.islamicunderground.com
Langganan:
Postingan (Atom)