Kamis, 28 April 2011

PEMODELAN DATABASE DENGAN ER MODEL DAN TRASFORMASI MODEL DATA KE DESAIN DATABASE



Perancangan basis data dengan menggunakan model entity relationship adalah denganmenggunakan Entity Relationship Diagram (ERD). Terdapat tiga notasi dasar yangbekerja pada model E-R yaitu : entity sets, relationship sets, dan attribut.
Sebuah entiti adalah sebuah ”benda” (thing) atau ”objek” (objek) didunia nyata yang dapat dibedakan dari objek lainnya. Entity sets adalah sekumpulan entiti yangmempunyai tipe yang sama. Kesamaan tipe ini dapat dilihat dari attribut/property yang dimiliki oleh setiap entity. Misal :
Kumpulan orang yang menyimpan uang pada suatu bank dapat didefinisikansebagai entity set nasabah.
Kumpulan orang yang belajar diperguruan tinggi didefinisikan sebagai mahasiswa.
Entity set dilambangkan dengan bentuk persegi panjang.

Lambang Entity Set Relationship adalah hubungan diantara beberapa entiti.
Relationship set merupakan sekumpulan relasi yang mempunyai tipe yang sama. Relationship set digambar dengan diamond.
   


Lambang Entity SetAtribut merupakan sebutan untuk mewakili suatu entity.
Atribut dalam ERDdilambangkan dengan bebtuk elips.



 

Lambang Entity Set
Ada beberapa istilah yang harus dipahami sebelum merancang basis data dengan menggunakan model entity relationship diagram. Diantaranya yaitu ;
1.    Superkey
Satu atau lebih atribut (kump atribut) yang dapat membedakan setiap baris datadalam tabek secara unik.

Dari tabel tersebut yang memungkinkan menjadi superkey adalah atibut NIM,atribut NIM dan Nama, atribut NIM dan Alamat, atibut NIM dan Jurusan, atributNIM, Nama, Alamat dan Jurusan.Atribut Nama tidak bisa menjadi superkey karena memungkinkan lebih dari 1baris yang memiliki nilai sama. Demikian pula atribut alamat, atribut jurusan,atribut Nama dan Alamat, Atribut Nama dan Jurusan, Atribut Alamat dan Jurusanserta Atribut Nama, Alamat, dan Jurusan.

2.    Kandidat Key
Merupakan kumpulan atribut minimal yang membedakan setiap baris data dalamtabel secara unik. Untuk bisa menjadi kandidat key, suatu atribut harus memenuhipersyaratan sebagai berikut :a.Untuk satu nilai hanya mengidentifikasikan satu baris dalam satu relasi(unik).b.Tidak memiliki subset yang juga merupakan kunci relasic.Tidak dapat bernilai nullDengan kata lain, sebuah kandidat key adalah superkey yang paling sedikit jumlahatributnya. Dari contoh pada superkey dari tabel Mahasisea pada tabel 5.1 yangmemenuhi persyaratan sebagai kandidat key adalah atribut NIM.

3.    Kunci relasi (relation key) kunci utama (primary key)
Nilai dari kunci relasi harus mengidentifikasikan sebuah baris yang unik didalamsebuah rekasi. Kunci relasi terdiri dari satu atau lebih atribut-atribut relasi. Agarmenjadi sebuah primary key, sebuah atribut haruslah memenuhi persyaratan sebagai kandidat key. Dalam contoh tabel mahaiswa pada pada Tabel 5.1 NIMadalah kunci relasinya.

4.    Kunci Alternatif (alternate Key)
Kunci yang tidak ada didunia nyata, tetapi diadakan dan dijadikan primary key.Kunci alternatif dibuat ketika tidak ada satu pun atribut dalam sebuah relasi yangbisa mewakili relasi teresebut, atau ada yang bisa menjadi kandidat key tetapitidak cukup efektif untuk digunakan sebagai primary key.

Dari tabel kandidat key pada tabel tersebut adalah Nama. Tetapi untuk lebihefektif mungkin aja perancang basisdata akan memberikan kunci alternatif berupakode_hobi. Kode tersebut tidak pernah ada dalam dunia nyata. Karena kita tidakpernah tahu kalau Hiking tersebut dipilih sebagai kunci utama. Maka kode_nilaidisebut sebagai kunci alternatif.

5.    Komposit Key
Primary key yang terdiri dari lebih dari 1 atribut

6.    Foreign Key (FK)
Istilah Fk juga banyak digunakan dalam perancangan. Sebuah Fk adalahsekumpulan atribut dalam suatu rlasi (misal A) sedemikian sehingga kumpulanatribut ini bukan kunci A tetapi merupakan kunci dari relasi lain.

7.    Kardinalitas Pemetaan
Kardinalitas pemetaan atau rasio kardinalitas menunjukan jumlah entity yangdihubungkan ke satu entity lain dengan suatu relationship sets. Kardinalitaspemetaan meliputi :
·         Hubungan satu ke satu (one to one) yaitu satu entity dalam A dihubungkan dengan maksimum satu entity.
·         Hubungan satu ke banyak (one to many) yaitu satu entity dalam Adihubungkan dengan sejumlah entity dalam entity dalam B dihubungkandengan maksimum satu entity dalam A.

B.  TAHAP PEMBUATAN ENTITY RELATIONSHIP DIAGRAM
Secara umum ada 2 langkah dalam membuat ERD. Langkah pertama adalah membuatERD awal untuk mendapat sebuah rancangan database yang minimal dapatmengakomodasi kebutuhan penyimpanan data sistem yang sedangmempertimbangkan anomali-anomali dan aspek-aspek efesiensi, kinerja, danflekibilitas.Berikut akan dijelaskan tahap-tahap pembuatan ERD awal. Untuk lebih memudahkanilustrasi, akan diberikan kasus perancangan basis data dalam Sistem InformasiAkademik. Adapun langkah-langkahnya adalah sebagai berikut.
1.    Mengidentifikai dan menetapkan seluruh himpunan entitas (entity) yang akan terlihat.
Misalnya entitas yang terlihat adalah : Mahasiswa, Dosen, Matakuliah.
2.    Menentukan atribut-atribut key dari masing-masing himpunan entitas.
Untuk entitas Mahasiswa, atribut yang terlibat yaitu : NIM, Nama., Alamat,Jurusan.Untuk entitas Dosen, atribut yang terlibat adalah : NIP, Nama, Alamat.Untuk entitas Matakulaih, atribut yang terlibat adalah : Kode_Matakul, Nama,SKS.
3.    Menentukan PK dari setiap entitas yang ada.
PK dari entitas Mahasiswa : NIM.PK dari entita Dosen : NIP.PK dari entitas Matakuliah : Kode_Matkul.
4.    Mengidentifikasi dan menetapkan seluruh himpunan relasi di antarahimpunan entitas-himpunam entitas yang ada beserta foreign key-nya

Dosen dengan mata kuliah berelasi secara langsung dengan relasi mengajar,yaituu deosen mengajar mata kuliah. Himpunan relasi mengajar antara Dosen danMata kuliah bisa dilihat pada gambar dibawah ini.
         
atribut pada gambar diatas ada beberapa atribut yang digaris bawahi yang atribut NIP pada Entity Dosen dan Kode_Matkul pada Entity Mata kuliah. Atribut yang diberi garis bawah ganda seperti atribut NIP dan Kode_Matkul pada relasi Mengajar merupakan Foreign Key.
          Selain Dosen dan Matakuliah yang dihubungkan dengan Relasi Mengajar, masihada satu Entity yang masih berelasi dalam sistem ini, yaitu Entity Mahasiswa.Entity Mahasiswa berhubungan dengan relasi Matakuliah sekaligus beralasidengan dosen, tetapi relasi antara Mahasiswa dengan kedua entity  yang lain saling bekaitan (bersamaan). Mahasiswa mengikuti suatu matakuliah yang diajarkan oleh seorang dosen. Adi tidak hanya dosennya tetapi langsung dengan mata kuliahnya secara spesifik. Relasi seperti ini disebut dengan agregasi. Dimana sebuah entity berelasi dengan yang lain. 
    
      Relasi anatara dosen dengan matakuliah memiliki kardinalitas banyak ke banyakatau many to many, dimana satu dosen dapat mengajar banyak mata kuliah dan satu mata kuliah bisa diajarkan oleh banyak dosen.Demikian pula relasi antara
Dengan kardinalitas

Mahasiswa dengan RELASI Mengajar yang menghubungkan antara Entity Dosen dengan Matakuliah, memiliki kardinilitas Banyak ke Banyak. Berikut ini adalah gambar ERD setelah ditentukan derajat kardinilitasnya.

Penggambaran ERD dapat pula dilengkapi dengan kamus data, sehingga tidak perludigambarkan semua atributnya dalam gambaran ERD-nya. Cara penulisan kamus datayaitu dengan menyebutkan Entity diikuti dengan atribut-aributnya. Misal Entity Dosen akan ditulis sebagai berikut : 

          Dosen :  { NIP, Nama, Alamat}

          Dalam kamus data NIP diberi garis bawah untuk menambahkan bahwa NIP merupakan primary key dari entiti Dosen.Setelah  ERD lengkap dengan kardanilitasnya selesai dibuat.
Langkah selanjutnya yang perlu dipikirkan adalah optimasi dilakukan untuk 3 tujuan yaitu meningkatkan :-Efesiensi-Kinerja-Fleksibilitas

          Untuk meningkatkan efesiensi dan kinerja, dalam optimasi ERD terkadang diperlukanpemberian kunci alternatif (alternate key) yaitu atribut yang sebenarnya tidak adadidunia nyata. Tetapi ditambahkan dan dijadikan sebagai primery key. Sebagai contohdalam relasi hobi, dimana dalam relasi tersebut hanya tersiri dari nama_hobi.Mengingat panjang data nama hobi cukup banyak, terkadang perlu dipertimbangkanuntuk menambahkan kode_hobi yang sebenarnya hal ini ada dalam dunia nyata.Dalam hal pengkodean, ada 3 bentuk pengkodean yang bisa diberikan yaitu :
·         Sekuensial, jenis kode ini diberikan secara urut. Misalnya untuk kode pembelian terurut dari 1, 2, 3, dan seterusnya.
·         Mnemonic. Jenis kode ini berupa karakter atau angka sebagai simbol. Misalnya Ldan P pada jenis kelamain yang aartinya laki-laki dan perempuan.
·         Blok. Jenis pengkodean ini terdiri dari beberapa bagian, misalnya NIM02.11.2341. kode tersebut memiliki 3 bagian yang masing-masing memiliki makna tersendiri. Blok pertama 02 bermakna tahun angkatan 2002. Blok ke 2 berisi kode jurusan yang menggambarkan nomer urutan mahasiswa pada tahun dan jurusan tersebut.

          Hal lain yang bisa dilakukan dalam usaha optomasi adalah melakukan dekomposisi atau pemecahan tabel.
Dalam hal peningkatan fleksibilitas, optimasi dilakukan dengan cara berikut :
·    Penambahan atribut. Dengan ditambahkan atribut pada entity/relasi diharapkan,entity/relasi ini akan lebih fleksibel penggunaannya. Sebagai contoh: relasi mengajar jika hanya memiliki atribut NIP dan Kode_Matkul, berarti relasi inihanya berlaku untuk datu periode waktu daja. Namun jika ditambahkan atributTahun dan semester, maka relasi ini dapat menampung data untuk beberapa periode waktu.
·    Pemilihan domain atribut yang lebih luas. Sebagai contoh adalah pemilih lebar data untuk atribut tahun. Sebelum tahun 2002, banyak system yang yangdibangun dengan rancangan lebar atribut tahun adalah 2 digit. Ddengan demikianuntuk tahun 1982 hanya ditulis 82. untuk tahun 1989 hanya ditulis 98.

·    Generelasi. Sebuah contoh kasus generelasi adalah sebagai berikut. Diberikan 2entitas Dosen dan Mahasiswa sebagai anggota dalam sistem perpustakaan.Masing-masing dari kedua entitas tersebut memiliki atribut IdAnggota, Nama,dan Alamat. Jika masing-masing jenis anggota direpresentasikan dalam sebuah relasi maka jika ada penambahan jenis anggota, misalnya karyawan,  maka harus ditambahkan relasi baru. Tetapi jika generelasi , seluruh relasi dari anggotaperpustakan dijadikan sebuah relasi anggota dengan atriut IdAnggota, Nama, danAlamat dan ditambah dengan jenis.


·    Perubahan stuktur entitas dari yang berorientasi kolom baris ke orientasi baris. Sebagai
contoh, sebuah relasi sirkulasi pada sistem perpustakaan yang berbentuk,

  TRANSFORMASI MODEL DATA KE DESAIN DATABASE

A.   TAHAP IMPLEMENTASI
Tahap Implementasi merupakan upaya untuk membangun basis data fisik yang ditempatkan dalam memori sekunder. Adapun langkah-langkah untuk mengimplementasikan Entity RelationshIp Diagram adalah sebagai berikut :
-transformasi dari model data yang telah dibuat ke skema basis data sesuai dengan DBMS yang dipilih.
-Diagram ER dan basis data.
-Entity table-table/file-file data
-Atribut dan field

Transformasi dasar :
1.      Setiap himpunan entitas akan diimplementasikan sebagai sebuah table2. Relasi dengan derajat 1-1 yang menghubungkan
2.      buah himpunan entitas akan direpresentasikan dalam bentuk penambahan atribut-atribut relasi ke salah satu tabel yang memiliki kedua himpunan entitas.
3.      Relasi dengan derajat 1-N yang menghubungkan 2 buah himpunan entitas juga akan direpresentasikan dalam bentuk pencantuman atau pemberian atribut key dari himpunan entitas pertama (yang derajat 1) ke himpunan ke 2 (yang derajat N).
4.      Relasi dengan derajat N-N yang menghubungkan 2 buah himpunan entitas akan diwujudkan dalam bentuk table khusus, yang memiliki field tepatnya (foreigenkey) yang berasal dari key-key kedua himpunan entitas yang dihubungkan.
5.      Relasi tunggal. Derajat 1-1 : penggunaan field key dua kali pada satu table dengan nama dan fungsi berbeda.b.Derajat 1-N : dibentuk tabel baru yang mendapatkan field dari atribut relasi dariatribut relasi yang ditambah dengan atribut key dari himpunan entitasnya.


             Adapun langkah implementasinya adalah sbagai berikut :
1.      Mengubah entitas menjadi tabel dengan fieldnya adalah atribut dari entitas tersebut. Dengan demikian tabel yang berbentuk pada tahap ini adalah :
°      Tabel Dosen, Field-fieldnya : NIP, Nama, Alamat.
°      Tabel Matakuliah, Field-fieldnya : Kode_Matkul, Nama, SKS.
°      Tabel Mahasiswa, Fieldnya-fieldnya : NIM, Nama, Alamat.
°      Tabel Jurusan, Field-fieldnya : KD_Jurusan, Nama.

2.      Mengubah relasi antara entitas dengan derajat kardinalitas banyak ke banyak menjadi table baru. Dari gambar, relasi yang derajat kardinalitasnya banyak ke banyak adalah :
°       Relasi Mengajar, yang menghubungkan antar Dosen dengan Matakuliah.Relasi ini diubah menjadi tabel Mengajar dengan field : NIP, Kode_Matkul.
°       Relasi Prasyaratan, yang menghubungkan antara Matakuliah dengan Mata kuliah. Relasi ini diubah menjadi tabel Prasyarat dengan field :kode_Matkul, Kode_Matkul_Prasyarat
°       Relasi Mengikuti, yang menghubungkan antar Mahasiswa dengan Relasi Mengajar. Relasi ini diubah menjadi tabel mengikuti dengan nilai field : NIM,Kode_Matkul, NIP

Menambahkan field pada entity yang dihubungkan oleh relasi dengan derajat satu ke banyak. Dari gambar, relasi yang berderajat satu ke derajat banyak adalah relasi memiliki yang menghubungkan antar jurusan dengan mahasiswa. Relasi ini mengakibatkan penambahan field Kode_Jurusan sebagai primary key dari entity jurusan yang berserajat satu ke entiti mahasiwa yang berderajat banyak. Dengan demikian tabel mahasiswa memiliki field : Nim, Nama, dan Kode_Jurusan.

B.  TIPE DATA FIELD
Tipe-tipe data field beserta aturan penamaan tertanggung pada DBMS-nya. Secara umum macam-macam tipe field :
·         Data Angka : Numerik atau Alfanumerik.
·         Data Numerik : Bilangan bulat (interger) atau Bilangan Nyata (real).
·         Data Bilangan Bulat (interger)
°  Byte (1 byte)
°  Small interger (2 byte)
°  Long interger (4 byte)-Data Bilangan Nyata
°  Singel (4 byte)
°  Double (8 byte)-Data Uang
°  Money/currency-Data Teks
°  Character (fixed)
°  Variable Character (non fixed)-Data Biner
file:///D:/analisa-perancangan-database-nilai.html

Senin, 25 April 2011

database apotik

Contoh Studi Kasus Basis Data / Database Pada Sebuah Apotik
Membuat diagram Entity Relationship (E-R) terhadap sebuah kasus database sebuah apotek. Setelah dibuat diagram E-R, kemudian diimplementasikan pada sebuah software untuk basis data, yaitu menggunakan microsoft access. Berikut kasus basis data pada sebuah apotik “OBATKU”. Sebuah apotik di Jalan Pemuda 83 Semarang – “OBATKU” akan mengimplementasikan aplikasi basis data pada apotiknya. Sebagai apotik yang melayani langsung pelanggan obat, OBATKU melakukan pencatatan terhadap beberapa hal, yaitu :
1. Data Karyawan
2. Data Obat
3. Data Supplier
Setiap pelanggan dapat membeli lebih dari satu jenis obat. Didalam satu transaksi penjualan, seorang pelanggan hanya dilayani oleh seorang karyawan dan seorang karyawan setiap harinya dapat melayani lebih dari satu orang pelanggan dalam beberapa transaksi penjualan.
Data karyawan secara lengkap seperti ditunjukkan dalam kartu tanda pengenal karyawan yaitu terdiri ID karyawan, nama, alamat, kota, status, no tlp.
Data obat secara lengkap seperti ditunjukkan dalam kartu identifikasi obat yaitu terdiri ID obat, nama, jenis, harga, stock, ID supplier.
Sedangkan data supplier deperti ditunjukkan dalam kartu supplier yaitu terdiri ID suplier, nama, alamat, kota, no tlp.
Faktur penjualan yang dipergunakan dalam proses penjualan obat berisi No, tanggal, ID pelanggan, ID karyawan, ID obat, jumlah, total, pajak, total bayar.
Faktur penyuplaian obat yang dipergunakan dalam proses pembelian obat dari supplier obat berisi No, tanggal, ID karyawan, ID supplier, ID obat, jumlah obat, total, pajak, total bayar.
Di dalam operasionalnya, pemilik OBATKU menginginkan adanya laporan penjualan untuk tiap periode waktu tertentu (misal harian, mingguan atau bulanan).
Posted in Uncategorized | Tinggalkan komentar