Kamis, 25 April 2013

Konversi database model

Post kali ini saya akan menjelaskan langkah-langkah mengkonversi data model dari erwin ke access. Software yang perlu ada yaitu ERwin dan MICROSOFT ACCESS.. bagaimana langkah-langkahnya? yuk kita simak.

ERwin --> ACCESS

Pertama-tama kita buka dulu ERwin, masukkan data yang diperlukan jika keluar dialog box di awal atau hilangkan saja. setelah itu kita create data model, caranya yaitu klik File>New,nanti akan keluar seperti ini

kita pilih yang model database yang logical/physical lalu klik OK dan nanti akan seperti ini


nah setelah ini baru kita buat model data base. kalau saya buat model database yang mudah saja. untuk langkah awalnya kita buat entitas-entitasnya.


klik icon tersebut lalu klik sembarang di workfield. setelah itu kita isi data-data entitas,oia jika mau menggunakan model crows feet caranya yaitu klik model > Model Properties > Notation > lalu di logical Notation pilih IE > klik OK. ini entitas yang sudah saya isi


Langkah selanjutnya yaitu kita buat Microsoft access di tempat yang kita inginkan ,save lalu tutup, lalu kita urus ODBC agar ada koneksi dengan database access nantinya , caranya yaitu kita tinggal ketik ODBC di start (jika menggunakan windows 7) klik dan akan terbuka seperti ini 


kita klik add dan pilih microsoft access driver yang bisa membaca ".accdb" juga,klik finish
selanjutnya akan keluar seperti ini,beri nama yang diinginkan
klik select lalu keluar seperti ini


nah kita cari deh access yang sebelumnya kita buat,pilih database tersebut lalu klik ok
setelah itu kita kembali lagi ke ERwin  . kita ganti model data yang tadinya logica menjadi physical 
setelah itu di bagian kiri akan ada 4 pilihan tombol,kita klik "select target server" 


lalu akan muncul seperti ini
pilih ODBC/generic lalu ok dan akan muncul ini
pilih database yang telah kita namai sebelumnya( ingat langkah kita membuat koneksi di ODBC) klik connect. langkah selanjutnya yaitu kita klik forward enginer
akan muncul seperti ini , lalu kita pastikan entitas yang akan muncul yaitu semua entitas dengan mengklik tombol filter
setelah dipastikan semua lalu kita generate
kalau ada failure mungkin karena ada proses yang tertinggal atau error sebelumnya,itu kita bisa akali dengan mengecek langkah-langkah sebelumnya . lalu klik ok
NAH!! setelah ok kita bisa lihat ms access yang menjadi objek konversinya dan hasilnya seperti ini 
Entitas yang kita buat sebelumnya akan menjadi tabel di Ms Access..


Konversi dari Access ke ERwin

untuk konversi access ke erwin ini saya coba menggunakan file access hasil konversi tadi.
sama seperti langkah awal sebelumnya, kita buka erwin lalu buat kertas kerja baru dengan memilih logical/physical 
lalu kita setting ODBC lagi untuk mengatur koneksi,langkahnya sama seperti tadi

pilih database access yang ingin dikonversi dengan mengklik select dan akan muncul seperti ini.


klik ok lalu kita kembali lagi ke erwin
kita pilih lagi target server nya seperti sebelumnya 

 kali ini kita pilih target desktop DBMS dengan memilih pilihan untuk Access lalu Ok. selanjutnya kita reverse engineer
klik next lalu akan muncul seperti berikut 
klik next
pilih database ODBC yang dibuat sebelumnya,pilih user name dan passport jika diperlukan,klik connect dan tadaaaaa !!! akan muncul hasil konversinya seperti ini


Demikian langkah-langkah untuk mengkonversi access ke database yang saya coba..

Jumat, 29 Maret 2013

Normalisasi

Contoh Normalisasi

sebelum menormalisasi, kita sebaiknya tahu tentang keterkaitan antar bagian-bagian dari data tersebut. berikut ini adalah data yang belum dinormalisasi

dikatakan tidak normal karna ada salah satu atribut yang kosong,saya akan coba untuk menormalisasi bentuk ini

--Dalam Bentuk 1NF--
nah ini masih dalam bentuk normal pertama, setiap baris datanya terisi.. functional dependency dari tabel tersebut yaitu
NomorUrut -> (IdPelanggan,NamaPelanggan,KodeBunga,NamaBunga,HargaSatuan,Qty,Jumlah)

--2NF--
di 2NF kita akan pecah lagi data tersebut menjadi 2 tabel yaitu tabel transaksi dan tabel bunga. pada 2 NF attribut bukan kunci harus memiliki ketergantungan fungsional kepada primary key sehingga hasilnya seperti ini  


seperti yang kita lihat, untuk data-data tentang bunga bisa kita buat tabel baru sehingga ketergantungan fungsional tidak bergantung pada no urut lagi tetapi kepada kodebunga, jadi terbentuklah ketergantungan fungsional yaitu KodeBunga --> NamaBunga, HargaSatuan

-3NF--
di 3 NF kita pecah lagi tabel 2 NF tersebut sehingga terbentuklah 3 tabel yaitu tabel data pelanggan, data bunga dan tabel transaksi. jadi atribut key tidak ada ketergantungan terhadap primary keynya
sehingga:



nah agar menjadi BCNF maka kita bisa urai lagi untuk harga satuan di tabel data bunga sehingga jadinya seperti ini
jadi relasinya seperti ini
semua determinan merupakan candidate key dan setiap atributnya bergantung pada fungsi pada atribut superkey
NamaBunga--> HargaSatuan
KodeBunga-->NamaBunga
IdPelanggan-->NamaPelanggan
NoUrut--> IdPelanggan, KodeBunga, Qty, Jumlah

'Jumlah' merupakan hasil kali dari Qty dengan harga bunga

jadi mungkin seperti itu hasil dari normalisasi yang saya coba,kurang lebihnya mohon maaf...................



Rabu, 02 Januari 2013

VB2 , koneksi dengan database

yaaa kali ini saya ada tugas kuliah tentang aplikasi yang tersambung dengan database. Awalnya bingung mau buat aplikasi apa, eh setelah liat pot bunga di dekat jendela akhirnya saya coba buat aplikasi tersebut dengan database untuk toko bunga , isinya tentang daftar pelanggan dan barang yang dipesan tiap bulan ,jadi barang yang dipesan tetap jumlahnya setiap kali pesanan..  Inilah Aplikasinya

->Langkah pertama yaitu sediakan dulu file database untuk menampung data pelanggan dan juga barangnya seperti ini:
setelah data pelanggan, selanjutnya yaitu data barang yang  pelanggan tersebut beli









setelah itu lanjut dengan query , itu gunanya buat menggabung data dari tabel pelanggan dan barang










dasar penyimpanan database selesai, nah sekarang tinggal disimpan di tempat yang diingninkan lalu lita lanjut membuat aplikasinya, saya buat aplikasinya dengan microsoft visual studio 2008


untuk menu awal silahkan dihias sebaik mungkin, kalau saya cukup seperti ini :




untuk button lanjut isinya yaitu : form2.show ( ) <--merupakan form data pelanggan
sedangkan button keluar yaitu : me.close ( )

saatnya untuk form 2.....

form 2 sebagai berikut

pertama-tama sediakan form dulu seperti biasa,lalu di menu data kita klik add new data source,nanti yang muncul yaitu notification seperti ini 
pilih yang database lalu klik next , selanjutnya akan muncul seperti ini
klik new connection lalu muncul seperti ini

nah setting dulu di tombol changeuntuk data source microsoft access database file setelah itu klik browse untuk mencari file database yang sebelumnya kita buat
setelah itu silahkan dicoba koneksinya dengan mengklik tombol 'test connection" lalu ok
klik next lagi dan akan muncul seperti ini..




centang semua object lalu finish.. setelah itu kita kembali ke form 2.. jadikan tampilan form 2 seperti ini



caranya gimana? caranya kita tinggal drag saja object2 yang ada di kolom data source yang ada di kiri atau di kanan,jika tidak ada kolom tersebut jangan khawatir, cukup tekan ctrl+alt+del atau dari menu data juga ada.. untuk yang berupa label dan textbox kita ubah dulu objectnya menjadi detail dengan mengklik objectnya di kolom datasource dan ubah menjadi detail. untuk yang berupa data seperti yang di kanan yaitu dengan mengdrag saat object berupa data grid yaitu dengan mengubah object menjadi datagrid view..

tombol next isinya yaitu : formdatabarang.show( ) <-- form data barang a.k.a. form 3

selanjutnya kita ke form berikutnya yaitu yang berisi tentang data barang caranya sama seperti yang kita lakukan di form 2 yaitu tinggal mendrag dari data source yang tadi hingga akhirnya seperti ini,cuma objectnya dari tabel data barang

tombol next isinya ke form selanjutnya : formlaporan.show ( )

untuk form selanjutnya kita isikan data pelanggan dan barang yang dibeli juga , textboxtnya kita juga drag dari datasource seperti yang kita lakukan di form sebelumnya


di form ini juga bisa untuk menambah daftar pelanggan baru yaitu dengan mengklik tombol tambah di binding navigator diatas form tersebut. tombol hitung yaitu untuk menjumlah harga total dari banyak pesanan perbulan dan harga bunga per tangkai nya, kodingnya yaitu : 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As Integer
a = Banyak_pemesanan_per_bulanTextBox.Text & Harga_per_bungaTextBox.Text
TextBox1.Text = Banyak_pemesanan_per_bulanTextBox.Text * Harga_per_bungaTextBox.Text

End Sub


tombol laporan yaitu kita akan ke form  report, kodingnya yaitu:    formreport.show()


Untuk membuat form report yang kita lakukan yaitu membuat form baru lalu mendrag microsoftreportviewer ke form report


sesuaikan ukuran lalu klik pemberitahuan kecil yang ada di kanan atas dari report viewer tersebut lalu chose new design>>klik next lalu akan ketemu pemberitahuan seperti ini

pilih yang query karna kita akan menggabungkan barang dan juga data pelanggan>> next
next saja terus karna selanjutnya merupakan pilihan tampilan yang merupakan keinginan masing2...selanjutnya akan ketemu pemberitahuan ini

untuk ini masukkan ke yang seharusnya yaitu seperti:
kode pelanggan > page
nama pelanggan > group
alamat,jenis bunga,banyak pemesanan, harga perbunga > details
setelah itu tekan tombol next terus untuk variasi atau langsung finish

setelah itu akan ada object baru yaitu report1.rdlc 

untuk variasi menambahkan tanggal yaitu dengan =Now ( ) dan untuk total harga yaitu dengan mengetik =(Fields!Banyak_pemesanan_per_bulan.Value) * (Fields!Harga_per_bunga.Value)

hasilnya akan seperti ini jadinya : 


untuk koding2 dari setiap form seperti berikut 

form utama:


Public Class Form1


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Me.Close()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Formdatapelanggan.Show()

End Sub
End Class

form 2 (form data pelanggan):
Public Class formdatapelanggan

Private Sub TabelpelangganBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabelpelangganBindingNavigatorSaveItem.Click
Me.Validate()
Me.TabelpelangganBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.Database1DataSet)

End Sub

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'Database1DataSet.tabelpelanggan' table. You can move, or remove it, as needed.
Me.TabelpelangganTableAdapter.Fill(Me.Database1DataSet.tabelpelanggan)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
formdatabarang.Show()

End Sub
End Class

Form 3 (form data barang)

Public Class formdatabarang

Private Sub TabelbarangBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabelbarangBindingNavigatorSaveItem.Click
Me.Validate()
Me.TabelbarangBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.Database1DataSet)

End Sub

Private Sub formdatabarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'Database1DataSet.tabelbarang' table. You can move, or remove it, as needed.
Me.TabelbarangTableAdapter.Fill(Me.Database1DataSet.tabelbarang)

Me.ReportViewer1.RefreshReport()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Formlaporan.Show()

End Sub
End Class


Form4(form laporan) :
Public Class Formlaporan


Private Sub TabelbarangBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Validate()
Me.TabelbarangBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.Database1DataSet)

End Sub

Private Sub Formlaporan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'Database1DataSet.tabelbarang' table. You can move, or remove it, as needed.
Me.TabelbarangTableAdapter.Fill(Me.Database1DataSet.tabelbarang)
'TODO: This line of code loads data into the 'Database1DataSet.tabelbarang' table. You can move, or remove it, as needed.
Me.TabelbarangTableAdapter.Fill(Me.Database1DataSet.tabelbarang)
'TODO: This line of code loads data into the 'Database1DataSet.tabelpelanggan' table. You can move, or remove it, as needed.
Me.TabelpelangganTableAdapter.Fill(Me.Database1DataSet.tabelpelanggan)
'TODO: This line of code loads data into the 'Database1DataSet.tabelpelanggan' table. You can move, or remove it, as needed.
Me.TabelpelangganTableAdapter.Fill(Me.Database1DataSet.tabelpelanggan)
'TODO: This line of code loads data into the 'Database1DataSet.tabelpelanggan' table. You can move, or remove it, as needed.
Me.TabelpelangganTableAdapter.Fill(Me.Database1DataSet.tabelpelanggan)
'TODO: This line of code loads data into the 'Database1DataSet.tabelbarang' table. You can move, or remove it, as needed.
Me.TabelbarangTableAdapter.Fill(Me.Database1DataSet.tabelbarang)

End Sub

Private Sub TabelpelangganBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabelpelangganBindingNavigatorSaveItem.Click
Me.Validate()
Me.TabelpelangganBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.Database1DataSet)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As Integer
a = Banyak_pemesanan_per_bulanTextBox.Text & Harga_per_bungaTextBox.Text
TextBox1.Text = Banyak_pemesanan_per_bulanTextBox.Text * Harga_per_bungaTextBox.Text

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
formreport.Show()

End Sub
End Class


Form 4(Form Report) :
Public Class formreport

Private Sub formreport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'Database1DataSet.tabelpelanggan_Query' table. You can move, or remove it, as needed.
Me.tabelpelanggan_QueryTableAdapter.Fill(Me.Database1DataSet.tabelpelanggan_Query)

Me.ReportViewer1.RefreshReport()
End Sub
End Class



sekian aplikasinya,terimakasih... maaf-maaf jika banyak kekurangan... sampai jumpa di post berikutnya..

Rabu, 03 Oktober 2012

Automation

ini program  Automation  tugas lap pemrograman. desainnya untuk travel.. maklum baru belajar

pertama-tama siapkan word dan excel dengan desain begini


abis itu di wordnya di isian tambahkan bookmark masing
untuk pemrogramannya buka visual studiom,new project


awal2 buka project>>add reference>>COM>>tambahin library word dan excel 
desain form  kayak gini
di button word dan excel masing2 dimasukin koding ini

button word
Imports word = Microsoft.Office.Interop.Word
Imports eksel = Microsoft.Office.Interop.Excel

Public Class Form1

    Private Sub Label6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label6.TextChanged
        Label6.Text = Date.Now


    End Sub

    Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged


    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim myWordApp As New word.Application
        Dim myWordDoc As New word.Document




        If (ComboBox1.Text = 1) Then
            TextBox4.Text = TextBox3.Text * 500000
        End If
        If (ComboBox1.Text = 2) Then
            TextBox4.Text = TextBox3.Text * 650000
        End If
        If (ComboBox1.Text = 3) Then
            TextBox4.Text = TextBox3.Text * 1000000
        End If

        myWordDoc = myWordApp.Documents.Open("E:\Travel.docx")

        myWordDoc.Bookmarks("nama").Select()
        myWordApp.Selection.Font.Size = 16
        myWordApp.Selection.TypeText(TextBox1.Text)

        myWordDoc.Bookmarks("alamat").Select()
        myWordApp.Selection.Font.Size = 16
        myWordApp.Selection.TypeText(TextBox2.Text)

        myWordDoc.Bookmarks("nomur").Select()
        myWordApp.Selection.Font.Size = 16
        myWordApp.Selection.TypeText(TextBox3.Text)

        myWordDoc.Bookmarks("paket").Select()
        myWordApp.Selection.Font.Size = 16
        myWordApp.Selection.TypeText(ComboBox1.Text)

        myWordDoc.Bookmarks("qty").Select()
        myWordApp.Selection.Font.Size = 16
        myWordApp.Selection.TypeText(TextBox5.Text)

        myWordDoc.Bookmarks("harga").Select()
        myWordApp.Selection.Font.Size = 16
        myWordApp.Selection.TypeText(TextBox4.Text)

        myWordDoc.Bookmarks("tgl").Select()
        myWordApp.Selection.Font.Size = 16
        myWordApp.Selection.TypeText(Label6.Text)

        myWordDoc.SaveAs("E:\printtravel.docx")
        myWordApp.Visible = True
        myWordApp.Quit()

    End Sub
button excel
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim myExcelApp As New eksel.Application
        Dim myExcelBook As eksel.Workbook
        myExcelApp.Visible = True
        myExcelBook = myExcelApp.Workbooks.Open("E:\faktur.xlsx")

      

        myExcelApp.Range("F3").Font.Size = 11
        myExcelApp.Range("F3").Font.Bold = 1
        myExcelApp.Range("F3").Value = TextBox1.Text

        myExcelApp.Range("F4").Font.Size = 11
        myExcelApp.Range("F4").Font.Bold = 1
        myExcelApp.Range("F4").Value = TextBox2.Text

        myExcelApp.Range("A9").Font.Size = 11
        myExcelApp.Range("A9").Value = TextBox3.Text


        myExcelApp.Range("B9").Font.Size = 11
        myExcelApp.Range("B9").Value = ComboBox1.Text

        myExcelApp.Range("D9").Font.Size = 11
        myExcelApp.Range("D9").Value = TextBox5.Text

        myExcelApp.Range("E9").Font.Size = 11
        myExcelApp.Range("E9").Value = TextBox4.Text

        myExcelApp.Range("C7").Font.Size = 11
        myExcelApp.Range("C7").Value = Label6.Text

        myExcelBook.SaveAs("E:\fakturprint.xlsx")

        myExcelApp.Quit()
    End Sub

 

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Me.Close()
    End Sub
End Class

masukkin data dan hasilnya keluar seperti ini