Linux Fun
Pada tahap implementasi, atribut-atribut entitas / relasi yang ditetapkan sebagai kunci (key) akan diwujudkan sebagai Indeks Primer (primary index). Dan dapat juga ditambahkan Secondary index.
Ada dua index :
Indeks Primer (Primary Index)
IP pada setiap tabel hanya ada satu dan hampir selalu berasal (ditentukan) dari kunci primer yang telah ditetapkan dalam sebuah entitas / relasi. IP yang baik terdiri atas field-field dengan kriteria sbb :
- Field yang menjadi komponen IP harus bersifat mandatory (datanya tidak boleh kosong atau berisi nilai null)
- Keseluruhan nilai IP bersifat unik
- Nilai-nilainya lebih permanen (idealnya tidak pernah berubah)
- Berukuran kecil (pendek) dengan jumlah field minimal (sedikit) Readmore…
Dalam menentukan struktur dari tabel, paling tidak setiap struktur tabel berisikan nama field, tipe field dan ukurannya. Tatacara penamaan field, pilihan tipe field serta fasilitas tambahan lainnya untuk struktur tabel sangat tergantung pada DBMS yang digunakan.
Tipe Data
Tipe data yang bersifat umum adalah :
- Data Alphanumerik, isinya berupa angka tapi tidak menunjukkan jumlah, sehingga dianggap sebagai teks. Misalnya : Nomhs, NIP
- Data Numerik, isinya berupa angka yang menunjukkan jumlah. Misalnya : SKS, Gaji pokok
- Data bilangan bulat (integer), Byte (1 byte), Small-Integer (2 byte), Long Integer (4 byte)
- Data bilangan nyata, Single (4 byte), Double (8 byte). Tipe data single dapat menampung hingga 7 digit pecahan, sedangkan double hingga 15 digit pecahan. Dalam komputasi, data integer akan membutuhkan waktu lebih cepat dalam pengolahan data dibandingkan real. Begitu juga, karena ruang penyimpanan yang dibutuhkan lebih kecil, maka data single akan lebih cepat dalam pengolahan dibandingkan double
- Data uang (currency), pemakaian tipe ini sangat membantu dalam mengatur tampilan data yang berkaitan dengan nilai uang, misalnya dengan adanya pemisahan ribuan/jutaan dan adanya tanda mata uang
- Data teks, ada dua jenis yaitu ukuran tetap (fixed character) dan ukuran dinamis (variable character). Misalnya field nomhs lebih tepat bertipe fixed character karena ukurannya pasti dan pendek. Sedangkan nama mahasiswa sebaiknya bertipe variable character karena panjang dan bervariasi Readmore…
Aturan umum dalam pemetaan model data yang digambarkan dalam ERD (level konseptual) menjadi Basis data fisik (level fisik) adalah :
Diimplementasikan Dalam Sebuah Tabel
Setiap himpunan entitas akan diimplementasikan sebagai sebuah tabel (file data).
Ada dua kelompok pentahapan yang biasa ditempuh dalam pembuatan Diagram E-R :
Tahap Awal Pembuatan (Pre-eliminary Design)
Untuk mendapatkan rancangan basis data minimal yang dapat mengakomodasi kebtuuhan penyimpanan data terhadap sistem yang akan dibangun. Pada umumnya mengabaikan adanya penyimpangan-penyimpangan.
Tahap Otimasi (Final Design)
Dilakukan koreksi terhadap hasil tahap awal, dengan memperhatikan aspek efisiensi, performansi, dan fleksibilitas. Bentuk-bentuk koreksi yang dilakukan :
- Dekomposisi himpunan entitas
- Penggabungan himpunan entitas
- Pengubahan derajat relasi
- Penambahan relasi baru
- Penambahan dan pengurangan atribut untuk masing-masing entitas dan relasi
Langkah-langkah menyusuan diagram awal ER : Readmore…
Tahap implementasi basis data merupakan upaya untuk membangun basis data fisik yang ditempatkan dalam media penyimpan (disk) dengan bantuan DBMS. Tahap ini diawali dengan melakukan transformasi dari model data yang telah selesai dibuat struktur basis data sesuai DBMS yang dipilih. Secara umum, sebuah ERD akan diwujudkan menjadi sebuah basis data secara fisik. Sedangkan komponen-komponen ER yang berupa himpunan entitas dan himpunan relasi akan diwujudkan menjadi tabel-tabel.ย Selanjutnya, atribut-atribut yang melekat pada masing-masing himpunan entitas dan himpunan relasi akan dinyatakan sebagai field-field dari tabel yang sesuai. Performansi basis data ditentukan oleh :
- Kualitas dan bentuk perancangan basis data
- Kualitas mesin / komputer
- Platform yang dipilih
- Sistem operasi
- DBMS yang digunakan
Pengkodean/Abstraksi Data
Data yang dilihat oleh pemakai awam (end-user) bisa berbeda dengan bagaimana data / informasi itu disimpan. Apa yang dilihat oleh end-user bisa jadi merupakan hasil pengolahan yang tidak disimpan sama sekali dalam basis data, atau bisa dinyatkan dalam bentuk lain. Alasan untuk membuat suatu pengkodean adalah untuk efisiensi ruang penyimpanan. Dari pemakaiannya, ada dua bentuk pengkodean :
Eksternal (User-Defined Coding)
Mewakili pengkodean yang telah digunakan secara terbuka dan dikenal dengan baik oleh pemakai awam. Contoh : Nomor mahasiswa dan Kode matakuliah –> sudah dikenal baik oleh pemakai awam.
Internal (System Coding)
Menggambarkan bagaimana data disimpan dalam kondisi sebenarnya, sehingga lebih berorientasi pada mesin.
Ada tiga bentuk pengkodean:
Sekuensial
Pengkodean dilakukan dengan mengasosiasikan data dengan kode yang urut. Contoh : predikat kelulusan โSangat Memuaskanโ, โCukup Memuaskanโ, โMemuaskanโ ร dikodekan dengan huruf โAโ, โBโ, โCโ
Mnemonic
Pengkodean dilakukan dengan membentuk suatu singkatan dari data yang hendak dikodekan.. Contoh : โLaki-lakiโ -> dikodekan โLโ; โPerempuanโ -> dikodekan โPโ
Blok
Pengkodean dinyatakan dalam format tertentu. Contoh : Nomor mahasiswa dengan format XX.YY.ZZZZ ร terdiri atas XX = 2 digit tahun masuk, YY = 2 digit kode jurusan, ZZZZ = 4 digit nomor urut.
Notasi Simbolik dalam Diagram ER
- Persegi panjang : himpunan entitas
- Elips : atribut (atribut yang sebagai kunci digarisbawahi)
- Belah ketupat : himpunan relasi
- Garis : penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atributnya
- Kardinalitas relasi dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka (1 dan 1 untuk relasi satu-ke-satu, 1 dan M untuk relasi satu-ke-banyak, M dan M untuk relasi banyak-ke-banyak)
Pengantar ERD
ERD merupakan notasi grafis dalam pemodelan data konseptual yang mendeskripsikan hubungan antara penyimpanan. ERD digunakan untuk memodelkan struktur data dan hubungan antar data, karena hal ini relatif kompleks.. Dengan ERD kita dapat menguji model dengan mengabaikan proses yang harus dilakukan. Dengan ERD kita mencoba menjawab pertanyaan seperti : Data apa yang diperlukan ? Bagaimana data yang satu berhubungan dengan yang lain ?
Notasi dan Artinya
- Entiti
Adalah suatu objek yang dapat diidentifikasi dalam lingkungan pemakai, sesuatu yang penting bagi pemakai dalam konteks sistem yang akan dibuat. Sebagai contoh pelanggan, pekerja, mahasiswa, dll.- Contoh : Seandainya A adalah seorang pekerja maka A adalah isi dari pekerja, sedangkan jika B adalah seorang pelanggan maka B adalah isi dari pelanggan.
- Karena itu harus dibedakan antara entiti sebagai bentuk umum dari deskripsi tertentu dan isi entiti seperti A dan B dalam contoh diatas.
- Himpunan entitas : merupakan sekelompok entitas sejenis dan berada dalam lingkup yang sama. Misalnya Mobil merupakan himpunan entitas; sedangkan suzuki, toyota, honda merupakan entitas
- Entiti digambarkan dalam bentuk persegi panjang
- Atribut
Entiti mempunyai elemen yang disebut atribut, dan berfungsi mendeskripsikan karakter entiti. Misalnya atribut nama pekerja dari entiti pekerja. Setiap ERD bisa terdapat lebih dari satu atribut.ย Entiti digambarkan dalam bentuk elips.ย - Hubungan
Domain dan Tipe Data
Domain, memiliki pengertian yang hampir sama dengan tipe data, namun domain lebih ditekankan pada batas-batas nilai yang diperbolehkan pada suatu atribut. Contoh : data SKS bertipe integer. Namun dalam kenyataan tidak ada sks yang bernilai negatif. Berarti domain nilai sks adalah integer >. Tipe data merujuk pada kemampuan penimpanan data yang mungkin bagi suatu atribut secara fisik, tanpa melihat kelayakan data tersebut bila dilihat dari kenyataan pemakaiannya.
Bentuk-bentuk Normal
Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data, teknik pengelompokan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redundansi). Bentuk-bentuk normal : Readmore…
Atribut adalah karakteristik atau sifat yang melekat pada sebuah tabel, atau disebut juga kolom data. Pengelompokan atribut :
Atribut Key
Adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data dalam tabel secara unik (tidak boleh ada dua atau lebih baris data dengan nilai yang sama untuk atribut tetentu). Ada 3 key :
Super Key
Merupakan satu atau kumpulan atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Contoh : superkey di tabel mahasiswa
- (nomhs, nama, alamat, tgllahir)
- (nomhs, nama, tgllahir)
- (nomhs, nama)
- (nomhs)
Candidate Key
Merupakan kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Sebuah CKย pasti superkey, tapi belum tentu sebaliknya. Contoh : pada tabel mahasiswa
- (nomhs)
- (nama) Readmore…
Keharusan menghilangkan masalah-masalah dalam ketergantungan :
Yang harus dilakukan adalah jika struktur data dalam relasi dirancang sedemikian rupa sehingga atribut-atribut bukan kunci hanya tergantung pada atribut kunci dan tidak pada atribut lain. Ada 3 ketergantungan :
Functional Dependence (FD)
FD akan muncul diantara dua rinci data dalam suatu struktur data jika nilai salah satu rinci data mengimplikasikan nilai pada rinci data kedua. Atau rinci data pertama menentukan (determines) rinci data kedua. Contoh :
- Matakuliah (Kode, Nama, SKS, Semester)
- FD = Matakuliah.Kode -> (Matakuliah.Nama, Matakuliah.Semester)
- Matakuliah.nama -> (Matakuliah.Kode, Matakuliah.Semester)
Full Functonal Dependence (FFD)
Suatu rinci data dikatakan FFD pada suatu kombinasi rinci data jika FD pada kombinasi rinci data dan tidak FD pada bagian lain dari kombinasi rinci data. Contoh : SKS pada tabel matakuliah hanya bergantung pada kode matakuliah, dan tidak ditentukan oleh siapa yang mengambil matakuliah tersebut.
Transitive Dependence(TD)
Muncul jika suatu nilai pada rinci data pertama menentukan nilai pada rinci data kedua yang bukan CK, dan nilai pada rinci data kedua menentukan nilai pada rinci data ketiga. Jadi TD terjadi jika suatu nilai rinci data mempunyai ketergantungan dengan pada dua nilai rinci data. Readmore…