Selasa, 19 Oktober 2010

Menoptimalkan sistem operasi komputer

*

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.

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

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.

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)
Dari tiga hal diatas maka perlu dirumuskan, apa saja langkah-langkah dalam menyimpan di tabel dalam database :
  1. Input data
  2. Apakah semua data sudah diisi ? jika belum maka tampilkan pesan error dan kembali ke nomor satu
  3. 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
  4. Simpan data ke tabel
  5. Tampilkan pesan bahwa Data berhasil disimpan
  6. Selesai
Atau kalau kita gambarkan dalam bentuk flowchart, kira-kira gambarnya adalah sebagai berikut
flowchart simpan data
flowchart simpan data
Untuk desain tabel dan formnya adalah sebagai berikut :
struktur tabel
struktur tabel
desain form
desain form
Source Code
FORM1.LOAD
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
Selamat mencoba, mohon dikoreksi jika ada kesalahan

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:
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 !!!



vb-laporan

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:
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
- 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 !



vb-menu

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 !

vb-browse

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:
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
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 !


vb-transaksi

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:
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
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:
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
vb-data-user