Buat temen-temen yang pengen belajar bahasa pemrograman C++ ini sedikit sharing tentang algoritma pemrograman dengan menggunakan C++ Builder 6.
1.Membuat konversi waktu :
//---------------------------------------------------------------------------
#include
#include
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main()
{
{
typedef struct
{
long int jam;long int menit; long int detik;
}
jam;
jam j;
long int total_detik;
printf ("Jam : "); scanf ("%1d", &j.jam);
printf ("Menit : "); scanf ("%1d", &j.menit);
printf ("Detik : "); scanf ("%1d", &j.detik);
total_detik = (j.jam*3600) + (j.menit *60) + j.detik;
printf("Total detik : %1d",total_detik);
scanf("%1d");
}
}
//---------------------------------------------------------------------------
2. Mencari Luas Persegi Panjang
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include
#include
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
int p,l;
float Luas;
printf("Panjang persegi=");scanf("%d",&p);
printf("Lebar persegi=");scanf("%d",&l);
Luas=p*l;
printf("Luas Persegi Panjang=%2.2f",Luas);
getch();
return 0;
}
//---------------------------------------------------------------------------
3. Mencari Luas Segitiga
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include //untuk mengaktifkan perintah printf dan scanf
#include //untuk mengaktifkan perintah getch()
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
int a,t; // deklarasi variabel
float Luas;// deklarasi variabel
printf("Alas segitiga=");scanf("%d",&a);
printf("Tinggi segitiga=");scanf("%d",&t);
Luas = a*t/2;
printf("Luas Segitiga=%3.2f",Luas);
getch();
return 0;
}
//---------------------------------------------------------------------------
4. Mencari nilai faktorial
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include
//---------------------------------------------------------------------------
#pragma argsused
main()
{
int i,n,faktorial; //deklarasi
//program utama
faktorial =1; //inisialisasi faktorial dengan 1*
printf("Masukan bilangan : "); scanf("%d", &n);
for (i=1; i<=n; i++)
{
faktorial=faktorial*i;
}
printf("Hasil faktorial : %d", faktorial);
scanf("%d");
}
//---------------------------------------------------------------------------
5. Mencari Volume Balok
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include
#include
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
int p,l,t;
float Volume;
printf("Masukan Panjang =");scanf("%d" ,&p);
printf("Masukan Lebar =");scanf("%d" ,&l);
printf ("Masukan Tinggi =");scanf("%d" ,&t);
Volume=p*l*t;
printf("Volume Balok=%2.2f",Volume);
getch();
return 0;
}
//---------------------------------------------------------------------------
6. Mencari Volume Tabung
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include
#include
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
int r,t;
float volume;
printf("Ketikan Jari-Jari Tabungnya?=");scanf("%d" ,&r);
printf("Ketikan Tinggi Tabungnya? =");scanf("%d" ,&t);
volume=3.14*r*r*t;
printf("Volume Tabungn=%2.2f",volume);
getch();
return 0;
}
//---------------------------------------------------------------------------
Kamis, 01 September 2011
Pemrograman Dasar Database Dengan Visual Basic 6
Konsep Query
Query adalah sebuah objek seperti halnya tabel. Query dapat dibentuk dari satu atau lebih
tabel yang telah terelasi. Di query kita akan menemukan sebuah fleksibilitas dari perancangan
tabel, kita dapat melakukan manipulasi data, melakukan seleksi tabel berdasarkan kriteria
tertentu dan sebagainya. Intinya query ini adalah “by request” atau sesuai permintaan dari
pengguna. Nanti kita akan memanfaatkan query untuk pembuatan laporan.
Konsep Interface ke Database
Pada Visual Basic, teknik pengaksesan ke database dapat dibagi menjadi dua, yakni :
�� Pengaksesan Diatur Oleh Sistem Operasi
Teknik ini menggunakan Data Source (ODBC) sebagai jembatan atau perantara ketika
kita akan mengkoneksikan database dengan Visual Basic. Pada teknik ini, sistem operasi
akan melakukan tugasnya sebagai manajer yang mengatur setiap koneksi ke database
yang ada pada komputer. Tentunya database yang diakses adalah database yang sudah
terdaftar dalam sistem operasi atau dengan kata lain, database tersebut telah memiliki
driver yang ditunjukkan pada Data Source (ODBC).
Jadi untuk mengkoneksikan ke database, kita perlu membuat Data Source yang baru
(new data source) pada Tab User DSN. Pada tab itu, kita buat Data Source dengan
terlebih dahulu menentukan driver yang sesuai, kemudian nama server, teknik
authentifikasi ke database, nama database. Setelah data source terbentuk, maka kita
dapat melakukan tes koneksi ke database. Jika sukses, berarti data source kita dapat
mengakses database dengan baik.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 5
�� Pengaksesan Diatur Oleh Visual Basic
Pada teknik ini, Visual Basic selain bertindak sebagai pemrograman ke databasenya, ia
juga mengatur koneksi yang terjadi pada database. Interface atau referensi yang
digunakan dapat berupa :
�� Data Access Objects (DAO)
�� Remote Data Objects (RDO)
�� ActiveX Data Objects (ADO)
Visual Basic juga menyediakan kontrol-kontrol interface yang terdapat pada menu
Component-nya untuk memudahkan user dalam menghubungkan databasenya dengan
Visual Basic. Seperti Data (DAO), Microsoft Remote Data Control (MSRDC), Ado Data
Control (ADODC), dan sebagainya
Namun demikian, Visual Basic juga memberikan keleluasaan bagi mereka yang
menyukai menulis program dalam menghubugkan ke databasenya. Jadi untuk
menghubungkan ke database, kita juga dapat mengetik script pada editor Visual Basic
baik pada form maupun modulenya. Bagi sebagian orang, mereka lebih menyukai teknik
ini, selain fleksibel mereka juga menganggap teknik mengkoneksikan database lewat
script lebih “elegan”.
Gambar teknik pengaksesan database dari visual basic
Gambar di atas memberikan gambaran tentang bagaimana sebuah database dapat
terkoneksi ke Visual Basic. Setiap metode atau interface memiliki kelebihan dan
kekurangan masing-masing. Jadi disini dituntut kejelian pemrogram dalam
memanfaatkan fasilitas yang tersedia. Pemrogram harus tahu dengan baik, kapan ia
harus memilih sebuah interface dengan untung ruginya.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 6
Nah yang akan kita bahas adalah ActiveX Data Object (ADO), tanya kenapa ???
Begini ceritanya. ADO merupakan teknologi terbaru Microsoft dalam pengaksesan data
(database) dan merupakan interface ke OLEDB. Sedangkan OLEDB merupakan strategi level
bawah Microsoft sebagai interface ke seluruh tipe dari data. Bingung nggak ? Sama donk, klo
bingung liat gambar aja yuk.
Gambar ADO sebagai interface pengaksesan ke database
Jadi, ADO menawarkan sesuatu yang lebih dibanding metode yang telah disebutkan.
Sebenernya sih ada yang namanya ADO Data Control (ADODC) yang terdapat pada komponen
visual basic. Menu Project �� Component (CTRL+T) �� Microsoft Ado Data Control 6.0
(OLEDB) yang merupakan kontol bagi interface ADO. Hehehe tapi kita nggak pake tuh, kan
judul workshop kita pemrograman database, jadi kita ketik aja kali yach, I’m so sorry .
Gambar kontrol ADODC dari menu Project �� Component
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 7
Konsep Reference
Ketika kita akan menggunakan suatu teknik pengaksesan ke data base, jangan lupa untuk
mengaktifkan salah satu referensinya pada menu Project ��References. Kemudian aktifkan
salah satu saja. Jika kita gunakan ADO, maka referencesnya Microsoft ActiveX Data Objects
2.x Library (semakin tinggi versinya semakin lengkap fitur yang ditawarkan).
Konsep Form Sebagai Interface
Form ini berguna untuk pengguna akhir (end-user) berhubungan dengan databasenya. Bagi si
perancang aplikasi, form adalah tempat kita menaruh kontrol-kontrol untuk manipulasi
database. Begitu ceritanya. Form ini juga terbagi menjadi 2, yaitu :
�� Form Master
Form yang ditujukan untuk menangani tabel master, biasanya lebih sederhana and
simple. Pada form ini akan dilakukan proses manipulasi data pada tabel master seperti
proses insert, update dan delete data. Selain itu kita juga akan gunakan tombol-tombol
navigasi untuk “menggerakkan” sebuah record dalam tabel.
�� Form Transaksi
Form yang ditujukan untuk menangani tabel transaksi, biasanya lebih rumit and kadang
bisa melibatkan lebih dari 3 tabel. Yang jelas konsep header & detail ada di situ.
Jika mendesain form, buatlah dengan perasaan yang mendalam, anggaplah kita lagi
mendesain rumah untuk kita tinggali, pasti kita akan buat sebagus mungkin kan ? hehehe
jangan asal-asalan, gunakan rasa seni kita, curahkan perasaan kita di setiap sudutnya (au ah
elap). Buat orang yang melihat itu terkesan dan betah melihat form yang kita buat. Jika perlu
pasang skin biar tambah memikat (hehehe bukan susuk loh). Jika masih belum puas,
tambahkan animasi teks biar “hidup”.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 8
Namun tapi ada form yang digunakan untuk hal-hal khusus, seperti form untuk Menu (MDI ��
Multiple Document Interface), form untuk login, form untuk animasi loading, dan sebagainya.
Form-form ini memang sengaja dibuat untuk menunjang form utama kita yakni form master
dan form transaksi dalam sebuah kesatuan sistem.
Konsep Kontrol
Kontrol merupakan salah satu obyek atau komponen suatu aplikasi yang diletakkan di dalam
form untuk membentuk suatu program aplikasi. Jadi sebuah form biasanya disusun atas
kontrol-kontrol tertentu sesuai kebutuhan. Kontrol inilah yang nantinya akan berfungsi sebagai
interface antara user dengan program aplikasi yang dibangun.
Sekarang kita bahas yach sedikit mengenai kontrol yang standard, hehehe bagi yang “expert”
gak usah dibaca. Kontrol ini terletak pada Toolbox. Jika kontrol tidak terlihat, maka klik menu
View �� Toolbox. Tapi maaf yach, saya nggak akan jelaskan satu-satu, soalnya males dan
kayaknya dah pada tau kan ?
Gambar Kontrol Standard Pada Visual Basic
Terlihat sebuah kontrol dengan nama Data dengan referensi Microsoft DAO 3.51 Object
Library. Data ini juga merupakan kontrol yang dapat digunakan untuk mengakses database.
Namun memiliki banyak kelemahan dalam hal fleksibilitas koneksi. Oleh karena itu kita tidak
akan memakainya.
Pointer
Label
Frame
CheckBox
ComboBox
HScrollBar
Timer
DirListBox
Image
OLE
PictureBox
TextBox
CommandButton
Shape
OptionButton
ListBox
VScrollBar
DriveListBox
FileListBox
Line
Data
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 9
Kontrol Untuk Database
Pada bagian ini saya akan jelaskan kontrol yang nanti kita akan pakai dalam pembuatan
database, seperti : DataGrid, ListView dan SSTab. Ketiga kontrol ini secara default tidak
terdapat di Toolbox Standard. Jadi kita perlu menambahkannya dari component.
Caranya : menu Project �� Components (CTRL+T)
�� Untuk kontrol DataGrid, pilih Microsoft DataGrid Control 6.0 (OLEDB)
�� Untuk Kontrol ListView, pilih Microsoft Windows Common Controls 6.0 (SP6)
�� Untuk kontrol SSTab, pilih Microsoft Tabbed Dialog Control 6.0
Gambar Kontrol Untuk Database Pada Form
Adapun fungsi dari masing-masing kontrol adalah sebagai berikut :
�� SSTab berfungsi untuk menghemat pemakaian form, jadi dalam sebuah form kita dapat
meletakkan banyak objek di setiap tab yang ada.
�� Data Grid berfungsi untuk menampilkan data maupun manipulasi (insert, update dan
delete data) langsung darinya. Juga untuk memudahkan kita dalam mengambil data
dari tabel master untuk form transaksi.
�� List View kita manfaatkan untuk mengentry data ke form transaksi. Jadi data yang
dimasukkan lewat list view dapat berulang. Pada List View perlu dilakukan pengaturan
sebelum digunakan. Caranya klik kanan pada list view �� properties. Pada combo view,
gantilah menjadi 3-IvwReport, Pada tab column header, tambahkan field judul (insert
column) & sesuaikan nama serta ukuran yang akan ditampilkan.
SSTab
Data Grid
List View
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 10
Konsep Report
Laporan / report berguna untuk menampilkan data yang berasal dari tabel atau query pada
database. Seperti : laporan data pelanggan, laporan data barang, dan sebagainya. Namun
laporan ini juga dapat digunakan untuk membuat tanda bukti seperti faktur. Untuk membuat
laporan, Visual Basic 6 menyediakan feature seperti data report dan crystal report. Namun jika
kita ingin membuat laporan yang benar-benar profesional, maka kita dapat menggunakan
Crystal Report Professional versi 12 (info : versi bajakannya sudah ada di pusat perbajakan di
jakarta). Namun jika kita seorang yang kreatif, maka kita dapat “mengawinkan” antara Visual
Basic dengan HTML untuk laporannya dengan VBScript tentunya.
Keuntungan dari pembuatan laporan berupa HTML adalah, ia akan kompatibel di semua
platform komputer. Namun dibutuhkan kecermatan serta ketelitian dalam pembuatan laporan
menggunakan HTML, karena menurut saya agak rumit bagi orang yang awam dengan HTML.
Jadi pada workshop kita kali ini, saya akan mencoba mengenalkan pembuatan laporan dengan
data report dengan sedikit script pemrograman.
Konsep Validasi
Ketika user ingin menginput field yang bertipe numerik, maka jika ia menginput berupa huruf
atau karakter spesial program akan error. Oleh karena itu dibutuhkan suatu prosedur validasi
masukan yang berfungsi mengontrol input dari user. Validasi memungkinkan kita untuk
memberi tahu pengguna jika ia salah menginput data dengan pesan yang mudah dimengerti.
Berikut ini salah satu contoh sederhana penggunaan validasi untuk mengontrol karakter
bertipe numerik :
Private Sub txtqty_KeyPress(KeyAscii As Integer)
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Then
Exit Sub
ElseIf KeyAscii = vbKeyReturn Then
txtqty.SetFocus
Else
MsgBox "Data Harus Angka..!", vbOKOnly + vbInformation, "Pesan Kesalahan"
KeyAscii = vbKeyBack
End If
End Sub
Data
Tabel / Query
Software Pihak Ketiga
( Crystal Report )
Visual Basic Report
Embedded
Primitive Report
( HTML, TXT, dsb )
Laporan
( Report )
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 11
Konsep Pengampunan
Jika kita ingin mengeksekusi suatu perintah (melalui command button) baik itu save, insert,
update dan delete data, maka kita akan dihadapkan dengan pertanyaan “Apakah Anda yakin
melakukan ini ?” jika jawabannya yakin (yes), maka proses eksekusi dilanjutkan, jika tidak
yakin (no) maka proses eksekusi dibatalkan dan keluar dari prosedur eksekusi.
Konsep ini berguna untuk meyakinkan pengguna dengan apa yang ia kerjakan. Karena
biasanya program aplikasi yang diibuat tidak menyertakan prosedur untuk membatalkan
(undo). Namun jika ditinjau dari segi pemrograman terstruktur, maka konsep ini jelas tidak
sesuai, karena jika tidak yakin maka akan keluar posedur (exit sub) begitu saja. Berikut ini
adalah contoh sederhana dari penggunaan konsep pengampunan :
Konsep Otomatisasi Penomoran
Suatu tabel pada umumnya mempunyai suatu kunci unik (primary key). Kunci ini tentunya
telah mengikuti pola penomoran tertentu. Seperti : F0001 untuk record faktur ke-1, B0001
untuk record barang ke-1, dan sebagainya. Ketika kita ingin melakukan penambahan record
pada suatu tabel, maka sebaiknya dilakukan penomoran kunci secara otomatis untuk
menghindari kesalahan waktu kita melakukan input. Berikut ini adalah contoh sederhana dari
penggunaan konsep otomatisasi penomoran :
Private Sub cmddel_Click()
If MsgBox("Apakah Data Akan Dihapus [Y/T] ?", vbYesNo + vbQuestion, "Pesan
Hapus") = vbYes Then
RsObat.Delete
RsObat.MoveFirst
Tampil
DataGrid1.Refresh
Else
Exit Sub
End If
End Sub
Private Sub KosongPesan()
Dim NoPes As Integer
txttanggal.Text = Date
If RSPesanH.RecordCount = 1 Then
txtnopesan.Text = "F00001"
Else
RSPesanH.MoveLast
NoPes = Val(Right(RSPesanH![NoPesan], 5)) + 1
txtnopesan.Text = Format(NoPes, "F00000")
End If
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 12
Konsep Prosedur
Pada Visual Basic, kita mengenal 2 scope prosedur, yaitu : private dan public, sedang dari sisi
tipenya ada sub dan function. Pada workshop kita kali ini, kita akan menggunakan sub dan
kedua scope prosedur. Private sub berarti prosedurnya hanya dikenal di salah satu form saja.
Sedangkan Public sub berarti prosedurnya dikenal diseluruh form dan pada umumnya kita
membuatnya di sebuah module.
Nanti kita akan membuat banyak prosedur baru (private sub) pada setiap form, karena agar
program kita lebih simpel dan jika terjadi kesalahan mudah diperbaiki. Pemanggilan prosedur
dilakukan dengan menulis nama prosedurnya atau menggunakan perintah call nama prosedur.
Jadi siap-siap untuk mengetik banyak prosedur.
Konsep SQL
Kita akan memanfaatkan statement SQL dalam Visual Basic untuk melakukan seleksi atas
sesuatu hal (fungsi select). Hal ini berarti SQL bertindak sebagai embedded language. Yang
akan kita gunakan dalam hal ini adalah bahasa DML (Data Manipulation Language) terutama
perintah select. Adapun sintaks lengkap dari perintah select adalah sebagai berikut :
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr, ...
[INTO OUTFILE 'file_name' export_options
| INTO DUMPFILE 'file_name']
[FROM table_references
[WHERE where_definition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_definition]
[ORDER BY {col_name | expr | position}
[ASC | DESC] , ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[FOR UPDATE | LOCK IN SHARE MODE]]
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 13
Perancangan & Implementasi
Konsep 1 Berdo’a sesuai kepercayaannya, karena ini adalah faktor x terpenting yang akan
menentukan keberhasilan kita dalam membuat sesuatu (project)
Konsep 2 Buat folder sendiri untuk menyimpan seluruh pekerjaan (database & project
visual basic) yang akan kita buat, Nama foldernya adalah nama peserta masingmasing.
Konsep 3 Buat database menggunakan Microsoft Access berikut tabel-tabel & query yang
sudah ternormalisasi, simpan hasilnya di folder yang sudah kita buat.
Konsep 4 Setelah sukses membuat tabel-tabel & query, maka kita akan mengisi data pada
tabel master sesuai nama & fungsinya. Untuk tabel transaksinya tidak perlu diisi
datanya karena akan diisi melalui form transaksi.
Konsep 5 Buat Project baru menggunakan Visual Basic dengan kriteria “Standard EXE”,
kemudian simpan di folder yang sama dengan database Access kita.
Konsep 6 Tambahkan beberapa form, semoga waktunya cukup. Form ini mempunyai
fungsi yang khusus dan ditujukan untuk menangani database kita. Form ini
nantinya akan berupa form master, form transaksi dan form menu.
Konsep 7 Desainlah form sesuai tujuannya. Berikan nama pada masing-masing kontrol.
Setelah form selesai didesain, maka kita mulai mengetik coding pada area view
code.
Konsep8 Tambahkan sebuah modul, menu Project �� Add Module �� Open. Bagian ini
berguna untuk deklarasi variabel global dan untuk membuat prosedur koneksi ke
database, hehehe ketik terus pokoknya.
Konsep 9 Seandainya masih ada waktu, kita juga akan buat laporan “sangat sederhana”
menggunakan “data report”. Dari menu Project �� Add Data Report
Konsep 10 Jangan heran yach, nanti kita akan buat banyak prosedur, “hey jelasin tuh dia
fungsinya untuk apa ?” iya nanti saya jelaskan, ini baru konsep, sabar-sabar
nyebut donk.
Konsep 11 Karena ini adalah pelajaran mengetik, jadi gunakan 11 jari Anda untuk mengetik
dengan cepat dan kita berlomba dengan waktu.
Konsep 12 Berdo’a kembali, agar hasilnya sesuai yang kita inginkan
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 14
Data Bukti
B
SISTEM
PENJUALA
N
BARANG
Studi Kasus
PT. JavaCom merupakan perusahaan yang bergerak dalam bidang penjualan komputer
dan aksesorisnya. PT. JavaCom ingin melakukan peningkatan pelayanan terhadap pelanggan.
Hal ini dilakukan dengan menerapkan sistem komputerisasi penjualan pada perusahaannya.
Dalam hal ini, bagian penjualan berasumsi bahwa stok barang yang akan dijual dalam
keadaan terpenuhi. Selanjutnya pembeli dapat membeli komputer dan aksesorisnya dengan
cara tunai. Dalam hal ini, pembeli tidak perlu melakukan pemesanan terlebih dahulu ketika
ingin membeli barang.
Data yang dicatat oleh bagian penjualan kemudian direkap dan dibuatkan laporan
sesuai dengan kebutuhan sistem. Laporan yang diinginkan pimpinan adalah laporan daftar
barang, laporan pembeli, dan laporan penjualan.
Dari Kegiatan permasalahan yang telah diuraikan, maka terdapat tiga proses yang
terjadi pada PT. Javacom, yakni :
1. Proses Pembelian
Pembeli dapat datang langsung untuk membeli barang yang diperlukan. Pembelian
dilakukan secara tunai. Kemudian barang-barang yang dibeli langsung direcord ke dalam
komputer.
2. Proses Pembayaran
Setelah pembeli membeli barang, maka pembeli melakukan proses pembayaran
berdasarkan barang yang telah dibeli.
3. Proses Pembuatan Laporan
Setelah proses pembelian dan pembayaran dilakukan, maka dibuatlah laporan yang
dibutuhkan pimpinan perusahaan. Laporan yang diinginkan pimpinan adalah laporan daftar
barang, laporan pembeli, dan laporan penjualan.
Skema DFD
Level Kontek
Data Customer
• L. Daftar Brg
• L. Customer
• L. Penjualan
CUSTOMER PIMPINAN
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 15
Data Bukti
B
PROSES
BELI
1.0
PROSES
BAYAR
2.0
PROSES
LAPORAN
3.0
Level Nol
Skema Normalisasi 3 NF
Data Customer
Data Customer
Data Customer
Data Barang
Data Bayar
Data Customer
Data Barang
Data Pembayaran
• L. Daftar Brg
• L. Customer
• L. Penjualan
F. Barang
CUSTOMER F. Customer
PIMPINAN
F. Bayar
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 16
Step By Step
Akhirnya sampailah kita pada saat yang berbahagia dengan selamat dan sentosa. Ya sudah
kita mulai membuat project…semangat !!!
Part 1. Microsoft Access
1. Buat Folder baru dengan nama masing-masing di drive D:\
2. Buka Microsoft Access, lalu buat database baru (create new database) dengan nama
penjualan.mdb, simpan di folder yang telah dibuat, misal D:\yoga\penjualan.mdb
3. Buat Tabel Barang dengan field sebagai berikut (KodeBarang sebagai primary key):
4. Isi tabel barang sesuai selera Anda (tapi yang ada hubungannya dengan komputer)
minimal 10 record barang.
5. Buat Tabel Customer dengan field sebagai berikut (KodeCustomer sebagai primary key):
6. Isi tabel customer sesuai selera Anda minimal 5 record customer.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 17
7. Buat Tabel BeliHeader dengan field sebagai berikut (NoFaktur sebagai primary key) :
8. Buat Tabel BeliDetail dengan field sebagai berikut :
9. Buat Tabel Pembayaran dengan field sebagai berikut (NoBayar sebagai primary key) :
10. Buat Query Qpenjualan dengan field sebagai berikut :
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 18
Part 2. Microsoft Visual Basic
1. Bukalah program visual basic, kemudian buat project baru dengan jenis Standard Exe.
2. Tambahkan 5 form baru, sehingga terdapat 6 form yang akan kita gunakan (form
barang, form customer, form laporan, form menu utama, form penjualan dan form
pembayaran.
3. Sebelum mendesain form, jangan lupa tambahkan component data grid, list view dan
sstab dari menu component (CTRL+T) > lihat cara sebelumnya.
4. Kemudian gunakan referensi ADO yaitu Microsoft Activex Data Object 2.x dari menu
project �� references.
5. Berikut ini desain menu utama.
6. Berkut ini desain menu laporan.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 19
7. Berikut ini desain form barang.
8. Berikut ini desain form customer.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 20
9. Berikut ini desain form penjualan.
10. Berikut ini desain form pembayaran.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 21
11. Berikut ini desain laporan data barang
12. Berikut ini desain laporan data customer
13. Berikut ini desain laporan penjualan
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 22
14. Berikut ini desain laporan pembayaran
15. Berikut ini desain faktur penjualan
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 23
Listing Program Lengkap
Form Barang
Public char As String
Public v, i As Integer
Private Sub Form_Load()
Me.Top = (Screen.Height - Height) / 2
Me.Left = (Screen.Width - Width) / 2
Call BukaKoneksi
Call Tampil
Call DGBarang
Barang.Caption = " Master Barang "
char = Me.Caption
v = Len(char)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Tombol True
Call Kosong
MenuUtama.Show
Unload Me
End Sub
Private Sub Tampil()
On Error Resume Next
txtkode.Text = RSBarang!KodeBarang
txtnama.Text = RSBarang!NamaBarang
txtharga.Text = RSBarang!Harga
txtjenis.Text = RSBarang!Jenis
On Error GoTo 0
End Sub
Private Sub Kosong()
txtkode.Text = ""
txtnama.Text = ""
txtharga.Text = ""
txtjenis.Text = ""
End Sub
Private Sub DGBarang()
Set RSBarang = New ADODB.Recordset
RSBarang.CursorLocation = adUseClient
RSBarang.Open "select * from barang", DB, adOpenDynamic,
adLockOptimistic
Set DataGrid1.DataSource = RSBarang
AturDataGrid
DataGrid1.Refresh
End Sub
Private Sub AturDataGrid()
DataGrid1.Columns(0).Width = 1200
DataGrid1.Columns(1).Width = 3200
DataGrid1.Columns(2).Width = 1600
DataGrid1.Columns(3).Width = 1600
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 24
Private Sub Tombol(Buka As Boolean)
cmdadd.Enabled = Buka
cmdedit.Enabled = Buka
cmddel.Enabled = Buka
cmdfind.Enabled = Buka
End Sub
Private Sub KosongBarang()
Dim Kobar As Integer
If RSBarang.RecordCount = 0 Then
txtkode.Text = "B0001"
Else
RSBarang.MoveLast
Kobar = Right(RSBarang![KodeBarang], 4) + 1
txtkode.Text = Format(Kobar, "B0000")
End If
End Sub
Private Sub cmdadd_Click()
Call Kosong
Tombol False
Call KosongBarang
txtnama.SetFocus
End Sub
Private Sub cmdsave_Click()
On Error Resume Next
If MsgBox("Apakah Data Akan Disimpan [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Simpan") = vbYes Then
RSBarang.AddNew
RSBarang!KodeBarang = txtkode.Text
RSBarang!NamaBarang = txtnama.Text
RSBarang!Harga = txtharga.Text
RSBarang!Jenis = txtjenis.Text
RSBarang.Update
DataGrid1.Refresh
Call Kosong
Tombol True
Else
Exit Sub
End If
On Error GoTo 0
End Sub
Private Sub cmdedit_Click()
RSBarang!KodeBarang = txtkode.Text
RSBarang!NamaBarang = txtnama.Text
RSBarang!Harga = txtharga.Text
RSBarang!Jenis = txtjenis.Text
RSBarang.Update
DataGrid1.Refresh
End Sub
Private Sub cmddel_Click()
If MsgBox("Apakah Data Akan Dihapus [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Hapus") = vbYes Then
RSBarang.Delete
RSBarang.MoveFirst
Call Tampil
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 25
DataGrid1.Refresh
Else
Exit Sub
End If
End Sub
Private Sub cmdexit_Click()
If MsgBox("Apakah Akan Keluar Form [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Keluar") = vbYes Then
Call Kosong
Tombol True
MenuUtama.Show
Unload Me
Else
Exit Sub
End If
End Sub
Private Sub cmdfind_Click()
CARI = InputBox("Ketik Kode Barang Yang Dicari !", "Cari Barang")
Dim Ketemu As Integer
Ketemu = 0
RSBarang.MoveFirst
Do Until RSBarang.EOF
If UCase(Trim(RSBarang!KodeBarang)) = UCase(Trim(CARI)) Then
Ketemu = 1
Exit Do
End If
RSBarang.MoveNext
Loop
If Ketemu = 1 Then
Call Tampil
Else
MsgBox "Data Tidak Ditemukan", vbOKOnly, "Pesan Cari"
End If
End Sub
Private Sub cmdfirst_Click()
RSBarang.MoveFirst
Call Tampil
Tombol True
End Sub
Private Sub cmdnext_Click()
RSBarang.MoveNext
If RSBarang.EOF Then
MsgBox "Data Sudah Di Akhir", vbOKOnly, "Pesan Next"
RSBarang.MoveLast
End If
Call Tampil
Tombol True
End Sub
Private Sub cmdprev_Click()
RSBarang.MovePrevious
If RSBarang.BOF Then
MsgBox "Data Sudah Di Awal", vbOKOnly, "Pesan Previous"
RSBarang.MoveFirst
End If
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 26
Call Tampil
Tombol True
End Sub
Private Sub cmdlast_Click()
RSBarang.MoveLast
Call Tampil
Tombol True
End Sub
Private Sub txtcarikode_Change()
Set RSBarang = New ADODB.Recordset
RSBarang.CursorLocation = adUseClient
RSBarang.Open "Select * From Barang Where KodeBarang Like '" &
txtcarikode.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RSBarang
AturDataGrid
DataGrid1.Refresh
End Sub
Private Sub txtcarinama_Change()
Set RSBarang = New ADODB.Recordset
RSBarang.CursorLocation = adUseClient
RSBarang.Open "Select * From Barang Where NamaBarang Like '" &
txtcarinama.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RSBarang
AturDataGrid
DataGrid1.Refresh
End Sub
Private Sub Timer1_Timer()
Me.Caption = Left$(char, i)
i = i + 1
If i = v Then
i = 0
End If
End Sub
Private Sub txtharga_KeyPress(KeyAscii As Integer)
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack
Then
Exit Sub
ElseIf KeyAscii = vbKeyReturn Then
txtharga.SetFocus
Else
MsgBox "Data Harus Angka..!", vbOKOnly + vbInformation, "Pesan
Kesalahan"
KeyAscii = vbKeyBack
End If
End Sub
Form Customer
Public char As String
Public v, i As Integer
Private Sub Form_Load()
Me.Top = (Screen.Height - Height) / 2
Me.Left = (Screen.Width - Width) / 2
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 27
Call BukaKoneksi
Call Tampil
Call DGCustomer
Customer.Caption = " Master Customer "
char = Me.Caption
v = Len(char)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Tombol True
Call Kosong
MenuUtama.Show
Unload Me
End Sub
Private Sub Tampil()
On Error Resume Next
txtkode.Text = RSCustomer!KodeCustomer
txtnama.Text = RSCustomer!NamaCustomer
txtalamat.Text = RSCustomer!Alamat
txtkota.Text = RSCustomer!Kota
txttelepon.Text = RSCustomer!Telepon
On Error GoTo 0
End Sub
Private Sub Kosong()
txtkode.Text = ""
txtnama.Text = ""
txtalamat.Text = ""
txtkota.Text = ""
txttelepon.Text = ""
End Sub
Private Sub DGCustomer()
Set RSCustomer = New ADODB.Recordset
RSCustomer.CursorLocation = adUseClient
RSCustomer.Open "select * from customer", DB, adOpenDynamic,
adLockOptimistic
Set DataGrid1.DataSource = RSCustomer
AturDataGrid
DataGrid1.Refresh
End Sub
Private Sub AturDataGrid()
DataGrid1.Columns(0).Width = 1200
DataGrid1.Columns(1).Width = 2000
DataGrid1.Columns(2).Width = 2000
DataGrid1.Columns(3).Width = 1200
DataGrid1.Columns(4).Width = 1200
End Sub
Private Sub Tombol(Buka As Boolean)
cmdadd.Enabled = Buka
cmdedit.Enabled = Buka
cmddel.Enabled = Buka
cmdfind.Enabled = Buka
End Sub
Private Sub KosongCustomer()
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 28
Dim Kode As Integer
If RSCustomer.RecordCount = 0 Then
txtkode.Text = "K0001"
Else
RSCustomer.MoveLast
Kode = Right(RSCustomer![KodeCustomer], 4) + 1
txtkode.Text = Format(Kode, "K0000")
End If
End Sub
Private Sub cmdadd_Click()
Call Kosong
Tombol False
Call KosongCustomer
txtnama.SetFocus
End Sub
Private Sub cmdsave_Click()
On Error Resume Next
If MsgBox("Apakah Data Akan Disimpan [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Simpan") = vbYes Then
RSCustomer.AddNew
RSCustomer!KodeCustomer = txtkode.Text
RSCustomer!NamaCustomer = txtnama.Text
RSCustomer!Alamat = txtalamat.Text
RSCustomer!Kota = txtkota.Text
RSCustomer!Telepon = txttelepon.Text
RSCustomer.Update
DataGrid1.Refresh
Call Kosong
Tombol True
Else
Exit Sub
End If
Tombol True
On Error GoTo 0
End Sub
Private Sub cmdedit_Click()
RSCustomer!KodeCustomer = txtkode.Text
RSCustomer!NamaCustomer = txtnama.Text
RSCustomer!Alamat = txtalamat.Text
RSCustomer!Kota = txtkota.Text
RSCustomer!Telepon = txttelepon.Text
RSCustomer.Update
DataGrid1.Refresh
End Sub
Private Sub cmddel_Click()
If MsgBox("Apakah Data Akan Dihapus [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Hapus") = vbYes Then
RSCustomer.Delete
RSCustomer.MoveFirst
Call Tampil
DataGrid1.Refresh
Else
Exit Sub
End If
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 29
Private Sub cmdfind_Click()
CARI = InputBox("Ketik Kode Customer Yang Dicari !", "Cari Customer")
Dim Ketemu As Integer
Ketemu = 0
RSCustomer.MoveFirst
Do Until RSCustomer.EOF
If UCase(Trim(RSCustomer!KodeCustomer)) = UCase(Trim(CARI)) Then
Ketemu = 1
Exit Do
End If
RSCustomer.MoveNext
Loop
If Ketemu = 1 Then
Call Tampil
Else
MsgBox "Data Tidak Ditemukan", vbOKOnly, "Pesan Cari"
End If
End Sub
Private Sub cmdexit_Click()
If MsgBox("Apakah Akan Keluar Form [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Keluar") = vbYes Then
Call Kosong
Tombol True
MenuUtama.Show
Unload Me
Else
Exit Sub
End If
End Sub
Private Sub cmdfirst_Click()
RSCustomer.MoveFirst
Call Tampil
Tombol True
End Sub
Private Sub cmdnext_Click()
RSCustomer.MoveNext
If RSCustomer.EOF Then
MsgBox "Data Sudah Di Akhir", vbOKOnly, "Pesan Next"
RSCustomer.MoveLast
End If
Call Tampil
Tombol True
End Sub
Private Sub cmdprev_Click()
RSCustomer.MovePrevious
If RSCustomer.BOF Then
MsgBox "Data Sudah Di Awal", vbOKOnly, "Pesan Previous"
RSCustomer.MoveFirst
End If
Call Tampil
Tombol True
End Sub
Private Sub cmdlast_Click()
RSCustomer.MoveLast
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 30
Call Tampil
Tombol True
End Sub
Private Sub txtcarikode_Change()
Set RSCustomer = New ADODB.Recordset
RSCustomer.CursorLocation = adUseClient
RSCustomer.Open "Select * From Customer Where KodeCustomer Like '" &
txtcarikode.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RSCustomer
AturDataGrid
DataGrid1.Refresh
End Sub
Private Sub txtcarinama_Change()
Set RSCustomer = New ADODB.Recordset
RSCustomer.CursorLocation = adUseClient
RSCustomer.Open "Select * From Customer Where NamaCustomer Like '" &
txtcarinama.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RSCustomer
AturDataGrid
DataGrid1.Refresh
End Sub
Private Sub Timer1_Timer()
Me.Caption = Left$(char, i)
i = i + 1
If i = v Then
i = 0
End If
End Sub
Form Laporan
Public char As String
Public v, i As Integer
Private Sub Form_Load()
Me.Top = (Screen.Height - Height) / 2
Me.Left = (Screen.Width - Width) / 2
Call BukaKoneksi
Laporan.Caption = " Menu Laporan "
char = Me.Caption
v = Len(char)
End Sub
Private Sub Form_Unload(Cancel As Integer)
MenuUtama.Show
Unload Me
End Sub
Private Sub cmdbarang_Click()
On Error Resume Next
Set RSBarang = New ADODB.Recordset
RSBarang.Open "select * from barang", DB, adOpenDynamic,
adLockOptimistic
Set DataReport1.DataSource = RSBarang
DataReport1.Sections("Detail").Controls("Text1").DataField =
"KodeBarang"
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 31
DataReport1.Sections("Detail").Controls("Text2").DataField =
"NamaBarang"
DataReport1.Sections("Detail").Controls("Text3").DataField = "Harga"
DataReport1.Sections("Detail").Controls("Text4").DataField = "Jenis"
DataReport1.Show
On Error GoTo 0
End Sub
Private Sub cmdcustomer_Click()
On Error Resume Next
Set RSCustomer = New ADODB.Recordset
RSCustomer.Open "select * from customer", DB, adOpenDynamic,
adLockOptimistic
Set DataReport2.DataSource = RSCustomer
DataReport2.Sections("Detail").Controls("Text1").DataField =
"KodeCustomer"
DataReport2.Sections("Detail").Controls("Text2").DataField =
"NamaCustomer"
DataReport2.Sections("Detail").Controls("Text3").DataField = "Alamat"
DataReport2.Sections("Detail").Controls("Text4").DataField = "Kota"
DataReport2.Sections("Detail").Controls("Text5").DataField = "Telepon"
DataReport2.Show
On Error GoTo 0
End Sub
Private Sub cmdpenjualan_Click()
On Error Resume Next
Set RSBeliHeader = New ADODB.Recordset
RSBeliHeader.Open "select * from beliheader", DB, adOpenDynamic,
adLockOptimistic
Set DataReport3.DataSource = RSBeliHeader
DataReport3.Sections("Detail").Controls("Text1").DataField =
"NoFaktur"
DataReport3.Sections("Detail").Controls("Text2").DataField = "Tanggal"
DataReport3.Sections("Detail").Controls("Text3").DataField =
"KodeCustomer"
DataReport3.Sections("Detail").Controls("Text4").DataField =
"SubTotal"
DataReport3.Sections("Detail").Controls("Text5").DataField = "Diskon"
DataReport3.Sections("Detail").Controls("Text6").DataField = "Pajak"
DataReport3.Sections("Detail").Controls("Text7").DataField =
"GrandTotal"
DataReport3.Show
On Error GoTo 0
End Sub
Private Sub cmdpembayaran_Click()
On Error Resume Next
Set RSPembayaran = New ADODB.Recordset
RSPembayaran.Open "select * from pembayaran", DB, adOpenDynamic,
adLockOptimistic
Set DataReport4.DataSource = RSPembayaran
DataReport4.Sections("Detail").Controls("Text1").DataField = "NoBayar"
DataReport4.Sections("Detail").Controls("Text2").DataField =
"TanggalBayar"
DataReport4.Sections("Detail").Controls("Text3").DataField =
"KodeCustomer"
DataReport4.Sections("Detail").Controls("Text4").DataField =
"NoFaktur"
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 32
DataReport4.Sections("Detail").Controls("Text5").DataField =
"SubTotal"
DataReport4.Sections("Detail").Controls("Text6").DataField = "Diskon"
DataReport4.Sections("Detail").Controls("Text7").DataField = "Pajak"
DataReport4.Sections("Detail").Controls("Text8").DataField =
"GrandTotal"
DataReport4.Show
On Error GoTo 0
End Sub
Private Sub cmdkembali_Click()
MenuUtama.Show
Unload Me
End Sub
Private Sub cmdbarang_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
cmdbarang.BackColor = &HE29B81
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdkembali.BackColor = &HB0D798
End Sub
Private Sub cmdcustomer_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HE29B81
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdkembali.BackColor = &HB0D798
End Sub
Private Sub cmdpenjualan_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HE29B81
cmdpembayaran.BackColor = &HB0D798
cmdkembali.BackColor = &HB0D798
End Sub
Private Sub cmdpembayaran_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HE29B81
cmdkembali.BackColor = &HB0D798
End Sub
Private Sub cmdkembali_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdkembali.BackColor = &HE29B81
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 33
Private Sub Timer1_Timer()
Me.Caption = Left$(char, i)
i = i + 1
If i = v Then
i = 0
End If
End Sub
Form Menu Utama
Public char As String
Public v, i As Integer
Private Sub Form_Load()
Me.Top = (Screen.Height - Height) / 2
Me.Left = (Screen.Width - Width) / 2
MenuUtama.Caption = " Menu Utama "
char = Me.Caption
v = Len(char)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Me.Hide
MsgBox "Terima Kasih Telah Menggunakan Aplikasi Ini, Untuk Kritik Dan
Saran Kirimkan Ke : yoga.prihastomo@gmail.com", vbOKOnly + vbInformation,
"Pesan Keluar"
End
End Sub
Private Sub cmdbarang_Click()
Barang.Show
Me.Hide
End Sub
Private Sub cmdcustomer_Click()
Customer.Show
Me.Hide
End Sub
Private Sub cmdpenjualan_Click()
Penjualan.Show
Me.Hide
End Sub
Private Sub cmdpembayaran_Click()
Pembayaran.Show
Me.Hide
End Sub
Private Sub cmdlaporan_Click()
Laporan.Show
Me.Hide
End Sub
Private Sub cmdpenyusun_Click()
About.Show
Me.Hide
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 34
Private Sub cmdkeluar_Click()
If MsgBox("Apakah Akan Keluar Aplikasi [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Keluar") = vbYes Then
MsgBox "Terima Kasih Telah Menggunakan Aplikasi Ini, Untuk Kritik
Dan Saran Kirimkan Ke : yoga.prihastomo@gmail.com", vbOKOnly +
vbInformation, "Pesan Keluar"
End
Else
Exit Sub
End If
End Sub
Private Sub cmdbarang_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
cmdbarang.BackColor = &HE29B81
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdlaporan.BackColor = &HB0D798
cmdkeluar.BackColor = &HB0D798
End Sub
Private Sub cmdcustomer_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HE29B81
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdlaporan.BackColor = &HB0D798
cmdkeluar.BackColor = &HB0D798
End Sub
Private Sub cmdpenjualan_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HE29B81
cmdpembayaran.BackColor = &HB0D798
cmdlaporan.BackColor = &HB0D798
cmdkeluar.BackColor = &HB0D798
End Sub
Private Sub cmdpembayaran_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HE29B81
cmdlaporan.BackColor = &HB0D798
cmdkeluar.BackColor = &HB0D798
End Sub
Private Sub cmdlaporan_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdlaporan.BackColor = &HE29B81
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 35
cmdkeluar.BackColor = &HB0D798
End Sub
Private Sub cmdpenyusun_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdlaporan.BackColor = &HB0D798
cmdkeluar.BackColor = &HB0D798
End Sub
Private Sub cmdkeluar_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdlaporan.BackColor = &HB0D798
cmdkeluar.BackColor = &HE29B81
End Sub
Private Sub Timer1_Timer()
Me.Caption = Left$(char, i)
i = i + 1
If i = v Then
i = 0
End If
End Sub
Form Pembayaran
Public char As String
Public v, i As Integer
Private Sub Form_Load()
Me.Top = (Screen.Height - Height) / 2
Me.Left = (Screen.Width - Width) / 2
Call BukaKoneksi
Call DGPenjualan
Call DGPembayaran
Call KosongBayar
Pembayaran.Caption = " Form Pembayaran "
char = Me.Caption
v = Len(char)
End Sub
Private Sub Form_Unload(Cancel As Integer)
MenuUtama.Show
Unload Me
End Sub
Private Sub DGPenjualan()
Set RSBeliHeader = New ADODB.Recordset
RSBeliHeader.CursorLocation = adUseClient
RSBeliHeader.Open "select * from beliheader", DB, adOpenDynamic,
adLockOptimistic
Set DataGrid1.DataSource = RSBeliHeader
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 36
DataGrid1.Refresh
End Sub
Private Sub DGPembayaran()
Set RSPembayaran = New ADODB.Recordset
RSPembayaran.CursorLocation = adUseClient
RSPembayaran.Open "select * from pembayaran", DB, adOpenDynamic,
adLockOptimistic
Set DataGrid2.DataSource = RSPembayaran
AturPembayaran
DataGrid2.Refresh
End Sub
Private Sub AturPembayaran()
DataGrid2.Columns(0).Width = 800
DataGrid2.Columns(1).Width = 1100
DataGrid2.Columns(2).Width = 1100
DataGrid2.Columns(3).Width = 1100
DataGrid2.Columns(4).Width = 1100
DataGrid2.Columns(5).Width = 1100
DataGrid2.Columns(6).Width = 1100
DataGrid2.Columns(7).Width = 1200
End Sub
Private Sub DataGrid1_Click()
txtkodecus.Text = RSBeliHeader!KodeCustomer
txtnofak.Text = RSBeliHeader!NoFaktur
txtsubtot.Text = RSBeliHeader!SubTotal
txtdiskon.Text = RSBeliHeader!Diskon
txtpajak.Text = RSBeliHeader!Pajak
txtgrand.Text = RSBeliHeader!GrandTotal
End Sub
Private Sub Kosong()
txtnobayar.Text = ""
txttanggal.Text = ""
txtkodecus.Text = ""
txtnofak.Text = ""
txtsubtot.Text = ""
txtdiskon.Text = ""
txtpajak.Text = ""
txtgrand.Text = ""
End Sub
Private Sub KosongBayar()
Dim NoBayar As Integer
txttanggal.Text = Date
If RSPembayaran.RecordCount = 0 Then
txtnobayar.Text = "FB001"
Else
RSPembayaran.MoveLast
NoBayar = Right(RSPembayaran![NoBayar], 3) + 1
txtnobayar.Text = Format(NoBayar, "FB000")
End If
End Sub
Private Sub cmdsave_Click()
On Error Resume Next
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 37
If MsgBox("Apakah Data Akan Disimpan [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Simpan") = vbYes Then
RSPembayaran.AddNew
RSPembayaran![NoBayar] = txtnobayar.Text
RSPembayaran![TanggalBayar] = txttanggal.Text
RSPembayaran![KodeCustomer] = txtkodecus.Text
RSPembayaran![NoFaktur] = txtnofak.Text
RSPembayaran![SubTotal] = txtsubtot.Text
RSPembayaran![Diskon] = txtdiskon.Text
RSPembayaran![Pajak] = txtpajak.Text
RSPembayaran![GrandTotal] = txtgrand.Text
RSPembayaran.Update
DGPembayaran
Kosong
KosongBayar
Else
Exit Sub
End If
On Error GoTo 0
End Sub
Private Sub cmdadd_Click()
DGPembayaran
Call Kosong
Call KosongBayar
End Sub
Private Sub cmdcancel_Click()
Call Kosong
End Sub
Private Sub cmdexit_Click()
If MsgBox("Apakah Akan Keluar Form [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Keluar") = vbYes Then
MenuUtama.Show
Unload Me
Else
Exit Sub
End If
End Sub
Private Sub Timer1_Timer()
Me.Caption = Left$(char, i)
i = i + 1
If i = v Then
i = 0
End If
End Sub
Form Penjualan
Public char As String
Public v, i As Integer
Private Sub Form_Load()
Me.Top = (Screen.Height - Height) / 2
Me.Left = (Screen.Width - Width) / 2
Call BukaKoneksi
Call KosongJual
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 38
Call DGCustomer
Call DGBarang
Penjualan.Caption = " Form Penjualan "
char = Me.Caption
v = Len(char)
End Sub
Private Sub Form_Unload(Cancel As Integer)
MenuUtama.Show
Unload Me
End Sub
Private Sub Kosong()
txtkobar.Text = ""
txtnabar.Text = ""
txtharga.Text = ""
txtqty.Text = ""
txttotal.Text = ""
End Sub
Private Sub KosongJual()
Dim NoFak As Integer
txttanggal.Text = Date
If RSBeliHeader.RecordCount = 0 Then
txtnofak.Text = "F0001"
Else
RSBeliHeader.MoveLast
NoFak = Right(RSBeliHeader![NoFaktur], 4) + 1
txtnofak.Text = Format(NoFak, "F0000")
End If
End Sub
Private Sub DGCustomer()
Set RSCustomer = New ADODB.Recordset
RSCustomer.CursorLocation = adUseClient
RSCustomer.Open "select * from customer", DB, adOpenDynamic,
adLockOptimistic
Set DataGrid1.DataSource = RSCustomer
AturCustomer
DataGrid1.Refresh
End Sub
Private Sub AturCustomer()
DataGrid1.Columns(0).Width = 1200
DataGrid1.Columns(1).Width = 2500
DataGrid1.Columns(2).Width = 2500
DataGrid1.Columns(3).Width = 1300
DataGrid1.Columns(4).Width = 1300
End Sub
Private Sub DGBarang()
Set RSBarang = New ADODB.Recordset
RSBarang.CursorLocation = adUseClient
RSBarang.Open "select * from barang", DB, adOpenDynamic,
adLockOptimistic
Set DataGrid2.DataSource = RSBarang
AturBarang
DataGrid2.Refresh
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 39
Private Sub AturBarang()
DataGrid2.Columns(0).Width = 1300
DataGrid2.Columns(1).Width = 3500
DataGrid2.Columns(2).Width = 2000
DataGrid2.Columns(3).Width = 2000
End Sub
Private Sub DataGrid1_Click()
txtkodecus.Text = RSCustomer!KodeCustomer
txtnamacus.Text = RSCustomer!NamaCustomer
txtalamat.Text = RSCustomer!Alamat
txtkota.Text = RSCustomer!Kota
txttelepon.Text = RSCustomer!Telepon
End Sub
Private Sub DataGrid2_Click()
txtkobar.Text = RSBarang!KodeBarang
txtnabar.Text = RSBarang!NamaBarang
txtharga.Text = RSBarang!Harga
End Sub
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
X = ListView1.SelectedItem.Index
txtkobar.Text = ListView1.ListItems(X).Text
txtnabar.Text = ListView1.ListItems(X).SubItems(1)
txtharga.Text = ListView1.ListItems(X).SubItems(2)
txtqty.Text = ListView1.ListItems(X).SubItems(3)
txttotal.Text = ListView1.ListItems(X).SubItems(4)
End Sub
Private Sub txtqty_Change()
Dim vtxttotal
vtxttotal = Val(txtharga) * Val(txtqty)
txttotal.Text = vtxttotal
End Sub
Private Sub txtqty_KeyPress(KeyAscii As Integer)
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack
Then
Exit Sub
ElseIf KeyAscii = vbKeyReturn Then
txtqty.SetFocus
Else
MsgBox "Data Harus Angka..!", vbOKOnly + vbInformation, "Pesan
Kesalahan"
KeyAscii = vbKeyBack
End If
End Sub
Private Sub cmdadd_Click()
ListView1.ListItems.Add(, , txtkobar).Text = txtkobar.Text
X = ListView1.ListItems.Count
ListView1.ListItems(X).SubItems(1) = txtnabar.Text
ListView1.ListItems(X).SubItems(2) = txtharga.Text
ListView1.ListItems(X).SubItems(3) = txtqty.Text
ListView1.ListItems(X).SubItems(4) = txttotal.Text
txtsubtot = Val(txttotal) + ListView1.ListItems(X).SubItems(4)
txtdiskon = Val(txtsubtot) * 0.05
txtpajak = Val(txtsubtot) * 0.1
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 40
txtgrandtot = Val(txtsubtot) + Val(txtpajak) - Val(txtdiskon)
Call Kosong
txtkobar.SetFocus
End Sub
Private Sub cmdsave_Click()
On Error Resume Next
If MsgBox("Apakah Data Akan Disimpan [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Simpan") = vbYes Then
RSBeliHeader.AddNew
RSBeliHeader![NoFaktur] = txtnofak.Text
RSBeliHeader![Tanggal] = txttanggal.Text
RSBeliHeader![KodeCustomer] = txtkodecus.Text
RSBeliHeader![SubTotal] = txtsubtot.Text
RSBeliHeader![Diskon] = txtdiskon.Text
RSBeliHeader![Pajak] = txtpajak.Text
RSBeliHeader![GrandTotal] = txtgrandtot.Text
RSBeliHeader.Update
For X = 1 To ListView1.ListItems.Count
RSBeliDetail.AddNew
RSBeliDetail![NoFaktur] = txtnofak.Text
RSBeliDetail![KodeBarang] = ListView1.ListItems(X).Text
RSBeliDetail![NamaBarang] = ListView1.ListItems(X).SubItems(1)
RSBeliDetail![Harga] = ListView1.ListItems(X).SubItems(2)
RSBeliDetail![Qty] = ListView1.ListItems(X).SubItems(3)
RSBeliDetail![Total] = ListView1.ListItems(X).SubItems(4)
RSBeliDetail.Update
Next X
Else
Exit Sub
End If
On Error GoTo 0
End Sub
Private Sub cmddelete_Click()
ListView1.ListItems.Remove (ListView1.SelectedItem.Index)
Call Kosong
End Sub
Private Sub cmdedit_Click()
For X = 1 To ListView1.ListItems.Count
If ListView1.ListItems(X).Text = txtkobar.Text Then
baris = X
Exit For
End If
Next
ListView1.ListItems(baris).SubItems(3) = txtqty.Text
Call Kosong
txtkobar.SetFocus
End Sub
Private Sub cmdcancel_Click()
ListView1.ListItems.Clear
End Sub
Private Sub cmdprint_Click()
On Error Resume Next
Set RSQPenjualan = New ADODB.Recordset
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 41
Strsql = "Select * From QPenjualan Where NoFaktur = '" & txtnofak & "'
And KodeCustomer = '" & txtkodecus & "'"
RSQPenjualan.Open Strsql, DB, adOpenDynamic, adLockOptimistic
Set DataReport5.DataSource = RSQPenjualan
With DataReport5
.Sections("Header").Controls("lblnofak").Caption = txtnofak.Text
.Sections("Header").Controls("lbltanggal").Caption =
txttanggal.Text
.Sections("Header").Controls("lblkode").Caption = txtkodecus.Text
.Sections("Header").Controls("lblnama").Caption = txtnamacus.Text
.Sections("Detail").Controls("Text1").DataField = "KodeBarang"
.Sections("Detail").Controls("Text2").DataField = "NamaBarang"
.Sections("Detail").Controls("Text3").DataField = "Harga"
.Sections("Detail").Controls("Text4").DataField = "QTY"
.Sections("Detail").Controls("Text5").DataField = "Total"
End With
DataReport5.Show
On Error GoTo 0
End Sub
Private Sub cmdexit_Click()
If MsgBox("Apakah Akan Keluar Form [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Keluar") = vbYes Then
MenuUtama.Show
Unload Me
Else
Exit Sub
End If
End Sub
Private Sub txtcarikodecus_Change()
Set RSCustomer = New ADODB.Recordset
RSCustomer.CursorLocation = adUseClient
RSCustomer.Open "Select * From Customer Where KodeCustomer Like '" &
txtcarikodecus.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RSCustomer
AturCustomer
DataGrid1.Refresh
End Sub
Private Sub txtcarinamacus_Change()
Set RSCustomer = New ADODB.Recordset
RSCustomer.CursorLocation = adUseClient
RSCustomer.Open "Select * From Customer Where NamaCustomer Like '" &
txtcarinamacus.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RSCustomer
AturCustomer
DataGrid1.Refresh
End Sub
Private Sub txtcarikobar_Change()
Set RSBarang = New ADODB.Recordset
RSBarang.CursorLocation = adUseClient
RSBarang.Open "Select * From Barang Where KodeBarang Like '" &
txtcarikobar.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid2.DataSource = RSBarang
AturBarang
DataGrid2.Refresh
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 42
Private Sub txtcarinabar_Change()
Set RSBarang = New ADODB.Recordset
RSBarang.CursorLocation = adUseClient
RSBarang.Open "Select * From Barang Where NamaBarang Like '" &
txtcarinabar.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid2.DataSource = RSBarang
AturBarang
DataGrid2.Refresh
End Sub
Private Sub Timer1_Timer()
Me.Caption = Left$(char, i)
i = i + 1
If i = v Then
i = 0
End If
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Query adalah sebuah objek seperti halnya tabel. Query dapat dibentuk dari satu atau lebih
tabel yang telah terelasi. Di query kita akan menemukan sebuah fleksibilitas dari perancangan
tabel, kita dapat melakukan manipulasi data, melakukan seleksi tabel berdasarkan kriteria
tertentu dan sebagainya. Intinya query ini adalah “by request” atau sesuai permintaan dari
pengguna. Nanti kita akan memanfaatkan query untuk pembuatan laporan.
Konsep Interface ke Database
Pada Visual Basic, teknik pengaksesan ke database dapat dibagi menjadi dua, yakni :
�� Pengaksesan Diatur Oleh Sistem Operasi
Teknik ini menggunakan Data Source (ODBC) sebagai jembatan atau perantara ketika
kita akan mengkoneksikan database dengan Visual Basic. Pada teknik ini, sistem operasi
akan melakukan tugasnya sebagai manajer yang mengatur setiap koneksi ke database
yang ada pada komputer. Tentunya database yang diakses adalah database yang sudah
terdaftar dalam sistem operasi atau dengan kata lain, database tersebut telah memiliki
driver yang ditunjukkan pada Data Source (ODBC).
Jadi untuk mengkoneksikan ke database, kita perlu membuat Data Source yang baru
(new data source) pada Tab User DSN. Pada tab itu, kita buat Data Source dengan
terlebih dahulu menentukan driver yang sesuai, kemudian nama server, teknik
authentifikasi ke database, nama database. Setelah data source terbentuk, maka kita
dapat melakukan tes koneksi ke database. Jika sukses, berarti data source kita dapat
mengakses database dengan baik.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 5
�� Pengaksesan Diatur Oleh Visual Basic
Pada teknik ini, Visual Basic selain bertindak sebagai pemrograman ke databasenya, ia
juga mengatur koneksi yang terjadi pada database. Interface atau referensi yang
digunakan dapat berupa :
�� Data Access Objects (DAO)
�� Remote Data Objects (RDO)
�� ActiveX Data Objects (ADO)
Visual Basic juga menyediakan kontrol-kontrol interface yang terdapat pada menu
Component-nya untuk memudahkan user dalam menghubungkan databasenya dengan
Visual Basic. Seperti Data (DAO), Microsoft Remote Data Control (MSRDC), Ado Data
Control (ADODC), dan sebagainya
Namun demikian, Visual Basic juga memberikan keleluasaan bagi mereka yang
menyukai menulis program dalam menghubugkan ke databasenya. Jadi untuk
menghubungkan ke database, kita juga dapat mengetik script pada editor Visual Basic
baik pada form maupun modulenya. Bagi sebagian orang, mereka lebih menyukai teknik
ini, selain fleksibel mereka juga menganggap teknik mengkoneksikan database lewat
script lebih “elegan”.
Gambar teknik pengaksesan database dari visual basic
Gambar di atas memberikan gambaran tentang bagaimana sebuah database dapat
terkoneksi ke Visual Basic. Setiap metode atau interface memiliki kelebihan dan
kekurangan masing-masing. Jadi disini dituntut kejelian pemrogram dalam
memanfaatkan fasilitas yang tersedia. Pemrogram harus tahu dengan baik, kapan ia
harus memilih sebuah interface dengan untung ruginya.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 6
Nah yang akan kita bahas adalah ActiveX Data Object (ADO), tanya kenapa ???
Begini ceritanya. ADO merupakan teknologi terbaru Microsoft dalam pengaksesan data
(database) dan merupakan interface ke OLEDB. Sedangkan OLEDB merupakan strategi level
bawah Microsoft sebagai interface ke seluruh tipe dari data. Bingung nggak ? Sama donk, klo
bingung liat gambar aja yuk.
Gambar ADO sebagai interface pengaksesan ke database
Jadi, ADO menawarkan sesuatu yang lebih dibanding metode yang telah disebutkan.
Sebenernya sih ada yang namanya ADO Data Control (ADODC) yang terdapat pada komponen
visual basic. Menu Project �� Component (CTRL+T) �� Microsoft Ado Data Control 6.0
(OLEDB) yang merupakan kontol bagi interface ADO. Hehehe tapi kita nggak pake tuh, kan
judul workshop kita pemrograman database, jadi kita ketik aja kali yach, I’m so sorry .
Gambar kontrol ADODC dari menu Project �� Component
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 7
Konsep Reference
Ketika kita akan menggunakan suatu teknik pengaksesan ke data base, jangan lupa untuk
mengaktifkan salah satu referensinya pada menu Project ��References. Kemudian aktifkan
salah satu saja. Jika kita gunakan ADO, maka referencesnya Microsoft ActiveX Data Objects
2.x Library (semakin tinggi versinya semakin lengkap fitur yang ditawarkan).
Konsep Form Sebagai Interface
Form ini berguna untuk pengguna akhir (end-user) berhubungan dengan databasenya. Bagi si
perancang aplikasi, form adalah tempat kita menaruh kontrol-kontrol untuk manipulasi
database. Begitu ceritanya. Form ini juga terbagi menjadi 2, yaitu :
�� Form Master
Form yang ditujukan untuk menangani tabel master, biasanya lebih sederhana and
simple. Pada form ini akan dilakukan proses manipulasi data pada tabel master seperti
proses insert, update dan delete data. Selain itu kita juga akan gunakan tombol-tombol
navigasi untuk “menggerakkan” sebuah record dalam tabel.
�� Form Transaksi
Form yang ditujukan untuk menangani tabel transaksi, biasanya lebih rumit and kadang
bisa melibatkan lebih dari 3 tabel. Yang jelas konsep header & detail ada di situ.
Jika mendesain form, buatlah dengan perasaan yang mendalam, anggaplah kita lagi
mendesain rumah untuk kita tinggali, pasti kita akan buat sebagus mungkin kan ? hehehe
jangan asal-asalan, gunakan rasa seni kita, curahkan perasaan kita di setiap sudutnya (au ah
elap). Buat orang yang melihat itu terkesan dan betah melihat form yang kita buat. Jika perlu
pasang skin biar tambah memikat (hehehe bukan susuk loh). Jika masih belum puas,
tambahkan animasi teks biar “hidup”.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 8
Namun tapi ada form yang digunakan untuk hal-hal khusus, seperti form untuk Menu (MDI ��
Multiple Document Interface), form untuk login, form untuk animasi loading, dan sebagainya.
Form-form ini memang sengaja dibuat untuk menunjang form utama kita yakni form master
dan form transaksi dalam sebuah kesatuan sistem.
Konsep Kontrol
Kontrol merupakan salah satu obyek atau komponen suatu aplikasi yang diletakkan di dalam
form untuk membentuk suatu program aplikasi. Jadi sebuah form biasanya disusun atas
kontrol-kontrol tertentu sesuai kebutuhan. Kontrol inilah yang nantinya akan berfungsi sebagai
interface antara user dengan program aplikasi yang dibangun.
Sekarang kita bahas yach sedikit mengenai kontrol yang standard, hehehe bagi yang “expert”
gak usah dibaca. Kontrol ini terletak pada Toolbox. Jika kontrol tidak terlihat, maka klik menu
View �� Toolbox. Tapi maaf yach, saya nggak akan jelaskan satu-satu, soalnya males dan
kayaknya dah pada tau kan ?
Gambar Kontrol Standard Pada Visual Basic
Terlihat sebuah kontrol dengan nama Data dengan referensi Microsoft DAO 3.51 Object
Library. Data ini juga merupakan kontrol yang dapat digunakan untuk mengakses database.
Namun memiliki banyak kelemahan dalam hal fleksibilitas koneksi. Oleh karena itu kita tidak
akan memakainya.
Pointer
Label
Frame
CheckBox
ComboBox
HScrollBar
Timer
DirListBox
Image
OLE
PictureBox
TextBox
CommandButton
Shape
OptionButton
ListBox
VScrollBar
DriveListBox
FileListBox
Line
Data
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 9
Kontrol Untuk Database
Pada bagian ini saya akan jelaskan kontrol yang nanti kita akan pakai dalam pembuatan
database, seperti : DataGrid, ListView dan SSTab. Ketiga kontrol ini secara default tidak
terdapat di Toolbox Standard. Jadi kita perlu menambahkannya dari component.
Caranya : menu Project �� Components (CTRL+T)
�� Untuk kontrol DataGrid, pilih Microsoft DataGrid Control 6.0 (OLEDB)
�� Untuk Kontrol ListView, pilih Microsoft Windows Common Controls 6.0 (SP6)
�� Untuk kontrol SSTab, pilih Microsoft Tabbed Dialog Control 6.0
Gambar Kontrol Untuk Database Pada Form
Adapun fungsi dari masing-masing kontrol adalah sebagai berikut :
�� SSTab berfungsi untuk menghemat pemakaian form, jadi dalam sebuah form kita dapat
meletakkan banyak objek di setiap tab yang ada.
�� Data Grid berfungsi untuk menampilkan data maupun manipulasi (insert, update dan
delete data) langsung darinya. Juga untuk memudahkan kita dalam mengambil data
dari tabel master untuk form transaksi.
�� List View kita manfaatkan untuk mengentry data ke form transaksi. Jadi data yang
dimasukkan lewat list view dapat berulang. Pada List View perlu dilakukan pengaturan
sebelum digunakan. Caranya klik kanan pada list view �� properties. Pada combo view,
gantilah menjadi 3-IvwReport, Pada tab column header, tambahkan field judul (insert
column) & sesuaikan nama serta ukuran yang akan ditampilkan.
SSTab
Data Grid
List View
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 10
Konsep Report
Laporan / report berguna untuk menampilkan data yang berasal dari tabel atau query pada
database. Seperti : laporan data pelanggan, laporan data barang, dan sebagainya. Namun
laporan ini juga dapat digunakan untuk membuat tanda bukti seperti faktur. Untuk membuat
laporan, Visual Basic 6 menyediakan feature seperti data report dan crystal report. Namun jika
kita ingin membuat laporan yang benar-benar profesional, maka kita dapat menggunakan
Crystal Report Professional versi 12 (info : versi bajakannya sudah ada di pusat perbajakan di
jakarta). Namun jika kita seorang yang kreatif, maka kita dapat “mengawinkan” antara Visual
Basic dengan HTML untuk laporannya dengan VBScript tentunya.
Keuntungan dari pembuatan laporan berupa HTML adalah, ia akan kompatibel di semua
platform komputer. Namun dibutuhkan kecermatan serta ketelitian dalam pembuatan laporan
menggunakan HTML, karena menurut saya agak rumit bagi orang yang awam dengan HTML.
Jadi pada workshop kita kali ini, saya akan mencoba mengenalkan pembuatan laporan dengan
data report dengan sedikit script pemrograman.
Konsep Validasi
Ketika user ingin menginput field yang bertipe numerik, maka jika ia menginput berupa huruf
atau karakter spesial program akan error. Oleh karena itu dibutuhkan suatu prosedur validasi
masukan yang berfungsi mengontrol input dari user. Validasi memungkinkan kita untuk
memberi tahu pengguna jika ia salah menginput data dengan pesan yang mudah dimengerti.
Berikut ini salah satu contoh sederhana penggunaan validasi untuk mengontrol karakter
bertipe numerik :
Private Sub txtqty_KeyPress(KeyAscii As Integer)
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Then
Exit Sub
ElseIf KeyAscii = vbKeyReturn Then
txtqty.SetFocus
Else
MsgBox "Data Harus Angka..!", vbOKOnly + vbInformation, "Pesan Kesalahan"
KeyAscii = vbKeyBack
End If
End Sub
Data
Tabel / Query
Software Pihak Ketiga
( Crystal Report )
Visual Basic Report
Embedded
Primitive Report
( HTML, TXT, dsb )
Laporan
( Report )
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 11
Konsep Pengampunan
Jika kita ingin mengeksekusi suatu perintah (melalui command button) baik itu save, insert,
update dan delete data, maka kita akan dihadapkan dengan pertanyaan “Apakah Anda yakin
melakukan ini ?” jika jawabannya yakin (yes), maka proses eksekusi dilanjutkan, jika tidak
yakin (no) maka proses eksekusi dibatalkan dan keluar dari prosedur eksekusi.
Konsep ini berguna untuk meyakinkan pengguna dengan apa yang ia kerjakan. Karena
biasanya program aplikasi yang diibuat tidak menyertakan prosedur untuk membatalkan
(undo). Namun jika ditinjau dari segi pemrograman terstruktur, maka konsep ini jelas tidak
sesuai, karena jika tidak yakin maka akan keluar posedur (exit sub) begitu saja. Berikut ini
adalah contoh sederhana dari penggunaan konsep pengampunan :
Konsep Otomatisasi Penomoran
Suatu tabel pada umumnya mempunyai suatu kunci unik (primary key). Kunci ini tentunya
telah mengikuti pola penomoran tertentu. Seperti : F0001 untuk record faktur ke-1, B0001
untuk record barang ke-1, dan sebagainya. Ketika kita ingin melakukan penambahan record
pada suatu tabel, maka sebaiknya dilakukan penomoran kunci secara otomatis untuk
menghindari kesalahan waktu kita melakukan input. Berikut ini adalah contoh sederhana dari
penggunaan konsep otomatisasi penomoran :
Private Sub cmddel_Click()
If MsgBox("Apakah Data Akan Dihapus [Y/T] ?", vbYesNo + vbQuestion, "Pesan
Hapus") = vbYes Then
RsObat.Delete
RsObat.MoveFirst
Tampil
DataGrid1.Refresh
Else
Exit Sub
End If
End Sub
Private Sub KosongPesan()
Dim NoPes As Integer
txttanggal.Text = Date
If RSPesanH.RecordCount = 1 Then
txtnopesan.Text = "F00001"
Else
RSPesanH.MoveLast
NoPes = Val(Right(RSPesanH![NoPesan], 5)) + 1
txtnopesan.Text = Format(NoPes, "F00000")
End If
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 12
Konsep Prosedur
Pada Visual Basic, kita mengenal 2 scope prosedur, yaitu : private dan public, sedang dari sisi
tipenya ada sub dan function. Pada workshop kita kali ini, kita akan menggunakan sub dan
kedua scope prosedur. Private sub berarti prosedurnya hanya dikenal di salah satu form saja.
Sedangkan Public sub berarti prosedurnya dikenal diseluruh form dan pada umumnya kita
membuatnya di sebuah module.
Nanti kita akan membuat banyak prosedur baru (private sub) pada setiap form, karena agar
program kita lebih simpel dan jika terjadi kesalahan mudah diperbaiki. Pemanggilan prosedur
dilakukan dengan menulis nama prosedurnya atau menggunakan perintah call nama prosedur.
Jadi siap-siap untuk mengetik banyak prosedur.
Konsep SQL
Kita akan memanfaatkan statement SQL dalam Visual Basic untuk melakukan seleksi atas
sesuatu hal (fungsi select). Hal ini berarti SQL bertindak sebagai embedded language. Yang
akan kita gunakan dalam hal ini adalah bahasa DML (Data Manipulation Language) terutama
perintah select. Adapun sintaks lengkap dari perintah select adalah sebagai berikut :
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr, ...
[INTO OUTFILE 'file_name' export_options
| INTO DUMPFILE 'file_name']
[FROM table_references
[WHERE where_definition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_definition]
[ORDER BY {col_name | expr | position}
[ASC | DESC] , ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[FOR UPDATE | LOCK IN SHARE MODE]]
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 13
Perancangan & Implementasi
Konsep 1 Berdo’a sesuai kepercayaannya, karena ini adalah faktor x terpenting yang akan
menentukan keberhasilan kita dalam membuat sesuatu (project)
Konsep 2 Buat folder sendiri untuk menyimpan seluruh pekerjaan (database & project
visual basic) yang akan kita buat, Nama foldernya adalah nama peserta masingmasing.
Konsep 3 Buat database menggunakan Microsoft Access berikut tabel-tabel & query yang
sudah ternormalisasi, simpan hasilnya di folder yang sudah kita buat.
Konsep 4 Setelah sukses membuat tabel-tabel & query, maka kita akan mengisi data pada
tabel master sesuai nama & fungsinya. Untuk tabel transaksinya tidak perlu diisi
datanya karena akan diisi melalui form transaksi.
Konsep 5 Buat Project baru menggunakan Visual Basic dengan kriteria “Standard EXE”,
kemudian simpan di folder yang sama dengan database Access kita.
Konsep 6 Tambahkan beberapa form, semoga waktunya cukup. Form ini mempunyai
fungsi yang khusus dan ditujukan untuk menangani database kita. Form ini
nantinya akan berupa form master, form transaksi dan form menu.
Konsep 7 Desainlah form sesuai tujuannya. Berikan nama pada masing-masing kontrol.
Setelah form selesai didesain, maka kita mulai mengetik coding pada area view
code.
Konsep8 Tambahkan sebuah modul, menu Project �� Add Module �� Open. Bagian ini
berguna untuk deklarasi variabel global dan untuk membuat prosedur koneksi ke
database, hehehe ketik terus pokoknya.
Konsep 9 Seandainya masih ada waktu, kita juga akan buat laporan “sangat sederhana”
menggunakan “data report”. Dari menu Project �� Add Data Report
Konsep 10 Jangan heran yach, nanti kita akan buat banyak prosedur, “hey jelasin tuh dia
fungsinya untuk apa ?” iya nanti saya jelaskan, ini baru konsep, sabar-sabar
nyebut donk.
Konsep 11 Karena ini adalah pelajaran mengetik, jadi gunakan 11 jari Anda untuk mengetik
dengan cepat dan kita berlomba dengan waktu.
Konsep 12 Berdo’a kembali, agar hasilnya sesuai yang kita inginkan
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 14
Data Bukti
B
SISTEM
PENJUALA
N
BARANG
Studi Kasus
PT. JavaCom merupakan perusahaan yang bergerak dalam bidang penjualan komputer
dan aksesorisnya. PT. JavaCom ingin melakukan peningkatan pelayanan terhadap pelanggan.
Hal ini dilakukan dengan menerapkan sistem komputerisasi penjualan pada perusahaannya.
Dalam hal ini, bagian penjualan berasumsi bahwa stok barang yang akan dijual dalam
keadaan terpenuhi. Selanjutnya pembeli dapat membeli komputer dan aksesorisnya dengan
cara tunai. Dalam hal ini, pembeli tidak perlu melakukan pemesanan terlebih dahulu ketika
ingin membeli barang.
Data yang dicatat oleh bagian penjualan kemudian direkap dan dibuatkan laporan
sesuai dengan kebutuhan sistem. Laporan yang diinginkan pimpinan adalah laporan daftar
barang, laporan pembeli, dan laporan penjualan.
Dari Kegiatan permasalahan yang telah diuraikan, maka terdapat tiga proses yang
terjadi pada PT. Javacom, yakni :
1. Proses Pembelian
Pembeli dapat datang langsung untuk membeli barang yang diperlukan. Pembelian
dilakukan secara tunai. Kemudian barang-barang yang dibeli langsung direcord ke dalam
komputer.
2. Proses Pembayaran
Setelah pembeli membeli barang, maka pembeli melakukan proses pembayaran
berdasarkan barang yang telah dibeli.
3. Proses Pembuatan Laporan
Setelah proses pembelian dan pembayaran dilakukan, maka dibuatlah laporan yang
dibutuhkan pimpinan perusahaan. Laporan yang diinginkan pimpinan adalah laporan daftar
barang, laporan pembeli, dan laporan penjualan.
Skema DFD
Level Kontek
Data Customer
• L. Daftar Brg
• L. Customer
• L. Penjualan
CUSTOMER PIMPINAN
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 15
Data Bukti
B
PROSES
BELI
1.0
PROSES
BAYAR
2.0
PROSES
LAPORAN
3.0
Level Nol
Skema Normalisasi 3 NF
Data Customer
Data Customer
Data Customer
Data Barang
Data Bayar
Data Customer
Data Barang
Data Pembayaran
• L. Daftar Brg
• L. Customer
• L. Penjualan
F. Barang
CUSTOMER F. Customer
PIMPINAN
F. Bayar
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 16
Step By Step
Akhirnya sampailah kita pada saat yang berbahagia dengan selamat dan sentosa. Ya sudah
kita mulai membuat project…semangat !!!
Part 1. Microsoft Access
1. Buat Folder baru dengan nama masing-masing di drive D:\
2. Buka Microsoft Access, lalu buat database baru (create new database) dengan nama
penjualan.mdb, simpan di folder yang telah dibuat, misal D:\yoga\penjualan.mdb
3. Buat Tabel Barang dengan field sebagai berikut (KodeBarang sebagai primary key):
4. Isi tabel barang sesuai selera Anda (tapi yang ada hubungannya dengan komputer)
minimal 10 record barang.
5. Buat Tabel Customer dengan field sebagai berikut (KodeCustomer sebagai primary key):
6. Isi tabel customer sesuai selera Anda minimal 5 record customer.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 17
7. Buat Tabel BeliHeader dengan field sebagai berikut (NoFaktur sebagai primary key) :
8. Buat Tabel BeliDetail dengan field sebagai berikut :
9. Buat Tabel Pembayaran dengan field sebagai berikut (NoBayar sebagai primary key) :
10. Buat Query Qpenjualan dengan field sebagai berikut :
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 18
Part 2. Microsoft Visual Basic
1. Bukalah program visual basic, kemudian buat project baru dengan jenis Standard Exe.
2. Tambahkan 5 form baru, sehingga terdapat 6 form yang akan kita gunakan (form
barang, form customer, form laporan, form menu utama, form penjualan dan form
pembayaran.
3. Sebelum mendesain form, jangan lupa tambahkan component data grid, list view dan
sstab dari menu component (CTRL+T) > lihat cara sebelumnya.
4. Kemudian gunakan referensi ADO yaitu Microsoft Activex Data Object 2.x dari menu
project �� references.
5. Berikut ini desain menu utama.
6. Berkut ini desain menu laporan.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 19
7. Berikut ini desain form barang.
8. Berikut ini desain form customer.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 20
9. Berikut ini desain form penjualan.
10. Berikut ini desain form pembayaran.
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 21
11. Berikut ini desain laporan data barang
12. Berikut ini desain laporan data customer
13. Berikut ini desain laporan penjualan
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 22
14. Berikut ini desain laporan pembayaran
15. Berikut ini desain faktur penjualan
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 23
Listing Program Lengkap
Form Barang
Public char As String
Public v, i As Integer
Private Sub Form_Load()
Me.Top = (Screen.Height - Height) / 2
Me.Left = (Screen.Width - Width) / 2
Call BukaKoneksi
Call Tampil
Call DGBarang
Barang.Caption = " Master Barang "
char = Me.Caption
v = Len(char)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Tombol True
Call Kosong
MenuUtama.Show
Unload Me
End Sub
Private Sub Tampil()
On Error Resume Next
txtkode.Text = RSBarang!KodeBarang
txtnama.Text = RSBarang!NamaBarang
txtharga.Text = RSBarang!Harga
txtjenis.Text = RSBarang!Jenis
On Error GoTo 0
End Sub
Private Sub Kosong()
txtkode.Text = ""
txtnama.Text = ""
txtharga.Text = ""
txtjenis.Text = ""
End Sub
Private Sub DGBarang()
Set RSBarang = New ADODB.Recordset
RSBarang.CursorLocation = adUseClient
RSBarang.Open "select * from barang", DB, adOpenDynamic,
adLockOptimistic
Set DataGrid1.DataSource = RSBarang
AturDataGrid
DataGrid1.Refresh
End Sub
Private Sub AturDataGrid()
DataGrid1.Columns(0).Width = 1200
DataGrid1.Columns(1).Width = 3200
DataGrid1.Columns(2).Width = 1600
DataGrid1.Columns(3).Width = 1600
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 24
Private Sub Tombol(Buka As Boolean)
cmdadd.Enabled = Buka
cmdedit.Enabled = Buka
cmddel.Enabled = Buka
cmdfind.Enabled = Buka
End Sub
Private Sub KosongBarang()
Dim Kobar As Integer
If RSBarang.RecordCount = 0 Then
txtkode.Text = "B0001"
Else
RSBarang.MoveLast
Kobar = Right(RSBarang![KodeBarang], 4) + 1
txtkode.Text = Format(Kobar, "B0000")
End If
End Sub
Private Sub cmdadd_Click()
Call Kosong
Tombol False
Call KosongBarang
txtnama.SetFocus
End Sub
Private Sub cmdsave_Click()
On Error Resume Next
If MsgBox("Apakah Data Akan Disimpan [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Simpan") = vbYes Then
RSBarang.AddNew
RSBarang!KodeBarang = txtkode.Text
RSBarang!NamaBarang = txtnama.Text
RSBarang!Harga = txtharga.Text
RSBarang!Jenis = txtjenis.Text
RSBarang.Update
DataGrid1.Refresh
Call Kosong
Tombol True
Else
Exit Sub
End If
On Error GoTo 0
End Sub
Private Sub cmdedit_Click()
RSBarang!KodeBarang = txtkode.Text
RSBarang!NamaBarang = txtnama.Text
RSBarang!Harga = txtharga.Text
RSBarang!Jenis = txtjenis.Text
RSBarang.Update
DataGrid1.Refresh
End Sub
Private Sub cmddel_Click()
If MsgBox("Apakah Data Akan Dihapus [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Hapus") = vbYes Then
RSBarang.Delete
RSBarang.MoveFirst
Call Tampil
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 25
DataGrid1.Refresh
Else
Exit Sub
End If
End Sub
Private Sub cmdexit_Click()
If MsgBox("Apakah Akan Keluar Form [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Keluar") = vbYes Then
Call Kosong
Tombol True
MenuUtama.Show
Unload Me
Else
Exit Sub
End If
End Sub
Private Sub cmdfind_Click()
CARI = InputBox("Ketik Kode Barang Yang Dicari !", "Cari Barang")
Dim Ketemu As Integer
Ketemu = 0
RSBarang.MoveFirst
Do Until RSBarang.EOF
If UCase(Trim(RSBarang!KodeBarang)) = UCase(Trim(CARI)) Then
Ketemu = 1
Exit Do
End If
RSBarang.MoveNext
Loop
If Ketemu = 1 Then
Call Tampil
Else
MsgBox "Data Tidak Ditemukan", vbOKOnly, "Pesan Cari"
End If
End Sub
Private Sub cmdfirst_Click()
RSBarang.MoveFirst
Call Tampil
Tombol True
End Sub
Private Sub cmdnext_Click()
RSBarang.MoveNext
If RSBarang.EOF Then
MsgBox "Data Sudah Di Akhir", vbOKOnly, "Pesan Next"
RSBarang.MoveLast
End If
Call Tampil
Tombol True
End Sub
Private Sub cmdprev_Click()
RSBarang.MovePrevious
If RSBarang.BOF Then
MsgBox "Data Sudah Di Awal", vbOKOnly, "Pesan Previous"
RSBarang.MoveFirst
End If
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 26
Call Tampil
Tombol True
End Sub
Private Sub cmdlast_Click()
RSBarang.MoveLast
Call Tampil
Tombol True
End Sub
Private Sub txtcarikode_Change()
Set RSBarang = New ADODB.Recordset
RSBarang.CursorLocation = adUseClient
RSBarang.Open "Select * From Barang Where KodeBarang Like '" &
txtcarikode.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RSBarang
AturDataGrid
DataGrid1.Refresh
End Sub
Private Sub txtcarinama_Change()
Set RSBarang = New ADODB.Recordset
RSBarang.CursorLocation = adUseClient
RSBarang.Open "Select * From Barang Where NamaBarang Like '" &
txtcarinama.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RSBarang
AturDataGrid
DataGrid1.Refresh
End Sub
Private Sub Timer1_Timer()
Me.Caption = Left$(char, i)
i = i + 1
If i = v Then
i = 0
End If
End Sub
Private Sub txtharga_KeyPress(KeyAscii As Integer)
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack
Then
Exit Sub
ElseIf KeyAscii = vbKeyReturn Then
txtharga.SetFocus
Else
MsgBox "Data Harus Angka..!", vbOKOnly + vbInformation, "Pesan
Kesalahan"
KeyAscii = vbKeyBack
End If
End Sub
Form Customer
Public char As String
Public v, i As Integer
Private Sub Form_Load()
Me.Top = (Screen.Height - Height) / 2
Me.Left = (Screen.Width - Width) / 2
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 27
Call BukaKoneksi
Call Tampil
Call DGCustomer
Customer.Caption = " Master Customer "
char = Me.Caption
v = Len(char)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Tombol True
Call Kosong
MenuUtama.Show
Unload Me
End Sub
Private Sub Tampil()
On Error Resume Next
txtkode.Text = RSCustomer!KodeCustomer
txtnama.Text = RSCustomer!NamaCustomer
txtalamat.Text = RSCustomer!Alamat
txtkota.Text = RSCustomer!Kota
txttelepon.Text = RSCustomer!Telepon
On Error GoTo 0
End Sub
Private Sub Kosong()
txtkode.Text = ""
txtnama.Text = ""
txtalamat.Text = ""
txtkota.Text = ""
txttelepon.Text = ""
End Sub
Private Sub DGCustomer()
Set RSCustomer = New ADODB.Recordset
RSCustomer.CursorLocation = adUseClient
RSCustomer.Open "select * from customer", DB, adOpenDynamic,
adLockOptimistic
Set DataGrid1.DataSource = RSCustomer
AturDataGrid
DataGrid1.Refresh
End Sub
Private Sub AturDataGrid()
DataGrid1.Columns(0).Width = 1200
DataGrid1.Columns(1).Width = 2000
DataGrid1.Columns(2).Width = 2000
DataGrid1.Columns(3).Width = 1200
DataGrid1.Columns(4).Width = 1200
End Sub
Private Sub Tombol(Buka As Boolean)
cmdadd.Enabled = Buka
cmdedit.Enabled = Buka
cmddel.Enabled = Buka
cmdfind.Enabled = Buka
End Sub
Private Sub KosongCustomer()
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 28
Dim Kode As Integer
If RSCustomer.RecordCount = 0 Then
txtkode.Text = "K0001"
Else
RSCustomer.MoveLast
Kode = Right(RSCustomer![KodeCustomer], 4) + 1
txtkode.Text = Format(Kode, "K0000")
End If
End Sub
Private Sub cmdadd_Click()
Call Kosong
Tombol False
Call KosongCustomer
txtnama.SetFocus
End Sub
Private Sub cmdsave_Click()
On Error Resume Next
If MsgBox("Apakah Data Akan Disimpan [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Simpan") = vbYes Then
RSCustomer.AddNew
RSCustomer!KodeCustomer = txtkode.Text
RSCustomer!NamaCustomer = txtnama.Text
RSCustomer!Alamat = txtalamat.Text
RSCustomer!Kota = txtkota.Text
RSCustomer!Telepon = txttelepon.Text
RSCustomer.Update
DataGrid1.Refresh
Call Kosong
Tombol True
Else
Exit Sub
End If
Tombol True
On Error GoTo 0
End Sub
Private Sub cmdedit_Click()
RSCustomer!KodeCustomer = txtkode.Text
RSCustomer!NamaCustomer = txtnama.Text
RSCustomer!Alamat = txtalamat.Text
RSCustomer!Kota = txtkota.Text
RSCustomer!Telepon = txttelepon.Text
RSCustomer.Update
DataGrid1.Refresh
End Sub
Private Sub cmddel_Click()
If MsgBox("Apakah Data Akan Dihapus [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Hapus") = vbYes Then
RSCustomer.Delete
RSCustomer.MoveFirst
Call Tampil
DataGrid1.Refresh
Else
Exit Sub
End If
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 29
Private Sub cmdfind_Click()
CARI = InputBox("Ketik Kode Customer Yang Dicari !", "Cari Customer")
Dim Ketemu As Integer
Ketemu = 0
RSCustomer.MoveFirst
Do Until RSCustomer.EOF
If UCase(Trim(RSCustomer!KodeCustomer)) = UCase(Trim(CARI)) Then
Ketemu = 1
Exit Do
End If
RSCustomer.MoveNext
Loop
If Ketemu = 1 Then
Call Tampil
Else
MsgBox "Data Tidak Ditemukan", vbOKOnly, "Pesan Cari"
End If
End Sub
Private Sub cmdexit_Click()
If MsgBox("Apakah Akan Keluar Form [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Keluar") = vbYes Then
Call Kosong
Tombol True
MenuUtama.Show
Unload Me
Else
Exit Sub
End If
End Sub
Private Sub cmdfirst_Click()
RSCustomer.MoveFirst
Call Tampil
Tombol True
End Sub
Private Sub cmdnext_Click()
RSCustomer.MoveNext
If RSCustomer.EOF Then
MsgBox "Data Sudah Di Akhir", vbOKOnly, "Pesan Next"
RSCustomer.MoveLast
End If
Call Tampil
Tombol True
End Sub
Private Sub cmdprev_Click()
RSCustomer.MovePrevious
If RSCustomer.BOF Then
MsgBox "Data Sudah Di Awal", vbOKOnly, "Pesan Previous"
RSCustomer.MoveFirst
End If
Call Tampil
Tombol True
End Sub
Private Sub cmdlast_Click()
RSCustomer.MoveLast
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 30
Call Tampil
Tombol True
End Sub
Private Sub txtcarikode_Change()
Set RSCustomer = New ADODB.Recordset
RSCustomer.CursorLocation = adUseClient
RSCustomer.Open "Select * From Customer Where KodeCustomer Like '" &
txtcarikode.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RSCustomer
AturDataGrid
DataGrid1.Refresh
End Sub
Private Sub txtcarinama_Change()
Set RSCustomer = New ADODB.Recordset
RSCustomer.CursorLocation = adUseClient
RSCustomer.Open "Select * From Customer Where NamaCustomer Like '" &
txtcarinama.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RSCustomer
AturDataGrid
DataGrid1.Refresh
End Sub
Private Sub Timer1_Timer()
Me.Caption = Left$(char, i)
i = i + 1
If i = v Then
i = 0
End If
End Sub
Form Laporan
Public char As String
Public v, i As Integer
Private Sub Form_Load()
Me.Top = (Screen.Height - Height) / 2
Me.Left = (Screen.Width - Width) / 2
Call BukaKoneksi
Laporan.Caption = " Menu Laporan "
char = Me.Caption
v = Len(char)
End Sub
Private Sub Form_Unload(Cancel As Integer)
MenuUtama.Show
Unload Me
End Sub
Private Sub cmdbarang_Click()
On Error Resume Next
Set RSBarang = New ADODB.Recordset
RSBarang.Open "select * from barang", DB, adOpenDynamic,
adLockOptimistic
Set DataReport1.DataSource = RSBarang
DataReport1.Sections("Detail").Controls("Text1").DataField =
"KodeBarang"
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 31
DataReport1.Sections("Detail").Controls("Text2").DataField =
"NamaBarang"
DataReport1.Sections("Detail").Controls("Text3").DataField = "Harga"
DataReport1.Sections("Detail").Controls("Text4").DataField = "Jenis"
DataReport1.Show
On Error GoTo 0
End Sub
Private Sub cmdcustomer_Click()
On Error Resume Next
Set RSCustomer = New ADODB.Recordset
RSCustomer.Open "select * from customer", DB, adOpenDynamic,
adLockOptimistic
Set DataReport2.DataSource = RSCustomer
DataReport2.Sections("Detail").Controls("Text1").DataField =
"KodeCustomer"
DataReport2.Sections("Detail").Controls("Text2").DataField =
"NamaCustomer"
DataReport2.Sections("Detail").Controls("Text3").DataField = "Alamat"
DataReport2.Sections("Detail").Controls("Text4").DataField = "Kota"
DataReport2.Sections("Detail").Controls("Text5").DataField = "Telepon"
DataReport2.Show
On Error GoTo 0
End Sub
Private Sub cmdpenjualan_Click()
On Error Resume Next
Set RSBeliHeader = New ADODB.Recordset
RSBeliHeader.Open "select * from beliheader", DB, adOpenDynamic,
adLockOptimistic
Set DataReport3.DataSource = RSBeliHeader
DataReport3.Sections("Detail").Controls("Text1").DataField =
"NoFaktur"
DataReport3.Sections("Detail").Controls("Text2").DataField = "Tanggal"
DataReport3.Sections("Detail").Controls("Text3").DataField =
"KodeCustomer"
DataReport3.Sections("Detail").Controls("Text4").DataField =
"SubTotal"
DataReport3.Sections("Detail").Controls("Text5").DataField = "Diskon"
DataReport3.Sections("Detail").Controls("Text6").DataField = "Pajak"
DataReport3.Sections("Detail").Controls("Text7").DataField =
"GrandTotal"
DataReport3.Show
On Error GoTo 0
End Sub
Private Sub cmdpembayaran_Click()
On Error Resume Next
Set RSPembayaran = New ADODB.Recordset
RSPembayaran.Open "select * from pembayaran", DB, adOpenDynamic,
adLockOptimistic
Set DataReport4.DataSource = RSPembayaran
DataReport4.Sections("Detail").Controls("Text1").DataField = "NoBayar"
DataReport4.Sections("Detail").Controls("Text2").DataField =
"TanggalBayar"
DataReport4.Sections("Detail").Controls("Text3").DataField =
"KodeCustomer"
DataReport4.Sections("Detail").Controls("Text4").DataField =
"NoFaktur"
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 32
DataReport4.Sections("Detail").Controls("Text5").DataField =
"SubTotal"
DataReport4.Sections("Detail").Controls("Text6").DataField = "Diskon"
DataReport4.Sections("Detail").Controls("Text7").DataField = "Pajak"
DataReport4.Sections("Detail").Controls("Text8").DataField =
"GrandTotal"
DataReport4.Show
On Error GoTo 0
End Sub
Private Sub cmdkembali_Click()
MenuUtama.Show
Unload Me
End Sub
Private Sub cmdbarang_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
cmdbarang.BackColor = &HE29B81
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdkembali.BackColor = &HB0D798
End Sub
Private Sub cmdcustomer_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HE29B81
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdkembali.BackColor = &HB0D798
End Sub
Private Sub cmdpenjualan_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HE29B81
cmdpembayaran.BackColor = &HB0D798
cmdkembali.BackColor = &HB0D798
End Sub
Private Sub cmdpembayaran_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HE29B81
cmdkembali.BackColor = &HB0D798
End Sub
Private Sub cmdkembali_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdkembali.BackColor = &HE29B81
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 33
Private Sub Timer1_Timer()
Me.Caption = Left$(char, i)
i = i + 1
If i = v Then
i = 0
End If
End Sub
Form Menu Utama
Public char As String
Public v, i As Integer
Private Sub Form_Load()
Me.Top = (Screen.Height - Height) / 2
Me.Left = (Screen.Width - Width) / 2
MenuUtama.Caption = " Menu Utama "
char = Me.Caption
v = Len(char)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Me.Hide
MsgBox "Terima Kasih Telah Menggunakan Aplikasi Ini, Untuk Kritik Dan
Saran Kirimkan Ke : yoga.prihastomo@gmail.com", vbOKOnly + vbInformation,
"Pesan Keluar"
End
End Sub
Private Sub cmdbarang_Click()
Barang.Show
Me.Hide
End Sub
Private Sub cmdcustomer_Click()
Customer.Show
Me.Hide
End Sub
Private Sub cmdpenjualan_Click()
Penjualan.Show
Me.Hide
End Sub
Private Sub cmdpembayaran_Click()
Pembayaran.Show
Me.Hide
End Sub
Private Sub cmdlaporan_Click()
Laporan.Show
Me.Hide
End Sub
Private Sub cmdpenyusun_Click()
About.Show
Me.Hide
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 34
Private Sub cmdkeluar_Click()
If MsgBox("Apakah Akan Keluar Aplikasi [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Keluar") = vbYes Then
MsgBox "Terima Kasih Telah Menggunakan Aplikasi Ini, Untuk Kritik
Dan Saran Kirimkan Ke : yoga.prihastomo@gmail.com", vbOKOnly +
vbInformation, "Pesan Keluar"
End
Else
Exit Sub
End If
End Sub
Private Sub cmdbarang_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
cmdbarang.BackColor = &HE29B81
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdlaporan.BackColor = &HB0D798
cmdkeluar.BackColor = &HB0D798
End Sub
Private Sub cmdcustomer_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HE29B81
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdlaporan.BackColor = &HB0D798
cmdkeluar.BackColor = &HB0D798
End Sub
Private Sub cmdpenjualan_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HE29B81
cmdpembayaran.BackColor = &HB0D798
cmdlaporan.BackColor = &HB0D798
cmdkeluar.BackColor = &HB0D798
End Sub
Private Sub cmdpembayaran_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HE29B81
cmdlaporan.BackColor = &HB0D798
cmdkeluar.BackColor = &HB0D798
End Sub
Private Sub cmdlaporan_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdlaporan.BackColor = &HE29B81
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 35
cmdkeluar.BackColor = &HB0D798
End Sub
Private Sub cmdpenyusun_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdlaporan.BackColor = &HB0D798
cmdkeluar.BackColor = &HB0D798
End Sub
Private Sub cmdkeluar_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
cmdbarang.BackColor = &HB0D798
cmdcustomer.BackColor = &HB0D798
cmdpenjualan.BackColor = &HB0D798
cmdpembayaran.BackColor = &HB0D798
cmdlaporan.BackColor = &HB0D798
cmdkeluar.BackColor = &HE29B81
End Sub
Private Sub Timer1_Timer()
Me.Caption = Left$(char, i)
i = i + 1
If i = v Then
i = 0
End If
End Sub
Form Pembayaran
Public char As String
Public v, i As Integer
Private Sub Form_Load()
Me.Top = (Screen.Height - Height) / 2
Me.Left = (Screen.Width - Width) / 2
Call BukaKoneksi
Call DGPenjualan
Call DGPembayaran
Call KosongBayar
Pembayaran.Caption = " Form Pembayaran "
char = Me.Caption
v = Len(char)
End Sub
Private Sub Form_Unload(Cancel As Integer)
MenuUtama.Show
Unload Me
End Sub
Private Sub DGPenjualan()
Set RSBeliHeader = New ADODB.Recordset
RSBeliHeader.CursorLocation = adUseClient
RSBeliHeader.Open "select * from beliheader", DB, adOpenDynamic,
adLockOptimistic
Set DataGrid1.DataSource = RSBeliHeader
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 36
DataGrid1.Refresh
End Sub
Private Sub DGPembayaran()
Set RSPembayaran = New ADODB.Recordset
RSPembayaran.CursorLocation = adUseClient
RSPembayaran.Open "select * from pembayaran", DB, adOpenDynamic,
adLockOptimistic
Set DataGrid2.DataSource = RSPembayaran
AturPembayaran
DataGrid2.Refresh
End Sub
Private Sub AturPembayaran()
DataGrid2.Columns(0).Width = 800
DataGrid2.Columns(1).Width = 1100
DataGrid2.Columns(2).Width = 1100
DataGrid2.Columns(3).Width = 1100
DataGrid2.Columns(4).Width = 1100
DataGrid2.Columns(5).Width = 1100
DataGrid2.Columns(6).Width = 1100
DataGrid2.Columns(7).Width = 1200
End Sub
Private Sub DataGrid1_Click()
txtkodecus.Text = RSBeliHeader!KodeCustomer
txtnofak.Text = RSBeliHeader!NoFaktur
txtsubtot.Text = RSBeliHeader!SubTotal
txtdiskon.Text = RSBeliHeader!Diskon
txtpajak.Text = RSBeliHeader!Pajak
txtgrand.Text = RSBeliHeader!GrandTotal
End Sub
Private Sub Kosong()
txtnobayar.Text = ""
txttanggal.Text = ""
txtkodecus.Text = ""
txtnofak.Text = ""
txtsubtot.Text = ""
txtdiskon.Text = ""
txtpajak.Text = ""
txtgrand.Text = ""
End Sub
Private Sub KosongBayar()
Dim NoBayar As Integer
txttanggal.Text = Date
If RSPembayaran.RecordCount = 0 Then
txtnobayar.Text = "FB001"
Else
RSPembayaran.MoveLast
NoBayar = Right(RSPembayaran![NoBayar], 3) + 1
txtnobayar.Text = Format(NoBayar, "FB000")
End If
End Sub
Private Sub cmdsave_Click()
On Error Resume Next
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 37
If MsgBox("Apakah Data Akan Disimpan [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Simpan") = vbYes Then
RSPembayaran.AddNew
RSPembayaran![NoBayar] = txtnobayar.Text
RSPembayaran![TanggalBayar] = txttanggal.Text
RSPembayaran![KodeCustomer] = txtkodecus.Text
RSPembayaran![NoFaktur] = txtnofak.Text
RSPembayaran![SubTotal] = txtsubtot.Text
RSPembayaran![Diskon] = txtdiskon.Text
RSPembayaran![Pajak] = txtpajak.Text
RSPembayaran![GrandTotal] = txtgrand.Text
RSPembayaran.Update
DGPembayaran
Kosong
KosongBayar
Else
Exit Sub
End If
On Error GoTo 0
End Sub
Private Sub cmdadd_Click()
DGPembayaran
Call Kosong
Call KosongBayar
End Sub
Private Sub cmdcancel_Click()
Call Kosong
End Sub
Private Sub cmdexit_Click()
If MsgBox("Apakah Akan Keluar Form [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Keluar") = vbYes Then
MenuUtama.Show
Unload Me
Else
Exit Sub
End If
End Sub
Private Sub Timer1_Timer()
Me.Caption = Left$(char, i)
i = i + 1
If i = v Then
i = 0
End If
End Sub
Form Penjualan
Public char As String
Public v, i As Integer
Private Sub Form_Load()
Me.Top = (Screen.Height - Height) / 2
Me.Left = (Screen.Width - Width) / 2
Call BukaKoneksi
Call KosongJual
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 38
Call DGCustomer
Call DGBarang
Penjualan.Caption = " Form Penjualan "
char = Me.Caption
v = Len(char)
End Sub
Private Sub Form_Unload(Cancel As Integer)
MenuUtama.Show
Unload Me
End Sub
Private Sub Kosong()
txtkobar.Text = ""
txtnabar.Text = ""
txtharga.Text = ""
txtqty.Text = ""
txttotal.Text = ""
End Sub
Private Sub KosongJual()
Dim NoFak As Integer
txttanggal.Text = Date
If RSBeliHeader.RecordCount = 0 Then
txtnofak.Text = "F0001"
Else
RSBeliHeader.MoveLast
NoFak = Right(RSBeliHeader![NoFaktur], 4) + 1
txtnofak.Text = Format(NoFak, "F0000")
End If
End Sub
Private Sub DGCustomer()
Set RSCustomer = New ADODB.Recordset
RSCustomer.CursorLocation = adUseClient
RSCustomer.Open "select * from customer", DB, adOpenDynamic,
adLockOptimistic
Set DataGrid1.DataSource = RSCustomer
AturCustomer
DataGrid1.Refresh
End Sub
Private Sub AturCustomer()
DataGrid1.Columns(0).Width = 1200
DataGrid1.Columns(1).Width = 2500
DataGrid1.Columns(2).Width = 2500
DataGrid1.Columns(3).Width = 1300
DataGrid1.Columns(4).Width = 1300
End Sub
Private Sub DGBarang()
Set RSBarang = New ADODB.Recordset
RSBarang.CursorLocation = adUseClient
RSBarang.Open "select * from barang", DB, adOpenDynamic,
adLockOptimistic
Set DataGrid2.DataSource = RSBarang
AturBarang
DataGrid2.Refresh
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 39
Private Sub AturBarang()
DataGrid2.Columns(0).Width = 1300
DataGrid2.Columns(1).Width = 3500
DataGrid2.Columns(2).Width = 2000
DataGrid2.Columns(3).Width = 2000
End Sub
Private Sub DataGrid1_Click()
txtkodecus.Text = RSCustomer!KodeCustomer
txtnamacus.Text = RSCustomer!NamaCustomer
txtalamat.Text = RSCustomer!Alamat
txtkota.Text = RSCustomer!Kota
txttelepon.Text = RSCustomer!Telepon
End Sub
Private Sub DataGrid2_Click()
txtkobar.Text = RSBarang!KodeBarang
txtnabar.Text = RSBarang!NamaBarang
txtharga.Text = RSBarang!Harga
End Sub
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
X = ListView1.SelectedItem.Index
txtkobar.Text = ListView1.ListItems(X).Text
txtnabar.Text = ListView1.ListItems(X).SubItems(1)
txtharga.Text = ListView1.ListItems(X).SubItems(2)
txtqty.Text = ListView1.ListItems(X).SubItems(3)
txttotal.Text = ListView1.ListItems(X).SubItems(4)
End Sub
Private Sub txtqty_Change()
Dim vtxttotal
vtxttotal = Val(txtharga) * Val(txtqty)
txttotal.Text = vtxttotal
End Sub
Private Sub txtqty_KeyPress(KeyAscii As Integer)
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack
Then
Exit Sub
ElseIf KeyAscii = vbKeyReturn Then
txtqty.SetFocus
Else
MsgBox "Data Harus Angka..!", vbOKOnly + vbInformation, "Pesan
Kesalahan"
KeyAscii = vbKeyBack
End If
End Sub
Private Sub cmdadd_Click()
ListView1.ListItems.Add(, , txtkobar).Text = txtkobar.Text
X = ListView1.ListItems.Count
ListView1.ListItems(X).SubItems(1) = txtnabar.Text
ListView1.ListItems(X).SubItems(2) = txtharga.Text
ListView1.ListItems(X).SubItems(3) = txtqty.Text
ListView1.ListItems(X).SubItems(4) = txttotal.Text
txtsubtot = Val(txttotal) + ListView1.ListItems(X).SubItems(4)
txtdiskon = Val(txtsubtot) * 0.05
txtpajak = Val(txtsubtot) * 0.1
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 40
txtgrandtot = Val(txtsubtot) + Val(txtpajak) - Val(txtdiskon)
Call Kosong
txtkobar.SetFocus
End Sub
Private Sub cmdsave_Click()
On Error Resume Next
If MsgBox("Apakah Data Akan Disimpan [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Simpan") = vbYes Then
RSBeliHeader.AddNew
RSBeliHeader![NoFaktur] = txtnofak.Text
RSBeliHeader![Tanggal] = txttanggal.Text
RSBeliHeader![KodeCustomer] = txtkodecus.Text
RSBeliHeader![SubTotal] = txtsubtot.Text
RSBeliHeader![Diskon] = txtdiskon.Text
RSBeliHeader![Pajak] = txtpajak.Text
RSBeliHeader![GrandTotal] = txtgrandtot.Text
RSBeliHeader.Update
For X = 1 To ListView1.ListItems.Count
RSBeliDetail.AddNew
RSBeliDetail![NoFaktur] = txtnofak.Text
RSBeliDetail![KodeBarang] = ListView1.ListItems(X).Text
RSBeliDetail![NamaBarang] = ListView1.ListItems(X).SubItems(1)
RSBeliDetail![Harga] = ListView1.ListItems(X).SubItems(2)
RSBeliDetail![Qty] = ListView1.ListItems(X).SubItems(3)
RSBeliDetail![Total] = ListView1.ListItems(X).SubItems(4)
RSBeliDetail.Update
Next X
Else
Exit Sub
End If
On Error GoTo 0
End Sub
Private Sub cmddelete_Click()
ListView1.ListItems.Remove (ListView1.SelectedItem.Index)
Call Kosong
End Sub
Private Sub cmdedit_Click()
For X = 1 To ListView1.ListItems.Count
If ListView1.ListItems(X).Text = txtkobar.Text Then
baris = X
Exit For
End If
Next
ListView1.ListItems(baris).SubItems(3) = txtqty.Text
Call Kosong
txtkobar.SetFocus
End Sub
Private Sub cmdcancel_Click()
ListView1.ListItems.Clear
End Sub
Private Sub cmdprint_Click()
On Error Resume Next
Set RSQPenjualan = New ADODB.Recordset
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 41
Strsql = "Select * From QPenjualan Where NoFaktur = '" & txtnofak & "'
And KodeCustomer = '" & txtkodecus & "'"
RSQPenjualan.Open Strsql, DB, adOpenDynamic, adLockOptimistic
Set DataReport5.DataSource = RSQPenjualan
With DataReport5
.Sections("Header").Controls("lblnofak").Caption = txtnofak.Text
.Sections("Header").Controls("lbltanggal").Caption =
txttanggal.Text
.Sections("Header").Controls("lblkode").Caption = txtkodecus.Text
.Sections("Header").Controls("lblnama").Caption = txtnamacus.Text
.Sections("Detail").Controls("Text1").DataField = "KodeBarang"
.Sections("Detail").Controls("Text2").DataField = "NamaBarang"
.Sections("Detail").Controls("Text3").DataField = "Harga"
.Sections("Detail").Controls("Text4").DataField = "QTY"
.Sections("Detail").Controls("Text5").DataField = "Total"
End With
DataReport5.Show
On Error GoTo 0
End Sub
Private Sub cmdexit_Click()
If MsgBox("Apakah Akan Keluar Form [Y/T] ?", vbYesNo + vbQuestion,
"Pesan Keluar") = vbYes Then
MenuUtama.Show
Unload Me
Else
Exit Sub
End If
End Sub
Private Sub txtcarikodecus_Change()
Set RSCustomer = New ADODB.Recordset
RSCustomer.CursorLocation = adUseClient
RSCustomer.Open "Select * From Customer Where KodeCustomer Like '" &
txtcarikodecus.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RSCustomer
AturCustomer
DataGrid1.Refresh
End Sub
Private Sub txtcarinamacus_Change()
Set RSCustomer = New ADODB.Recordset
RSCustomer.CursorLocation = adUseClient
RSCustomer.Open "Select * From Customer Where NamaCustomer Like '" &
txtcarinamacus.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RSCustomer
AturCustomer
DataGrid1.Refresh
End Sub
Private Sub txtcarikobar_Change()
Set RSBarang = New ADODB.Recordset
RSBarang.CursorLocation = adUseClient
RSBarang.Open "Select * From Barang Where KodeBarang Like '" &
txtcarikobar.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid2.DataSource = RSBarang
AturBarang
DataGrid2.Refresh
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Halaman 42
Private Sub txtcarinabar_Change()
Set RSBarang = New ADODB.Recordset
RSBarang.CursorLocation = adUseClient
RSBarang.Open "Select * From Barang Where NamaBarang Like '" &
txtcarinabar.Text & "%'", DB, adOpenDynamic, adLockOptimistic
Set DataGrid2.DataSource = RSBarang
AturBarang
DataGrid2.Refresh
End Sub
Private Sub Timer1_Timer()
Me.Caption = Left$(char, i)
i = i + 1
If i = v Then
i = 0
End If
End Sub
Workshop Pemrograman Dasar Database Dengan Visual Basic 6
Bahasa C untuk Pemula (Tugas Algoritma dan Pemrograman Tingkat Lanjut
Tugas ini sebenarnya hanya pada lingkup Arry, tetapi dari Array yang telah ditentukan diharuskan untuk dimanipulasi sebagai berikut:
Array yang ada : int data[6]={7,8,3,5,9,1};
- Membuat Program untuk menentukan Nilai Terbesar
- Membuat Program untuk menentukan Nilai Terkecil
- Membuat Program untuk menentukan Rata-rata penjumlahan array
- Membuat Program untuk menentukan nilai standart deviasi
- Membuat Program untuk Mengkopi nilai array
- Membuat Program untuk Mengecek nilai array yang telah dicopy
Konsep Pemrograman Berorientasi Obye
Tujuan : Memberikan latar belakang serta
pemahaman tentang konsep
pemrograman berorientasi obyek dan
perbandingannya dengan pemrograman
prosedural.
Topik : Pemrograman prosedural vs pemrograman
berorientasi obyek
Mengorganisasi program menjadi element yang
disebut sebagai class, dan bagaimana class ini
digunakan untuk membuat obyek.
Struktur class: tingkah laku (behavior) dan
atribut (attributes).
Konsep OOP
Cara kompile dan menjalankan aplikasi Java
Bahasa Prosedural
Serangkaian tugas diselesaikan dalam bentuk
fungsi atau prosedur.
Cara pandang �� program adalah suatu urutan
instruksi.
Programer harus me-break down suatu problem
menjadi sub problem yang lebih simple.
Fungsi dan prosedur menjadi fokus utama.
Fungsi dan prosedur digunakan untuk
memanipulasi data.
Data bersifat pasif.
Pemrograman Berorientasi Obyek
Fungsi dan data bukan menjadi dua hal
yang terpisah.
Fungsi dan data menjadi satu kesatuan
yang disebut sebagai obyek aktif.
Cara pandang �� program adalah
serangkaian obyek yang bekerjasama
untuk menyelesaikan suatu problem.
Procedural vs OOP
Focusing on the way
a computer handles
tasks
Focusing on the task
you are using the
computer for
Apakah Obyek?
Semua benda yang ada di dunia nyata
dapat dianggap sebagai obyek.
Contoh : rumah, mobil, sepeda motor,
gelas, komputer, meja dll.
Karakteristik Obyek
Setiap obyek memiliki atribut sebagai status
(state).
Setiap obyek memiliki tingkah laku (behavior)
Contoh: obyek sepeda
�� Memiliki atribut (state) ��: pedal, roda, jeruji, warna,
jumlah roda.
�� Memiliki tingkah laku (behavior) �� : kecepatanya
menaik, kecepatannya menurun, perpindahan gigi
sepeda.
Karakteristik Obyek
Penggambaran pemrograman berorientasi
obyek = penggambaran pada dunia nyata.
Pada pemrograman berorientasi obyek:
�� State disimpan pada �� variabel
�� Tingkah laku disimpan pada �� method
Apakah Class?
Definisi class: merupakan template untuk
membuat obyek.
Definisi class: merupakan prototipe / blue prints
yang mendefinisikan variabel – variabel dan
method – method secara umum.
Obyek merupakan hasil instansiasi dari suatu
kelas.
Proses pembentukan obyek dari suatu class
disebut dengan instantiation.
Obyek disebut juga instances.
Attributes
Definisi atribut : adalah data yang membedakan
antara obyek satu dengan yang lain.
Contoh: VolcanoRobot �� A volcanic exploration
vehicle, mempunyai atribut sebagai berikut:
�� Status �� exploring, moving, returning home
�� Speed �� in miles per hour
�� Temperature, in Fahrenheit degrees
Dalam class atribut disebut sebagai variabel.
Attributes
Instance variable: adalah atribut untuk tiap obyek dari
class yang sama.
Tiap obyek mempunyai dan menyimpan nilai atributnya
sendiri.
Jadi tiap obyek dari class yang sama boleh mempunyai
nilai yang sama atau beda.
Class variable: adalah atribut untuk semua obyek yang
dibuat dari class yang sama.
Semua obyek mempunyai nilai atribut yang sama.
Jadi semua obyek dari class yang sama mempunyai
hanya satu nilai yang value nya sama.
Behavior
Behavior / tingkah laku adalah hal – hal yang
bisa dilakukan oleh obyek dari suatu class.
Behavior dapat digunakan untuk mengubah nilai
atribut suatu obyek, menerima informasi dari
obyek lain, dan mengirim informasi ke obyek lain
untuk melakukan suatu task.
Contoh: VolcanoRobot
�� Check current temperature
�� Begin a survey
�� Report its current location
Dalam class, behavior disebut juga sebagai
methods.
Behavior
Methods: adalah serangkaian statements
dalam suatu class yang menghandle suatu
task tertentu.
Cara obyek berkomunikasi dengan obyek
lain adalah dengan menggunakan method.
Contoh: class, object, attributtes,
dan behavior
nama class
instance variable
methods
Contoh: lanjutan
Konsep Dasar OOP
Enkapsulasi (Encapsulation)
Penurunan (Inheritance)
Polimorfisme (Polymorphism)
Enkapsulasi
Definisi enkapsulasi: Pembungkusan
variabel dan method dalam sebuah obyek
yang terlindungi serta menyediakan
interface untuk mengakses variabel
tersebut.
Variabel dan method yang dipunyai suatu
obyek, bisa ditentukan hak aksesnya.
Enkapsulasi
Contoh: jam tangan
�� Penting sekali untuk mengetahui waktu.
�� Cara jam mencatat waktu dengan baik antara
jam bertenaga baterai atau bertenaga gerak
tidaklah penting kita ketahui.
Dalam OOP, konsep enkapsulasi
sebenarnya merupakan perluasan dari
struktur dalam bahasa C.
Pewarisan
Definisi : merupakan pewarisan atribut dan
method dari sebuah class ke class
lainnya.
Class yang mewarisi �� superclass
Class yang diwarisi �� subclass
Subclass bisa berlaku sebagai superclass
bagi class lainya �� multilevel inheritance.
Pewarisan
Contoh : terdapat class sepeda dan sepeda
gunung.
�� Sepeda �� superclass
�� Sepeda gunung �� subclass
�� Sepeda gunung memiliki variabel dan method yang
dimiliki oleh sepeda.
Prinsip : Persamaan-persamaan yang dimiliki
oleh beberapa kelas dapat digabungkan dalam
sebuah class induk sehingga setiap kelas yang
diturunkannya memuat hal-hal yang spesifik
untuk kelas yang bersangkutan.
Pewarisan
Sepeda
Sepeda
Gunung
Sepeda
Balap
Sepeda
Motor
Keuntungan pewarisan
Subclass menyediakan state/behaviour yang
spesifik yang membedakan dengan superclass
�� memungkinkan programmer untuk
menggunakan ulang source code dari
superclass yang telah ada.
Programmer dapat mendefinisikan superclass
khusus yang bersifat generik, yang disebut
abstract class, untuk mendefinisikan class
dengan tingkah laku dan state secara umum.
Single dan multiple inheritance
C �� multiple inheritance
Suatu class diperbolehkan untuk mempunyai
lebih dari satu superclass.
Variabel dan method yang diwariskan
merupakan kombinasi dari superclass-nya.
Java �� single inheritance
Suatu class hanya boleh mempunyai satu
superclass.
Multilevel inheritance
Suatu subclass bisa menjadi superclass
bagi class yang lain.
Polimorfisme
Definisi: Kemampuan suatu obyek untuk
mempunyai lebih dari satu bentuk .
Teknologi Java2Platform
Enterprise Edition(J2EE)
Standard Edition (J2SE)
Micro Edition (J2ME)
What is the Java Technology?
A programming language
A development environment
An application environment
A deployment environment
A programming language
Sintak bahasa pemrograman java mirip
dengan bahasa C++
A development environment
Teknologi java menyediakan: kompiler,
interpreter, documentation generator,
class file packaging.
An application environment
Merupakan standalone program yang
tidak memerlukan web browser untuk
mengeksekusi program (applet).
A deployment environment
Terdapat 2 deployment environment
utama:
�� JRE (Java Runtime Environment) yang
menyediakan class-class yang tersimpan
dalam package-package, komponen GUI
class, dan Collection API.
�� Web browser �� banyak web browser
komersial yang menyediakan lingkungan Java
Technology interpreter dan runtime.
Instalasi Linux Fedora Core
Instalasi ini dengan menggunaka CD atau DVD, dan pada saat booting pertama kali rubahlah first boot dengan menggunakan CD atau DVD yang ada pada PC atau laptop anda. pada saat instalasi, akan ada pernyataan yang intinya untuk memeriksa CD atau DVD terjadi kerusakan atau tidak. Anda yakin tidak terjadi kerusakan, maka pilihlah SKIP. Apabila anda memilih OK, maka akan memeriksa CD atau DVD yang anda masukkan. Selanjutnya akan ditampilkan semacam GUI untuk instalasi selanjutnya, berikut yang akan ditampilkan GUI pada saat instalasi : 1. Pilihan Bahasa
Pilihan ini digunakan untuk menentukan bahasa yang digunakan selama proses instalasi. Aku memilih bahasa Indonesia karena orang indonesia, ya karena newbie
……..
2. Konfigurasi Keyboard
Memilih layout keyboard yang digunakan. Pilihan ini akan menentukan penerjemahan tombol-tombol keyboard yang digunakan oleh sistem. Saya memilih U.S. English. Sebagian besar layout keyboard yang beredar di Indonesia adalah U.S. English.
3. Pilihan Modus Instalasi (Instal atau Upgrade)
Secara otomatis program instalasi Fedora Core akan mendeteksi ada tidaknya instalasi Fedora Core pada sistem sebelumnya. Jika sudah terdapat instalasi Fedora Core versi-versi sebelumnya, maka akan tampil pilihan Upgrade an existing Installation. Aku memilih instalasi Fedora Core yang baru pada sistem, dengan memilih Install Fedora Core.
4. Pemilihan Partisi Harddisk
Tersedia pilihan untuk mempartisi harddisk sebagai berikut:
Remove all Linux partitions on this system – pilihan ini untuk menghapus hanya partisi Linux saja.
Remove all partitions on this system – pilihan ini akan menghapus semua partisi pada harddisk.
Keep all partitions and use existing free space – pilihan ini untuk melakukan partisi dan instalasi sisa harddisk. Artinya, proses instalasi tidak akan menghapus partisi yang sudah
ada, tetapi akan membuat partisi yang baru di sisa harddisk yang belum terpakai.
Create custom layout – pilihan ini untuk melakukan partisi sesuai dengan kemauan kita. Aku memilih partisi harddisk secara manual dengan menggunakan Create Custom Layout.
5. Konfigurasi Partisi Harddisk
Harddisk notebook sebesar 40 GB dipartisi menjadi 5. Aku membuat sebuah VolumeGroup partisi LVM (Logical Volume Management) untuk menyimpan partisi / dan swap. Untuk lebih mudah lagi anda bisa gunakan partion magic pada windows untuk partisi hardisk dilinux, agar mudah dalam konfigurasinya. Sebelumya aku telah partisi pada windows tinggal memberikan menyimpan partisi pada / (sebagi root).
6. Konfigurasi Boot Loader
Untuk menjalankan sistem tanpa menggunakan disket boot, perlu diinstalasi sebuah boot loader ke harddisk. Boot loader adalah program yang akan dimuat oleh BIOS komputer dan
bertanggung jawab untuk membaca kernel sistem operasi dan memberikan kendali jalannya sistem kepada kernel tersebut. Pada akhirnya kernel akan melakukan inisialisasi terhadap
sistem dan mengendalikannya.
Program instalasi menyediakan dua pilihan, yaitu GRUB atau tanpa boot loader. GRUB (Grand Unified Bootloader), dijadikan boot loader default pada Fedora Core 6. GRUB mampu memuat berbagai sistem operasi dan dapat diinstal pada salah satu lokasi berikut:
1. Master Boot Record (MBR)
2. Sektor pertama pada partisi boot
Aku menggunakan GRUB sebagai boot loader dan GRUB diinstal pada MBR .
7. Konfigurasi Jaringan
Dalam tahap ini, akan dilakukan konfigurasi network card. Pada notebook saya, menggunakan network card Broadcom Corporation NetXtreme Fast Ethernet. Program
instalasi telah mendeteksi adanya sebuah network card dan menampilkannya dalam daftarjaringan sebagai eth0.
Langkah selanjutnya adalah menentukan informasi untuk network card tersebut. Informasi ini meliputi IP address, netmask jaringan, nama host (hostname), gateway, dan Domain Name Server (DNS) jaringan. Aku disini menggunaka DHCP, jadi ga konfigurasi jaringan deh
.
8. Pilihan Time Zone
Menentukan time zone sesuai dengan wilayah waktu. Saya memilih Asia/Jakarta (Java & Sumatra), untuk Waktu Indonesia bagian Barat. Hapus tanda check untuk pilihan System clock uses UTC.
9. Menentukan Password Root
Root adalah user yang digunakan untuk administrasi sistem. Pada menu, diminta untuk memasukkan password dua kali untuk memastikan password yang dimasukkan benar-benar
sesuai dengan yang dimaksud dan tidak terjadi salah ketik ketika memasukkan password. Password root minimal terdiri dari 6 karakter.
10. Memilih Group Paket
Pada langkah sebelumnya, saya telah memilih instalasi model Custom. Dengan pilihan ini saya akan memilih sendiri paket yang akan diinstal pada sistem. Saya memilih beberapa
paket yang dibutuhkan untuk keperluan demo server, diantaranya DNS, Web Server, Proxy,
Firewall, VNC, Samba, NFS dan File Server, paket X Window (termasuk display manager XDM dan GDM) dan untuk desktop saya menggunakan GNOME.
11. Instalasi Paket
Proses instalasi diawali dengan membuat filesystem (memformat) partisi yang telah dibuat, mengaktifkan partisi swap, dan sebagainya. Setelah itu satu persatu paket software akan diinstalasi pada sistem. Selama proses instalasi, pada layar akan ditampilkan perkembangan dari proses instalasi.
12. Instalasi Selesai
Program instalasi akan menampilkan konfirmasi untuk melakukan reboot mesin, dengan sebelumnya mengeluarkan DVD-ROM dari DVD Drive. Setelah mesin di-reboot, sistem siap untuk digunakan.
publish: http://www.linukx.com/instalasi-linux-fedora-core/
by:linux guy
Pilihan ini digunakan untuk menentukan bahasa yang digunakan selama proses instalasi. Aku memilih bahasa Indonesia karena orang indonesia, ya karena newbie

2. Konfigurasi Keyboard
Memilih layout keyboard yang digunakan. Pilihan ini akan menentukan penerjemahan tombol-tombol keyboard yang digunakan oleh sistem. Saya memilih U.S. English. Sebagian besar layout keyboard yang beredar di Indonesia adalah U.S. English.
3. Pilihan Modus Instalasi (Instal atau Upgrade)
Secara otomatis program instalasi Fedora Core akan mendeteksi ada tidaknya instalasi Fedora Core pada sistem sebelumnya. Jika sudah terdapat instalasi Fedora Core versi-versi sebelumnya, maka akan tampil pilihan Upgrade an existing Installation. Aku memilih instalasi Fedora Core yang baru pada sistem, dengan memilih Install Fedora Core.
4. Pemilihan Partisi Harddisk
Tersedia pilihan untuk mempartisi harddisk sebagai berikut:
Remove all Linux partitions on this system – pilihan ini untuk menghapus hanya partisi Linux saja.
Remove all partitions on this system – pilihan ini akan menghapus semua partisi pada harddisk.
Keep all partitions and use existing free space – pilihan ini untuk melakukan partisi dan instalasi sisa harddisk. Artinya, proses instalasi tidak akan menghapus partisi yang sudah
ada, tetapi akan membuat partisi yang baru di sisa harddisk yang belum terpakai.
Create custom layout – pilihan ini untuk melakukan partisi sesuai dengan kemauan kita. Aku memilih partisi harddisk secara manual dengan menggunakan Create Custom Layout.
5. Konfigurasi Partisi Harddisk
Harddisk notebook sebesar 40 GB dipartisi menjadi 5. Aku membuat sebuah VolumeGroup partisi LVM (Logical Volume Management) untuk menyimpan partisi / dan swap. Untuk lebih mudah lagi anda bisa gunakan partion magic pada windows untuk partisi hardisk dilinux, agar mudah dalam konfigurasinya. Sebelumya aku telah partisi pada windows tinggal memberikan menyimpan partisi pada / (sebagi root).
6. Konfigurasi Boot Loader
Untuk menjalankan sistem tanpa menggunakan disket boot, perlu diinstalasi sebuah boot loader ke harddisk. Boot loader adalah program yang akan dimuat oleh BIOS komputer dan
bertanggung jawab untuk membaca kernel sistem operasi dan memberikan kendali jalannya sistem kepada kernel tersebut. Pada akhirnya kernel akan melakukan inisialisasi terhadap
sistem dan mengendalikannya.
Program instalasi menyediakan dua pilihan, yaitu GRUB atau tanpa boot loader. GRUB (Grand Unified Bootloader), dijadikan boot loader default pada Fedora Core 6. GRUB mampu memuat berbagai sistem operasi dan dapat diinstal pada salah satu lokasi berikut:
1. Master Boot Record (MBR)
2. Sektor pertama pada partisi boot
Aku menggunakan GRUB sebagai boot loader dan GRUB diinstal pada MBR .
7. Konfigurasi Jaringan
Dalam tahap ini, akan dilakukan konfigurasi network card. Pada notebook saya, menggunakan network card Broadcom Corporation NetXtreme Fast Ethernet. Program
instalasi telah mendeteksi adanya sebuah network card dan menampilkannya dalam daftarjaringan sebagai eth0.
Langkah selanjutnya adalah menentukan informasi untuk network card tersebut. Informasi ini meliputi IP address, netmask jaringan, nama host (hostname), gateway, dan Domain Name Server (DNS) jaringan. Aku disini menggunaka DHCP, jadi ga konfigurasi jaringan deh

8. Pilihan Time Zone
Menentukan time zone sesuai dengan wilayah waktu. Saya memilih Asia/Jakarta (Java & Sumatra), untuk Waktu Indonesia bagian Barat. Hapus tanda check untuk pilihan System clock uses UTC.
9. Menentukan Password Root
Root adalah user yang digunakan untuk administrasi sistem. Pada menu, diminta untuk memasukkan password dua kali untuk memastikan password yang dimasukkan benar-benar
sesuai dengan yang dimaksud dan tidak terjadi salah ketik ketika memasukkan password. Password root minimal terdiri dari 6 karakter.
10. Memilih Group Paket
Pada langkah sebelumnya, saya telah memilih instalasi model Custom. Dengan pilihan ini saya akan memilih sendiri paket yang akan diinstal pada sistem. Saya memilih beberapa
paket yang dibutuhkan untuk keperluan demo server, diantaranya DNS, Web Server, Proxy,
Firewall, VNC, Samba, NFS dan File Server, paket X Window (termasuk display manager XDM dan GDM) dan untuk desktop saya menggunakan GNOME.
11. Instalasi Paket
Proses instalasi diawali dengan membuat filesystem (memformat) partisi yang telah dibuat, mengaktifkan partisi swap, dan sebagainya. Setelah itu satu persatu paket software akan diinstalasi pada sistem. Selama proses instalasi, pada layar akan ditampilkan perkembangan dari proses instalasi.
12. Instalasi Selesai
Program instalasi akan menampilkan konfirmasi untuk melakukan reboot mesin, dengan sebelumnya mengeluarkan DVD-ROM dari DVD Drive. Setelah mesin di-reboot, sistem siap untuk digunakan.
publish: http://www.linukx.com/instalasi-linux-fedora-core/
by:linux guy
Merakit Personal Computer
Berikut ini akan dibahas mengenai bagaimana cara merakit komputer, terutama bagi mereka yang baru belajar .. dari beberapa referensi yang saya pelajari .. maka berikut ini akan dijelaskan langkah demi langkah cara merakit komputer, mudah-mudahan bermanfaat .. Red. deden
Komponen perakit komputer tersedia di pasaran dengan beragam pilihan kualitas dan harga. Dengan merakit sendiri komputer, kita dapat menentukan jenis komponen, kemampuan serta fasilitas dari komputer sesuai kebutuhan.Tahapan dalam perakitan komputer terdiri dari:
A. Persiapan
B. Perakitan
C. Pengujian
D. Penanganan Masalah

Persiapan
Persiapan yang baik akan memudahkan dalam perakitan komputer serta menghindari permasalahan yang mungkin timbul.Hal yang terkait dalam persiapan meliputi:
Konfigurasi komputer berkait dengan penentuan jenis komponen dan fitur dari komputer serta bagaimana seluruh komponen dapat bekerja sebagai sebuah sistem komputer sesuai keinginan kita.Penentuan komponen dimulai dari jenis prosessor, motherboard, lalu komponen lainnya. Faktor kesesuaian atau kompatibilitas dari komponen terhadap motherboard harus diperhatikan, karena setiap jenis motherboard mendukung jenis prosessor, modul memori, port dan I/O bus yang berbeda-beda.
Persiapan Komponen dan Perlengkapan
Komponen komputer beserta perlengkapan untuk perakitan dipersiapkan untuk perakitan dipersiapkan lebih dulu untuk memudahkan perakitan. Perlengkapan yang disiapkan terdiri dari:

Buku manual diperlukan sebagai rujukan untuk mengatahui diagram posisi dari elemen koneksi (konektor, port dan slot) dan elemen konfigurasi (jumper dan switch) beserta cara setting jumper dan switch yang sesuai untuk komputer yang dirakit.Diskette atau CD Software diperlukan untuk menginstall Sistem Operasi, device driver dari piranti, dan program aplikasi pada komputer yang selesai dirakit.
Pengamanan
Tindakan pengamanan diperlukan untuk menghindari masalah seperti kerusakan komponen oleh muatan listrik statis, jatuh, panas berlebihan atau tumpahan cairan.Pencegahan kerusakan karena listrik statis dengan cara:

Perakitan
Tahapan proses pada perakitan komputer terdiri dari:
Periksa buku manual motherboard untuk mengetahui posisi jumper untuk pengaturan CPU speed, speed multiplier dan tegangan masukan ke motherboard. Atur seting jumper sesuai petunjuk, kesalahan mengatur jumper tegangan dapat merusak prosessor.

2. Memasang Prosessor
Prosessor lebih mudah dipasang sebelum motherboard menempati casing. Cara memasang prosessor jenis socket dan slot berbeda.Jenis socket

3. Memasang Heatsink
Fungsi heatsink adalah membuang panas yang dihasilkan oleh prosessor lewat konduksi panas dari prosessor ke heatsink.Untuk mengoptimalkan pemindahan panas maka heatsink harus dipasang rapat pada bagian atas prosessor dengan beberapa clip sebagai penahan sedangkan permukaan kontak pada heatsink dilapisi gen penghantar panas.Bila heatsink dilengkapi dengan fan maka konektor power pada fan dihubungkan ke konektor fan pada motherboard.

4. Memasang Modul Memori
Modul memori umumnya dipasang berurutan dari nomor socket terkecil. Urutan pemasangan dapat dilihat dari diagram motherboard.Setiap jenis modul memori yakni SIMM, DIMM dan RIMM dapat dibedakan dengan posisi lekukan pada sisi dan bawah pada modul.Cara memasang untuk tiap jenis modul memori sebagai berikut.
Jenis SIMM

Jenis DIMM dan RIMM
Cara memasang modul DIMM dan RIMM sama dan hanya ada satu cara sehingga tidak akan terbalik karena ada dua lekukan sebagai panduan. Perbedaanya DIMM dan RIMM pada posisi lekukan

5. Memasang Motherboard pada Casing
Motherboard dipasang ke casing dengan sekerup dan dudukan (standoff). Cara pemasangannya sebagai berikut:

6. Memasang Power Supply
Beberapa jenis casing sudah dilengkapi power supply. Bila power supply belum disertakan maka cara pemasangannya sebagai berikut:
Setelah motherboard terpasang di casing langkah selanjutnya adalah memasang kabel I/O pada motherboard dan panel dengan casing.
Prosedur memasang drive hardisk, floppy, CD ROM, CD-RW atau DVD adalah sama sebagai berikut:
9. Memasang Card Adapter
Card adapter yang umum dipasang adalah video card, sound, network, modem dan SCSI adapter. Video card umumnya harus dipasang dan diinstall sebelum card adapter lainnya. Cara memasang adapter:
Komputer yang baru selesai dirakit dapat diuji dengan menjalankan program setup BIOS. Cara melakukan pengujian dengan program BIOS sebagai berikut:
Penanganan Masalah
Permasalahan yang umum terjadi dalam perakitan komputer dan penanganannya antara lain:
Sumber : www.google.com
Komponen perakit komputer tersedia di pasaran dengan beragam pilihan kualitas dan harga. Dengan merakit sendiri komputer, kita dapat menentukan jenis komponen, kemampuan serta fasilitas dari komputer sesuai kebutuhan.Tahapan dalam perakitan komputer terdiri dari:
A. Persiapan
B. Perakitan
C. Pengujian
D. Penanganan Masalah

Persiapan
Persiapan yang baik akan memudahkan dalam perakitan komputer serta menghindari permasalahan yang mungkin timbul.Hal yang terkait dalam persiapan meliputi:
- Penentuan Konfigurasi Komputer
- Persiapan Kompunen dan perlengkapan
- Pengamanan
Konfigurasi komputer berkait dengan penentuan jenis komponen dan fitur dari komputer serta bagaimana seluruh komponen dapat bekerja sebagai sebuah sistem komputer sesuai keinginan kita.Penentuan komponen dimulai dari jenis prosessor, motherboard, lalu komponen lainnya. Faktor kesesuaian atau kompatibilitas dari komponen terhadap motherboard harus diperhatikan, karena setiap jenis motherboard mendukung jenis prosessor, modul memori, port dan I/O bus yang berbeda-beda.
Persiapan Komponen dan Perlengkapan
Komponen komputer beserta perlengkapan untuk perakitan dipersiapkan untuk perakitan dipersiapkan lebih dulu untuk memudahkan perakitan. Perlengkapan yang disiapkan terdiri dari:
- Komponen komputer
- Kelengkapan komponen seperti kabel, sekerup, jumper, baut dan sebagainya
- Buku manual dan referensi dari komponen
- Alat bantu berupa obeng pipih dan philips

Buku manual diperlukan sebagai rujukan untuk mengatahui diagram posisi dari elemen koneksi (konektor, port dan slot) dan elemen konfigurasi (jumper dan switch) beserta cara setting jumper dan switch yang sesuai untuk komputer yang dirakit.Diskette atau CD Software diperlukan untuk menginstall Sistem Operasi, device driver dari piranti, dan program aplikasi pada komputer yang selesai dirakit.
Pengamanan
Tindakan pengamanan diperlukan untuk menghindari masalah seperti kerusakan komponen oleh muatan listrik statis, jatuh, panas berlebihan atau tumpahan cairan.Pencegahan kerusakan karena listrik statis dengan cara:
- Menggunakan gelang anti statis atau menyentuh permukaan logam pada casing sebelum memegang komponen untuk membuang muatan statis.
- Tidak menyentuh langsung komponen elektronik, konektor atau jalur rangkaian tetapi memegang pada badan logam atau plastik yang terdapat pada komponen.

Perakitan
Tahapan proses pada perakitan komputer terdiri dari:
- Penyiapan motherboard
- Memasang Prosessor
- Memasang heatsink
- Memasang Modul Memori
- memasang Motherboard pada Casing
- Memasang Power Supply
- Memasang Kabel Motherboard dan Casing
- Memasang Drive
- Memasang card Adapter
- Penyelesaian Akhir
Periksa buku manual motherboard untuk mengetahui posisi jumper untuk pengaturan CPU speed, speed multiplier dan tegangan masukan ke motherboard. Atur seting jumper sesuai petunjuk, kesalahan mengatur jumper tegangan dapat merusak prosessor.

2. Memasang Prosessor
Prosessor lebih mudah dipasang sebelum motherboard menempati casing. Cara memasang prosessor jenis socket dan slot berbeda.Jenis socket
- Tentukan posisi pin 1 pada prosessor dan socket prosessor di motherboard, umumnya terletak di pojok yang ditandai dengan titik, segitiga atau lekukan.
- Tegakkan posisi tuas pengunci socket untuk membuka.
- Masukkan prosessor ke socket dengan lebih dulu menyelaraskan posisi kaki-kaki prosessor dengan lubang socket. rapatkan hingga tidak terdapat celah antara prosessor dengan socket.
- Turunkan kembali tuas pengunci.
- Pasang penyangga (bracket) pada dua ujung slot di motherboard sehingga posisi lubang pasak bertemu dengan lubang di motherboard
- Masukkan pasak kemudian pengunci pasak pada lubang pasak

3. Memasang Heatsink
Fungsi heatsink adalah membuang panas yang dihasilkan oleh prosessor lewat konduksi panas dari prosessor ke heatsink.Untuk mengoptimalkan pemindahan panas maka heatsink harus dipasang rapat pada bagian atas prosessor dengan beberapa clip sebagai penahan sedangkan permukaan kontak pada heatsink dilapisi gen penghantar panas.Bila heatsink dilengkapi dengan fan maka konektor power pada fan dihubungkan ke konektor fan pada motherboard.

4. Memasang Modul Memori
Modul memori umumnya dipasang berurutan dari nomor socket terkecil. Urutan pemasangan dapat dilihat dari diagram motherboard.Setiap jenis modul memori yakni SIMM, DIMM dan RIMM dapat dibedakan dengan posisi lekukan pada sisi dan bawah pada modul.Cara memasang untuk tiap jenis modul memori sebagai berikut.
Jenis SIMM
- Sesuaikan posisi lekukan pada modul dengan tonjolan pada slot.
- Masukkan modul dengan membuat sudut miring 45 derajat terhadap slot
- Dorong hingga modul tegak pada slot, tuas pengunci pada slot akan otomatis mengunci modul.

Jenis DIMM dan RIMM
Cara memasang modul DIMM dan RIMM sama dan hanya ada satu cara sehingga tidak akan terbalik karena ada dua lekukan sebagai panduan. Perbedaanya DIMM dan RIMM pada posisi lekukan
- Rebahkan kait pengunci pada ujung slot
- sesuaikan posisi lekukan pada konektor modul dengan tonjolan pada slot. lalu masukkan modul ke slot.
- Kait pengunci secara otomatis mengunci modul pada slot bila modul sudah tepat terpasang.

5. Memasang Motherboard pada Casing
Motherboard dipasang ke casing dengan sekerup dan dudukan (standoff). Cara pemasangannya sebagai berikut:
- Tentukan posisi lubang untuk setiap dudukan plastik dan logam. Lubang untuk dudukan logam (metal spacer) ditandai dengan cincin pada tepi lubang.
- Pasang dudukan logam atau plastik pada tray casing sesuai dengan posisi setiap lubang dudukan yang sesuai pada motherboard.
- Tempatkan motherboard pada tray casing sehinga kepala dudukan keluar dari lubang pada motherboard. Pasang sekerup pengunci pada setiap dudukan logam.
- Pasang bingkai port I/O (I/O sheild) pada motherboard jika ada.
- Pasang tray casing yang sudah terpasang motherboard pada casing dan kunci dengan sekerup.

6. Memasang Power Supply
Beberapa jenis casing sudah dilengkapi power supply. Bila power supply belum disertakan maka cara pemasangannya sebagai berikut:
- Masukkan power supply pada rak di bagian belakang casing. Pasang ke empat buah sekerup pengunci.
- HUbungkan konektor power dari power supply ke motherboard. Konektor power jenis ATX hanya memiliki satu cara pemasangan sehingga tidak akan terbalik. Untuk jenis non ATX dengan dua konektor yang terpisah maka kabel-kabel ground warna hitam harus ditempatkan bersisian dan dipasang pada bagian tengah dari konektor power motherboard. Hubungkan kabel daya untuk fan, jika memakai fan untuk pendingin CPU.
Setelah motherboard terpasang di casing langkah selanjutnya adalah memasang kabel I/O pada motherboard dan panel dengan casing.
- Pasang kabel data untuk floppy drive pada konektor pengontrol floppy di motherboard
- Pasang kabel IDE untuk pada konektor IDE primary dan secondary pada motherboard.
- Untuk motherboard non ATX. Pasang kabel port serial dan pararel pada konektor di motherboard. Perhatikan posisi pin 1 untuk memasang.
- Pada bagian belakang casing terdapat lubang untuk memasang port tambahan jenis non slot. Buka sekerup pengunci pelat tertutup lubang port lalumasukkan port konektor yang ingin dipasang dan pasang sekerup kembali.
- Bila port mouse belum tersedia di belakang casing maka card konektor mouse harus dipasang lalu dihubungkan dengan konektor mouse pada motherboard.
- Hubungan kabel konektor dari switch di panel depan casing, LED, speaker internal dan port yang terpasang di depan casing bila ada ke motherboard. Periksa diagram motherboard untuk mencari lokasi konektor yang tepat.
Prosedur memasang drive hardisk, floppy, CD ROM, CD-RW atau DVD adalah sama sebagai berikut:
- Copot pelet penutup bay drive (ruang untuk drive pada casing)
- Masukkan drive dari depan bay dengan terlebih dahulu mengatur seting jumper (sebagai master atau slave) pada drive.
- Sesuaikan posisi lubang sekerup di drive dan casing lalu pasang sekerup penahan drive.
- Hubungkan konektor kabel IDE ke drive dan konektor di motherboard (konektor primary dipakai lebih dulu)
- Ulangi langkah 1 samapai 4 untuk setiap pemasangan drive.
- Bila kabel IDE terhubung ke du drive pastikan perbedaan seting jumper keduanya yakni drive pertama diset sebagai master dan lainnya sebagai slave.
- Konektor IDE secondary pada motherboard dapat dipakai untuk menghubungkan dua drive tambahan.
- Floppy drive dihubungkan ke konektor khusus floppy di motherboard
9. Memasang Card Adapter
Card adapter yang umum dipasang adalah video card, sound, network, modem dan SCSI adapter. Video card umumnya harus dipasang dan diinstall sebelum card adapter lainnya. Cara memasang adapter:
- Pegang card adapter pada tepi, hindari menyentuh komponen atau rangkaian elektronik. Tekan card hingga konektor tepat masuk pada slot ekspansi di motherboard
- Pasang sekerup penahan card ke casing
- Hubungkan kembali kabel internal pada card, bila ada.
- Pasang penutup casing dengan menggeser
- sambungkan kabel dari catu daya ke soket dinding.
- Pasang konektor monitor ke port video card.
- Pasang konektor kabel telepon ke port modem bila ada.
- Hubungkan konektor kabel keyboard dan konektor mouse ke port mouse atau poert serial (tergantung jenis mouse).
- Hubungkan piranti eksternal lainnya seperti speaker, joystick, dan microphone bila ada ke port yang sesuai. Periksa manual dari card adapter untuk memastikan lokasi port.
Komputer yang baru selesai dirakit dapat diuji dengan menjalankan program setup BIOS. Cara melakukan pengujian dengan program BIOS sebagai berikut:
- Hidupkan monitor lalu unit sistem. Perhatikan tampilan monitor dan suara dari speaker.
- Program FOST dari BIOS secara otomatis akan mendeteksi hardware yang terpasang dikomputer. Bila terdapat kesalahan maka tampilan monitor kosong dan speaker mengeluarkan bunyi beep secara teratur sebagai kode indikasi kesalahan. Periksa referensi kode BIOS untuk mengetahui indikasi kesalahan yang dimaksud oleh kode beep.
- Jika tidak terjadi kesalahan maka monitor menampilkan proses eksekusi dari program POST. ekan tombol interupsi BIOS sesuai petunjuk di layar untuk masuk ke program setup BIOS.
- Periksa semua hasil deteksi hardware oleh program setup BIOS. Beberapa seting mungkin harus dirubah nilainya terutama kapasitas hardisk dan boot sequence.
- Simpan perubahan seting dan keluar dari setup BIOS.
Penanganan Masalah
Permasalahan yang umum terjadi dalam perakitan komputer dan penanganannya antara lain:
- Komputer atau monitor tidak menyala, kemungkinan disebabkan oleh switch atau kabel daya belum terhubung.
- Card adapter yang tidak terdeteksi disebabkan oleh pemasangan card belum pas ke slot/
Sumber : www.google.com
Langganan:
Postingan (Atom)