ADO dan Lanjutan Normalisasi Langkah-langkah · PDF fileLangkah-langkah Normalisasi 1. ......

17

Click here to load reader

Transcript of ADO dan Lanjutan Normalisasi Langkah-langkah · PDF fileLangkah-langkah Normalisasi 1. ......

Page 1: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

1

MODUL 12 IMPLEMENTASI ADO DALAM APLIKASI

ADO dan Lanjutan Normalisasi Langkah-langkah Normalisasi

1. Bentuk tidak normal (Unnormalized Form): Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada

keharusan mengikuti suatu format tertentu. Dapat saja data tidak lengkap atau

terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat menginput

NoSiswa Nama PA Kelas1 Kelas2 Kelas3

22890100 Rafi Rachmat 1234 1543 1543

22890101 Thoriq Adi 1234 1775

Keterangan= PA (Penasehat Akademik)

Page 2: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

2

Siswa yg punya nomor siswa, nama, dan PA mengikuti 3 mata pelajaran/kelas.

Disini ada perulangan kelas 3 kali ini bukan bentuk 1 NF

2. Bentuk Normal Ke Satu (1 NF/First Normal Form) Suatu relasi 1NF jika dan hanya jika sifat dari setiap relasi atributnya

bersifat atomik.

Atom adalah zat terkecil yang masih memiliki sifat induknya, bila dipecah

lagi maka ia tidak memiliki sifat induknya.

Ciri-ciri 1 NF :

• Setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi

satu record nilai dari field berupa “atomic value

• Tidak ada set atribute yang berulang atau bernilai ganda

• Tiap field hanya satu pengertian

Nosiswa Nama PA KodeKelas

22890100 Rafi Rachmat 1234 22890100 Rafi Rachmat 1543 22890101 Thoriq Adi 1234 22890101 Thoriq Adi 1775

3. Bentuk Normal Ke Dua (2 NF /Second Normal Form) Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi

kriteria bentuk normal kesatu. Atribute bukan kunci haruslah bergantung secara

fungsi pada kunci utama/primary key. Sehingga utk membentuk normal kedua

haruslah sudah ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat

mewakili atribute lain yg menjadi anggotanya.

Misal :

Dari contoh relasi Siswa pada I NF terlihat bahwa kunci utama/primary key

adalah nomor siswa. Nama siswa dan pa bergantung fungsi pada no_siswa,

tetapi kode_kelas bukanlah fungsi dari siswa, maka file siswa dipecah menjadi 2

relasi

Page 3: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

3

4. Bentuk Normal Ke Tiga (3 NF / Third Normal Form) Untuk menjadi bentuk normal ketiga maka relasi haruslah dalam bentuk

normal kedua dan semua atribute bukan primer tidak punya hubungan yg

transitif. Dengan kata lain,setiap atribute bukan kunci haruslah bergantung hanya

pada primary key dan pada primary key secara menyeluruh.

Contoh pada bentuk normal kedua di atas termasuk juga bentuk normal

ke tiga karena seluruh atribute yang ada disitu bergantung penuh pada kunci

primernya

5. Boyce-Codd Normal Form ( BCNF) BCNF mempunyai paksaan yg lebih kuat dari bentuk normal ketiga. Untuk

menjadi BCNF, relasi harus dalam bentuk normal kesatu dan setiap atribute

harus bergantung fungsi pada atribute superkey

Pada contoh di bawah ini terdapat relasi seminar dengan ketentuan sbb :

a. kunci primer adalah no_siswa+seminar.

b. Siswa boleh mengambil satu atau dua seminar.

c. Setiap siswa dibimbing oleh salah satu diantara 2 instruktur seminar tsb.

d. Setiap instruktur boleh hanya mengambil satu seminar saja.

Pada contoh ini no_siswa dan seminar menunjuk seorang

Page 4: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

4

instruktur :

Bentuk relasi seminar adalah bentuk normal ketiga, tetapi tidak BCNF karena

nomor seminar masih bergantung fungsi pada instruktur, jika setiap instruktur

dapat mengajar hanya pada satu seminar. Seminar bergantung fungsi pada satu

atribute bukan superkey seperti yg disyaratkan oleh BCNF. Maka relasi seminar

haruslah dipecah menjadi dua yaitu :

6. Bentuk Normal Ke Empat (4 NF) Relasi R adalah bentuk 4 NF jika dan hanya jika relasi tersebut juga

termasuk BCNF dan semua ketergantungan multivalue adalah juga

ketergantungan fungsional

7. Bentuk Normal Ke Lima (5 NF) Disebut juga PJNF (Projection Join Normal Form) dari 4 NF dilakukan

dengan menghilangkan ketergantungan join yang bukan merupakan kunci

kandidat.

Page 5: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

5

1. Langkah 1. bentuk Unnormalized

2. Langkah 2. Bentuk 1 NF

Page 6: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

6

3. Langkah 3. Bentuk 2 NF

4. Langkah 4. Bentuk 3 NF

Latihan soal Buatlah bentuk Normalisasi dari dokumen berikut ini :

Kartu pengobatan masyarakat No Pasien : 1234/PO/IV/99 Tanggal Pendaftaran : 1 Mei

1999

Data Pasien dari, NOPEN : 1000019999 Nama Pasien : Bachtiar Jose

Alamat Pasien, Jalan : Kebon Jeruk No. 27 Kelurahan : Palmerah

Page 7: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

7

Kecamatan : Kemanggisan Wilayah : Jakarta Barat Kode Pos :11530 Telepon : 5350999

D. Spesifikasi Hardware dan Software Hardware :

• Prosesor : Pentium 4 1.2Ghz

• Memori : 512 MB RAM

• Hardisk : minimum 10GB, ada ruang kosong min 2GB

• Monitor : min resolusi 1024x768 dan 256 color

• Keyboard dan mouse

Sistem Operasi:

• Microsoft Windows 95

• Microsoft Windows 2000

• Microsoft Windows Xp

• Ms. Access

• Visual Studio.Net 2005/Visual Basic 6.0

Page 8: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

8

E. Materi Pratikum

F. Latihan Buatlah aplikasi dengan membuat validasinya pada setiap TextField Nonota,

SubTotal dan Potongan

Tabel Barang

Field Type Data

Kode Text

Nonota Text

Nama Text

Harga Number

satuan Number

Jumlah Number

Page 9: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

9

Tabel Nota

Field TypeData

NoNota Text

KodePemasok Text

Nama Text

Keterangan Text

Tanggal Date

Private Sub adoDtl_Error(ByVal ErrorNumber As Long, Description As String,

ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal

HelpContext As Long, fCancelDisplay As Boolean)

If ErrorNumber = 3596 Then

On Error Resume Next

End If

End Sub

Private Sub adoHdr_Error(ByVal ErrorNumber As Long, Description As String,

ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal

HelpContext As Long, fCancelDisplay As Boolean)

If ErrorNumber = 3596 Then

Exit Sub

End If

End Sub

Private Sub cmdBatal_Click()

Call AturButton("Batal")

Call cmdRefresh2_Click

End Sub

Page 10: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

10

Private Sub cmdBatalDetail_Click()

Call AturButton2("Batal")

Call cmdRefresh_Click

End Sub

Private Sub cmdHapus_Click()

Var = MsgBox("Yakin Ingin Menghapus Nota No :" & txtNoNota & "? ",

vbOKCancel)

If Var = vbOK Then

adoDtl.RecordSource = "DELETE FROM barang WHERE No_Nota = " &

txtNoNota & ""

adoHdr.Recordset.Delete

Call cmdRefresh2_Click

Call cmdRefresh_Click

End If

End Sub

Private Sub cmdHapusDetail_Click()

adoDtl.Recordset.Delete

End Sub

Private Sub cmdKeluar_Click()

response = MsgBox("Ingin keluar aplikasi ? ", vbOKCancel)

If response = vbOK Then

Unload Me

Else

Exit Sub

End If

End Sub

Page 11: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

11

Private Sub cmdRefresh2_Click()

adoHdr.RecordSource = "SELECT * FROM nota"

adoHdr.Refresh

Call Bounding

End Sub

Private Sub cmdRefresh_Click()

adoDtl.RecordSource = "SELECT * FROM barang WHERE no_nota = '" &

txtNoNota & "'"

adoDtl.Refresh

Call BoundingDetail

End Sub

Private Sub cmdRefreshs_Click()

End Sub

Private Sub cmdSimpan_Click()

Call Simpan_Master

Call AturButton("Batal")

Call cmdRefresh2_Click

End Sub

Private Sub cmdSimpanDetail_Click()

Call Simpan_Detail

Call cmdRefresh_Click

Call txtSubTotal_GotFocus

txtKodeBarang.SetFocus

End Sub

Page 12: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

12

Private Sub cmdTambah_Click()

Call KosongkanIsianNota

Call ReleaseBounding

Call AturButton("Tambah")

End Sub

Sub AturButton(Status As String)

If Status = "Tambah" Then

cmdTambah.Enabled = False

cmdSimpan.Enabled = True

cmdBatal.Enabled = True

cmdHapus.Enabled = False

Else

cmdTambah.Enabled = True

cmdSimpan.Enabled = False

cmdBatal.Enabled = False

cmdHapus.Enabled = True

End If

End Sub

Sub AturButton2(Status As String)

If Status = "Tambah" Then

cmdTambahDetail.Enabled = False

cmdSimpanDetail.Enabled = True

cmdBatalDetail.Enabled = True

cmdHapusDetail.Enabled = False

Else

cmdTambahDetail.Enabled = True

cmdSimpanDetail.Enabled = False

Page 13: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

13

cmdBatalDetail.Enabled = False

cmdHapusDetail.Enabled = True

End If

End Sub

Sub ReleaseBounding()

On Error Resume Next

txtNoNota.DataField = ""

txtKodePemasok.DataField = ""

txtNama.DataField = ""

txtKeterangan.DataField = ""

dtpTanggal.DataField = ""

End Sub

Sub Bounding()

On Error Resume Next

txtNoNota.DataField = "No_Nota"

txtKodePemasok.DataField = "Kode_Pemasok"

txtNama.DataField = "Nama"

txtKeterangan.DataField = "Keterangan"

dtpTanggal.DataField = "Tanggal"

End Sub

Sub BoundingDetail()

On Error Resume Next

txtKodeBarang.DataField = "Kode_Barang"

txtNamaBarang.DataField = "Nama_Barang"

txtHarga.DataField = "Harga"

txtSatuan.DataField = "Satuan"

Page 14: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

14

txtJumlah.DataField = "Jumlah"

End Sub

Sub ReleaseBoundingDetail()

On Error Resume Next

txtKodeBarang.DataField = ""

txtNamaBarang.DataField = ""

txtHarga.DataField = ""

txtSatuan.DataField = ""

txtJumlah.DataField = ""

End Sub

Sub KosongkanIsian()

On Error Resume Next

txtKodeBarang.Text = ""

txtNamaBarang.Text = ""

txtHarga.Text = ""

txtSatuan.Text = ""

txtJumlah.Text = ""

'cmdHapus.Enabled = False

'cmdBatal.Enabled = False

End Sub

Sub KosongkanIsianNota()

On Error Resume Next

txtNoNota.Text = ""

txtKodePemasok.Text = ""

txtNama.Text = ""

txtKeterangan.Text = ""

dtpTanggal.Enabled = True

Page 15: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

15

'cmdHapus.Enabled = False

'cmdBatal.Enabled = False

End Sub

Private Sub Command1_Click()

Dim str As String

str = "Untuk Membuat Nota Baru klik tombol [Tambah]"

str = str + vbKeyReturn + "Untuk Menghapus Nota Klik tombol [Hapus]"

MsgBox str

End Sub

Private Sub Command2_Click()

End Sub

Private Sub cmdTambahDetail_Click()

Call KosongkanIsian

Call ReleaseBoundingDetail

Call AturButton2("Tambah")

txtKodeBarang.SetFocus

End Sub

Private Sub dgridMain_AfterColEdit(ByVal ColIndex As Integer)

MsgBox "TEST"

End Sub

Page 16: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

16

Private Sub dgridMain_Change()

MsgBox dgridMain.Columns(3)

End Sub

Private Sub Form_Activate()

On Error Resume Next

adoHdr.RecordSource = "SELECT * FROM nota"

adoHdr.Refresh

Call Bounding

End Sub

Private Sub Form_LostFocus()

On Error Resume Next

End Sub

Private Sub txtPotongan_Change()

On Error Resume Next

txtPotongan.Text = Format(txtPotongan, "#,##0.00")

txtTotalAkhir = Val(txtSubTotal.Text - txtPotongan.Text)

'txtTotalAkhir.Text = txtTotalAkhir

txtTotalAkhir.Text = Format(txtTotalAkhir, "#,##0.00")

End Sub

Private Sub txtPotongan_GotFocus()

txtPotongan.SelStart = 0

txtPotongan.BackColor = &H80FFFF

Page 17: ADO dan Lanjutan Normalisasi Langkah-langkah  · PDF fileLangkah-langkah Normalisasi 1. ... data dibentuk dalam satu record demi ... • Microsoft Windows Xp • Ms. Access

17

txtPotongan.SelLength = Len(txtPotongan.Text)

End Sub

Private Sub txtPotongan_LostFocus()

txtPotongan.BackColor = &H80000005

End Sub

Private Sub txtSubTotal_GotFocus()

On Error Resume Next

Dim adoCount As New ADODB.Connection

Dim rsCount As New ADODB.Recordset

Dim sSQL As String

sSQL = "SELECT SUM(JUMLAH) FROM barang WHERE No_Nota = '" &

txtNoNota.Text & "'"

adoCount.ConnectionString = "DSN=UAS"

adoCount.Open

rsCount.Open sSQL, adoCount.ConnectionString

txtSubTotal.Text = rsCount(0)

txtSubTotal.BackColor = &HC0E0FF

txtSubTotal.SelStart = 0

txtSubTotal.SelLength = Len(txtSubTotal.Text)

End Sub

================