Menurut Connolly dan Begg(2010, hal. 381)Candidate key merupakan set minimal atribut yang secara unik mengidentifikasi setiap kemunculan suatu tipe entitas.
- Primary key
Menurut Connolly dan Begg(2010, hal. 381) Primary key merupakan sebuah candidate key yang dipilih secara unik dengan mengidentifikasi setiap tipe entitas. - Composite key
MenurutConnolly dan Begg(2010, hal. 382) Composite key merupakan sebuah candidate key yang terdiri dari dua atau lebih atribut.
2.1.11 Normalisasi
Menurut Indrajani (2008, hal. 57) Normalisasi merupakan suatu teknik dengan pendekatan bottom-up yang digunakan untuk membantu mengidentifikasikan hubungan.
Menurut Connolly dan Begg(2010, hal. 416) Normalisasi merupakan sebuah teknik untuk memproduksi satu set hubungan dengan sifat yang diinginkan, memberikan kebutuhan data pada perusahaan.
Jadi yang dapat disimpulkan normalisasi metode yang digunakan untuk mengidentifikasi hubungan data pada data perusahaan.
- Suatu teknik formal untuk menganalisis relasi berdasarkan primary key dan fungsi depedensi antar atribut yang ada. - Dieksekusi dalam beberapa cara. Setiap cara mengacu ke
bentuk normal tertentu, sesuai dengan sifat yang dimilikinya. - Setelah normalisasi diproses, relasi akan secara bertahap lebih
terbatas/kuat bentuk formatnya dan juga mengurangi tindakan anomali pada setiap update.
Gambar 2.1Tahapan Normalisasi Sumber : Connolly & Begg(2010, hal. 429) - Unnormalized Form(UNF)
Menurut Connolly dan Begg (2010, hal. 439), unnormalized form(UNF) yaitu sebuah tabel yang berisikan satu atau lebih kumpulan data yang berulang. Untuk membuat tabel UNF yaitu dengan memindahkan data dari sumber informasi kedalam format tabel dengan baris dan kolom, jika ada atribut yang multivalue akan masuk kedalam kondisi unnormalized.
- First Normal Form(1NF)
Menurut Connolly dan Begg (2010, hal. 439), First Normal Form adalah sebuah relasi yang dimana sebuah titik pertemuan antara setiap baris dan kolom yang berisi satu dan hanya satu nilai.
- Second Normal Form(2NF)
Menurut Connolly dan Begg (2010, hal. 439), Second Normal Form adalah sebuah relasi yang terdapat didalam 1NF dan setiap atribut yang bukan primary key bergantung pada primary key.
- Third Normal Form(3NF)
Menurut Connolly dan Begg (2010, hal. 439), Third Normal Form adalah sebuah relasi yang terdapat pada bentuk normalisasi pertama dan kedua, yang mana atribut primary key bergantung pada primary key.
Proses normalisasi meliputi langkah-langkah sebagai berikut: a) First normal form (1NF)
Sebelum membahas tentang first normal form, ada tahap sebelum memulai proses 1NF yaitu unnormalized form (UNF). UNF merupakan tabel yang mengandung satu atau lebih grup yang berulang (repeating grup). Sebelum mentransformasi tabel tidak normal ke bentuk normal pertama (1NF), terlebih dahulu mengidentifikasi repeating group yang terdapat pada tabel
relasi. Kemudian menghilangkan repeating group untuk menghilangkan data rangkap.
b) Second normal form (2NF)
Second normal form (2NF) merupakan relasi yang terdapat dalam bentuk 1NF dan tiap atribut yang bukan primary key sifatnya bergantung penuh secara fungsional pada primary key(full functional dependency).
c) Third normal form (3NF)
Third normal form merupakan relasi yang terdapat pada 1NF dan 2NF, dimana tidak ada atribut bukan primary key yang bergantung transitif terhadap primary key. Bentuk normal ketiga ini, berdasarkan pada konsep peralihan ketergantungan (transitive dependency).Transitive dependency adalah kondisi di mana A, B, dan C adalah atribut dari sebuah relasi bahwa jika A→B dan B→C, maka C adalah transitiveindependent pada A melewati B (menyatakan bahwa A bukan merupakan functional dependent pada B atau C). Pada bentuk normal ketiga, sebuah relasi pada bentuk normal pertama dan kedua serta di mana tidak ada atribut non-primary key secara transitif bergantung transitivelydependent pada primary key.
d) Boyce-Codd Normal Form (BCNF)
Suatu relasi bisa dikatakan BCNF bila didalamnya berisi atribut yang berfungsi sebagai candidate key sehingga salah satu dari candidate key tersebut menjadi primary key.
e) Fourth normal form (4NF)
Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari satu multivalued attribute.
f) Fifth normal form (5NF)
Bentuk normal 5 NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yang lebih kecil. 2.1.12 Tahapan Perancangan Database
Menurut Connolly dan Begg (2010, hal. 320) mendefinisikan perancangan database adalah proses menciptakan desain untuk basis data yang akan mendukung operasi dan tujuan perusahaan, metodologi perancangan basis data dalam tiga tahapan, yaitu:
a. Perancangan Basis Data Konseptual
Tahap perancangan basis data konseptual diawali dengan pembuatan model data konseptual perusahaan, yang secara keseluruhan tidak bergantung pada pada detail-detail implementasi seperti target DBMS, program aplikasi, bahasa pemrograman, platform perangkat keras, masalah kinerja dan pertimbangan fisikal lainnya. Tujuan dilakukannya tahap perancangan konseptual adalah untuk membuat model data konseptual dari data yang dibutuhkan oleh perusahaan. Model data konseptual didukung oleh dokumentasi, termasuk diagram ER dan sebuah kamus data, yang dihasilkan melalui pengembangan dari model itu. Tahap ini memiliki langkah-langkah sebagai berikut:
Langkah awal dalam membangun model data konseptual adalah dengan mendefinisikan objek-objek utama yang dibutuhkan oleh pengguna. Objek-objek ini adalah tipe-tipe entitas untuk model tersebut. Untuk mengidentifikasi entitas adalah dengan memeriksa spesifikasi dari kebutuhan pengguna.
2) Mengidentifikasi Tipe Relasi
Setelah mengidentifikasi entitas, selanjutnya yaitu mengidentifikasi semua relasi (relationship) yang ada di antara entitas-entitas ini.
3) Mengidentifikasi dan Menghubungkan Atribut-atribut dengan Entitas atau Relasi
Langkah berikutnya pada metodologi ini adalah mengidentifikasi tipe-tipe fakta tentang entitas dan relasi yang pilih untuk dimasukan ke dalam database.
4) Menentukan Domain Atribut
Sebuah domain adalah kumpulan nilai-nilai dari satu atau lebih atribut-atribut yang di ambil nilainya. Tujuan dari langkah ini adalah untuk menentukan domain dari semua atribut-atribut yang ada pada model data konseptual.
5) Menentukan Atribut dari Candidate dan Primary Key
Fokusdari langkah ini adalah mengidentifikasi candidate key dari suatu entitasdan kemudian memilih salah satu sebagai primary key. Candidate key adalah sekumpulan atribut-atribut dari sebuah entitas yang secara unik mengidentifikasi setiap kegiatan dari entitas
tersebut. Candidate key dapat diidentifikasikan lebih dari satu, dan harus dipilih satu menjadi primary key, mengingat candidate key merupakan key alternative.
6) Mempertimbangkan Penggunaan Konsep Enhanced Modeling(langkah optional)
Pada langkah optional ini, terdapat pilihan untuk melanjutkan pengembangan model ER dengan menggunakan konsep model lanjutan, seperti spesialisasi/generalisasi, agregasi dan komposisi. 7) Mengecek Model Terhadap Redudansi
Dalam langkah ini, dilakukan pemeriksaan adanya redudansi terhadap model konseptual dan menghilangkan redudansi tersebut. Ada dua kegiatan dalam langkah ini, yaitu:
a) Memeriksa ulang relasi one to one (1:1) b) Menghilangkan relasi redundancy.
8) Memvalidasi Model Konseptual Terhadap Transaksi Pengguna Tujuan utamanya yaitu memastikan model konseptual yang dibuat mendukung transaksi yang diperlukan untuk view. Dua pendekatan untuk memastikan model konseptual:
a) Pendeskripsian transaksi.
b) Menggunakan jalur transaksi (transaction pathways). 9) Meninjau Kembali Model Data Konseptual Bersama Pengguna
Sebelum menyelesaikan tahap pertama, diperlukan untuk meninjau kembali model data konseptual bersama pengguna untuk
tepat. Model data konseptual berisi diagram ER dan dokumen pendukung yang mendeskripsikan data model. Jika terjadi anomali di dalam data model, maka harus melakukan perubahan yang diperlukan, dengan mengulangi langkah-langkah sebelumnya yang dibutuhkan.
b. Perancangan Basis Data Logical
Sasaran utama dari langkah ini, yaitu membangun sebuah model data logikal dari model data konseptual yang memberi gambaran dari kebutuhan perusahaan dan kemudian memvalidasi model ini untuk memastikan bahwa secara struktur benar (menggunakan teknik normalisasi) dan memastikan model ini mendukung transaksi yang dibutuhkan.
Langkah-langkah yang ada pada perancangan basis data logical ini antara lain:
1) Menentukan relasi untuk model data logikal
Pada tahap awal, model konseptual dibuat untuk memberi gambaran kebutuhan perusahaan. Namun, model data tersebut memiliki kemungkinan mengandung beberapa struktur yang tidak mudah dimodelkan oleh relasi konvensional DBMS. Pada langkah ini dilakukan transformasi struktur-struktur tersebut kedalam sebuah bentuk yang sesuai dengan sistem. Sasaran dari langkah ini adalah untuk:
a) Membuat relasi antara strong entity yang ada. Untuk atribut composite seperti nama, cantumkan yang penting saja seperti fName(nama depan) dan lName(nama belakang).
b) Pada tipe weak entity, primary key-nya diturunkan dari setiap owner entity.
c) Pada tipe relasi biner one-to-many, apabila terdapat mandatory participation pada kedua sisi, gabungkan entitas yang terlibat menjadi satu tabel dan pilih salah satu primary key dari entitas asalnya menjadi primary key yang lainnya, digunakan sebagai alternate key. Apabila terdapat mandatory participation pada sisi pertama, maka yang harus dilakukan adalah menentukan entitas induk dan anak dari kedua tabel. Primary key pada tabel induk akan menjadi primary key juga pada tabel anak. Dan apabila terjadi optional participation pada kedua sisi, maka harus ditentukan primary key dari tabel mana yang akan disalin ke tabel lain yang berhubungan.
d) Memeriksa relasi biner one-to-one, apabila terdapat mandatory participation pada kedua sisi, gabungkan entity yang terlibat dalam satu tabel dan pilih salah satu primary key dari entity asalnya menjadi primary key pada tabel yang baru. Dan primary key yang lainnya digunakan sebagai alternate key
e) Memeriksa relasi biner recursiveone-to-one
g) Pada tipe relasi binermany-to-many, buat sebuah tabel untuk merepresentasikan relasi dan beberapa atribut yang menjadi bagian dari relasi tersebut. Letakan primary key dari entitas yang berhubungan ke tabel baru sebagai foreign key. Foreign key tersebut akan menjadi primary key pada tabel yang baru. h) Pada relasi kompleks, buat sebuah tabel yang merepresentasikan
relasi dan beberapa atribut yang menjadi bagian dari relasi tersebut. Kemudian letakkan primary key dari entitas yang memiliki relasi kompleks ke dalam tabel yang baru dibuat sebagai foreign key. Foreign key yang mewakili relasi many, misalnya 0…* atau 1…* akan membentuk primary key juga pada tabelyang baru.
i) Pada atribut multi-valued, buat sebuah tabel yang merepresentasikan atribut multi-valued dan primary key dari tabel yang lama menjadi foreign key pada tabel yang dibuat. 2) Memvalidasi Relasi Menggunakan Normalisasi
Normalisasi adalah sebuah teknik untuk menghasilkan sekumpulan relasi dengan property yang diinginkan yang akan memberi kebutuhan data bagi perusahaan. Normalisasi digunakan untuk menyempurnakan model sehingga menghindari berbagai kendala dan adanya duplikasi data. Normalisasi memastikan bahwa model data yang dihasilkan adalah model yang memiliki gambaran terdekat mengenai perusahaan, konsistensi, dan memiliki sedikit redundancy dan stabilitas yang maksimal.
3) Memvalidasi Relasi Terhadap Transaksi Pengguna
Sasaran utamanya adalah untuk memvalidasi model data logikal untuk memastikan bahwa model tersebut mendukung transaksi yang dibutuhkan, sebagai spesifikasi kebutuhan pengguna yang terperinci.
4) Mendefinisikan Kendala Integritas
Kendala integritas merupakan kendala-kendala yang akan diatasi untuk mencegah database menjadi tidak konsisten. Ada lima tipe kendala integritas yaitu required data, atribut domain constraints, entity integrity, referential integrity dan enterprise constraint. 5) Meninjau Kembali Model Data Logikal Bersama Pengguna
Langkah ini bertujuan untuk mengetahui bahwa model-model data logikal yang dibuat menjadi dokumen pendukung yang memberi gambaran yang benar dari kebutuhan perusahaan.
6) Memeriksa Pertumbuhan Masa Depan
Tujuan dari langkah ini adalah untuk menemukan apakah ada kemungkinan perubahan-perubahan yang signifikan dalam waktu dekat dan apakah model data logikal dapat mengakomodasi perubahan-perubahan ini.
c. Perancangan Basis Data Fisikal
Pada tahap perancangan basis data fisikal ini merupakan sebuah proses pembuatan deskripsi dari implementasi databasesecondary storage yang menjelaskan basis relasi, organisasi file dan index yang digunakan untuk memperoleh akses data yang efisien, dan masalah integritas lainnya yang berkaitan, serta menentukan mekanisme security. Tahap ini, memungkinkan perancang untuk menentukan bagaimana database diimplementasikan. Oleh karena itu, rancangan fisikal dibuat untuk DBMS yang khusus. Antara rancangan logikal dan fisikal terdapat keterkaitan, hal ini disebabkan karena keputusan yang diambil selama perancangan fisikal untuk meningkatkan kinerja bisa mempengaruhi logical data model. Tujuan utama model relasional ini meliputi:
1) Membuat kumpulan tabel relasional dan constraint pada tabel tersebut dari informasi yang didapatkan dalam model data logikal. 2) Mengidentifikasikan struktur penyimpanan tertentu dan metode
akses terhadap data untuk mencapai performa yang optimal dari basis data.
3) Merancang proteksi keamanan sistem
Berikut ini adalah langkah-langkah penting yang dilakukan pada proses perancangan basis data fisikal:
1) Menterjemahkan Model Data Logikal Terhadap Target DBMS Aktivitas pertama yang dilakukan pada perancangan basis data fisikal melibatkan penerjemahan relasi pada model data logikal ke dalam suatu bentuk yang bisa dikembangkan ke dalam DBMS yang ditentukan. Pada langkah ini terdapat tiga aktivitas, meliputi:
a) Merancang relasi dasar
Tujuannya adalah untuk menentukan bagaimana merepresentasikan relasi dasar yang diidentifikasi ke dalam model data logikal pada DBMS yang ditentukan informasi yang akan disusun dan diolah dapat diambil dari kamus data dan definisi relasi yang dideskripsikan menggunakan database design language (DBDL).
b) Merancang representasi data yang diperoleh
Tujuannya adalah untuk menentukan bagaimana merepresentasikan data yang diperoleh pada model data logikal ke dalam DBMS yang ditentukan.
c) Merancang batasan umum
Sasaran dari langkah ini adalah merancang batasan umum untuk DBMS target.
2) Merancang Representasi Fisikal
Langkah ini bertujuan untuk menentukan optimalisasi file perusahaan untuk menyimpan relasi dasar dan index yang diperlukan untuk mencapai performa yang diharapkan sementara itu relasi dan tuples akan disimpan ke dalam penyimpanan sekunder. Aktivitas pada langkah ini meliputi:
a) Analisa transaksi
Untuk memahami fungsionalitas dari transaksi yang akan dijalankan di dalam database dan menganalisa transaksi penting.
b) Memilih organisasi file
Langkah ini bertujuan untuk menentukan organisasi file setiap relasi, menyimpan dan mengakses data secara efisien.
c) Memilih index
Untuk memastikan apakah penambahan index akan meningkatkan performa sistem.
d) Mengestimasi kebutuhan kapasitas disk
Untuk mengestimasi jumlah kapasitas disk yang dibutuhkan oleh database.
e) Merancang user views
Merancang user views yang diidentifikasi selama pengumpulan kebutuhan dan analisa pada siklus hidup aplikasi database relasi.
f) Merancang mekanisme keamanan
Merancang mekanisme keamanan untuk database yang ditetapkan oleh pengguna.