Minggu, 25 Maret 2012

Normalisasi Basis Data


Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi).

Urutan atau macam teknik normalisasi terdiri atas :

Normalisasi Pertama
Aturan :
Mendefinisikan atribut kunci
Tidak adanya group berulang
Semua atribut bukan kunci tergantung pada atribut kunci

Normalisasi Kedua

Aturan :
Sudah memenuhi dalam bentuk normal kesatu
Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.

Normalisasi Ketiga
Aturan :

Sudah berada dalam bentuk normal kedu.
Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).

Bentuk Normal seharusnya berada dalam bentuk normal tertinggi dan bergerak dari bentuk normal satu dan seterusnya untuk setiap kali membatasi hanya satu jenis redudansi. Keseluruhannya cuma ada lima bentuk normal. Tiga bentuk normal pertama menekankan redudansi yang muncul dari Function Dependencies sedangkan bentuk keempat dan kelima menekankan redudansi yang muncul dari kasus Multi Valued Dependencies.

Contoh Kasus Normalisasi



Contoh Teknik Normalisasi

Permasalah tau basis data yang salah :

table nilai


Normalisasi Pertama

Pada normalisasi pertama yang harus dilakukan adalah menghilangkan duplikasi dan menentukan primary key untuk setiap field pada table, supaya setiap data atau field field lainya tergantung hanya pada satu field yang dijadikan primary key .
Dalam kasus ini yang dijadikan sebagai primary key adalah field nim dan idpelajaran.




Normalisasi Kedua

Pada normalisasi kedua yang harus dilakukan adalah memisahkan field-field yang tergantung pada satu field dengan tepat.

table nilai



table siswa


table pelajaran


Normalisasi Ketiga

Hal yang harus dilakukan pada normalisasi yang ketiga adalah menyempurnakan normalisasi yang kedua, apakah masih ada keganjilan atau redudansi yang tidak seharusnya pada setiap table. Pada normalisasi kedua table siswa dan table pelajaran masih redudansi, sehingga pada normalisasi ketiga struktur data adalah sebagai berikut :

table nilai


table siswa


table pelajaran

Minggu, 11 Maret 2012

Atribut


ATRIBUT

v  Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut.
v  Nilai Atribut  merupakan suatu data aktual atau informasi yang disimpan  pada suatu  atribut di dalam suatu entity atau relationship.

Jenis-jenis atribut :
Ø  Key
Atribut yang digunakan untuk menentukan suatu entity secara unik.
Ø  Atribut Simple
Atribut yang bernilai tunggal.
Ø  Atribut Multivalue
Atribut yang memiliki sekelompok nilai untuk setiap instan entity.


Atribut Composite 

Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.
Ø  Atribut Derivatif
      Suatu atribut yang dihasilkan dari atribut yang lain.

Simbol Utama dari Diagram E-R


Entity
Entitas digunakan untuk menerapkan integritas pada tingkat Entity (Tabel), agar setiap Instances (Record/Baris) pada suatu Entity bersifat Unique yang disebut sebagai Primary Key sehingga dapat dibedakan antara yang satu dengan yang lainnya.
Contohnya :
-          Semua Pelanggan, atau Pelanggan saja dengan entitas Ani, Budi, Amin dst
-          Semua Mobil, atau Mobil apa saja, dengan entitas mobil Kijang, Starlet dan lain-lain
-          Semua Mahasiswa, atau Mahasiswa saja dengan entitas Eti,  Andi dan lain-lain.
Relasi
Relasi digunakan utk menghubungkan beberapa tabel, sehingga data–data yang disimpan dalam tabel tetap normal.
Dalam mySQL relasi antar tabel dapat dibuat jika tipe tabel tersebut innoDB. Secara otomatis saat membuat tabel baru, tipe tabel adalah MyISAM sehingga perlu merubah ke tipe innoDB terlebih dahulu.

Atribut
Setiap Entitas pasti memiliki Atribut yang mendeskripsikan karakteristik dari Entitas tersebut.
Penentuan/pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembentukan model data.
Penetapan atribut bagi sebuah entitas umumnya memang didasarkan pada fakta yang ada, tetapi tidak selalu seperti itu. Istilah atribut sebenarnya identik dengan pemakaian kolom data.
Garis
Merepresentasikan hubungan atribut ke set entitas & set entitas ke relasi.
Contoh :
    Diagram E-R dibawah terdiri dari 2 entitas, customer dan loan, dan satu relasi borrower. Atribut dari customer adalah nama, ktp, jalan, kota. Atribut untuk loan adalah no_pinjaman, jml_pinjaman. Hubungan entity customer ke loan adalah banyak ke banyak.

Contoh masing masing Kardinalitas dari Diagram E-R


Kardinalitas pemetaan atau rasio kardinalitas menunjukkan jumlah entitas yang dapat dihubungkan ke satu entity lain dengan suatu relasi. Contoh masing masing kardinalitas dari Diagram E-R meliputi :

1.      Hubungan satu ke satu (one to one).
Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam B.

2.      Hubungan satu ke banyak (one to many)
Yaitu satu entity dalam A dihubungkan dengan sejumlah entity dalam B. Satu entity dalam B dihubungkan dengan maksimum satu entity dalam A.
3.      Hubungan banyak ke satu (many to one)
Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam B. Satu entity dalam B dapat dihubungkan dengan sejumlah entity dalam A.
4.      Hubungan banyak ke banyak (many to many).
Satu entity dalam A dihubungkan dengan sejumlah entity dalam B, & satu entity dalam B dihubungkan dengan sejumlah entity dalam A



Diagram ER (ERD)


Dalam rekayasa perangkat lunak, sebuah Entity-Relationship Model (ERM) merupakan abstrak dan konseptual representasi data. Entity-Relationship adalah salah satu metode pemodelan 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 Entitiy-Relationship ini disebutEntitiy-Relationship diagram, ER diagram, atau ERD.
Basisdata Relasional adalah kumpulan dari relasi-relasi yang mengandung seluruh informasi berkenaan suatu entitas/ objek yang akan disimpan di dalam database. Tiap relasi disimpan sebagai sebuah file tersendiri. Perancangan basisdata merupakan suatu kegiaatan yang setidaknya bertujuan sebagai berikut:
  Ø  Menghilangkan redundansi data
  Ø  Meminimumkan jumlah relasi di dalam basis data
  Ø Membuat relasi berada dalam bentuk normal, sehingga dapat meminimumkan permasalahan berkenaan dengan penambahan, pembaharuan dan penghapusan.

ERD adalah suatu pemodelan dari basisdata relasional yang didasarkan atas persepsi di dalam dunia nyata, dunia ini senantiasa terdiri dari sekumpulan objek yang saling berhubungan antara satu dengan yang lainnya. Suatu objek disebut entity dan hubungan yang dimilikinya disebut relationship. Suatu entity bersifat unik dan memiliki atribut sebagai pembeda dengan entity lainnya.
Contoh : entity Mahasiswa, mempunyai atribut nama, umur, alamat, dan nim.Diagram E-R terdiri dari:
·         Kotak persegi panjang, menggambarkan himpunan entitas
·         Elip, menggambarkan atribut-atribut entitas
·         Diamon, menggambarkan hubungan antara himpunan entitas
·         Garis, yang menghubungkan antar objek dalam Diagram E-R
E-R Diagram merupakan suatu bahasa pemodelan yang dimana posisinya dapat dianalogikan dengan stroy board dalam industri film, blu print arsitektur suatu bangunan, miniatur, dan lain-lain. Dalam praktiknya, membangun suatu sistem terlebih dahulu dilakukannya suatu perencaan. Pemodelan merupakan suatu sub bagian dari perencanaan secara keseluruhan sebagai salah satu upaya feedback evaluasi perampungan suatu perencanaan. E-R Diagramsebagai suatu pemodelan setidaknya memiliki beberapa karakteristik dan manfaat sebagai berikut:
1.   Memudahkan untuk dilakukannya analisis dan perubahan sistem sejak dini, bersifat murah dan cepat.
2. Memberikan gambaran umum akan sistem yang akan di buat sehingga memudahkan developer.
3.    Menghasilkan dokumentasi yang baik untuk client sebagai bahan diskusi dengan bentuk E-R Diagram itu sendiri, dan
4.      Kamus data bagi bagi para pengembang database.

Pengertian dan Perbedaan Spesialisasi dan Generalisasi


Spesialisasi
Proses mendesain subgrup di dalam suatu entity disebut dengan spesialisasi. Suatu himpunan entitas bisa memiliki suatu subgrup yang berbeda diantara entitas-entitas lain dalam himpunan tersebut. Misalnya suatu sub himpunan entitasd alam suatu himpunan entity bisa memiliki atribut yang berbeda dari entity-entiti lain. Model E-R memiliki fasilitas untuk perbedaan ini.
Contoh : himpunan entitas account memiliki atribut account-number dan balance. Suatu account dapat diklasifikasikan lagi menjadi salah satu dari
                        - savings-account
                        - checking-account

Setiap tipe account ini diterangkan dengan himpunan atribut yang termasuk dalam atribut-atribut dari entitas account ditambah dengan atribut tambahan. Contoh entity saving-account diterangkan dengan atribut interest-rate, dan checking-account diterangkan dengan overdraft-amount. Proses spesialisasi mengijinkan pembedaan account berdasarkan tipe account. Account juga dapat dibedakan dengan cara lain, misalkan berdasarkan tipe kepemilikkan menjadi commercial-account dan personal-account. Ketika dalam suatu entitas dibentuk lebih dari satu proses spesialisasi, maka suatu entitas menjadi milik dua spesialisasi tersebut. Misal suatu account bisa merupakan suatu personal account dan suatu checking account. Dalam diagram E-R, spesialisasi dilambangkan dengan komponen segitiga bertuliskan ISA. ISA juga melambangkan hubungan antara superclass-subclass. Entity yang dengan kedudukkan lebih rendah/tinggi memiliki lambang sama.

Generalisasi
Disamping proses desain top-down (dari inisial entitas ke level lebih rendah (subgrup)), desain juga dapat dilakukan dengan proses bottom-up, yaitu banyak entitas disintesiskan menjadi entity yang lebih tinggi berdasarkan kesamaan feature-nya.
Desainer basis data mungkin mengidentifikasi terlebih dulu entitas checking-account dengan atribut account-number, balance dan overdraftamount. Ditemukan juga entity set saving-account dengan atribut account-number, balance dan interest-rate. Terdapat kesamaan antara entitas checking-account dengan entitas saving-account, yaitu keduanya memiliki beberapa atribut yang sama. Persamaan ini dapat diekspresikan dengan generalisasi.   





Kamis, 01 Maret 2012

Apa yang di maksud dengan Transaction throughput ??

Transaction throughput :
Ialah rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem basis data dan merupakan parameter kritis dari sistem transaksi (misal : digunakan pada pemesanan tempat di pesawat, bank, dll). Hasil dari fase ini adalah penentual awal dari struktur penyimpanan dan jalur akses untuk file-file basis data.

Perbedaan Macro Life Cycle dan Micro Life Cycle


Macro life cycle adalah siklus kehidupan system informasi.
  1. Database : Pada tahap ini menentukan model data dari basis data yang ingin dikembangkan.
  2. System definition Menentukan ruang lingkup aplikasi SI berupa para pemakai, awal dan berakhirnya     system.
  3.  Requirements collection and Analysis Pada tahap ini dilakukan pengumpulan data dan analisa dari hasil data yang telah terkumpul. Untuk penjelasan lebih lengkap apa saja yang harus dilakukan pada tahap perancangan basis data.
  4. Database Design & Application Design  Perancangan basis data dan perancangan aplikasi dari SI dilakukan pada tahap ini. Fase perancangan basis data meliputi secara konseptual, logical dan fisik.
  5. Implementation   Pemrosesan dari penulisan definisi basis data secara konseptual, eksternal, dan internal, pembuatan file-file basis data yang kosong, dan implementasi aplikasi yang telah dirancang ke dalam kode program perangkat lunak yang telah digabung dengan sistem basis data yang dibuat.
  6. Data loading and Conversion Data dimasukkan ke dalam sistem data dan selanjutnya melakukan konversi-konversi dari sistem yang lama ke dalam sistem yang baru.
  7. Testing  Sistem diuji dalam hal input, output dan proses untuk menghasilkan suatu pengujian yang menyeluruh sehingga dapat diketahui apabila ada kesalahan sistem, operasi atau pun kesalahan dalam proses.
  8. Operational & Maintenance   .Selama fase operasi, sistem secara konstan memonitor dan memelihara basis data. Pertambahan dan pengembangan data dan aplikasi-aplikasi perangkat lunak  dapat terjadi.Modifikasi dan pengaturan kembali basis data mungkin diperlukan dari waktu ke waktu.



Micro life cycle adalah siklus kehidupan basis data.

1. Pengumpulan data dan analisis
2. Perancangan basis data secara konseptual
3. Pemilihan DBMS
4. Perancangan basis data secara logika (data   model mapping)
5. Perancangan basis data secara fisik
6. Implementasi Sistem basis data.

Tahap pengumpulan dan analisa data ?


1. Menentukan kelompok pemakai dan bidang-bidang aplikasinya
Menentukan aplikasi utama dan kelompok pengguna yang akan menggunakan basis data. Individu utama pada tiap-tiap kelompok pemakai dan bidang aplikasi yang telah dipilih merupakan peserta utama pada langkah-langkah berikutnya dari pengumpulan dan spesifikasi data.
2. Peninjauan dokumentasi yang ada
Dokumen yang ada yang berhubungan dengan aplikasi-aplikasi dipelajari dan dianalisa. Dokumen-dokumen lainnya (seperti : kebijakan-kebijakan, form, report, dan bagan organisasi) diuji dan ditinjau kembali untuk menguji apakah dokumen-dokumen tsb berpengaruh terhadap kumpulan data dan proses spesifikasi.
3. Analisa lingkungan operasi dan pemrosesan data
Informasi yang sekarang dan yang akan datang diperinci dan dipelajari. Termasuk juga analisa jenis-jenis transaksi dan frekuensi-frekuensi transaksinya dan juga arus informasi dalam sistem. Informasi tersebut berupa input-output data.
4. Daftar pertanyaan dan wawancara
Jawaban pertanyaan – pertanyaan yang telah dikumpulkan dari para pemakai basis data yang berpotensi. Ketua kelompok (individu utama) dapat diwawancarai sehingga input yang banyak dapat diterima dari mereka dengan memperhatikan informasi yang berharga dan mengadakan  prioritas.

Apa tujuan dari perancangan basis data ???


        Memenuhi informasi yang berisikan kebutuhan-kebutuhan pengguna secara khusus dan aplikasi-aplikasinya.
       Memudahkan pengertian struktur informasi
       Mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time, dan storage space).