Sabtu, 24 Januari 2015

Merancang Database menggunakan normalisasi

Merancang Database Menggunakan Normalisasi


Database atau basis data memiliki pengertian sederhana sebagai kumpulan tabel. Satu tabel merepresentasikan suatu objek/entitas tertentu. Suatu entitas terdiri dari beberapa atribut. Beberapa entitas memiliki hubungan/relationship yang saling terkait.
Perancangan basis data diperlukan, agar kita bisa memiliki basis data yang kompak dan efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah dalam pemanipulasian (tambah, ubah, hapus) data.
Proses Normalisasi adalah proses merancang database yang menggunakan Metode BOTTOM-UP yaitu proses pen-transformasian Database dari sistem klasik yang hanya menggunakan Flat File menjadi RDBMS yang integrative dan sistematis yang meliputi langkah-langkah dekomposisi dari rekord yang kompleks menjadi rekord yang sederhana atau proses reduksi tabel menjadi tabel yang lebih kecil tanpa menghilangkan informasi, dalam arti lain normalisasi merupakan  proses pengelompokan data elemen menjadi table-table yang menunjukkan entity dan relasinya.
Pada proses normalisasi  selalu diuji pada beberapa kondisi, apakah ada kesulitan pada saat menambah / insert, menghapus / delete, mengubah / update, dan membaca / retrieve pada suatu Database.Bila ada kesulitan pada pengujian tersebut, maka relasi tersebut dipecahkan menjadi beberapa table lagi, sehingga diperolehdatabase yang optimal.
Proses perancangan database menggunakan normalisasi dimulai dari dokumen dasar yang dipakai dalam sistem sesuai dengan lingkup sistem yang akan dibuat rancangan databasenya. Sebagai contoh adalah sebuah Kartu Hasil Studi (KHS) sebuah perguruan tinggi swasta di Tegal

1.         Bentuk Unnormalisasi
 Langkah pertama dalam merancang sebuah database adalah dengan membentuk contoh data tersebut di atas dengan membentuk unnormalisasi data, dengan cara mencantumkan semua atribut data yang ada apa adanya seperti terlihat berikut ini :


Pada relasi diatas adalah dengan menuliskan semua data yang ada yang akan direkam, data yang double tidak perlu ditulis. Terlihat baris / record yang tidak lengkap. 
2.         Bentuk Normal Pertama (1 NF)
 
Suatu tabel dikatakan dalam bentuk normal pertama apabila:
a.      Tidak ada baris data yang duplikat atau berulang dalam tabel.
b.      Setiap sel memiliki nilai tunggal artinya tidak ada perulangan.
c.       Data dalam kolom memiliki tipe data yang sejenis.
 Bentuklah menjadi bentuk normal pertama dengan memisah-misahkan data pada atribut-atribut yang tepat dan bernilai atomik, juga seluruh record / baris harus lengkap adanya. Bentuk relasi adalah flat file. pada normal ini kita bisa membuat 17 Field sehingga dibentuk seperti ini :
Pada normal pertama tersebut masih terjadi banyak kelemahan, terutama pada proses ANOMALI  insert, update dan delete berikut ini.

a.
Inserting / Penyisipan
Kita tidak dapat memasukkan NPM dan nama  mahasiswa saja tanpa
adanya Nama matakulian yang dimbil, sehingga mahasiswa baru bisa
dimasukkan kalau ada telah mengambil mata kuliah.
b.
Deleting / Penghapusan
Bila satu record / baris di atas dihapus, misal Mata Kuliah Matematika
Diskrit, maka berakibat pada penghapusan data Nama Dosen
(S. Abas M.Eng) padahal data tersebut masih diperlukan.

c.
Updating / Pengubahan
NPM dan nama mahasiswa terlihat ditulis berkali-kali, bila nama
mahasiswa berubah, maka di setiap baris yang ada harus dirubah,
bila tidak menjadi tidak konsisten.
3.         Bentuk Normal Kedua (2 NF)
Tabel dalam keadaan 2NF apabila tabel sudah dalam keadaan 1NF dan semua atribut yang bukan kunci, bergantung pada semua kunci dalam tabel. Dengan kata lain 2NF bertujuan untuk menghilangkan ketergantungan parsial.
Bentuk normal kedua dengan melakukan dekomposisi relasi di atas menjadi beberapa relasi dan mencari kunci primer dari tiap-tiap relasi tersebut dan atribut kunci haruslah unik.
seperti dibawah ini :

 4.         Bentuk Normal Ketiga (3 NF)
Definisi Bentuk Normal Ketiga (3 NF) adalah:
a.         Memenuhi bentuk 2 NF (normal kedua).
b.         Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama / primary key.
 Pada data di atas dengan keterangan "*" merupakan Primary key dari masing-masing tabel. garisnya menunjukan adanya relasi antar tabel.

5. Pengujian dengan data tabel
Dari normal ke tiga kita menuju pengujian antar tabel, seperti telihat gambar dibawah ini :
6. Hubungan Relasi Antar Tabel
Pada Step ini menunjukkan hubungan pokok dari tabel satu ke tabel yang lainnya,
seperti terlihat pada gambar dibawah ini :
 Itulah dia contoh study kasus dari penggunaan Normalisasi Pada Sistem Basis Data. Dengan perantara menggunakan KHS (Kartu Hasil Study).
Sekian Semoga Bermanfaat ^_^

Sabtu, 15 November 2014

UTS-VBnet

Aplikasi Sederhana VB 2008 menggunakan database microsoft acces 2007

contoh aplikasi tentang penjualan kosmetik,yaitu langkah pertama membuat database di microsoft access 2007 ,sebagai berikut:

1.Table Penjualan




2.Data Barang

3.Data Pelanggan


4.Data Vendor

5.Query


Setelah itu buka program vb 2008 lalu klik create  web site project untuk membuat project baru ,kemudian klik ASP.NET Web Site lalu klik ok , kemudian klik design.Selanjutrnya design form menurut selera anda. contohnya sebagai berikut :
-> untuk form data barang 

-> untuk coding di view
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb
Partial Public Class de
    Inherits System.Web.UI.Page
    Dim koneksi As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\heni\Documents\transaksi.accdb"
    Dim objekoneksi As New OleDb.OleDbConnection(koneksi)
    Protected Sub txtkode_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtkode.TextChanged
        objekoneksi.Open()
        Dim sqlTambah = "Insert Into data_barang values ('" & txtkode.Text & "','" & txtnama.Text & "','" & txtharga.Text & "','" & txtvendor.Text & "' )"
        Dim ocmd = New OleDbCommand(sqlTambah, objekoneksi)
        ocmd.ExecuteNonQuery()
        objekoneksi.Close()

    End Sub

    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Response.Redirect("viewbarang.aspx")
    End Sub

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

    End Sub
End Class

-> kemudian menambah form dengan klik projectnya kemudian klik kanan lalu klik new item maka akan tampil form baru dan untuk design form baru menggunakan nama data pelanggan ,contohnya sebagai berikut :

-> untuk codingnya sebagai berikut :
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb
Partial Class datapelanggan
    Inherits System.Web.UI.Page
    Dim koneksi As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\heni\Documents\transaksi.accdb"
    Dim objekoneksi As New OleDb.OleDbConnection(koneksi)
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

    Protected Sub txtkode_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtkode.TextChanged
        objekoneksi.Open()
        Dim sqlTambah = "Insert Into data_pelanggan values ('" & txtkode.Text & "','" & txtnama.Text & "','" & txttlp.Text & "','" & txtemail.Text & "' )"
        Dim ocmd = New OleDbCommand(sqlTambah, objekoneksi)
        ocmd.ExecuteNonQuery()
        objekoneksi.Close()

    End Sub
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Response.Redirect("viewpelanggan.aspx")
    End Sub

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

    End Sub
End Class

-> klik projectnya lagi kemudian klik kanan lalu klik new item dan design form menggunakan nama data vendor,contohnya sebagai berikut :


-> berikut codingnya
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb

Partial Class Default2
    Inherits System.Web.UI.Page
    Dim koneksi As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\uts pa agus\transaksi.accdb"
    Dim objekoneksi As New OleDb.OleDbConnection(koneksi)
    Protected Sub txtkode_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtkode.TextChanged
        objekoneksi.Open()
        Dim sqlTambah = "Insert Into data_vendor values ('" & txtkode.Text & "','" & txtnama.Text & "','" & txttlp.Text & "','" & txtemail.Text & "' )"
        Dim ocmd = New OleDbCommand(sqlTambah, objekoneksi)
        ocmd.ExecuteNonQuery()
        objekoneksi.Close()
    End Sub

    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Response.Redirect("viewvendor.aspx")
    End Sub
End Class

-> kemudian buat form baru lagi dengan nama rekaptransaksi, contoh sebagai berikut :


-> untuk codingnya sebagai berikut

Partial Class rekaptransaksi
    Inherits System.Web.UI.Page

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

    End Sub
End Class


->kemudian membuat form lagi dengan nama transaksi


-> Berikut Codingnya

Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb

Partial Class Default2
    Inherits System.Web.UI.Page
    Dim koneksi As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\uts pa agus\transaksi.accdb"
    Dim objekoneksi As New OleDb.OleDbConnection(koneksi)

    Protected Sub txtid_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtid.TextChanged
        objekoneksi.Open()
        Dim sqlTambah = "Insert Into tabel_jual values ('" & txtid.Text & "','" & txtkode.Text & "','" & txtqty.Text & "' )"
        Dim ocmd = New OleDbCommand(sqlTambah, objekoneksi)
        ocmd.ExecuteNonQuery()
        objekoneksi.Close()
    End Sub

    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Response.Redirect("rekaptransaksi.aspx")
    End Sub
End Class

-> Kemudian membuat form baru dengan nama viewbarang, berikut contohnya

-> berikut codingnya

Partial Class viewbarang
    Inherits System.Web.UI.Page

    Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged

    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

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

    End Sub
End Class

-> Kemudian buat form baru lagi dengan nama viewpelanggan

-> Selanjutnya membuat form baru dengan nama viewvendor



Cukup sekian aplikasi sederhananya & semoga bermanfaat

Minggu, 13 Juli 2014

Aplikasi Sederhana Java Netbean menggunakan database SQL

Contoh aplikasinya tentang penjualan hp.
Setelah membuat database di SQL dan menyambungkannya dengan masterdetail akan muncul form sebagai berikut:


Setelah itu klik kanan pada textfield jumlah -> pilih event -> Focus-> LostFocus,
lalu masukan codingnya :


Kemudian buat 1 tombol dan di beri nama print,lalu klik 2x dan condingannya sebagai berikut.

Untuk lokasi dan nama filenya tergantung anda menyimpannya.

Untuk hasil aplikasinya yang sudah di run

Untuk tombol print hasil screenshootnya

Cukup sekian contoh aplikasi sedehananya & semoga bermanfaat.

Sabtu, 10 Mei 2014

Membuat Aplikasi Program Java Data Mahasiswa/Siswa Pada Pemograman JAVA(Septiyan Heni Rahayu/semester4/kelas mlm/201210225029)

Langkah-langkah Membuat Contoh Program Java Data Mahasiswa/Siswa Pada Pemograman JAVA

  • Buka program netbeans.
  • Pilih file-New Project-java-java aplication klik next
  • Project Name : terserah dan project lokasion : terserah misalnya di local disk D:\  klik browse untuk memilih mode penyimpanan.
  • Hilangkan centang create main class dan hilangkan centang set as my project 
  • Finish.
  • Kemudian kik kanan nama project yang telah dibuat letaknya dipojok kiri atas. Klik kanan source packages-new-javapages kemudian buat nama : terserah klik finish.
  • Kemudian klik kanan nama source pages yang telah dibuat tadi-new-Jframe Form.
  • Buat nama frame : latihan1 klik finish.
  • Klik kanan pada area form-klik set layout-absolute layout.
  • Pilih label pada pilihan komponen palette ( swing containers). Klik geser ke area form-klik kanan label-ubah nama label atau klik edit text. Lakukan ini sebanyak yang dibutuhkan misalnya untuk Judul form, Nama, alamat,npm, fakultas, jurusan,ipk,peringkat Contoh :
  • Berarti kita membutuhkan 8 label silahkan dibuat.
  • Pilih text fields pada komponen palette(swing controlrs). Klik geser ke area form untuk nama, alamat, npm, fakultas, jurusan,ipk,peringkat berarti kita membutuhkan sebanyak 6 text field dan 1combo box untuk ipk,  hapus nama text field dan combo box klik kanan edit text hapus teksnya. contoh seperti dibawah ini :
  • Tambahkan button 2 buah. Klik button pada komponen palette (swing contorls). Klik tahan geser ke area silahkan sesuai kan tempatnya. Ubah nama button klik kanan-edit text-ubah nama tampilkan, hapus dan keluar .seperti gambar dibawah ini.



    • Kemudian ubah nama variabel text field semuanya. Klik kanan text field-change variabel name-ubah nama sesuai ini : nama kita buat  nama variabelnya nm, alamat nama variabelnya al, npm nama variabelnya npm, fakultas nama variabelnya fak, dan jurusan kita ubah nama variabel jr,ipk namavariabelnya ipk,dan peringkat nama variabelnya pr.
    • Sekarang kita akan membuat scriptnya supaya bisa ditampilkan bila diklik button tampilkan.
    • Klik kanan button “Tampilkan”events-action-action performed maka akan keluar tampilan source code.
    • Tuliskan kode script dibawah tulisan// TODO add your handling code here:
              JOptionPane.showMessageDialog(null,"SELAMAT DATANG SAUDARA \n NAMA :"+nm.getText()
                      +"\n ALAMAT :"+al.getText()+"\n NPM :"+npm.getText()+"\n FAKULTAS :"+fak.getText()+"\n JURUSAN :"+jr.getText()
                      +"\n IPK :"+ipk.getSelectedItem()
                      +"\n Peringkat :"+pr.getText(),
                      "",JOptionPane.INFORMATION_MESSAGE);
    • Sebelumnya ketik script warna merah ini tepat pada
       * @author LENOVO
       */
      import javax.swing.JOptionPane;
      public class latihan1 extends javax.swing.JFrame 
    • Pilih run-clean and build jika tidak ada error dan ada succses full berarti project kita sukses.
    • Pilih run-fun file hingga tampil seperti gambar dibawah ini.
      • Silahkan isi data nya seperti hasil gambar dibawah ini



    •  Klik tampilkan Dan outputnya seperti gambar dibawah ini. 


    • Sekarang lengkapi button hapus dengan klik kanan button hapus-events-action-action performed
    • Isikan kode ini dibawah  // TODO add your handling code here:
              // TODO add your handling code here:
               nm.setText("");
              al.setText("");
              npm.setText("");
              fak.setText("");
              jr.setText("");
              ipk.setSelectedItem("");
              pr.setText("");

      Catatan : nm, al, npm, fak, jr,ipk,pr itu adalah nama variabel text field dan jika kita klik hapus maka semua data yang diisi dikolom field akan terhapus contoh nya :  jr.setText("berarti area ini telah dihpus atau dikosongkan");
    • Dan untuk button keluar silahkan buat lagi klik kanan-events-action-action performed ketikan this.dispose();
    • Oke project kita selesai

Jumat, 11 April 2014

Program Data Mahasiswa

Program Data Mahasiswa


public static void main(String[] args) {
        // TODO code application logic here
String nama;
String jk ;
String kampus ;
String kelas;
String jurusan;
String npm;

Scanner inpt= new Scanner (System.in);
    System.out.print( " Masukan Nama : " );
nama = inpt.nextLine();
    System.out.print( " Masukan Jenis Kelamin : " );
jk = inpt.nextLine();
    System.out.print (" Masukan Kampus Ubhara : " );
kampus = inpt.nextLine();
    System.out.print( " Masukan Kelas : " );
kelas = inpt.nextLine();
    System.out.print( " Masukan Jurusan : " );
jurusan = inpt.nextLine();
    System.out.print( " Masukan NPM : " );
npm = inpt.nextLine();
    System.out.println("\n");
    System.out.println(" Data Mahasiswa Ubhara ");
    System.out.println("Nama Lengkap  : " + nama);
    System.out.println ("Kampus       : " + kampus);
    System.out.println("Jenis Kelamin : " + jk);
    System.out.println("Kelas         : " + kelas);
    System.out.println("Jurusan       : " + jurusan);
    System.out.println("Npm           : " + npm);

}

}


hasilnya :