Sabtu, 24 Maret 2012

Sekilas DCL


       Bentuk – Bentuk Normalisasi
Normalisasi Pertama :  Solusinya hilangkan duplikasi dgn mencari ketergantungan parsial; menjadikan field-field menjadi tergantung pada satu atau bbrp field, bukan seluruhnya. Karena yang dapat dijadikan kunci adalah Project Number dan Employee Number, maka langkah kemudian dicari field-field mana yang tergantung pada Project Number dan mana yang tergantung pada Employee Number.

       Ada beberapa keanehan dalam data pada tabel di atas. Adanya kesalahan penulisan data pada kolom project name record ketiga. Kemungkinan kesalahan penulisan data semakin bertambah seiring bertambahnya record.

Normalisasi Kedua : Field-field yang tergantung pada satu field haruslah dipisah dengan tepat, misalnya Project Number menjelaskan Project Name dan Employee Number menjelaskan Employee Name, Rate Category dan Hourly Rate.  Untuk membuat hubungan antara dua tabel, dibuat suatu tabel yang berisi key-key dari tabel yang lain
       Pada tabel Project dapat dilihat bahwa Project Name hanya disimpan sekali.
Secara jelas bahwa pada tabel employee project tabel mengisi data yang berulang-ulang. Tapi paling tidak lebih efisien dan mengurangi resiko kesalahan dalam penulisan data yang panjang. 
Basis data di atas masih belum sempurna. Masih ada anomali pada data.

Normalisasi Ketiga : Pada tabel diatas msh tdp masalah, yi Employee Number 17 mendapatkan hourly rate yang tidak sesuai dengan rate category nya. Solusinya adlh kita harus mencari hub. transitif (transitive relation) dimana field non-key tergantung pd field non-key lainnya. Artinya kita harus memisahkan fielfd non-kunci Rate Category yg tadinya tergantung sec. parsial kepada field kunci Employee Number, utk menghilangkan anomali penulisan data pada field hourly rate.



       Tabel2 yg memenuhi kriteria normalisasi ke 3, sudah siap diimplementasikan. Sebenarnya masih ada lagi bentuk normalisasi yang lain, yi Normalisasi Boyce-Codd dan normalisasi keempat, hanya sj sangat jarang dipakai. Pada kebanyakan kasus, normalisasi hanya sampai ketiga.


Jumat, 09 Maret 2012

Sekilas Tentang ERD


Entity Relational Diagram


ERD adalah sebuah konsep yang mendeskripsikan hubungan antara penyimpanan dan didasarkan pada persepsi dari sebuah dunia nyata yang terdiri dari sekumpulan objek, disebut entiti & relasi diantar objek-objek tersebut.

Fungsi E-R :
ERD untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya ada empat simbol yang digunakan, yaitu :

a. 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.

b. 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.

c. Hubungan / 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.
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.

Kardinalitas Relasi
Kardinalitas pemetaan atau rasio kardinalitas menunjukkan jumlah entitas yang dapat dihubungkan ke satu entity lain dengan suatu relasi. Kardinalitas pemetaan 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, dan satu entity dalam B dihubungkan dengan sejumlah entity dalam A.

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. 

Gambar dari ERD Spesialisasi dan juga Generalisasi










Sabtu, 03 Maret 2012

DDL dan Perancangan Basis Data


1. Apa tujuan 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).
2. Apa yang dimaksud dengan macro lifecycle dan micro lifecycle, sebutkan perbedaannya?
- Macro lifecycle: Siklus kehidupan sistem informasi.
- Micro lifecycle: Siklus kehidupan basis data.
Siklus hidup aplikasi basis data (micro) berhubungan dengan siklus hidup sistem informasi (macro), di mana micro lifecyle merupakan bagian dari macro lifecyle. Dalam kata lain di dalam macro lifecycle mencakup micro lifecycle.
3. Langkah apa saja yang dilakukan pada tahap pengumpulan dan analisa data?
Pengumpulan dan analisa data (requirements collection and analysis) merupakan tahapan ketiga dari perancangan sistem informasi sebagai siklus hidup SI.
Pada tahap ini yang dilakukan adalah pengumpulan dan penganalisaan data guna menjelaskan lebih lengkap apa saja yang harus dilakukan pada tahap selanjutnya, yaitu tahap perancangan basis data (database and application design).
4. Apa yang dimaksud dengan transaction throughput?
Yang dimaksud dengan transaction throughput  adalah rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem basis data. Transaction throughput ini merupakan parameter kritis dari sistem transaksi. Misalnya digunakan pada pemesanan tempat di pesawat, bank, dll. Hasil dari fase ini adalah penentuan awal dari struktur penyimpanan dan jalur akses untuk file-file basis data.

Sabtu, 18 Februari 2012

Basisdata Dkk ...


ARSITEKTUR SISTEM BASIS DATA

Arsitektur system basis data memberikan kerangka kerja bagi pembangunan basis data.

LEVEL ARSITEKTUR BASIS DATA
Menurut ANSI/SPARC, arsitektur basis data terbagi atas tiga level yaitu :
1.  Internal/Physical Level:
Berhubungan dengan bagaimana data disimpan secara fisik (physical storage)
2.  External /View Level
Berhubungan dengan bagaimana data di representasikan dari sisi setiap user.
3.  Conceptual/Logical Level
Yang menghubungkan antara internal & external level.

Dibawah ini akan lebih dijelaskan lagi tentang apa itu Internal/Physical Level, External/View Level dan Conceptual/Logical Level :
Internal/Physical Level
Adalah level terendah untuk merepresentasikan basis data. Record disimpan dalam media penyimpanan dalam format byte. Didefinisikan sebagai sebuah Skema Internal.

External Level /View Level
Adalah level user. Yang dimaksud dengan user adalah programmer, end user atau DBA.
Setiap user mempunyai ‘bahasa’ yang sesuai dengan kebutuhannya.
- programmer : bahasa yang digunakan adalah bahasa pemrograman seperti C, COBOL, atau PL/I
- end user : bahasa yang digunakan adalah bahasa query atau menggunakan fasilitas yang tersedia pada program aplikasi pada level eksternal ini, user dibatasi pada kemampuan perangkat keras dan perangkat lunak yang digunakan aplikasi basis data. Didefinisikan sebagai sebuah Skema Eksternal.

Conceptual Level / Logical level
Conceptual level adalah sebuah representasi seluruh muatan informasi yang dikandung oleh basis data. Tidak seperti level eksternal maka pada level conceptual, keberadaannya tidak memperhitungkan kekurangan perangkat keras maupun perangkat lunak pembangun aplikasi basis data. Didefinisikan sebagai sebuah Skema Konseptual.

MODEL-MODEL DATA
Yang dimaksud dengan MODEL DATA adalah sekumpulan tool konseptual untuk mendeskripsikan data, relasi-relasi antar data, semantic data & konsistensi konstrain.
Bermacam-macam model data terbagi dalam tiga kelompok besar yaitu :
Object-based logical models, record-based logical models, & physical models.

PERBEDAAN MODEL DATA OBJECT-ORIENTED ER-ORIENTED

Object-Oriented Model
Model berorientasi objek berbasiskan kumpulan objek. Setiap objek berisi :
1. Nilai yang disimpan dalam variable instant, dimana variable tersebut “melekat” dengan objek itu sendiri.
2. Metoda : operasi yang berlaku pada objek yang bersangkutan.
3. Objek-objek yang memiliki tipe nilai & metode yang sama
dikelompokkan dalam satu kelas. Kelas disini mirip dengan tipe data abstrak pada bahasa pemrograman.
4. Sending a message : sebuah objek dapat mengakses data sebuah objek yang lain hanya dengan memanggil metode dari objek tersebut.

Entity-relationship Model
E-R model didasarkan atas persepsi terhadap dunia nyata yanga terdiri dari sekumpulan objek, disebut entity dan hubungan antar objek tersebut, disebut relationship. Entity adalah objek di dunia yang bersifat unik. Setiap entity mempunyai atribut yang membedakannya dengan entity lainnya.
Contoh :
entity Mahasiswa, mempunyai atribut nama, umur, alamat no. ktm.
Pemodelan data dengan model E-R menggunakan diagram E-R. Diagram E-R terdiri dari :
Kotak persegi panjang, menggambarkan himpunan entity
Elip, menggambarkan atribut-atribut entity
Diamon, menggambarkan hubungan antara himpunan entity
Garis, yang menghubungkan antar objek dalam diagram E-R 

PERBEDAAN MODEL DATA RELASIONAL,JARINGAN DAN HIRARKI
 
Model Relasional ( Relational Model)
model relasional menggunakan kumpulan tabel-tabel untuk merepresentasikan data & relasi antar data-data tersebut. Setiap tabel terdiri atas kolom-kolom, dan setiap kolom mempunyai nama yang unik.

Model Jaringan (Network Model )
Data dalam model jaringan direpresentasikan dengan sekumpulan record (Pascal), dan relasi antara data direpresentasikan oleh record & link. Link dipandang sebagai pointer. Record-record diorganisasikan sebagai graf. Contoh, model relasional di atas direpresentasikan dalam model jaringan.

Model Hirarki (Hirarchical Model)
Mirip dengan model jaringan.Data direpresentasikan dalam record
dan link. Perbedaannya adalah, record-record diorganisasikan sebagai tree (pohon) daripada graf. Model relasional berbeda dengan model jaringan & hirarki, dalam hal penggunaan pointer atau link.