Showing posts with label Tips Programming. Show all posts
Showing posts with label Tips Programming. Show all posts

Contoh Relasi Antar Tabel (aplikasi penjualan)

RELASI ANTAR TABEL (APLIKASI PENJUALAN)




Penjelasan Relasi Tabel:

  • Tabel Grup dengan tabel Produk memiliki relasi one to many, artinya setiap grup dapat memiliki lebih dari satu produk. Field penghubung antar tabelnya adalah Kode_Grup, dimana di dalam tabel Grup sebagai kunci utama (primary key) dan di dalam tabel Produk memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Produk dengan tabel Barang memiliki relasi one to many, artinya setiap produk dapat memiliki lebih dari satu macam barang. Field penghubung antar tabelnya adalah Kode_Produk, dimana di dalam tabel Produk sebagai kunci utama (primary key) dan di dalam tabel Barang memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Barang dengan tabel Penjualan_Detail memiliki relasi one to many, artinya setiap barang dapat dijual lebih dari satu kali. Field penghubung antar tabelnya adalah Kode_Barang, dimana di dalam tabel Barang sebagai kunci utama (primary key) dan di dalam tabel Penjualan_Detail memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Barang dengan tabel Pemesanan_Detail memiliki relasi one to many, artinya setiap barang dapat dibeli lebih dari satu kali dari pemasok. Field penghubung antar tabelnya adalah Kode_Barang, dimana di dalam tabel Barang sebagai kunci utama (primary key) dan di dalam tabel Pemesanan_Detail memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Pemesanan dengan tabel Pemesanan_Detail memiliki relasi one to many, artinya setiap transaksi Pemesanan barang dapat memiliki lebih dari satu detail transaksi Pemesanan. Field penghubung antar tabelnya adalah No_Nota_Pesan, dimana di dalam tabel Pemesanan sebagai kunci utama (primary key) dan di dalam tabel Pemesanan_Detail memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Pembelian dengan tabel Pemsanan memiliki relasi one to one, artinya setiap transaksi pemesanan barang hanya memiliki satu transaksi pembelian. Field penghubung antar tabelnya adalah No_Nota_Pesan, dimana di dalam tabel Pemesanan sebagai kunci utama (primary key) dan di dalam tabel Pembelian memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Penjualan dengan tabel Penjualan_Detail memiliki relasi one to many, artinya setiap transaksi penjualan barang dapat memiliki lebih dari satu detail penjualan. Field penghubunng antar tabelnya adalah No_Nota, dimana di dalam tabel Penjualan sebagai kunci utama (primary key) dan di dalam tabel Penjualan_Detail memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Pemasok dengan tabel Pemesanan memiliki relasi one to many, artinya setiap pemasok dapat memiliki lebih dari satu transaksi Pemesanan barang. Field penghubung antar tabelnya adalah Kode_Pemasok, dimana di dalam tabel Pemasok sebagai kunci utama (primary key) dan di dalam tabel Pemesanan memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Pelanggan dengan tabel Penjualan memiliki relasi one to many, artinya setiap pelanggan dapat memiliki labih dari satu transaksi penjualan barang. Field penghubung antar tabelnya adalah Kode_Pelanggan, dimana di dalam tabel Pelanggan sebagai kunci utama (primary key) dan di dalam tabel Penjualan memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Barang dengan tabel Retur_Pemesanan memiliki relasi one to many, artinya setiap barang dapat dilakukan retur kepada pemasok lebih dari satu kali. Field penghubung antar tabelnya adalah Kode_Barang, dimana di dalam tabel Barang sebagai kunci utama (primary key) dan di dalam tabel Retur_Pemesanan memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Barang dengan tabel Retur_Penjualan memiliki relasi one to many, artinya setiap barang dapat dilakukan retur oleh pelanggan lebih dari satu kali. Field penghubung antar tabelnya adalah Kode_Barang, dimana di dalam tabel Barang sebagai kunci utama (primary key) dan di dalam tabel Retur_Penjualan memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Pemasok dengan tabel Retur_Pemesanan memiliki relasi one to many, artinya pihak toko dapat melakukan lebih dari satu kali pengembalian (retur) barang kepada pemasok. Field penghubung antar tabelnya adalah Kode_Pemasok, dimana di dalam tabel Pemasok sebagai kunci utama (primary key) dan di dalam tabel Retur_Pemesanan memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Pelanggan dengan tabel Retur_Penjualan memiliki relasi one to many, artinya pelanggan dapat melakukan lebih dari satu kali pengembalian (retur) barang kepada toko. Field penghubung antar tabelnya adalah Kode_Pelanggan, dimana di dalam tabel Pelanggan sebagai kunci utama (primary key) dan di dalam tabel Retur_Penjualan memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Pengguna dengan tabel Pemesanan memiliki relasi one to many, artinya setiap pengguna dapat melakukan lebih dari satu kali transaksi Pemesanan. Field penghubung antar tabelnya adalah UserID, dimana di dalam tabel Pengguna sebagai kunci utama (primary key) dan di dalam tabel Pemesanan memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Pengguna dengan tabel Penjualan memiliki relasi one to many, artinya setiap pengguna dapat melakukan lebih dari satu kali transaksi penjualan. Field penghubung antar tabelnya adalah UserID, dimana di dalam tabel Pengguna sebagai kunci utama (primary key) dan di dalam tabel Penjualan memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Pengguna dengan tabel Retur_Pemesanan memiliki relasi one to many, artinya setiap penggua dapat melakukan lebih dari satu kali transaksi retur Pemesanan. Field penghubung antar tabelnya adalah UserID, dimana di dalam tabel Pengguna sebagai kunci utama (primary key) dan di dalam tabel Retur_Pemesanan memiliki posisi sebagai kunci tamu (foreign key).
  • Tabel Pengguna dengan tabel Retur_Penjualan memiliki relasi one to many, artinya setiap pengguna dapat melakukan lebih dari satu kali transaksi retur penjualan. Field penghubung antar tabelnya adalah UserID, dimana di dalam tabel Pengguna sebagai kunci utama (primary key) dan di dalam tabel Retur_Penjualan memiliki posisi sebagai kunci tamu (foreign key).

Posted on 1:32 PM by Indah Indriyanna and filed under | 11 Comments »

Koneksi Database Menggunakan SQL Server

Kode program berikut untuk menghubungkan antara database SQL Server dengan program visualmu (VB) secara standalone. Letakkan program ini dibagian modul utama, lalu simpan sesuai dengan keinginanmu sendiri, misal: MdlUtama.bas.
Sesuaikan dengan nama server dan nama database yang kamu butuhkan pada bagian kode yang aku tebalin yach,, pasti programmu akan langsung bisa jalan.


Option Explicit
Public KonekDb As ADODB.Connection
Public StrKoneksi As String

Sub Bukadatabase()
Set KonekDb = New ADODB.Connection

KonekDb.CursorLocation = adUseClient
StrKoneksi = "Driver={SQL Server}; " _
& " SERVER=BISMILLAH; DATABASE=PuskesmasDb"

If KonekDb.State = adStateOpen Then
KonekDb.Close
Set KonekDb = New ADODB.Connection
KonekDb.Open StrKoneksi
Else
KonekDb.Open StrKoneksi
End If
End Sub
Posted on 8:06 AM by Indah Indriyanna and filed under | 1 Comments »

Koneksi Database Menggunakan Access

Kode program berikut untuk menghubungkan antara database dengan program visualmu (VB). Letakkan program ini dibagian modul utama, lalu simpan sesuai dengan keinginanmu sendiri, misal: MdlUtama.bas.
Sesuaikan nama database yang kamu butuhkan pada bagian kode yang aku tebalin yach,, pasti programmu akan langsung bisa jalan.


Option Explicit

Public KonekDb As New ADODB.Connection
Public StrKonekDb As String


Public Sub BukaDatabase()
Set KonekDb = New ADODB.Connection

StrKonekDb = "Provider=Microsoft.Jet.OLEDB.4.0;Persist " _
& "Security Info=False;Data Source=" _
& App.Path + "\MiniMarketDb.mdb"

On Error Resume Next
If KonekDb.State = adStateOpen Then
KonekDb.Close
Set KonekDb = New ADODB.Connection
KonekDb.Open StrKonekDb
Else
KonekDb.Open StrKonekDb
End If
End Sub
Posted on 7:42 AM by Indah Indriyanna and filed under | 3 Comments »

Pencarian dengan MSFlexGrid

Terkadang kamu masih sangat bingung kan menentukan media pencarian itu menggunakan apa, hmm memang pada umumnya orang akan cenderung menggunakan DataGrid sebagai alternatif pertama untuk melakukan pencarian item di dalam suatu program. Nah.. sekarang aku akan sedikit mengupas tentang penggunaan komponen MSFlexGrid sebagai media pencarian item di dalam program Visual Basic kamu. Simak baik-baik yach...!
  • Buka proyek baru aplikasi VB kamu (udah tau donk gimana cara ngebukanya?!)
  • Tambahkan satu komponen dari menu Project --> Preferences --> Microsoft ActiveX Data Objects 2.1 Library.
  • Tambahkan satu komponen lagi dari menu Project --> Components --> Microsoft FlexGrid Control 6.0.
  • Panggil komponen MsFlexGrid ke dalam Form.
  • Panggil komponen Label ke dalam Form.
  • Panggil komponen TextBox ke dalam Form.
  • Panggil komponen CommandButton ke dalam Form.
  • Berikut adalah hasilnya:
  • Lakukan pengaturan pada setiap komponen, ikuti pengaturannya berikut:
  • Berikut adalah tampilan hasilnya:
  • Jika form serta komponennya sudah kamu atur, baiknya form ini kamu simpan dulu deh, caranya klik ikon Save () pada Toolbar.
  • Selanjutnya simpan project sesuai dengan keinginan kamu.

  • Selanjutnya, kamu buka halaman kode program, hmm dah tau kan caranya?. Ok begini lho..klik menu View --> Code, dan kemudian salin kode program berikut ini tanpa meninggalkan satu langkah sedikit pun. OK ... ^_^ laksanakan....!!??!!!%$#&^*(!
Option Explicit
Private KonekDb As New ADODB.Connection
Private Rs_Barang As ADODB.Recordset
Private StrKonekDb As String

Private Sub BukaDatabase()
Set KonekDb = New ADODB.Connection

StrKonekDb = "Provider=Microsoft.Jet.OLEDB.4.0;Persist " _
& "Security Info=False;Data Source=" _
& App.Path + "\InventoryDb.mdb"

On Error Resume Next
If KonekDb.State = adStateOpen Then
KonekDb.Close
Set KonekDb = New ADODB.Connection
KonekDb.Open StrKonekDb
Else
KonekDb.Open StrKonekDb
End If
End Sub

Sub AktifGridBarang()
With GridBarang
.Cols = 7

.RowHeightMin = 300
.Col = 0
.Row = 0
.Text = "NO"
.CellFontBold = True
.ColWidth(0) = 400
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter

.RowHeightMin = 300
.Col = 1
.Row = 0
.Text = "KODE"
.CellFontBold = True
.ColWidth(1) = 1100
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter

.Col = 2
.Row = 0
.Text = "NAMA BARANG"
.CellFontBold = True
.ColWidth(2) = 3300
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter

.Col = 3
.Row = 0
.Text = "SATUAN"
.CellFontBold = True
.ColWidth(3) = 900
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter

.Col = 4
.Row = 0
.Text = "H BELI[Rp.]"
.CellFontBold = True
.ColWidth(4) = 1500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter

.Col = 5
.Row = 0
.Text = "H JUAL[Rp.]"
.CellFontBold = True
.ColWidth(5) = 1500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter

.Col = 6
.Row = 0
.Text = "STOK"
.CellFontBold = True
.ColWidth(6) = 700
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub

Sub TampilGridData()
Dim Baris As Integer
GridBarang.Clear
Call AktifGridBarang

GridBarang.Rows = 2
Baris = 0

With Rs_Barang
If .BOF Then
MsgBox "DATA BARANG UNTUK MASIH KOSONG", _
vbOKOnly + vbInformation, "Perhatian"
Exit Sub
Else
.MoveFirst
Do While Not .EOF
Baris = Baris + 1
GridBarang.Rows = Baris + 1
GridBarang.TextMatrix(Baris, 0) = Baris
GridBarang.TextMatrix(Baris, 1) = !Kode_Barang
GridBarang.TextMatrix(Baris, 2) = !Nama_Barang
GridBarang.TextMatrix(Baris, 3) = !Satuan
GridBarang.TextMatrix(Baris, 4) = !Harga_Distributor
GridBarang.TextMatrix(Baris, 5) = !Harga_Retail
GridBarang.TextMatrix(Baris, 6) = !Stok
.MoveNext
Loop
End If
End With
End Sub

Private Sub Form_Load()
Call BukaDatabase
Set Rs_Barang = New ADODB.Recordset
Rs_Barang.Open "SELECT * FROM Barang ORDER BY Kode_Barang", _
KonekDb, adOpenDynamic, adLockOptimistic

Call TampilGridData
End Sub

Private Sub txtCari_Change()
Set Rs_Barang = New ADODB.Recordset
Rs_Barang.Open "SELECT Kode_Barang, Nama_Barang, " _
& " Satuan, Harga_Distributor, Harga_Retail, " _
& " Stok From Barang " _
& " WHERE Nama_Barang LIKE '%" & txtCari.Text & "%' " _
& " ORDER BY Kode_Barang", _
KonekDb, adOpenDynamic, adLockBatchOptimistic

If Rs_Barang.BOF Then
MsgBox "TIDAK MENEMUKAN DATA YANG DICARI " _
& " - " & txtCari.Text & " - DALAM KOLEKSI ", _
vbInformation, "Informasi"

txtCari.Text = ""
txtCari.SetFocus
Else
Call TampilGridData
End If
End Sub

Private Sub tbKeluar_Click()
Unload Me
End Sub

  • Coba kamu jalankan dengan menekan tombol F5 pada keyboard. Nah..nah.. pasti belum jalankan??!! Hayooo.. pasti ada yang lupa!!! Hmmm......!!!!???
  • Yup betul banget, kamu kan belum buat sebuah Database dan Tabel kan makanya programnya Error. OK deh kita mulai buat yach....!!!
  • Buka aplikasi Microsoft Access nya (disini aku masih pake Office 2003 lho, jangan bingung yach..!)
  • Klik menu Create a new file.
  • Klik menu Blank database.
  • Simpan dan Letakkan database dalam satu tempat (folder) ketika kamu menyimpan form dan proyek sebelumnya. Berilah nama InventoryDb pada database tersebut.
  • Klik kanan menu Create table in Design view--> Design View.
  • Ikuti pengaturan pada tabel berikut ini ya, pokoknya jangan sampai salah lhoo...!!! Hmmm.. kalo ada yang salah ya program ndak bisa jalan to yooo.....!!!!!
  • Gini..ni.. kalo udah nampil di Design Table. Jadi canteeek khaaaannnn.....!!! ^_^
  • Kalo semuanya udah di atur, simpen deh tabelmu dengan nge-klik ikon Save (), trus kasih nama tabel kamu dengan nama Barang. OK ;) ....! Paham yak...????!!!
  • Untuk saat ini selsai deh aplikasi Pencarian menggunakan komponen MsFlexGrid, tapi sebelum kamu ngejalanin (Run) programnya, harusnya kamu isi dulu deh tabelmu. Ya diisi beberapa data dulu lah, atau terserah kamu aja dah yang penting tabel Barang nggak kosong. Tau kan cara ngisi data manual langsung di Tabel, kuanggap dah tau aja deh ya...?? dah cuapek banget neh....!!!!.
  • Kalo tabel Barang udah ada isinya, trus kamu baru boleh ngejalanin (nge-Run) aplikasi Pencarian Barang nya. Moga-moga.. programmu lancar yak...! Nih Contohnya kalo dah sukses....!!!.
  • Tu sebenere datanya ada bejibun lhooo... tapi berhubung aku nyari nama barang yang ada hubungannya dengan soto, ya itu.. yang nongol cuma barang yang ada hubungannya sama SOTO.
  • OK mudah-mudahan bermanfaat yak...! Terima kasiiiihhh....!!!$%^^$#@&**
Posted on 11:24 AM by Indah Indriyanna and filed under | 14 Comments »