Saturday, May 26, 2012

JFrame dan Database


A.      JFRAME
1.      Dasar Teori
Jframe adalah salah satu container yang ada dalam swing. Container adalah komponen yang dapat menampung komponen lain diatasnya. Di atas Jframe kita bisa menaruh JLabel, JTextField, JTextArea, JButton bahkan JPanel (JPanel juga termasuk container)

B.       Pengertian Database
Database mempunyai beberapa pengertian yang digunakan sebagai dasar untuk memahami cara penggunaan dan dasar pembuatan dari sistem tersebut antara lain.
a.         Database merupakan suatu kumpulan informasi yang disimpan didalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari data yang disimpan tersebut.
b.        Database merupakan kumpulan data yang saling berhubungan. Hubungan antar data dapat ditunjukan dengan adanya field/kolom kunci dari tiap file/tabel yang ada. Dalam satu file atau tabel terdapat rekaman-rekaman yang sejenis, sama besar, sama bentuk, dan merupakan satu kumpulan entity/entitas yang seragam.
c.         Database adalah kumpulan suatu data yang disimpan secara bersama - sama pada suatu media, tanpa adanya suatu bentuk data yang sama antara satu dengan yang lain, sehingga mudah untuk digunakan kembali, dan dapat digunakan oleh suatu program aplikasi secara optimal. Data disimpan tanpa mengalami ketergantungan pada program yang akan menggunakannya, data disimpan sedemikian rupa sehingga apabila ada penambahan, pengambilan dan modifikasi data dapat dilakukan dengan mudah dan terkontrol.
C.       Desain Database dengan Entity Relationship Diagram (ERD)
1.    Model E-R
Model E-R adalah suatu model yang digunakan untuk menggambarkan data dalam bentuk entitas, atribut, dan hubungan antarentitas. Huruf E sendiri menyatakan entitas dan R menyatakan hubungan dari kata relationship. Model ini dinyatakan dalam bentuk diagram. Itulah sebabnya model E-R sering juga disebut sebagai diagram E-R. Perlu diketahui bahwa model seperti ini tidak mencerminkan bentuk fisik yang nantinya akan disimpan di database, melainkan hanya bersifat konseptual. Itulah sebabnya model E-R tidak bergantung pada produk DBMS yang akan digunakan. Contoh sebuah model E-R ditunjukkan pada gambar berikut :


 






       Secara garis besar model E-R diatas menerangkan hubungan antara :
1.      Mahasiswa dan matakuliah yang diambil,
2.      Dosen dan mahasiswa yang dibimbing,
3.      Dosen dan matakuliah yang diajar.
      Dalam hal ini MAHASISWA, MATAKULIAH, dan, DOSEN menyatakan tipe entitas dan mengambil, membimbing, dan mengajar menyatakan hubungan.
Sekedar untuk diketahui secara dini model E-R melibatkan sejumlah notasi. Beberapa notasi dasar dalam model E-R ditunjukkan pada gambar dibawah ini :






Entitas
Yang dimaksud dengan entitas adalah “sesuatu dalam dunia nyata yang keberadaannya tidak bergantung pada yang lain” (Elmasri dan Navathe, 1994). Sebagai contoh, setiap pegawai dalam sebuah organisasi adalah sebuah entitas. Entitas dapat berupa sesuatu yang nyata ataupun abstrak (berupa suatu konsep). Secara lebih rinci, Hoffer, dkk, (2005) menjelaskan bahwa entitas dapat berupa seseorang, sebuah tempat, sebuah objek, sebuah kejadian, atau suatu konsep. Sebuah entitas dinyatakan dengan kata benda dan ditulis dengan huruf capital. Beberapa contoh entitas ditunjukkan dibawah ini.
Orang                   : PEGAWAI, MAHASISWA, PASIEN
Tempat                 : TOKO, GUDANG, PROPINSI
Objek                   : MESIN, GEDUNG, MOBIL
Kejadian               : PENJUALAN, REGISTRASI
Konsep                 : REKENING, KURSUS
Atribut
Setiap entitas dinyatakan oleh sebuah atribut. Atribut adalah property atau karakteristik yang terdapat dalam setiap entitas. Sebagai contoh, sebagaimana terlihat pada gambar dibawah ini, terhadap entitas MOBIL yang mengandung atribut Nomor_Polisi , Tipe, Warna, Nomor_Rangka, dan Nomor_Mesin. Selain itu terdapat entitas MAHASISWA yang mengandung atribut Nomor_Mahasiswa, Nama, Tanggal_Lahir, dan Jenis_Kelamin.



Setiap atribut dinyatakan dengan kata benda. Supaya konsisten, Hoffer, dkk (2005) menggunakan huruf kapital untuk setiap awal kata dan huruf kecil untuk yang lain. Jika atribut menggunakan lebih dari satu kata, antarkata dipisah oleh karakter garis bawah. Dalam model E_R, secara umum atribut dinyatakan dengan bentuk lonjong. Namun dibelakang akan ditunjukkan beberapa variasi penggambaran atribut, bergantung pada jenisnya. Contoh penggambaran atribut ditunjukkan pada gambar dibawah ini :
Oval: Nama Oval: Tanggal_Lahir
 

            Tipe Entitas dan Instans Entitas
Yang dimaksud dengan tipe entitas adalah kumpulan entitas yang berbagi atribut (Hoffer, dkk., 2005). Istilah yang lain yang artinya serupa dengan tipe entitas yaitu himpunan entitas (entity set, Silberschatz, dkk., 2002). Adapun instans adalah satu kejadian dalam sebuah tipe entitas.
 





Tipe entitas pada gambar dibawah ini mengandung tiga buah atribut. Setiap atribut memiliki tipe data (misalnya Nomor_Mahasiswa bertipe CHAR(5), yang berarti panjangnya maksimal mengandung 5 karakter, Tanggal_Lahir bertipe DATE yang menyatakan bahwa isinya menyatakan data tanggal), Adapun 08001, Emi Wardiyanti, 20/08/1990, dan Wanita menyatakan instans entitas pertama dan 08002, Sutanto, 04.05.1991, dan Pria menyatakan instans kedua. Kedua instans entitas tersebut berbagi atribut yang sama.
Atribut
Tipe Data Atribut
Contoh Instan 1
Contoh Instan 2
Nomor Mahasiswa
CHAR(5)
08001
08002
Nama
CHAR(35)
Emi Wardiyanti
Sutanto
Tanggal_Lahir
Date
20/08/1990
04/05/1991
Jenis_Kelamin
CHAR(6)
Wanita
Pria
Setiap tipe entitas dalam model E-R diberi sebuah nama berupa kata benda tunggal (misalnya GEDUNG, bukan GEDUNG-GEDUNG) dan dinyatakan dengan bentuk kotak. Contoh ditunjukkan pada Gambar berikut :
DOSEN
 
MAHASISWA
 
                                                                                       
                       
Dalam penggambaran yang lengkap, atribut-atribut yang dimiliki oleh suatu tipe entitas ikut digambarkan. Sebagai contoh, perhatikan gambar dibawah ini. Gambar ini menunjukkan bahwa tipe entitas MAHASISWA mengandung atribut Nomor_Mahasiswa, Nama, Tanggal_Lahir, Jenis_Kelamin.
 







                                                            
                        Perlu diketahui, tipe entitas seperti MAHASISWA acapkali ditulis dengan notasi seperti berikut :
                        MAHASISWA (Nomor_Mahasiswa, Nama, Tanggal_Lahir, Jenis_Kelamin)
            Nama tipe entitas diletakkan di depan. Nama-nama atribut ditulis dalam tanda kurung, dengan antaratribut dipisahkan oleh tanda koma.
Hubungan
            Hubungan (relationship) menyatakan keterkaitan antara beberapa tipe entitas. Sebagai contoh, tipe entitas MAHASISWA dan DOSEN mempunyai hubungan yang mencerminkan bahwa seorang mahasiswa memiliki dosen pembimbing akademis. Gambar dibawah ini menunjukkan hubungan tersebut.



 






                                                                                                                                          
Hubungan pada gambar di atas menyatakan bahwa :
1.      Seorang mahasiswa mempunyai hanya seorang dosen pembimbing akademis, dan
2.      Seorang dosen bisa menjadi pembimbing satu atau banyak mahasiswa atau tidak sama sekali.
D.      Desain Database dengan Normalisasi
Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data / database, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi). Normalisasi adalah suatu proses memperbaiki / membangun dengan model data relasional, dan secara umum lebih tepat dikoneksikan dengan model data logika.
Proses normalisasi adalah proses pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi dilakukan pengujian pada beberapa kondisi apakah ada kesulitan pada saat menambah/menyisipkan, menghapus, mengubah dan mengakses pada suatu basis data. Bila terdapat kesulitan pada pengujian tersebut maka perlu dipecahkan relasi pada beberapa tabel lagi atau dengan kata lain perancangan basis data belum optimal.
Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF). Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik.
Tujuan dari normalisasi :
1.      Menghilangkan kerangkapan data
2.      Mengurangi kompleksitas
3.      Untuk mempermudah pemodifikasian data..
Tahapan Normalisasi
Penjelasan :
1.      Bentuk Normal Kesatu (1 NF / First Normal Form)
Bentuk Bentuk Normal Kesatu mempunyai ciri yaitu setiap data dibentuk dalam file flat, data dibentuk dalam satu record demi satu record dan nilai dari field berupa “atomic value”. Tidak ada set atribut yang berulang ulang atau atribut bernilai ganda (multi value). Tiap field hanya satu pengertian, bukan merupakan kumpulan data yang mempunyai arti mendua. Hanya satu arti saja dan juga bukanlah pecahan kata kata sehingga artinya lain.
Atom adalah zat terkecil yang masih memiliki sifat induknya, bila dipecah lagi maka ia tidak memiliki sifat induknya.
Contoh :
Kelas (Kode Kelas, Nama Kelas, Pengajar)
Ini merupakan bentuk 1NF karena tidak ada yang berganda dan tiap atribut satu pengetian yang tunggal
Contoh Data
Mahasiswa (NPM, Nama, Dosen Wali, Semester1, Semester2 Semester3)
Mahasiswa yang punya NPM, Nama, Dosen Wali mengikuti 3 mata kuliah. Di sini ada perulangan semester sebanyak 3 kali. Bentuk seperti ini bukanlah 1NF.
2.      Bentuk Normal Kedua (2NF)
Bentuk Normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk Normal Kesatu. Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama, sehingga untuk membentuk Normal Kedua haruslah sudah ditentukan kunci-kunci field. Kunci field harus unik dan dapat mewakili atribut lain yang menjadi anggotanya. Dari contoh relasi mahasiswa pada bentuk Normal Kesatu, terlihat bahwa kunci utama adalah NPM. Nama Mahasiswa dan Dosen Wali bergantung pada NPM, Tetapi Kode Semester bukanlah fungsi dari Mahasiswa maka file siswa dipecah menjadi 2 relasi yaitu :
Relasi Mahasiswa
Dan
Relasi Ambil Kuliah
3.      Bentuk Normal Ketiga (3NF)
Untuk menjadi bentuk Normal Ketiga maka relasi haruslah dalam bentuk Normal Kedua dan semua atribut bukan primer tidak punya hubungan yang transitif. Artinya setiap atribut bukan kunci harus bergantung hanya pada kunci primer secara menyeluruh. Contoh pada bentuk Normal kedua di atas termasuk juga bentuk Normal Ketiga karena seluruh atribut yang ada di situ bergantung penuh pada kunci primernya.
Boyce-Codd Normal Form (BNCF)
Boyce-Codd Normal Form mempunyai paksaan yang lebih kuat dari bentuk Normal ketiga. Untuk menjadi BNCF, relasi harus dalam bentuk Normal Kesatu dan setiap atribut dipaksa bergantung pada fungsi pada atribut super key.
Pada contoh dibawah ini terdapat relasi Seminar, Kunci Primer adalah NPM + Seminar. Siswa boleh mengambil satu atau dua seminar. Setiap seminar membutuhkan 2 pembimbing dan setiap siswa dibimbing oleh salah satu diantara 2 pembimbing seminar tersebut. Setiap pembimbing hanya boleh mengambil satu seminar saja. pada contoh ini NPM dan Seminar menunjukkan seorang Pembimbing.
Relasi Seminar
Bentuk Relasi Seminar adalah bentuk Normal Ketiga, tetapi tidak BCNF karena Kode Seminar masih bergantung fungsi pada Pembimbing, jika setiap Pembimbing dapat mengajar hanya satu seminar. Seminar bergantung pada satu atribut bukan super key seperti yang disayaratakan oleh BCNF. Maka relasi Seminar harus dipecah menjadi dua yaitu :
Penerapan Bentuk Normalisasi
Proses perancangan basis data dapat dimulai dari dokumen dasar yang dipakai dalam sistem sesungguhnya. Kadang-kadang basis data dibentuk dari sistem nyata yang mempunyai bentuk masih belum menggambarkan entitas-entitas secara baik. Sebagai contoh basis data yang dibangun dari daftar faktur pembelian sebagai berikut :
Langkah Pertama
Bentuklah menjadi tabel Un-Normalized, dengan mencantumkan semua field data yang ada.
Menuliskan semua data yang akan direkam, bagian yang doubel tidak perlu dituliskan. Terlihat record-record yang tidak lengkap, sulit untuk membayangkan bagaimana bentuk record yang harus dibentuk untuk merekam data tersebut.
Langkah Kedua
Ubahlah menjadi bentuk Normal Kesatu dengan memisahkan data pada field-field yang tepat dan bernilai atomik, juga seluruh record harus lengkap datanya. Bentuk file masih flat.
Dengan bentuk Normal Kesatu ini telah dapat dibuat satu file dengan 11 field yaitu No faktur, Kode Suplier, Nama Suplier, Kode Barang, Nama Barang, Tanggal, Jatuh Tempo, Quntity, Harga, Jumlah, Total.
Namun bentuk Normal Kesatu ini mempunyai banyak kelemahan diantaranya yaitu :
         Penyisipan data
Kode Suplier dan Nama Suplier tidak bisa ditambahkan tanpa adanya transaksi pembelian.
         Penghapusan data
Jika salah satu record dihapus maka semua data yang ada di situ akan terhapus juga.
         Pengubahan data
Data suplier ditulis berkali-kali (Kode dan Nama). Jika suatu saat terjadi perubahan Nama suplier maka harus mengganti semua record yang ada data supliernya. Bila tidak maka akan terjadi inkonsistensi.
         Redundansi
Field jumlah merupakan redundansi karena setiap harga dikalikan kuantitas hasilnya adalah jumlah, sehingga field ini dapat dibuang. Bila tidak maka dapat mengakibatkan inkonsistensi jika terjadi perubahan harga.

Langkah Ketiga
Pembentukan Normal Kedua dengan mencari field kunci yang dapat dipakai sebagai patokan dalam pencarian dan yang mempunyai sifat yang unik. Melihat kondisi dari permasalahn faktur di atas dapat diambil kunci kandidat sbb :
§  No faktur
§  Kode Suplier
§  Kode Barang
Buatlah tiga tabel dengan kunci tersebut, lihatlah kebergantungan fungsional field lain terhadap kunci, maka didapatkan tabel sebagai berikut :
Dengan pemecahan seperti di atas maka sebagian dari pertanyaan pengujian pada bentuk normal kesatu yaitu masalah penyisipan, penghapusan dan pengubahan dapat dijawab. Data suplier dapat ditambahkan kapan saja tanpa harus ada transaksi pembelian. Namun permasalahan masih ada yaitu pada tabel nota.
§  Field Kuantitas dan Harga tidak bergantung peenuh pada kunci primer nomor nota, ia juga bergantung fungsi pada kode barang. Hal ini disebut sebagai kebergantungan yang transitif dan harus dipisahkan dari tabel.
§  M = redundansi masih terjadi, yaitu setiap kali satu nota yang terdiri dari 5 macam barang yang dibeli maka 5 kali pula nota dituliskan ke nomor nota, tanggal nota, tempo dan total. Ini harus dipisahkan bila terjadi penggandaan tulisan yang berulang-ulang.

Langkah Ke 4
Bentuk normal ketiga mempunyai syarat setiap tabel tidak mempunyai field yang bergantung transitif, harus bergantung penuh pada kunci utama. Maka terbentuklah tabel sebagai berikut :
Langkah Ke-5
Pengujian di sini untuk memastikan kebenaran isi tabel dan hubungan antara tabel tersebut. Ujian bahwa setiap tabel haruslah punya hubungan dengan tabel yang lainnya. Bila tidak ada penghubungan antar tabel maka dapat dikatakan perancangan untuk membuat satu basis data adalah gagal.

Langkah Ke-6 Relasi Antar tabel
Gambarkan hubungan relasi antar file yang ada sebagai berikut :
Pengertian relasi di atas adalah
§  Satu supplier punya banyak nota
§  Nota punya relasi dengan suplier bukan sebaliknya suplier punya relasi terhadap nota.
§  Satu nota punya banyak transaksi barang
§  Satu barang terjadi beberapa kali transaksi pembelian barang.
Langkah Ke-7
Permasalahan di atas hanya terbatas pada satu dokumen Faktur pembelian barang, padahal pada kenyataannya tentu faktur tersebut mempunyai dokumen pelengkap misalnya nota penjualan barang, laporan stok barang, laporan penjualan, laporan pembelian dan masih banyak lagi laporan dan dokumen data enty lainya.
Dengan langkah-langkah perancangan seperti di atas maka diperoleh field-field untuk melengkapi tabel-tabel yang ada dalam satu basis data. Misalnya tabel barang dengan bertambahnya field yang lain menjadi :

No comments:

Post a Comment