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.

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
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 :
![]() |
![]() |
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 :
|
|
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