Wednesday, February 20, 2013

Contoh normalisasi dan denormalisasi data


 
1.Jelaskan pengertian normalisasi data!
2.Sebutkan dan jelaskan setiap tahapan dalam normalisasi data!
3.Berikan contoh penerapan normalisasi data!
4.Jelaskan pengertian denormalisasi data!
5.Sebutkan dan jelaskan setiap tahapan dalam denormalisasi data!
6.Berikan contoh penerapan denormalisasi data!
7.Jelaskan tentang Boyce-Codde method!
8.Sebutkan dan jelaskan setiap tahapan dalam Boyce-Codde!




1.       Normalisasi data adalah proses yang mendorong desain basis data secara efektif dengan mengelompokkan berbagai artibut data ke dalam berbagai tabel yang sesuai denga kondisi tertentu yang berhubungan dengan praktik terbaik dalam desain file basis data.

Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible.
Normalisasi adalah suatu proses formal untuk menentukaan atribut-atribut yang seharusnya dikelompokkan secara bersama-sama dalam suatu relasi



2.Tahap tahap normalisasi database


Bentuk Tidak Normal
Bentuk ini  merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti  format  tertentu,  dapat  saja  data  tidak  lengkap  atau  terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat menginput.
2.             Bentuk Normal Pertama (1 NF)
Pada tahap ini dilakukan penghilangan beberapa grup elemen yang berulang agar menjadi satu harga tunggal yang berinteraksi di antara setiap baris pada suatu tabel, dan setiap atribut harus  mempunyai  nilai  data yang atomic (bersifat  atomic value).  Atom adalah zat terkecil yang masih memiliki sifat induknya, bila terpecah lagi maka ia tidak memiliki sifat induknya.
   
 Syarat normal ke satu (1-NF) antara lain:
1.             Setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record nilai dari field berupa “atomic value”.
2.             Tidak ada set atribute yang berulang atau bernilai ganda.
3.             Telah ditentukannya primary key untuk tabel / relasi tersebut.
4.             Tiap atribut hanya memiliki satu pengertian.
   Bentuk Normal Kedua (2NF)
Bentuk normal kedua didasari atas konsep full functional dependency (ketergantungan fungsional sepenuhnya) yang dapat didefinisikan sebagai berikut.   Jika A adalah atribut-atribut dari suatu relasi, B dikatakan full functional dependency (memiliki ketergantungan fungsional terhadap A, tetapi tidak secara tepat memiliki ketergantungan fungsional dari subset (himpunan bagian) dari A.
  FULL FUNCTIONAL DEPENDENCY (Ketergantungan Fungsional Sepenuhnya)
Suatu  ketergantungan  fungsional  A à B  adalah  ketergantungan  fungsional sepenuhnya, jika perpindahan beberapa atribut dari A menghasilkan tepat satu pasangan pada  atribut  B.  Suatu  ketergantungan  fungsional  A à B  adalah  ketergantungan fungsional sebagian, jika ada beberapa atribut yang dapat dihilangkan dari A sementara ketergantungan tersebut tetap berlaku /berfungsi.
Bentuk normal kedua memungkinkan suatu relasi memiliki composite key, yaitu relasi dengan primary key yang terdiri dari dua atau lebih atribyut. Suatu relasi yang memiliki sigle atribut untuk primary keynya secara otomatis pada akhirnya menjadi 2-NF.
 Syarat normal kedua (2-NF) sebagai berikut.
1.             Bentuk data telah memenuhi kriteria bentuk normal kesatu.
2.             Atribute  bukan  kunci  (non-key)  haruslah  memiliki  ketergantungan  fungsionla sepenuhnya (fully functional dependency) pada kunci utama / primary key.
Dengan demikian untuk membentuk normal  kedua haruslah sudah ditentukan primary  keynya.  Primary  key  tersebut  haruslah  lebih  sederhana,  lebih  unik,  dapat mewakili atribute lain yang menjadi anggotanya, dan lebih sering digunakan pada tabel atau relasi tersebut.
                Bentuk Normal Ketiga (3NF)
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari pada relasi 1-NF, namun  relasi  tersebut  masih  mungkin  mengalami  kendala  bila  terjadi  anomaly peremajaan (update) terhadap relasi tersebut.
Transitive Dependency (ketergantungan transitif)
Suatu kondisi  dimana  A,  B,  dan C adalah atribut-atribut  dari  suatu relasi sedemikian sehingga A à B dan B à C,  maka A à C (C memiliki  ketergantungan transitif  terhadap  A  melalui  B),  dan  harus  dipastikan  bahwa  A  tidak  memiliki ketergantungan fungsional (functional dependent) terhadap B atau C).
ü   Syarat normal ketiga (Third Normal Form / 3 NF) sebagai berikut.
1.             Bentuk data telah memenuhi kriteria bentuk normal kedua.
2.             Atribute bukan kunci (non-key) harus tidak memiliki ketergantungan transitif, dengan kata lain suatu atribut bukan kunci  (non_key)  tidak boleh memiliki  ketergantungan fungsional  (functional  dependency)  terhadap  atribut  bukan  kunci  lainnya,  seluruh atribut  bukan  kunci  pada  suatu  relasi  hanya  memiliki  ketergantungan  fungsional terhadap priamry key di relasi itu saja 
Bentuk Normal Keempat (4NF)
Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute
Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies
               
                Bentuk Normal Kelima (5NF)
Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil.
Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula


 3.            




















4.Denormalisasi merupakan proses yang dilakukan pada database yang sudah dinormalisasi, dengan cara memodifikasi struktur tabel dan mengabaikan kerangkapan data (yang terkontrol) untuk meningkatkan kinerja database.

Proses denormalisasi termasuk :
·          Mengkombinasikan tabel-tabel yang terpisah dengan join
·          Mereplikasi/menduplikat data pada table

perbedaan normalisasi dan denormalisasi adalah terletak pada redundansi data dan kompleksitas query.

5.Tahapan dalam Denormalisasi Data

a)            Atribut yang terderivasi (atribut turunan)
                      Atribut yang nilainya bisa diperoleh dari nilai-nilai yang sudah ada pada atribut lain.
b)            Atribut yang berlebihan
             Atribut terkodekan
                      Atribut yang memiliki kode tambahan yang menunjukkan beberapa kondisi lainnya
             Atribut Gabungan
                    Atribut dalam domain komposit.
             Atribut Tumpang-Tindih
                      Atribut dengan nilai yang tidak sepenuhnya ekslusif.
                             Atribut Bermakna Ganda
                                   Atribut yang memiliki arti berbeda tergantung kelompok entitasnya.

c)            Tabel rekapitulasi (summary table)
·         Laporan hasil rekapitulasi akan selalu merupakan hasil pengolahan dari semua tabel yang ada.
·         Pengolahan tersebut melibatkan banyak tabel sehingga akan membutuhkan waktu yang lama.
·         Jika hal tersebut sering diakses dan diperlukan, maka perlu dibuat tabel khusus untuk menyimpan data hasil rekapitulasi tersebut.


6.Contoh Penerapan Denormalisasi Data.
Boyce-Codde Method adalah bentuk normal yang digunakan dalam normalisasi database. Ini adalah versi yang sedikit lebih kuat dari bentuk normal ketiga (3NF). BCNF dikembangkan pada tahun 1974 oleh Raymond F. Boyce dan Edgar F. Codd untuk mengatasi beberapa jenis anomali tidak ditangani oleh 3NF.
Dalam Date (2004), didefinisikan bahwa sebuah relvar berada dalam BCNF bila dan hanya bila setiap FD yang tidak sepele, tidak dapat dikurangi-sebelah kiri memiliki sebuah kunci kandidat sebagai determinannya. Contoh solusi untuk relvar SSP {S#, SNAME, P#, QTY}, menjadi proyeksi.
Dalam Hariyanto (2004), ketentuan BCNF tercapai apabila masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci di mana kunci tersebut bukan bagiannya. Contoh sebuah relasi sebelum berada dalam BCNF, Kehadiran {Dosen, Semester, Kuliah, Sesi, Kehadiran}. Diperoleh keterangan bahwa keterangan di atas dapat dideskripsikan bahwa Kuliah memiliki ketergantungan fungsional pada Dosen dan Semester; Dosen memiliki ketergantungan fungsional pada Kuliah dan Semester; Kehadiran memiliki ketergantungan fungsional pada Dosen, Semester dan Sesi; dan Kehadiran memiliki ketergantungan fungsional pada Kuliah, Semester dan Sesi. Dengan demikian, diperoleh hasil dekomposisi.
Dalam Philip (2007), dinyatakan bahwa sebuah relasi berada dalam BCNF jika, dan hanya jika, setiap kunci kandidat adalah sebuah determinan. Contoh: ORDER (OrderNo, OrderDate, CustNo, PmtMethod, ItemNo, ItemName, UnitPrice, OrderQty).

7.Boyce-Codde Method adalah bentuk normal yang digunakan dalam normalisasi database. Ini adalah versi yang sedikit lebih kuat dari bentuk normal ketiga (3NF). BCNF dikembangkan pada tahun 1974 oleh Raymond F. Boyce dan Edgar F. Codd untuk mengatasi beberapa jenis anomali tidak ditangani oleh 3NF.

8.Tahapan dalam Boyce-Codde.
1.Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk: X  Y maka X adalah super key.
2.Tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi.
3.Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X  A, BCNF tidak membolehkan A sebagai bagian dari primary key

Wednesday, February 13, 2013

Sistem basis data ( 2 )






  1. Apakah sistem itu?
  2. Apakah sistem basis data itu?
  3. Sebutkan dan jelaskan komponen utama SBD!
  4. Jelaskan tentang abstraksi data!
  5. Sebutkan dan jelaskan bagian-bagian penyusun abstraksi data!
  6. Gambarkan dan jelaskan hubungan antara bagian dalam pertanyaan di atas!
  7. Sebutkan dan jelaskan manfaat SBD!

                                                                                            

1. Pengertian  sistem 
 Sistem adalah adalah suatu kesatuan yang terdiri atas komponen atau elemen yang  saling berinteraksi, saling terkait, atau saling bergantung membentuk keseluruhan yang kompleks/sistem dapat diartikan sebagai suatu kesatuan yang    terbentuk dari beberapa unsur, atau komponen, atau bagian yang satu sama lain berada dalam keterikatan yang kait-mengait dan fungsional. Masing-masing kohesif satu sama lain, sehingga ketotalitasan unit terjaga utuh eksistensinya.
    - Sistem dapat diartikan pula sebagai sesuatu yang lebih tinggi daripada hanya merupakan cara, tata, rencana, skema, prosedur atau metode. Sistem adalah suatu cara yang mekanismenya berpola dan konsisten, bahkan mekanismenya sering bersifat otomatis (Kantaprawira).

2.  Definisi Sistem Basis Data
     sistem basis data merupakan sistem yang terdiri atas kumpulan file   (tabel) yang saling berhubungan dalam sebuah basis data di sebuah sistem komputer dan sekumumpulan program (DBMS) yang memungkinkan beberapa pemakai dan atau program lain untuk mengakses dan memanipulasi file-file (tabel-tabel) tersebut. sistem basis data (database system) adalah suatu sistem informasi yang mengintegrasikan kumpulan dari data yang saling berhubungan satu dengan lainnya dan membuatnya tersedia untuk beberapa aplikasi bermacam-macam di dalam suatu organisasi.
              SISTEM DATABASE adalah suatu sistem penyusunan dan pengelolaan record-record
              dengan menggunakan komputer, dengan tujuan untuk menyimpan atau merekam serta
              memelihara data operasional lengkap sebuah organisasi/perusahaan, sehingga mampu
              menyediakan informasi yang optimal yang diperlukan pemakai untuk kepentingan proses
              pengambilan keputusan.

3. Komponen Sistem Basis Data terdiri dari 6 Komponen , yakni :

1. Hardware
Biasanya berupa perangkat komputer standar, media penyimpan sekunder dan media komunikasi untuk sistem jaringan.

2. Operating System
Yakni merupakan perangkat lunak yang memfungsikan, mengendalikan seluruh sumber daya dan melakukan operasi dasar dalam sistem komputer. Harus sesuai dengan DBMS yang digunakan.

3. Database
Yakni basis data yang mewakili sistem tertentu untuk dikelola. Sebuah sistem basis data bisa terdiri dari lebih dari satu basis data.

4. DBMS (Database Management System)
Perangkat lunak yang digunakan untuk mengelola basis data. Contoh kelas sederhana: dBase, Foxbase, Rbase, MS. Access, MS. Foxpro, Borland Paradox. Contoh kelas kompleks: Borland-Interbase, MS. SQL Server, Oracle, Informix, Sybase.

5. User ( Pengguna Sistem Basis Data )
Orang-orang yang berinteraksi dengan sistem basis data, mulai dari yang merancang sampai yang menggunakan di tingkat akhir.

6. Optional Software
Perangkat lunak pelengkap yang mendukung. Bersifat opsional.

Komponen-komponen utama penyusun sistem basis data adalah :

Ø  Perangkat keras
Berupa komputer dan bagian-bagian didalamnya, seperti prosesor, memori & harddisk. Komponen inilah yang melakukan pemrosesan dan juga untuk menyimpan basis data.

Ø  Sistem operasi
Seperangkat program yang mengelola sumber daya perangkat-perangkat keras dan menyediakan layanan umum untuk aplikasi perangkat lunak.

Ø  Basis data
 Sebuah DBMS dapat memiliki beberapa basisdata, setiap basisdata dapat berisi sejumlah obyek basisdata (file,tabel,indeks dsb). Disamping berisi data,setiap basisdata juga menyimpan definisi struktur (baik untuk basisdata maupun obyek-obyeknya secara detail).

Ø  Perangkat Lunak Sistem Pengelola Basis Data (DBMS)
Perangkat lunak ini terdiri dari sistem operasi dan perangkat lunak/program pengelola basisdata. Perangkat lunak inilah yang akan menentukan bagaimana data diorganisasi,disimpan, diubah dan diambil kembali. Ia juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, pemaksaan keakuratan/konsistensi data, dsb.


Ø  Pemakai (Programmer, User mahir, user umum, user khusus)
Ø  Pengguna akhir / end user.
Dapat dibagi menjadi 2 :
Ø  Pengguna aplikasi : adalah orang  yang mengoperasikan program aplikasi yang dibuat oleh pemrogram aplikasi.
Ø  Pengguna interaktif : adalah orang yg dpt memberikan perintah-perintah pada antar muka basisdata, misalnya SELECT, INSERT dsb.
Ø  Pemrogram aplikasi
     adalah orang yang membuat program aplikasi yang menggunakan basisdata.
Ø Administrator database / DBS (database administrator)
    adalah orang yang bertanggungjawab terhadap pengelolaan basisdata.


4.Abstraksi data merupakan tingkatan/level dalam bagaimana melihat data dalam sebuah sistem basis data.
   1. Level Fisik (Physical Level)
Merupakan level terendah dalam abstraksi data, yang menunjukkan bagaimana sesungguhnya suatu data disimpan. Melalui level ni, pemakai dapat melihat gambaran struktur datanya secara terperinci.Pada level ini, pemakai melihat data sebagai gabungan dari struktur dan datanya sendiri. Pemakai juga kompeten dalam mengetahui bagaimana representasi fisik dari penyimpanan/pengorganisasian data. Pada level ini kita berurusan dengan data sebagai teks, sebagai angka atau bahkan himpunan bit data. 
  2. Level Lojik/Konseptual (Conseptual Level) 
Merupakan level berikutnya yang menggambarkan data yang disimpan dalam basis data serta hubungan anatar data. Pada level ini pemakai dapat mengetahui misalnya data pegawai yang disimpan atau direpresentasikan dalam beberapa file/tabel, seperti file pribadi, file pendidikan, file pekerjaan.
   3. Level View (View Level) 
Merupakan level tertinggi dari abstraksi data yang hanya menunjukkan sebagian dari basis data. Para user umumnya hanya membutuhkan sebagian data/informasi dalam basis data yang kemunculannya di mata user (pemakai) diatur oleh aplikasi end-user. Kegunaan level ini adlah untuk menyederhanakan interaksi antara pemakai (user) dengan sistem.

5.Bagian Bagian penyusun abstraksi data
  • Physical level(Internal level) merupakan level terendah, yang menunjukan bagaimana sesunguhnya suatu data disimpan pada level ini,pemakai melihat data sebagai gabungan dari struktur datanya sendiri.
  • conceptual level mengambarkan data apa yang sebenarnya disimpan dalam basis data dan hubungan nya dengan data yang lain 
  • view level(external level) merupakan level tertinggi hanya menunjukan sebagian dari basis data sesuai dengan kebutuhan user,bagi user yang menggunakan terasa sebagai satu kesatuan yang Kompak


6.















Hubungan antara abstraksi data dan komponen penyusunya adalah Komponen dan abstraksi data tersebut
saling bergantung satu sama lain jika 1 komponen hilang maka abstraksi data tidak akan jalan



7.Manfaat Database
1. Sebagai komponen utama atau penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi.
2.  Menentukan kualitas informasi yaitu cepat, akurat, dan relevan, sehingga infromasi yang disajikan tidak basi. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkanya.
3.   Mengatasi kerangkapan data (redundancy data).
4.    Menghindari terjadinya inkonsistensi data.
5.    Mengatasi kesulitan dalam mengakses data.
6.    Menyusun format yang standar dari sebuah data.
7.   Penggunaan oleh banyak pemakai (multiple user). Sebuah database bisa dimanfaatkan sekaligus secara bersama oleh banyak pengguna (multiuser).
8.  Melakukan perlindungan dan pengamanan data. Setiap data hanya bisa diakses atau dimanipulasi oleh pihak yang diberi otoritas dengan memberikan login dan password terhadap masing-masing data.
9.    Agar pemakai mampu menyusun suatu pandangan (view) abstraksi dari data. Hal ini bertujuan menyederhanakan interaksi antara pengguna dengan sistemnya dan database dapat mempresentasikan pandangan yang berbeda kepada para pengguna, programmer dan administratornya. 


*Kesimpulan
      Sistem basis data sangatlah erat dengan kehidupan pada saat ini yang berbais elektronik.dengan adanya sistem basis data/sistem database kita dapat mencari informasi yang kita inginkan secara cepat,akurat, dan relavan  sehingga informasi yang kita daptkan tidak basi,karena tanpa adanya sistem basis data kita akan melakukan semuanya secara manual, jadi pada intinya database itu mempunyai peran penting pada kehidupan kita saat ini ,