Kamis, 14 Juli 2011

MEMBUAT RELASI TABEL DALAM SEBUAH PROGRAM


Contoh programnya dapat anda download pada halaman Download di Blog ini.
Nama programnya adalah CONTOH PROGRAM RELASI DAN CETAK

Relasi Antar table adalah sesuatu yang sangat penting dalam sebuah aplikasi dan program. Teknik relasi data ada beberapa macam, misalnya dengan teknik normalisasi, teknik entity relationship dan sebagainya. Namun bagaimanapun tekniknya, relasi data bertujuan untuk menghemat memori dalam perancangan database dan juga menghindari adanya penginputan berulang dalam sebuah aplikasi.
Berikut adalah sebuah contoh relasi antar table.



Pada table dosen, kunci utama terletak pada kode dosen sedangkan pada table mata kuliah kunci utama terletak pada kode mk. Tabel dosen akan dikoneksikan dengan table mata kuliah, artinya, data nama dosen pada table mata kuliah akan diperoleh dari table dosen.
Dalam program yang sebenarnya, relasi atau koneksi ini harus menggunakan komponen tertentu, sebutlah misalnya DBCOMBO ataupun komponen lainnya. Dalam contoh yang akan dibahas disini, kita akan menggunakan komponen DBCOMBO dan komponen DATA.
Langkah pertama, buatlah sebuah formmenu untuk memanggil frmdosen dan juga frmmatakuliah seperti dibawah ini :

Langkah Kedua, rancanglah tampilan frmdosen dengan menggunakan DATA FORM WIZARD (Biar lebih cepat) dan isi datanya seperti berikut :

Langkah ketiga, Buat dan rancanglah form matakuliah (kali ini anda harus membuatnya secara manual) sebab DATA FORM WIZARD tidak menyediakan fasilitas untuk tabel yang telah direlasikan dari table lain. Contoh formnya adalah sebagai berikut :



Untuk melihat hasil yang disimpan, tambahkan komponen DBGRID.
Dalam membuat form ini ada beberapa hal yang harus anda perhatikan yakni :
1.       Pastikan telah tersedia 2 (dua) komponen DATA, sebab kita akan bekerja dengan dua table yakni table DOSEN dan table MATAKULIAH.
2.       Atur properties komponen data sesuai spesifikasi tabelnya, misalnya :
DATA 1
Name = DTDOSEN
Caption=DOSEN
DatabaseName = (cari lokasi database anda!)
RecordsetType = 0-Table
Recordsource=T_Dosen

DATA 2
Name = DTMK
Caption=MATA KULIAH
DAtabaseName=(Cari lokasi database anda!)
RecordsetType= 0-table
Recordsource=T_MK

3.       Atur Properties DBCOMBO sebagai berikut :
Name= DBCDOSEN
DataSource= DTDOSEN
ListField= NAMADOSEN
Rowsource=DTDOSEN

4.       Koneksikan DBGRID dengan DATA 2 atau DTMK
5.       Ganti name TEXT, misalnya TXTKDMK, TXTNAMAMK, TXTSKS
6.       Isilah listingnya sebagai berikut :
Private Sub CMDKELUAR_Click()
    FRMMK.Hide
    FRMMENU.Enabled = True
    FRMMENU.Show
End Sub

Private Sub CMDSIMPAN_Click()
If TXTKDMK = "" Then: MsgBox "ISI DULU KODE MATA KULIAH": TXTKDMK.SetFocus: Exit Sub
If TXTNAMAMK = "" Then: MsgBox "ISI DULU NAMA MATA KULIAH": TXTNAMAMK.SetFocus: Exit Sub
If TXTSKS = "" Then: MsgBox "ISI DULU SKS MATA KULIAH": TXTSKS.SetFocus: Exit Sub
If DBCDOSEN = "" Then: MsgBox "PILIH DULU NAMA DOSEN": DBCDOSEN.SetFocus: Exit Sub
With DTMK.Recordset
    .AddNew
    !KODEMK = TXTKDMK
    !NAMAMK = TXTNAMAMK
    !SKS = TXTSKS
    !DOSEN = DBCDOSEN
    .Update
End With
MsgBox "DATA TELAH TERSIMPAN !"
KOSONGKAN

End Sub

Private Sub Form_Activate()
KOSONGKAN
End Sub
Sub KOSONGKAN()
TXTKDMK = ""
TXTNAMAMK = ""
TXTSKS = ""
DBCDOSEN = ""
TXTKDMK.SetFocus
End Sub

Setelah itu jalankan program, maka pada DBCDOSEN akan muncul data nama-nama dosen dari table DOSEN, mengapa ? sebab kita telah merelasikan atau mengkoneksikan DBCDOSEN dengan data1 atau DTDOSEN untuk memperoleh data NAMADOSEN.







Untuk mendownload Artikel ini, silahkan anda klik link di bawah ini :
DOWNLOAD

8 komentar:

  1. terima kasih atas kebijakannya pak..
    tadi sempat salah koment.. pertama komentnya di validasi password..

    wahyuddin

    BalasHapus
  2. makasih atas bantuannya pak modah2n sy bsa mngerjakannya sesuai dgn yg bpk ajarkan

    BalasHapus
  3. ass. pak makasih programnya sudah jelas tinggal sy yg pelajari..

    nurhidaya ali

    BalasHapus
  4. terima kasih atas bantuan bapak, dan saya ingin bertanya tentang cetak, saya kesulitan pada cetak, jika saya mencetak dengan jumlah field yang banyak dengan menggunakan data report maka muncul pesan, jadi bagaimana jika menggunakan landscape akan tetapi tidak menggunakan crystal report?

    BalasHapus
  5. @HERLINA
    Buka materi mencetak landscape dengan datareport diblog ini, jika masih belum mengerti...nanti sy upload contoh program dan listingnya langsung

    BalasHapus