Minggu, 01 Februari 2009

Periksa Hasil

Lihatlah diagram dari sudut pandang pemilik atau pengguna system. Cek apakah semuanya jelas. Periksa kardinalitasnya. Lihat juga daftar atribut yang beruhubungan dengan masing-masing entitas untuk melihat apakah ada atribut yang hilang.

ERD

Gambar ERD Dengan Atribut

Juka Anda menambahkan entitas dan atribut baru pada langkah 8, Anda harus menggambar ulang ERD. Jika hendak melakukannya, aturlah letak entitas sehingga tidak ada garis yang berpotongan.

Menentukan Atribut dan Pemetaan Atribut

Atribut adalah ciri yang umum untuk semua atau sebagian besar anstansi pada enrtitas tertentu. Pada langkah ini kita mencoba untuk menentukan semua atribut yang diperlukan oleh system. Cara terbaik untuk melakukannya adalah dengan mempelajari formulir, file, dan laporan yang dihasilkan oleh system yang ada saat ini. Kemudian, lingkari masing-masing item data yang akan dipakai pada system yang baru. Item yang dilingkari tersebut harus mewakili atribut yang dibutuhkan. Anda harus selalu menanyakan hal tersebut kepada para pengguna system.


Pemetaan Atribut

Kita harus memasangkan masing-masing atribut dengan satu entitas. Kadang-kadang, suatu atribut harus dipasangkan dengan lebih dari satu entitas (misal nama). Dalam kasus ini, Anda harus mengubah nama atribut tersebut agar lebih spesifik (misalnya, Nama Negawai, Nama Pelanggan, dan sebagainya). Jika Anda mendapati atribut yang tidak berhubungan dengan satu entitas, berarti Anda lupa menuliskan entitas tersebut beserta relasinya. Carilah entitas yang kurang tersebut dan tambahkan pada matriks relasi.

Menentukan Kunci Utama dan Gambar ERD Berdasar Key


Untuk masing-masing entitas, kita harus mencari kunci utama yang unik sehingga entitas tersebut bisa dibedakan dari entitas lain. Kunci utama terkadang hanya terdiri dari satu atribut, tetapi bisa juga tersusun dari sekumpulan atribut. Misalnya, ruang kelas membutuhkan nama gedung dan nomor ruang. Atribut yang merupakan kunci utama biasanya digarisbawahi.


Gambar ERD Berdasar Key

Pada ERD sementara bisa jadi terdapat relasi dari banyak-ke banyak. Relasi seperti itu akan menjadi masalah jika kita mencoba menerapkan entitas yang berhubungan sebagai penyimpan data atau file. Hal tersebut dikarenakan masing-masing record membutuhkan jumlah field yang tidak tertentu sehingga relasi banyak-ke banyak tetap terjaga. Masalah itu bisa diatasi dengan menambahkan entitas baru yang disebut entitas asosiatif. Nama dari entitas baru tersebut merupakan gabungan dari nama dua entitas yang dihubungkan. Entitas baru tersebut memiliki kunci utama dari kedua entitasn yang dihubungkan dan kardinalitasnya adalah satu-ke-banyak.

Mengisi Kardinalitas

Pada setiap ujung garis yang menghubungkan kotak, kita harus menggambarkan symbol yang menunjukkan jumlah minimum atau maksimum dari suatu instansi. Symbol pertama adalah 0 atau 1. symbol 0 untuk menunjukkan bahwa suatu entitas tidak memiliki instansi yang berhubungan dengan suatu instansi pada entitas lain yang berhubungan. Symbol 1 menunjukan bahwa setidaknya ada satu instansi pada suatu entitas. Misalnya, lebih dari satu siswa harus terdaftar pada satu mata pelajaran, tetapi mungkin juga tidak ada siswa yang memiliki guru (bila sekolah sedang libur).

Symbol kedua menunjukan jumlah maksimum dari istansi pada suatu entitas yang beruhubungan dengan instansi pada entitas lain yang berhubungan. Jika hanya ada satu instansi, maka simbolnya adalah 1. Jika lebih dari satu, simbolnya adalah kaki burung yang mengarah ke kotak.

Contoh:

Seorang siswa terdaftar pada satu mata pelajaran atau lebih.

Subyek kata kerja objek

Menentukan Relasi

Terdapat hubungan alamiah antara pasangan entitas. Penulisan entitas secara menurun pada sebuah kolom dan mendatar pada sebuah tabel memungkinkan kita untuk bisa membuat matrik relasi dengan mengisikan kata kerja pada perpotongan dua entitas yang berhubungan. Masing-masing baris dan kolom harus memiliki setidaknya satu relasi. Jika tidak, entitas tersebut tidak berinteraksi dengan system. Pada kasus ini, Anda harus bertanya apakah tindakan memasukkan entitas tersebut ke dalam system adalah tindakan yang benar.


Gambar ERD Sementara

Penggunaan kotak untuk entitas dan garis untuk relasi memungkinkan kita untuk bisa menggambarkan Entity Relationship Diagram (ERD).

Menentukan Entitas

Entitas adalah sesuatu yang nyata atau abstrak sebagai tempat penyimpanan data. Terdapat 5 kelas entitas, yaitu peran, kejadian, lokasi, hal nyata, dan konsep. Cara terbaik untuk menentukan entitas adalah menanyakan kepada pemilik dan pengguna system untuk mengetahui informasi apa yang ingin disimpan dan dihasilkan. Sumber lain untuk menentukan entitas adalah dengan mempelajari formulir, file, dan laporan yang dihasilkan oleh system yang ada sekarang. Misalnya, formulir pendaftaran siswa mengacu pada siswa (peran), pelajaran (kejadian), guru (peran), ruang kelas (lokasi), dan sebagainya.

METODOLOGI ERD

1.Menentukan Entitas

Menentukan peran, kejadian, lokasi, hal nyata, dan konsep dimana pengguna akan menyimpan data.

2. Menentukan Relasi

Tentukan hubungan antara pasangan entitas menggunakan matriks relasi.

3. Gambar ERD Sementara

Entitas digambarkan dengan kotak dan relasi dengan garis yang menghubungkan entitas.

4. Isi Kardinalitas

Tentukan jumlah kejadian dari satu entitas untuk sebuah kejadian pada entitas yang berhubungan.

5. Tentukan Kunci Utama

Tentukan atribut yang mengidentifikasi satu dan hanya satu kejadian pada masing-masing entitas.

6. Gambar ERD berdasar Kunci

Hiangkan relasi Many-to-Many dan masukkan primary dan kunci tamu pada masing-masing entitas.

7. Menentukan Atribut

Tuliskan field-field yang diperlukan oleh system.

8. Pemetaan Atribut

Pasangkan atribut dengan satu entitas yang sesuai pada masing-masing atribut.

9. Gambar ERD dengan Atribut

Aturlah ERD dari langkah 6 dengan menambahkan entitas atau relasi yang ditemukan pada langkah 8.

10. Periksa Hasil

Apakah ERD sudah menggambar system yang dibangun.


Jumat, 09 Januari 2009

AGREGASI

AGREGASI


Dalam realitas dapat pula kita jumpai adanya relasi yang secara kronologis mensyaratkan telah adanya relasi lain. Dengan kata lain, sebuah relasi terbentuk tidak hanya dari entitas tapi juga mengandung unsur dari relasi lain. Fenomena demikian dapat diakomodasi dengan Agregasi. Menggambarkan sebuah himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam diagram E-R, sebenarnya tidak tepat atau bahkan ada yang dengan tegas tidak memperbolehkannya. Karena itu, sebagai jalan tengah, kita menggunakan notasi khusus untuk menunjukkan adanya agregasi semacam itu.



PROSES LANJUTAN


Sebuah diagram E-R yang telah mengakomodasi semua fakta yang ada, bisa saja telah dianggap selesai untuk selanjutnya diimplementasikan. Akan tetapi, sebenarnya kita dapat melakukan berbagai proses lanjutan (perubahan diagram E-R) yang mengarah pada penyempurnaan dan optimasi model data karena pertimbangan-pertimbangan efisiensi ruang atau kecepatan dan kemudahan pengaksesan data.


  1. Key Alternatif (Alternate Key)

Kita telah ketahui key suatu himpunan entitas/relasi dipilih dari atribut yang dapat menjamin keunikan entitas. Sebuah key dapat dikategorikan baik, jika ia berukuran kecil dan sekuensial. Semakin kecil ukurannya dan semakin berurutan nilai-nilainya diantara entitas-entitas yang ada, maka semakin baik key tersebut.

  1. Pengkoden Internal

Data/informasi yang dapat dilihat oleh pemakai awam (end-user) bisa berbeda dengan bagaimana data/informasi itu disimpan. Itulah yang dikenal sebagai Abstraksi Data. Apa yang dilihat oleh pemakai awam bisa jadi merupakan hasil pengolahan yang tidak disimpan sama sekali dalam basis data. Atau bisa pula, dinyatakan dalam bentuk lain. Salah satu alasan mengapa kita menyatakan suatu data (atribut) dalam bentuk lain adalah untuk efisiensi rung penyimpanan. Dan cara yang ditempuh untuk menyatakan suatu data dalam bentuk lain itu adalah melaui pengkodean (data coding).

Dari pemakaiannya, kita bisa membedakan adanya pengkodean eksternal (user-defined coding) dan pengkodean internal (system coding). Pengkodean eksternal mewakili pengkodean yang telah digunakan secara terbuka dan dikenal dengan baik oleh para pemakai awam (end-user). Namun, yang perlu diingat, pengkodean internal tidak hanya dapat diterapkan pada pembuatan key alternative, tapi juga diterapkan pada atribut data lain (non-key) yang memang kita kelola.

Ada 3 (tiga) bentuk pengkodean yang dapat kita pilih, yaitu:

  • Sekuensial

Dimana pengkodean dilakukan dengan mengasosiasikan data dengan kode terurut (biasanya berupa bilangan asli atau abjad), misalnya data nilai mutu kuliah (‘Sempurna’,’Baik’,’Cukup’,’Kurang’,’Buruk’) dikodekan dengan ‘A’,’B’,’C’,’D’ dan ‘E’.

  • Mnemonic

Dimana pengkodean dilakukan dengan membentuk suatu singkatan dari data yang ingin dikodekan, misalnya data jenis-kelamin (‘Laki-laki’ dan ‘Perempuan’) dikodekan dengan ‘L’ dan ‘P’.

  • Blok

Dimana pengkodean dinyatakan dalam format tertentu, misalnya data no.induk mahasiswa dengan format XXYYYY yang terbentuk atas XX=dua dijit terakhir, angka tahun masuk dan YYYY=no.urut mahasiswa.

  1. Dekomposisi Himpunan Entitas dan Normalisasi

Sebuah himpunan entitas yang ada dalam sebuah diagram E-R dapat kita dekomposisi menjadi beberapa himpunan entitas baru karena pertimbangan efisiensi ruang penyimpanan atau karena pertimbangan kemudahan/kecepatan pengaksesan data. Upaya dekomposisi ini senantiasa akan menghasilkan satu himpunan entitas kuat (strong entity set) dan satu atau beberapa himpunan entitas lemah atau sub entitas.

Secara umum ada dua bentuk dekomposisi himpunan entitas, yaitu:

  • Dekomposisi Atribut (Dekomposisi Vertikal).

  • Dekomposisi Entitas (Dekomposisi Horisontal).

Dekomposisi merupakan langkah yang lazim dilakukan dalam rangka penerapan aturan Normalisasi pada tabel-tabel basis data. Dalam prakteknya, dekomposisi himpunan entitas disini juga disemangati (banyak dipengaruhi) oleh upaya penerapan aturan Normalisasi tersebut terhadap himpunan entitas yang ada dalam Diagram E-R.

  1. Dekomposisi Atribut (Dekomposisi Vertikal)

Dikomposisi ini akan dilakukan dengan cara membagi sebuah himpunan entitas menjadi dua atau lebih dengan pemisahan atribut.

  1. Dekomposisi Enitas (Dekomposisi Horizontal)

Dekomposisi ini dilakukan dengan cara membagi sebuah himpunan entitas menjadi dua atau lebih dengan pemisahan entitas.

  1. Fleksibilitas

Dalam perancangan basis data, perlu pula dipertimbangkan adanya faktor fleksibilitas. Factor ini memang bukan factor utama, tapi seringkali pula menjadi salah satu parameter untuk menentukan bagus/tidaknya sebuah desain basis data. Pertimbangan tentang efisiensi ruang penyimpanan dan dukungan pada kecepatan akses data menjadi lebih baik. Namun kualitas desain basis data yang paling baik adalah yang juga mempertimbangkan factor fleksibilitas ini. Sayangnya, pengakomodasian factor ini, dalam banyak keadaan, berbanding terbalik dengan pertimbangan tentang efisiensi ruang penyimpanan dan kecepatan akses. Artinya, demi fleksibilitas, kita akan membutuhkan ruang penyimpanan yang lebih besar dan bentuk pengaksesan yang lebih kompleks (sehingga waktu aksesnya bisa menjadi lebih lama).

Desain basis data yang telah kita buat, barangkali memang telah cukup memadai dengan kondisi saat ini. Seringkali desain basis data itu kita bangun berdasarkan sejumlah asumsi atau fakta-fakta (hasil analisis) yang berhasil kita kumpulkan. Asumsi biasanya menyederhanakan kenyataan sesungguhnya atau meniadakan anomali-anomali yang ada. Fakta-fakta yang bisa kita kumpulkan sekarang bisa saja berbeda dengan apa yang kita temukan pada kurun waktu yang akan dating. Padahal, dalam sebuah pembangunan sistem informasi, pembuatan desain basis data dilakukan diawal pekerjaan. Berikutnya setelah desain itu jadi, barulah tahap penulisan aplikasi (coding) dilakukan. Akan menjadi fatal akibatnya, jika pekerjaan pembangunan sistem informasi yang telah selesai ternyata tidak memadai untuk mengelola data/informasi saat itu, karena kondisinya ternyata telah berbeda dengan kondisi pada waktu desain basis data dibuat. Hal yang sama bahkan dapat pula terjadi tidak lama setelah pemakaian aplikasi. Karena itulah, factor fleksibilitas ini menjadi penting. Fleksibilitas dalam desain basis data perlu dipertimbangkan untuk mengantisipasi kondisi-kondisi yang menurut perhitungan kita bisa saja terjadi pada sekian waktu yang akan datang.

Fleksibilitas dalam desain basis data dapat direalisasikan dalam bentuk:

  • Penambahan atribut.

  • Pemilihan domain atribut yang lebih luas (direalisasikan pada tahap implementasi).

  • Generalisasi.

  • Perubahan struktur entitas dari yang berorientasi-kolom (column oriented).


  1. Penambahan Atribut

Fleksibilitas basis data dapat dilakukan dengan menyediakan sejumlah atribut cadangan/tambahan untuk mengantisipasi kebutuhan yang saat ini belum jelas/ada, tetapi mungkin terjadi pada masa yang akan datang.

  1. Pemilihan Domain Atribut yang Lebih Luas (direalisasikan pada tahap implementasi)

  2. Generalisasi

  3. Perubahan Struktur Entitas dari yang Berorientasi Kolom (column-oriented) menjadi Berorientasi Baris (row-oriented)

Bentuk fleksibilitas semacam ini akan selalu ‘mengorbankan’ kemudahan/kecepatan akses data. Untuk menampung semua fakta yang mungkin, kita akan melengkapi himpunan entitas dan relasi dengan atribut-atribut yang kita butuhkan. Akan tetapi, ada kalanya tidak semua entitas membutuhkan semua atribut-atribut tersebut, atau yang lebih fatal jika di saat yang akan datang, ada kebutuhan penyimpanan data yang tidak terantisipasi dengan keberadaan atribut-atribut tersebut.

SPESIALISASI DAN GENERALISASI

SPESIALISASI DAN GENERALISASI


Pada sebuah himpunan entitas dimungkinkan adanya pengelompokkan entitas-entitas yang menjadi anggotanya. Kadang-kadang ditemui, atribut-atribut yang melekat pada masing-masing kelompok tersebut tidak sepenuhnya sama.

Jika kita memulai dari sebuah himpunan entitas lalu kemudian melakukan pengelompokan yang melahirkan himpunan entitas baru (proses top-down), maka kita sedang melakukan Spesialisasi. Bisa juga yang terjadi adalah sebaliknya. Contohnya adalah entitas-entitas dalam himpunan entitas mahasiswa sebenarnya dapat dibagi dalam dua kelompok, yaitu mahasiswa D3 (Diploma 3) dan mahasiswa S1 (Strata 1). Tetapi pengelompokan ini tidak dipertegas dengan adanya perbedaan atribut. Karena tidak tegasnya perbedaan atribut dari dua kelompok, maka kelompok-kelompok entitas tersebut malah disatukan dalam sebuah himpunan entitas dengan atribut-atribut yang sama. Jadi, pendekatannya bersifat bottom-up, mula-mula terpisah tetapi kemudian menjadi satu. Proses yang demikian disebut Generalisasi. Dengan demikian, Spesialisasi dan Generalisasi merupakan dua proses yang berlawanan. Yang ditekankan dalam spesialisasi adalah perbedaan antar kelompok entitas, sedang dalam generalisasi yang ditekankan adalah persamaannya.

MODEL DATA LANJUTAN

VARIAN ENTITAS


  1. Himpunan Entitas Lemah

Himpunan entitas lemah berisi entitas-entitas yang kemunculannya tergantung pada eksistensinya dalam sebuah relasi terhadap entitas lain (strong entity). Himpunan entitas yang demikian biasanya tidak memiliki atribut yang dapat berfungsi sebagai key. Yang benar-benar dapat menjamin keunikan entitas di dalamnya.


  1. Sub Entitas

Sub entitas merupakan himpunan entitas yang beranggotakan entitas-entitas yang merupakan bagian dari himpunan entitas yang lebih superior/utama. Sub entitas ini merupakan hasil dekomposisi (spesialisasi) himpunan entitas berdasarkan pengelompokan teretentu.



VARIAN RELASI


Relasi yang terjadi diantara dua himpunan entitas yang berbeda disebut sebagai Relasi Biner (Binary Relation), yang merupakan relasi yang paling umum digunakan. Namun, ada kalanya kita juga menggunakan relasi yang hanya melibatkan sebuah himpunan entitas atau lebih dari dua himpunan entitas.


  1. Relasi Tunggal (Unary Relation)

Relasi Tunggal (Unary Relation) merupakan relasi yang terjadi dari sebuah himpunan entitas ke himpunan entitas yang sama.

  1. Relasi Multi Entitas (N-ary Relation)

Relasi Multi Entitas (N-ary Relation) merupakan relasi dari tiga himpunan entitas atau lebih. Bentuk relasi semacam ini sedapat mungkin dihindari, karena akan mengaburkan Derajat Relasi yang ada dalam relasi tersebut.

  1. Relasi Ganda (Redudat Relation)

Ada kalanya, relasi yang muncul antara dua himpunan entitas tidak hanya satu relasi, tetapi ada lebih dari satu relasi. Relasi demikian disebut Relasi Ganda (Redudant Relation).