NORMALISASI
NORMALISASI
Istilah Normalisasi berasal dari E. F.Codd, salah seorang perintis teknologi basis data. selain dipakai sebagai metodologi tersendiri untuk menciptakan struktur tabel 9 relasi) dalam basis data (dengan tujuan utnuk mengurangi kemubaziran data) , normalisasi terkadang hanya diipakai sebagai perangkat verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain ( misalnya E-R). Normalisasi memberikan panduan yang sangat membantu bagi pengembang untuk mencegah penciptaan struktur tabel
Proses normalisasi adalah proses pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya
Tahapan Normalisasi
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..
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
Kode kelas |
Nama kelas |
Pengajar |
1111 |
Basis data |
Muhamad ali |
2222 |
Riset pemasaran |
Ahmad yani |
3333 |
pemrograman |
Surto pratolo |
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.
<
tugas kelompok
STUDI KASUS: RENTAL MOBIL
a) Mengidentifikasi dan menetapkan seluruh himpunan entity yang akan terlibat.
Terdapat 3 entity yaitu:
· Rental,
· Mobil,,
· Dan Customer
b) Menentukan attribut-attribut dari setiap entity
· Rental attributnya: no_npwp,nama,alamat,no_telp,,jml_mobil
· Mobil attributnya :kode_mobil,merk,model,thn_buat
· Customerattributnya:
ni_id,jenis_id,nama,alamat,tgl_lahir,no_telp
c) Menentukan attribut primery key dari setiap entity
· Pada entity rental:no_npwp digunakan sebagai primary key
· Pada entity mobil :kode_mobil digunakan sebagai primary key
· Pada entity customer:no_id digunakan sebagai primary key
d) Menentukan relasionship
· Antara entity Rental & Mobil terdapat sebuah relasionship yaitu”Punya”
· Antara entity Customer & Mobil terdapat sebuah relasionship yaitu”sewa”
e) Menentukan attribut-attribut dari setiap relasionship (jika ada)
· Pada relassionship”Punya”mempunyai attribut : tidak ada
· Pada relasionship “Transaksi”mempunyai attribut :no_sewa,jenis_mobil,tgl_sewa,tgl_kembali,biaya,dan denda
f) Menentukan Cardinality Ratio
· Cardinality Ratio antara Rental & maobil disebut one to many,karena rental dapat mempunyai mobil lebih dari satu
· Cardinality Ratio antara Customer & Mobil disebut one to many,karena seorang Customer dapat menyewa mobil lebih dari satu.
g) Menentukan Participation Contrains
Number,type data mysql dan accecc
Data Type Pada ACCEC
Field Name adalah untuk nama kolom dalam tabel yang akan kita buat misalkan Nomor urut, nama, tanggal, alamat, jumlah dan lain sebagainya.
Data type adalah jenis data yang disesuaikan fungsinya yang diberinama di Field name tersebut misalkan jika di Field Name kita beri judul Nomor Urut maka Type Datanya bisa dengan memilih Nomor yang muncul Secara Otomatis (maka pilih AutoNumber) atau manual dalam mengisinya (pilih Number).
Description adalah sebagai penjelasan terhadap kolom yang dibuat tadi.
Mengenal dan memahami Data type itu penting agar tidak salah dalam pembuatan tabel nantinya. Adapun Type Data yang disediakan di ms. Acces 2007 adalah sebagai berikut :
1. Text adalah type data berupa teks atau huruf, angka, spasi dan tanda baca lainnya yang mampu menampung karakter dari huruf dan angka tersebut sebanyak 255 karakter.
2. Memo adalah type data yang hampir sama dengan Text tetapi karakter yang mampu ditampungnya sangat besar yaitu sampai dengan 65535 karakter. Memo, adalah tipe data yang berisikan huruf atau kombinasi huruf dan angka.
3. Number adalah type data yang diperuntukan untuk angka saja.
4. Date/Time adalah type data yang diperuntukan untuk menampilkan tanggal dan waktu.
5. Currency adalah type data yang hampir sama dengan number tapi diperuntukan untuk format mata uang.
6. Yes/No adalah type data untuk sebuah logika Ya atau Tidak.
7. OLE Object adalah type data yang dipergunakan untuk menampung gambar atau obyek dengan ukuran tidak lebih dari 128 MB.
8. Hyperlink adalah type data untuk menmapilkan alamat hyperlink dengan batas maksimum penampungannya adalah 2048 karakter.
9. AutoNumber seperti yang telah dijelaskan diatas, adalah nilai angka atau variasi angka huruf (yang akan berubah hanya angka apabila formatnya perpaduan huruf dan angka) yang akan muncul Secara Otomatis ketika kita menginput data baru dan angka tersebut tidak bisa kita edit.
10. Lookup Wizard adalah type data untuk menampilkan data dari tabel atau record lainnya atau dengan akta lain data yang diulang.
11.Atachment adalah type data yang digunakan untuk Menampung, enyimpan/menampilkan lampiran persis seperti dalam sebuah email dan semua type data bisa ditampung disini
Tipe-Tipe Data Pada MySQL
Pemilihan tipe data dalam membuat tabel di dalam perancangan database tidak sembarangan memilih data namun ada aturan dan pertimbangannya serta tujuan yang akan dicapai oleh pemilihan data.
Adapun tujuan pemilihan data yang tepat adalah untuk :
1. Meningkatkan akses performance database / Kecepatan
2. MEnghemat ruang kapasitas Hardisk
3. Menghasilkan informasi yang benar
Pada dasarnya tipe data yang didukung oleh MySQL dibagi menjadi 3 jenis yaitu :
1. Integer
Tipe data ini menampung angka yang bisa digunakan untuk keperluan kalkulasi matematis, jadi jika akan membuat sebuah field yang akan dilakukan operasi matematis seperti ditambah, dikurangi dan dan sebagainya maka gunakan tipe data integer
2. textTipe data text digunaan untuk menyimpan data berupa text, misal nama, nomor telepon, alamat , judul buku, dan lain-lain. Tipe data text tidak bisa dilakukan operasi matematis seperti pada tipe data integer.
3. Date/TimeTipe data yang digunakan untuk menyimpan tanggal (date) dan Waktu (time). Tipe ini digunakan untuk menyimpan misal tanggal lahir, jam absen, tahun pendaftaran dan lain-lain, dimana tipe ini memiliki karakteristik seperti tipe data integer yaitu bisa dilakukan operasi matematika, misal tanggal 17-08-2011 ditambah 45 hari maka akan ditemukan tanggal 45 hari kemudian setelah tanggal 17-08-2011
TIPE DATA INTEGER
Tipe data memiliki sub tipe, dimana masing masing sub tipe tersebut memilikk jangkauan nilai yang berbeda dan ukuran yang berbeda pula. Selain integer juga memiliki tipe data floating point dan double precision numbers. MAsing-masing integer bisa memiliki tanda (SIGNED) yaitu positif atau negatif serta tidak memiliki tanda (UNSIGNED) dan bisa me nggunakan atribut AUTO_INCREMENT untuk menaikan nilai data secara otomatis ketika terjadi penambahan record.
TINYINT
Ukuran tipe data yang sangat kecil; cocok untuk menyimpan data usia, jumlah anak, nilai. Sebenarnya, kita harus menggunakan tipe data ini untuk usia karyawan dan jumlah anak. jangkauan angka yangdapat diterima adalah antara 0 sampai 255 jika menggunakan klausa unsigned (tak bertanda), atau lain kisaran antara -128 sampai 127 jika menggunakan klausa signed
(bertanda)
SMALLINT
cocok untuk data dengan angka antara 0 to 65535 (UNSIGNED) atau antara -32768 dampai 32767 (SIGNED)
MEDIUMINT
Cocok untuk menampung data angkat antara 0 to 16.777.215 dengan klausa
UNSIGNED
atau antara -8.388.608 sampai 8.388.607 dengan klausa.
SIGNEDINT
Cocok untuk menampung data antara 0 sampai 4.294.967.295 dengan atribut
UNSIGNED
atau antara -2147683648 sampai dengan 2147683647 dengan atribut
SIGNEDBIGINT
Huge umbers. (-9223372036854775808 to 9223372036854775807)
FLOAT
nilai desimal dengan tingkat akurasi 1 digit dibelakang koma
DOUBLE
nilai desimal dengan tingkat akurasi 2 digit dibelakang koma
DECIMAL
nilai desimal dengan beberapa digit dibelakang koma sessuai dengan apa yang telah ditetapkan.
TIPE DATA TEXT
Panjang text dapat tetap atau bervariasi juga bisa bersifat case sensitif atau tidak tergantung yang anda tentukan.tipe-tipe data text terdiri dari:
CHAR(x)
dimana x bernilai antara 1 sampai 244 tetapi panjang data tetap
VARCHAR(x)
dimana x bernilai antara 1 sampai 244 tetapi panjang data bersifat variable
TINYTEXT
menampung data text yang sedikit, bersifat case insensitive
TEXT
menampung data text lebih banyak yaitu sebanyak 65535 character bersifat case insensitif
MEDIUMTEXT
medium size text, case insensitive mampu menampung sebanyak 16.777.215 karakter
LONGTEXT
really long text, case insensitive mampu menampung sebanyak 4.294.967.295 karakter
TINYBLOB
Blob kepanjangan dari Binary Large OBject. berifat case sensitif biasanya untuk menyimpan file-file digital seperti photo/video dalam ukuran kecil.
BLOB
Berifat case sensitif biasanya untuk menyimpan file-file digital seperti photo/video dalam ukuran besat
BMEDIUMBLO
Berifat case sensitif biasanya untuk menyimpan file-file digital seperti photo/video dalam ukuran sedang
LONGBLOB
Berifat case sensitif biasanya untuk menyimpan file-file digital seperti photo/video dalam ukuran sangat besat
ENUM
Enum merupakan kependekan dari enumerasi merupakan tipe data yang telah ditentukan isinya dan bersifat pilihan misal untuk field jenis kelamin isinya ditentukan L atau P sehingga apabila user mengisi selain L atau P maka tidak akan disimpan kedalam table
TIPE DATA TIME
Tipe Data dan atau Time memiliki beberapa sub tipe yaitu :
DATE
Untuk menampung data tanggal misal tanggal lahir, tanggal daftar, dll dengan format standar yaitu YYYY-MM-DD (4 digit tahun 2 digit bulan dan 2 digit tanggal) batas jangkauannya anatara tangal 1000-01-01 sampai tanggal 9999-12-31.
TIME
Untuk menyimpan data waktu / jam dengan format hh:mm:ss (Jam:Menit:detik), misal menyimpan jam masuk kerja, jam istirahat atau jam pulang atau juga jam terjadinya kegiatan transaksi.
DATETIME
Date time merupakan tipe data gabungan antara tanggal dan jam dengan format YYYY-MM-DD hh:mm:ss (Tanggak dan waktu dipisahkan oleh spasi)
TIMESTAMP
Tipe data time stamp hamir sama dengan date time namun tidak memilki tanda pemisah sama sekali diantaranya dengan format : YYYYMMDDhhmmss jangkauan data timestamp yaitu dari 1970-01-01 00:00:00 sampi 2037-12-31 23:59:59
YEAR
Tipe data ini untuk menyimpan data tahun dengan format YYYY (4 digit tahun) jangakaun data antara tahun 1970 sampai tahun 2069, cocok untuk menyimpan tahun masuk sekolah, tahun lahir dan lain-lain.
Demikian tipe-tipe data yang didukung oleh MySQL, dengan memahami tipe data maka akan membantu dalam efisiensi dan efektifitas pembuatan tabel
ERD
ENTYTI_ RELASIONSHIP DIAGRAM
ERD adalah salah satu bentuk pemodelan basis data yang sering digunakan dalam pengembangan sistem informasi.
Entity-Relasionship adalah salah satu metode pamodelan basis data yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantik sistem.Dimana sistem seringkali memiliki basis data relasional,dan ketentuannya bersifat top-down.diagram untuk menggambarkan model Entity-Relasionship ini disebut Entity-Relasionship diagram.
Berikut adalah sejarah singkat tentang Entity Relatinship Diagram Model Entity Relationship diperkenalkan pertama kali oleh P.P. Chen pada tahun 1976. Model ini dirancang untuk menggambarkan persepsi dari pemakai dan berisi obyek-obyek dasar yang disebut entity dan hubungan antar entity-entity tersebut yang disebut relationship. Pada model ER ini semesta data yang ada dalam dunia nyata ditransformasikan dengan memanfaatkan perangkat konseptual menjadik sebuah diagram, yaitu diagram ER ( Entity Relationship)
Ada banyak istilah-istilah penting yang perlu anda ketahui dalam belajar tentang ERD berikut adalah istilah-istilah penting terbsebut entitas, atribut, relasi atau hubungan ,derajat kardinalitas,Tuple, Domain, degree. Dan ini definisi dari masing-masing istilah-istilah tersebut :
Entitas
merupakan penggambaran sebuah objek nyata.untuk lebih mudahnya bisa disebut juga sebagai jabatan/ status dari sebuah objek tersebut.contoh : mahasiswa,anak,petugas dan sebagainya.dalam ERD entitas digambarkan dalam persegi panjang.
Attribut
Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada suatu atribut di dalam suatu entity atau relationship. Atribut digambarkan dalam bentuk oval.
Jenis-jenis atribut :
-
Key adalah attribut yang digunakan untuk menentukan suatu entity secara unik.
-
Simple adalah Atribut yang bernilai tunggal.
-
Multivalue adalahh Atribut yang memiliki sekelompok nilai untuk setiap instan entity.
-
Atribut Composite adalah Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.
-
Atribut Derivatif adalah Suatu atribut yang dihasilkan dari atribut yang lain.
Relasi
Adalah hubungan yang terjadi antara satu atau lebihnya entity.
Derajat Kardinalitas
Menunjukan jumlah maksimum entitas dapat berelasi dengan entitas pada himpunan entitass yang lain.macam-macam kardinalitas adalah sbb:
-
Satu ke satu (one to one),setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B,begitupula sebaliknta.
-
Satu ke banyak(one to many),setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya.
-
Banyak ke banyak (many to many),setiap entitas A dapat berhubungan dengan banyak entitas hmpunan entitas B dan demikian pula sebaliknya.
Simbol-Simbol Erd
Tahap-tahap ERD
-
Menentukan entitas
-
Menentukan relasii
-
Gambar ERD sementara
-
Isi kardinalitas
-
Tentukan kunci utama
-
Gambar ERD berdasarkan kunci
-
Menetukan attribute
-
Pemetaan attribut
-
Gambar ERD attribute
-
Periksa hasil
model-model database
Model-model Database
Database manajement system (DBMS) atau sistem manajemen database di bagi menjadi 5 model yang lebih lama diperkenalkan pada tahun 1960-an yang bersifat Hierarkis, dan jaringan.model yang lebih baru bersifat relasional,berorientasi,object,dan multimensional.
Database Hierarkis
Pada database Hierarkis, field atau record diatur dalam kelompok-kelompok yang berhubungan, menyerupai diagram pohon, dengan record child (level lebih rendah) berada di bawah record parent (level yang lebih tinggi.)
Database hierarkis merupakan model tertua dan paling sederhana dari kelima model database. Dalam model database ini mengakses atau mengupdate data bisa berlangsung sangat cepat karena hubungan-hubungan sudah ditentukan. Tetapi, karena struktur harus didefinisikan lebih dahulu, maka hal ini cukup riskan. Lagipula menambahkan field baru ke sebuah record database membuat semua database harus didefinisikan kembali. Karena itulah diperlukan model database yang baru untuk menunjukkan masalah pengulangan data dan hubungan data yang kompleks.
Database Jaringan
Konsep database jaringan mirip dengan database hierarkis tetapi setiap records child dapat memiliki lebih dari satu record parent.
Database jaringan pada dasarnya digunakan dengan mainframe, lebih fleksibel disbanding database hierarkis karena ada hubungan yang berbeda antarcabang data. Akan tetapi strukturnya masih harus didefinisikan lebih dahulu. Pengguna harus sudah terbiasa dengan struktur database. Lagipula jumlah hubungan antar-record juga terbatas, dan untuk menguji sebuah field seseorang harus mendapatkan kembali semua record.
Database Relasioanal
Database Relasional bekerja dengan menghubungkan data pada file-file yang berbeda dengan menggunakan sebuah kunci atau elemen data yang umum.
Cara kerja database relasional:
Elemen-elemen data disimpan dalam tabel lain yang membentuk baris dan kolom. Dalam model database ini data diatur secara logis, yakni berdasarkan isi. Masing-masing record dalam tabel diidentifikasi oleh sebuah field – kunci primer – yang berisi sebuah nilai unik. Karena itulah data dalam database relasional dapat muncul dengan cara yang berbeda dari cara ia disimpan secara fisik pada komputer. Pengguna tidak boleh mengetahui lokasi fisik sebuah record untuk mendapatkan kembali datanya.
Kategori
Blogroll
- Masih Kosong