69
STIKOM Binaniaga Bogor Jl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor I. PENGANTAR BASIS DATA 1. Konsep Dasar dan Definisi Secara umum basis data didefinisikan sebagai koleksi dari data-data yang terorganisasi dengan cara sedemikian rupa sehingga data mudah disimpan dan dimanipulasi (diperbaharui, dicari, diolah dan dihapus). Dalam buku Modern Database Management, Fred McFadden menyebutkan bakwa yang dimaksud dengan data adalah fakta tentang sesuatu didunia nyata yang dapat direkam dan disimpan pada media computer. Pernyataan ini diperluas untuk mencerminkan realitas yang ada saat ini. Basis data saat ini digunakan untuk menyimpan objek-objek lain seperti dokumen, citra fotografi, suara serta video, teks dan angka-angka. Terminologi antara data dan informasi sangat berhubungan erat. Mendefinisikan informasi sebagai data yang telah diolah sedemikian rupa sehingga memiliki makna tertentu bagi pengguna. Mekanisme untuk menyediakan dan penggunaan data bila dihubungkan dengan konteks tertentu disebut meta data. Secara definitive, meta data adalah data yang menjelaskan data lainnya, penjelasan ini dapat berupa definisi data, struktur data, aturan dan batasan. Misalnya jika angka ‘M2A806926’ meta datanya mungkin berupa NIM mahasiswa yang berkarakter : 9 karakter gabungan antara teks dan angka,tidak boleh menggunakan spasi atau tanda baca,harus dimulai dari karakter teks, dsb. Deskripsi data tersebut bersangkutan dengan NIM seorang mahasiswa di UNSOED, karakter M2A merupakan program Magister, angka 8069 merupakan tahun berdiri dan angkatan dan huruf 26 merupakan nomor urut mahasiswa. Dalam konteks basis data, meta data mengijinkan perancangan basis data dan penggunaan memahami segala sesuatu tentang data, jenisny, maknanya, serta karakteristiknya. Meta data sangat penting agar data yang bersangkutan tidak disalahguakan, tidak memiliki makna yang mendua-arti(ambigu), serta tidak membingungkan. 2. Sistem Pengolahan Data dengan Memprosesan Berkas 1 Design Database Syafrial

Modul1 Database

Embed Size (px)

Citation preview

Page 1: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

I. PENGANTAR BASIS DATA

1. Konsep Dasar dan Definisi

Secara umum basis data didefinisikan sebagai koleksi dari data-data yang terorganisasi dengan cara sedemikian rupa sehingga data mudah disimpan dan dimanipulasi (diperbaharui, dicari, diolah dan dihapus).

Dalam buku Modern Database Management, Fred McFadden menyebutkan bakwa yang dimaksud dengan data adalah fakta tentang sesuatu didunia nyata yang dapat direkam dan disimpan pada media computer. Pernyataan ini diperluas untuk mencerminkan realitas yang ada saat ini. Basis data saat ini digunakan untuk menyimpan objek-objek lain seperti dokumen, citra fotografi, suara serta video, teks dan angka-angka.

Terminologi antara data dan informasi sangat berhubungan erat. Mendefinisikan informasi sebagai data yang telah diolah sedemikian rupa sehingga memiliki makna tertentu bagi pengguna.

Mekanisme untuk menyediakan dan penggunaan data bila dihubungkan dengan konteks tertentu disebut meta data. Secara definitive, meta data adalah data yang menjelaskan data lainnya, penjelasan ini dapat berupa definisi data, struktur data, aturan dan batasan.Misalnya jika angka ‘M2A806926’ meta datanya mungkin berupa NIM mahasiswa yang berkarakter : 9 karakter gabungan antara teks dan angka,tidak boleh menggunakan spasi atau tanda baca,harus dimulai dari karakter teks, dsb. Deskripsi data tersebut bersangkutan dengan NIM seorang mahasiswa di UNSOED, karakter M2A merupakan program Magister, angka 8069 merupakan tahun berdiri dan angkatan dan huruf 26 merupakan nomor urut mahasiswa.

Dalam konteks basis data, meta data mengijinkan perancangan basis data dan penggunaan memahami segala sesuatu tentang data, jenisny, maknanya, serta karakteristiknya. Meta data sangat penting agar data yang bersangkutan tidak disalahguakan, tidak memiliki makna yang mendua-arti(ambigu), serta tidak membingungkan.

2. Sistem Pengolahan Data dengan Memprosesan Berkas

Pada awal pemrosesan data berbasis computer, tidak dikenal apa yang namanya basis data. Komputer belum begitu berdaya guna seperti saat ini dan digunakan secara eksklusif untuk perhitungan saintifik dan rekayasa.Secara perlahan, lewat kemampuannya yang semakin tinggi, computer memasuki dunia bisnis. Agar bermanfaat untuk aplikasi bisnis, computer harus menyimpan, memanipulasi serta memanggil berkas (file) data berukuran sangat besar. Sistem pemrosesan berkas (file) berbasis komputer dikembangkan untuk memenuhi kebutuhan ini.

Merujuk pada aplikasi bisnis yang beranjak menjadi lebih kompleks, sistem pemrosesan berkas memiliki kekurangan-kekurangan serta keterbatasan-keterbatasan. Akhirnya sistem pemrosesan berkas digantikan dengan sistem pemrosesan basis data pada bisnis masa kini.

Alasan penggunaan sistem pemrosesan berkas (file) adalah : Sistem pemrosesan file masih digunakan terutama untuk sistem penyalinan (backup) dan

pemulihan (recovery) basis data. Pemahaman permasalahan dan keterbatasan pada sistem pemrosesan berkas dapat

membantu untuk menyelesaikan masalah yang mungkin akan dijumpai pada saat perancangan sistem basis data.

1Design DatabaseSyafrial

Page 2: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Contoh sistem pemrosesan berkas pada perusahaan ABC :

Sistem pemrosesan berkas pada gambar diatas terdapat kelemahan-kelemahan serta kekurangan-kekurangan. Kelemahan dan kekurangan adalah sebagai berikut :

- Ketergantungan program dan data.- Duplikasi data- Keterbatasan berbagi data - Proses pengembangan membutuhkan waktu yang lama- Kesulitan dalam pemeliharaan

3. Karakteristik Pendekatan Basis Data

Sistem basis data merupakan koleksi dari file-file yang saling berhubungan dimana program-program yang dibuat dapat diakses dan memodifikasi file-file tersebut. Salah satu tujuan adalah menyediakan pengguna tentang pandangan abstraksi dari data yakni penyembunyian rincian data yang disimpan dan pemeliharannya.

Beberapa peringkat abstraksi yang bertujuan untuk menyederhanakan interaksi pengguna dengan sistem, yakni :- Peringkat Fisik. Peringkat terendah yang mendeskripsikan bagamana data sesungguhnya

disimpan dalam media penyimpanan fisik seperti hardisk, pita magnetik dan sebagainya. Peringkat fisik mendeskripsikan struktur data terendah yang kompleks secara rinci, misalnya struktur data yang digunakan, pola representasi bit yang digunakan, dan sebagainya.

- Peringkat Logik. Abstraksi yang mendeskripsikan data apa yang disimpan di basis data dan hubungan apa yang ada antara data-data tersebut, dengan menggambarkan struktur yang relatif sederhana. Administrator basis data yang mementukan dan memutuskan informasi apa yang harus disimpan di basis data pada pengguna abstraksi peringkat logik adalah Administrator Basis Data.

2Design DatabaseSyafrial

Prog-ram A

Prog-ram B

Prog-ram C

Prog-ram A

Prog-ram B

Prog-ram A

SistemPemasaran

SistemFaktur

SistemGaji

File Master

Pelanggan

File Master

Persdiaan

File Pemsanan kembali

FileHarga

Persdiaan

File Master

Pelanggan

File Karyawan

Page 3: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

- Peringkat Pengguna. Kebanyakan pengguna tidak membutuhkan semua informasi, mereka hanya perlu mengakses bagian tertentu dari basis data. Perangkat pengguna yang sering dijumpai adalah antarmuka pengguna grafis yang menyederhanakan interaksi pengguna dengan sistem basis data.

Sistem basis data menyediakan bahasa untuk mendefinisikan dan memanipulasi basis data. Definisi dan manipulasi basis data merupakan bahasa basis data standar untuk basis data bertipe relational. Data Definition Language (DDL) merupakan pendefinisikan skema basis data dengan sekumpulan definisi yang diekpresikan dengan bahasa khusus. Sedang Data Manipulation Language (DML) adalah bahasa yang memungkinkan pengguna untuk mengakses atau memanipulasi data dalam sistem basis data.

4. Pengguna Basis Data dan Administrator.

Sasaran utama sistem basis data adalah memanggil informasi tertentu dari basis data dan menyimpan informasi baru ke basis data. Orang-orang yang bekerja dengan basis data dapat dikategorikan sebagai :

a. Pengguna basis data.Ada 4 tipe yang membedakan dari pengguna basis data, perbedaan tersebut didasarkan bagaimana caranya mereka berinteraksi dengan sistem basis data.- Naïve User, adalah pengguna yang berinteraksi dengan basis data dengan

menggunakan program-program aplikasi yang telah dituliskan sebelumnya.- Pemrogram Aplikasi, adalah pengguna yang berinteraksi dengan basis data untuk

menuliskan program aplikasi yang dibangun.- Pengguna Mahir, berinteraksi dengan sistem basis data tanpa menuliskan

programAdministrator basis data. Mereka mengakses basis data dengan menggunakan bahasa query. Mereka menulis query-query dengan SQL dan mengirimkan ke query processor yang berfungsi untuk memecahkan pernyataan-pernyataan DML menjadi instruksi-instruksi yang dipahami oleh sistem basis data.

- Pengguna Terspesialisasi, adalah pengguna mahir yang menulis aplikasi basis data khusus yang tidak termasuk pada pemrosesan data bisnis. Misalnya sistem informasi geografis yang memiliki data kompleks (data audio/video, grafik, animasi,dll)

b. Administrator basis data.Salah satu alasan untuk menggunakan Database Management System adalah untuk mendapatkan kendali tepusat pada data maupun program yang mengakses data-data tersebut. Orang yang memiliki tanggung-jawab penuh pada sistem basis data disebut Administrator Basis Data (DBA/Database Administrator), yang tugasnya meliputi :- Definisi Skema, DBA menciptakan skema basis data dengan mengeksekuri

pernyataan-pernyataan Data Definition Language.- Mendefinisikan struktur tempat penyimpanan dan metode aksesnya yang paling

efisien.

3Design DatabaseSyafrial

Page 4: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

- Memodifiksi skema da organisasi data secara fisik, DBA mengatur perubahan-perubahan skema dan organisasi fisik yang mencerminkan perubahan kebutuhan atau untuk perbaikan kinerja basis data.

- Memberikan hak akses tertentu pada pengguna basis data.- Melakukan pemeliharaan rutin.

5. Keunggulan Sistem Basis Data

Pendekatan basis data menawarkan keunggulan-keunggulan dibandingan dengan sistem pemrosesan berkas. Keunggulan-keunggulan tersebut :- Kemandirian program dan data, yakni memisahkan deskripsi data dari program aplikasinya.

Karakteristik sistem basis data mengijinkan organisasi data berubah tanpa mempengaruhi program aplikasi yang memproses data bersebut.

- Mengurangi pengulangan data (redudansei) yang tidak perlu. Sasaran perancangan dengan pendekatan basis data adalah menyatukan berkas-berkas data pada suatu struktur logika yang tunggal. Setiap fakta primer direkam pada hanya satu tempat di basis data.

- Memperbaiki konsitensi data. Dengan pengendalian redudansi secara dramatis mengurangi kesempatan terjadinya ketidak konsistenan data.

- Memperbaiki kesempatan berbagi data (data Sharing). Basis data dirancang untuk berbagi sumberdaya data dala organisasi. Pengguna dengan hak tertentu dapat mengakses bagian tertentu dalam basis data, dimanapun pengguna tersebut berada dalam organisasi.

- Menambah produktifitas pengembangan program aplikasi. Salah satu keunggulan pendekatan basis data adalah pengurangan waktu dan biaya untuk mengembangkan aplikasi bisnis yang baru.

- Akses Standard. Menciptakan data yang seragam (homogen data) sehingga dapat diakses dengan berbagai macap aplikasi pendukung.

- Membatasi hak akses. Dengan memberikan hak akses yang sesuai dengan keburuhan pengguna, maka data dapat terpelihara dengan aman dan bekerja efektif.

- Mengurangi biaya pemeliharaan program. Basis data bersifat mandiri dari program aplikasi yang digunakan sehingga, sampai batasan-batasan tertentu dapat merubah format data maupun program aplikasi secara mandiri tanpa perlu merubah yang lainnya. Sehingga pemeliharaan program secara signifikan akan berjalan lebih mudan pada lingkungan basis data.

4Design DatabaseSyafrial

Page 5: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

II. TAHAP PENGENDALIAN BASIS DATA

Pada banyak organisasi, pengembangan basis data dimulai dengan pemodelan data perusahaan (enterprise data modeling). Langkah ini pada umumnya berjalan selam perancangan sistem informasi adalah untuk menciptakan gambaran utuh tentang bagaimana data diorganisasi dan dikelola dalam suatu perusahaan.Langkah awal melakukan peninjauan sistem yang sedang berjalan, melakukan analisa area bisnis, mendeskripsikan kebutuhan data dan melakukan perancangan atau pengembangan basis data.

1. Arsitektur Sistem Informasi

Menurut Zachman (1987) dan Sowa and Zachman (1992) (dikutip dari buku Modern Database Management), arsitektur sistem informasi (ISA) mengandung 6 komponen kunci, yakni :

a. Data, yang secara konseptual dapat dijelaskan sebagai fakta didunia nyata yang penting bagi suatu aplikasi tertentu yang digambarkan dengan struktur data.

b. Proses, memanipulasi data yang pada banyak kasus digambarkan dan diorganisasikan dengan diagram alir data (DFD) atau dengan menggunakan metode pemodelan lainnya.

c. Jaringan, yang berfungsi untuk menerima dan mengirm data-data dalam organisasi, antarorganisasi maupun antar lokasi yang digambarkan dalam bentuk skema/topologi jaringan.

d. Manusia, yang melakukan proses-proses serta menjadi sumber dan penerima informasi, dapat digambarkan pada pemodelan proses sebagai pengirim dan penerima data).

e. Kejadian, yang menggambarkan saat terjadinya suatu proses, digambarkan dalam bentuk diagram keadaan (State Chart Diagram)

f. Aturan Bisnis, aturan-aturan yang mengendalikan promrosesan data, yang digambarkan dalam bentuk teks atau diagram keputusan.

2. Rekayasa Informasi

Arsitektur sistem informasi dikembangkan oleh para perancang sistem informasi mengikuti metode-metode untuk perancangan sistem informasi. Salah satu metodologi yang populer adalah rekayasa informasi. Rekayasa Informasi adalah metodologi berorientasi data untuk menciptakan serta memelihara sistem informasi. Metodologi berorientasi data sangat berguna untuk memahami bagaimana data diidentifikasi serta didefinisikan.

Rekayasa informasi mengikuti rancangan atas-bawah (top-down planning) dimana informasi spesifik diturunkan dari pemahaman yang mendalam tentang kebutuhan informasi. Perancangan informasi atas-bawah menawarkan keuntungan dari cara-pandang yang luas, cara untuk melihat keterpaduan komponen-komponen sistem ssecara individu, suatu pemahaman dari hubungan sistem informasi untuk sasaran bisnis tertentu, dan pemahaman tentang imbas suatu sistem infomrasi di dalam tubuh organisasi tersebut.

Rekayasa informasi mencakup 4 langkah besar, meliputi perencanaan, analisis, perancangan dan implementasi.

5Design DatabaseSyafrial

Page 6: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

3. Perancangan Sistem Informasi

Sasaran dari perencanaan sistem informasi adalah menyesuaikan teknologi informasi dengan strategi bisnis dalam perusahaan. Penyesuaian ini sangat penting dalam tujuan untum mencapai keuntungan maksimum dari investasi dalam pengembangan sistem informasi. Tahap perencanaan meliputi :

a. Mengidentifikasi faktor strategis.Yang merupakan faktor-faktor strategis dalam perusahaan adalah sasaran organisasi, faktor keberhasilan kritis (critical success faktor), serta pemahaman tentang permasalahan. Kegunaan dari mengidentifikasi faktor-faktor ini adalah untuk mengembangkan konteks perencanaan serta menghubungkan rencana pengembangan sistem dengan rencana bisnis yang bersifat strategis.

b. Mengidentifikasi objek perencanaan perusahaan.Tujuan dari langkah ini adalah mengidentifikasikan lingkup bisnis. Lingkup ini membatasi pekerjaan analisis sistem dalam menentukan dinama perubahan sistem informasi dapat terjadi. Biasanya ada beberapa objek perencanaan yang terlibat dalam pengembangan sistem informasi, yakni :

- Unit Organisasi. Bebagai departeman dalam organisasi- Lokasi Organisasi. Tempat-tempat dimana proses bisnis organisasi berjalan.- Fungsi bisnis. Sekelompok proses bisnis yang mendukung misi organisasi.- Tipe entitas. Merupakan kategori utama dari data tentang manusia, tempat, serta sesuatu

yang dikelola oleh perusahaan.- Sistem informasi. Program aplikasi dan prosedur-prosedur pendukung untu mengangani

sekumpulan data.

c. Mengembangkan model perusahaan.Model organisasi/perusahaan yang komprehensif meliputi pemecahan fungsi (dekomposisi) dari tiap fungsi bisnis. Dekomposisi fungsional adalah proses pemecahan dari fungsi-fungsi dalam analisis untuk menyederhanakan permasalahan, mengisolasik bagian-bagian tertentu yang membutuhkan perhatian khusus, serta mengidentifikasikan komponen-komponen yang terlibat.Model data dapat digambarkan dengan membuat diagram keterhubungan antar entitas (ERD). Disamping penggambaran-penggambaran secara grafis, model data perusahaan dapat memuat deskripsi-deskripsi dari tiap-tiap entitas serta bagaimana cara bisnis tersebut beroperasi serta pengendalian validasi data.Model perusahaan menggambarkan hubungan-hubungan antar entitas antara lain :

- hubungan antar lokasi dan fungsi. Mengidentifikasikan fungsi bisnis apa yang terjadi serta dimana fungsi itu berjalan.

- Hubungan unit dan fungsi. Mengidentifikasikan fungsi bisnis pada yang berjalan dan merupakan tanggungjawab unit yang mana.

- Hubungan sistem informasi dengan entitas data. Menjelaskan bagaimana sistem informasi berinteraksi dengan setiap entiata data.

6Design DatabaseSyafrial

Page 7: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

- Hubungan fungsi dan entatas data. Mengidentifikasi bagaimana diperoleh, digunakan, diperbaharui atau dihapus dalam setiap fungsi.

- Hubungan sistem informasi dan sasaran. Memperlihatkan proses-proses pengembangan sistem informasi yang mendukung sasaran bisnis.

7Design DatabaseSyafrial

Page 8: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

III. PROSES PENGEMBANGAN BASIS DATA

1. Siklus Hidup Pengembangan Sistem

Siklus Hidup Pengembangan Sistem (SDLC-System Development Life Cycle) merupakan proses untuk melakukan pengembangan sistem yang memuat langkah-langkah untuk menghasilkan sistem yang diharapkan.Langkah-langkah pengembangan sistem adalah sebagai berikut :a. Identifikasi masalah. Tujuannya adalah pemahaman awal tentang situasi bisnis. Hasilnya

adalah permintaan format untuk mengembangkan sistem informasi untuk menyelesaikan permasalahan bisnis.

b. Inisialisasi dan perencanaan. Tujuannya untuk menentukan spesifikasi kebutuhan dan bagaimana sistem dapat membantu menyelesaikan permasalahan. Hasilnya adalah permintaan tertulis untuk membuatkan sistem atau mengembangkan yang sudah ada.

c. Analisis. Tujuannya menganalisis situasi bisnis untuk memspesifikasikan dan menseleksi fitur sistem yang lain. Hasilnya spesifikasi fungsi sistem.

d. Perancangan logika. Tujuannya mendapatkan dan menstrukturkan kebutuhan sistem secara keseluruhan. Hasilnya spesifikasi rinci data, laporan tampilan, dan aturan pemrosesan.

e. Perancangan fisik. Tujuannya mengembangkan spesifikasi teknologi. Hasilnya struktur program dan perancangan struktur fisik data.

f. Implementasi. Tujuanya menullis program, membuat basis data, menginstall dan menguji sistem. Hasilnya program dan dokumentasi.

g. Pemeliharaan. Tujuannya memantau kegunaan/fungsi sistem. Hasilnya audit sistem secara periodik.

2. Model Organisasi/perusahaan.

Proses pengembangan basis data dimulai dari pemodelan organisasi/perusahaan yang merupakan bagian dari identifikasi masalah pada SDLC, bertujuan untuk menghimpun kandungan umum dari basis data perusahaan.

Pemodelan organisasi berjalan dalam tahap perencanaan sistem. Bila terjadi perubahan sistem informasi dan lingkup dari data pada perusahaan dapat segera dikenali, meninjau ulang basis data yang ada, menganalisa dan mendeskripsikan secara garis besar semua data yang dibutuhkan untuk setiap bagian dari sistem informasi dalam pertimbangan untuk dilakukan pengembangan lebih lanjut. Dalam tahap ini juga terjadi pemilihan-pemilihan proyek yang layak untuk dikerjakan, hanya proyek yang telah ditentukan yang akan bergerak ke tahap selanjutnya.

3. Model Konseptual Data

Untuk setiap proyek sistem yang terpilih, pada pemodelan konseptual data harus dilakukan analisis kebutuhan data secara keseluruhan untuk sistem informasi yang akan diusulkan. Pemodelan dilakukan dengan inisialisasi masalah dan perencanaan dapat digambarkan dengan Entity Relationship Diagram (ERD) yang sederhana, yang menggambarkan data-data yang tercakup pada proyek pengembangan tanpa terlalu memperhatikan bagaimana kelak diimplementasikan. Hanya tingkat dari data dan hubungannya secara garis besar yang digambarkan.

8Design DatabaseSyafrial

Page 9: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Selanjutnya dianalisa untuk menghasilkan model data secara rinci, yang mengidentifikasikan semua data yang terlibat yang akan dikelola oleh sistem.

4. Perancangan Basis Data secara Logika dan Fisik

Perancangan secara logika dilakukan dengan menterjemahkan/mentransformasikan model data konseptual ke bentuk relasi-relasi berdasarkan basis data relasional. Setiap program dalam sistem informasi dirancang, termasuk didalamnya bagaimana format masukan serta keluaran. Meninjau ulang transaksi-transaksi, laporan-laporan tampilan-tampilan di layar monitor dan sebagainya yang didukung oleh basis data.Analisis untuk setiap transaksi dan laporan di atas akan membatasi basis data. Basis data mungkin berubah tergantung dari kebutuhan saat setiap transaksi dan laporan dianalisis.

Langkah terakhir pada perancangan basis data secara logika adalah mentransformasikan spesifikasi data ke bentuk elemen-elemen yang mengikuti aturan-aturan untuk spesifikasi data yang terstruktur dengan baik. Untuk kebanyakan basis data saat ini, aturan-aturan dari basis data relasional dan prosesnya dengan menggunakan Normalisasi dan ER.

Perancangan basis data secara fisik untuk memutuskan bagaimana organisasi basis data di tempat penyimpanan komputer serta mendefinisikan struktur fisik dari DMBS. Dalam tahap ini mulai menulisan program-program untuk memproses transaksi-transaksi dan laporan-lapoan. Sasarannya adalah merancang basis data yang secara efisien dan aman menangani proses data. Kemudian perancangan basis data secara fisik dirancang dengan kordinasi perangkat keras, sistem operasional, serta jaringan komunikasi data.

5. Implementasi Basis Data

Pada tahap implementasi basis data dilakukan penulisan, pengujian srta menginstall program-program yang akan memproses basis data. Program-program yang akan digunakan dapat memakai bahasa pemrograman C atau C++, Visual Foxpro, Basic, Delphi atau menggunakan bahasa-bahasa yang memiliki fungsi khusus untuk menghasilkan laporan-laporan, tampilan-tampilan serta grafik. Dalam tahap ini juga dibuatkan dokumen final tentang semua aspek basis data, melakukan pelatihan-pelatihan kepada pengguna dan merancang prosedur-prosedur penggunaan sistem informasi.

Langkah terakhir adalah memasukan data-data kedalam basis data. Data-data tersebut mungkin berasal dari sumber yang sudah ada pada sistem yang lama. Secara periodik melakukan back-up basis data serta melaukan pemulihan data (recavery) bila terjadi kerusakan data.

6. Pemeliharaan Basis Data

Pada tahap ini pemeliharaan data dilakukan dengan manipulasi penambahan, penghapusan atau perubahan karakteristik struktur basis data untuk memenuhi kebutuhan, untuk memenuhi perubahan kebijakan, untukmemperbaiki kesalahan-kesalahan pada proses perancangan basis data atau untuk memperbaiki kecepatan proses dari aplikasi basis data. Tahap pemeliharaan basis data ini merupakan tahap yang paling lama pada proses penegembangan basis data, karena akan berlangsung sepanjang umum basis data serta program-program yang terkait.

9Design DatabaseSyafrial

Page 10: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Alternatif Lain Dari Pengembangan Sistem Informasi

Konseskuensi dari dari Selain System Development Life Cycle bersifat kritis dari waktu yang dibutuhkan hingga sistem benar-benar dapat bermanfaat, yang hanya terjadi pada akhir proses. Selain SDLC banya perusahaan yang menggunakan metode lain untuk pengembangan sistem informasi, RAD (Rapid Application Development) merupakan salah satu alternatif dalam pengembangan sistem. Metode RAD akan bekerja dengan baik bila data yang dibutuhkan sudah tersedia. Salah satu metode yang digunakan pada RAD adalah Prototyping, prototyping adalah proses pengembangan sistem secara iteratif dimana kebutuhan pengguna dikonversi ke sistem yang sedang berjalan dan secara kontinue diperbaiki dengan bekerja sama antara analis dan pengguna.Skema prototyping dapat dilihat dibawah ini :

Pengelola Yang Terlibat Pada Proses Pengembangan

Pengembangan sistem informasi dimulai dengan inisialisasi dan perencanaan dan berakhir pada tahap implementasi. Seorang pemimpin pengembanga sistem informasi harus memiliki ketrampilan dalam hal memimpin, ketrampilan manajemen, keterampilan dalam berkomunikasi, mampu membangun kerjasama kelompok serta trampil dalam menangani resiko dan perubahan.Suatu kelompok kerja (team) dalam pengembangan sistem pada umumnya terdiri dari :a. Analis Sistem. Bertugas untuk menganalisis situasi bisnis dan mengidentifikasi

kebutuhan informasi untuk memecahkan masalah.

10Design DatabaseSyafrial

Pemodelan KonseptualAnalisa kebutuhanMengembangkan model

pendahuluan

Pemeliharaan Basis DataPerbaikan kinerjaMelakukan perbaikan

kesalahan

Implementasi Basis DataPengkodean prosesInstall isi basis data baru

dr sumber yg ada

Perancangan Basis Data LogikAnalisa rinci

kebutuhanMengintegrasikan

basis data kedalam model konseptual

Perancangan Basis Data FisikMendefinisikan kandungan

basis dataMemutuskan organisasi fisik

data baruPerancangan pemrosesan basis

data

Pemeliharaan Basis DataAnalisa untuk memastikan

keseuaian aplikasi dengan kebutuhan pengguna

Perbaiki kesalahan pada basis data

Identifikasi Masalah

Konversi ke Sistem

Operational

Implementasi dan

penggunaan Prototipe

Mengembangkan prototipe

awal

Revisi dan Pengembangan

Prototipe

Kebutuhanawal

MasalahVersi baru

Page 11: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

b. Analisa Basis Data. Berkonsentrasi untuk menentukan kebutuhan basis data dan melakukan perancangan komponen basis data dari sutu sistem informasi.

c. Pengguna. Melakukan penilaian terhadap kebutuhan informasi serta melakukan pemantauan apakah sistem yang dikembangkan memenuhi kebutuhannya.

d. Pemrogram. Merancang, menulis serta menguji jalannya program-program komputer yang akan digunakan untuk mengakses dan memanipulasi data-data dalam basis data.

e. Administrasi data. Bertanggung jawab untuk mengelola baik basis data saat ini maupun basis data dimasa yang akan datang dan memastikan konsistensinya serta intergitas antar basis data.

f. Pakar lainya. Termasuk didalamnya pakar jaringan, pakar bidang sistem operasional, pengujian dan dokumentasi.

Untuk mengetahui bahwa proyek pengembangan berjalan sesuai waktu dan dengan anggaran yang telah ditetapkan semula, pimpinan proyek umumnya mengembangkan sistem penjadwalan. Penjadwalan dilakukan dengan metode grafis (gant chart).Gambar grafis memperlihatkan kapan aktivitas proyek dimulai dan kapan berakhir, siapa yang bertanggungjawab untuk setiap aktivitas, serta bagaimana hubungan suatu aktivitas dengan aktivitas lain .

Skema Pengembangan Basis Data

Pemodelan basis data pada dasarnya ada 3 macam, yakni1. Pandangan konseptual, dilakukan pada tahap analisis.

Skema konseptual adalah spesifikasi rinci dari struktur keseluruhan organisasi data yang mandiri terhadap teknologi panajemen basis data. Skema konseptual mendefinisikan keseluruhan basis data tanpa mempertimbangkan bagaimana data kelak akan digunakan.

2. Skema eksternal atau pandangan pengguna, dilakukan pada tahap analisa dan perancagan logika.Skema eksternal/cara pandang pengguna pada dasarnya juga mandiri terhadap teknologi manajemen basis data dan sering kali merupakan himpunan bagian dari skema konseptual organisasi secara utuh (mis. Skema untuk departemen persediaan yang berbeda dengan skema untuk departemen produksi).

3. Skema fisik atau internal, dilakukan pada tahap perancangan fisik.Skema fisik/internal memuat spesifikasi bagaimana data pada skema konseptual disimpan pada tampat penyimpanan sementara. Satu hal penting yang dihasilkan dari analisis adalah definisi-definisi dari basis data secara fisik, yang menyediakan semua spesifikasi ke teknologi basis data untuk mengalokasikan dan mengelola ruang penyimpanan dimana data kelak akan disimpan, diakses dan dimanipulasi.

11Design DatabaseSyafrial

Page 12: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

IV. MODEL BASIS DATA ENTITAS RELASIONAL

1. Konsep Dasar

a. Entitas dan AtributEntitas adalah suatu atau objek di dunia nyata yang dapat dibedakan dalam suatu atau

objek lainnya. Entitas pada umumnya memiliki sejumlah propertis dimana propertis ini dapat digunakan untuk membedakan suatu entitas dengan entitas lainya.Sebagai contoh, karyawan suatu perusahaan pada umumnya memiliki NIP yang membedakan satu karyawan dengan karyawan lainnya. Misalnya NIP=100198 berarti karyawan dengan identitas “Ahmad Subagya” dan NIP=100212 berarti karyawan dengan identitas “Jainudin Abdilah”. Properties-properties ini dinamakan atribut.

Suatu entitas direpresentasikan dengan sejumlah atribut. Atribut adalah properti deskriptif yang dimiliki oleh setiap anggota dari himpunan entitas.Himpunan entitas adalah himpunan dari entitas-entitas dengan tipe yang sama yanb berbagi properti-properti yang sama. Himpunan dari semua nasabah, misalnya dapat diidentifikasi sebagai himpunan entitas. Nasabah dalam hal ini, suatu entitas mungkin pada dua atau lebih himpunan entitas. Misalnya “Ahmad Subagya” mungkin adalah seorang karyawan pada sebuah bank tertentu, sekaligus juga merupakan nasabah pada bank yang sama.

b. RelasiRelasi adalah hubungan antara suatu himpunan entitas dengan himpunan entitas

lainnya. Misalnya entitas mahasiswa memiliki hubungan tertentu dengan entitas matakuliah (mahasiswa mengambil matakuliah). Pada penggambaran model E-R, relasi adalah perekat yang menghubungkan suatu entitas dengan entitas lainnya.Relasi merupakan hubungan “yang berarti” antara suatu entitas dengan entitas lainya. Fase “yang berarti” berimplikasi bahwa relasi mengijinkan untuk menjawab pertanyaan-pertanyaan yang berkaitan dengan hubungan suatu entitas dengan entitas lainnya. Misalnya, bagaimana hubungan himpunan entitas mahasiswa dengan himpunan enititas mata kuliah? Jawabnya adalah mahasiswa mengambil matakuliah. Kata mengambil adalah sebuah kata yang menunjukan jenis hubungan/relasi antara himpunan entitas mahasiswa dengan himpunan entitas matakuliah.

c. KunciKunci merupakan suatu atribut yang unik yang dapat digunakan untuk membedakan

suatu entitas dengan entitas yang lainnya dalam suatu himpunan entitas lainnya. Sebuah entitas memiliki batasan yang jelas. Misalnya untuk entitas mahasiswa NIM tidak diperkenankan lebih dari satu mahasiswa memiliki nilai atribut yang sama.Jenis-jenis atribut kunci :- Superkey, adalah suatu atau lebih atribut yang dimiliki oleh suatu entitas, yang dapat

digunkan umtuk membedakan terhadap entitas yang lain. Sebagai contoh, NIM merupakan atribut kunci untuk entitas mahasiswa. Demikian juga gabungan atribut NIP dengan NAMA dapat digunakan untuk membedakan satu mahasiswa dengan mahasiswa lainnya. Dengan kata lain tidak ada mahasiswa yang memiliki sekaligus nilai atribut NIM dan NAMA yang sama. Tidak demikian dengan atribut Nama, seorang mahasiswa mungkin memiliki nama yang tepat sama dengan mahasiswa lainnya sehingga nama bukanlah superkey untuk mahasiswa. Dengan kata lain bahwa NIM atau gabungan NIM dengan NAMA merupakan super key untuk entitas mahasiswa.

12Design DatabaseSyafrial

Page 13: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

- Candidate key. Dalam konsep super key terkadang tidak memadai sebab mungkin saja superkey merupakan himpunan entitas yang sangat banyak sehingga hal ini tidak efisien dalam menentukan kunci entitas. Untuk menghindari kemungkinan banyaknya superkey, dapat memilih atribut-atribut yang mungkin dapat digunakan sebagai kunci. Pemilihan atribut alternatif sebagai kunci dinamakan candidate key.

- Primary key. Primary key dapat didefinisikan sebagai candidate key yang dipilih oleh perancang basis data dalam mengimplementasikan konsep pemodelan data konseptual. Misalnya atribut mahasiswa yang memiliki super key, perancang database pasti memilih NIM sebagai primary key, karena NIM bersifat unik dan ckupu ringkas untuk digunakan sebagai pembeda satu entitas terhadap entitas lainnya dalam himpunan entatas mahasiswa.

2. Model E-R

Model E-R adalah rincian merupakan representasi logika dari data pada suatu organisasi atau area bisnis. Model E-R pada umumnya digambarkan sebagai diagram ER.Model E-R memiliki notasi yang digunakan pada penggambaran model ER.

DERAJAR RELASI

Unary Biner Ternary

KARDINALITAS RELASI

Satu ke Satu Satu ke Banyak Banyak ke Banyak

13Design DatabaseSyafrial

Simbol Dasar Entitas Relasional

Entitas Kuat Entitas Lemah

Entitas Asosiaatif Relasi

Atribut Relasi Pengidentifik

Atribut Bernilai Atribut Turunan

Page 14: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

3. Entitas dan Atribut

Entitas adalah orang, tempat, objek, kejadian atau konsep dalam lingkup pengguna yang oleh perusahaan/organisasi perlu dipelihara datanya. Ada beberapa hal yang perlu dipahami antara tipe entitas dan instansiasi entitas.

a. Tipe Entitas dan Instansiasi Entitas.Tipe entitas adalah koleksi dari entitas-entitas (himpunan entitas) yang berbagi

properti serta karakteristik yang sama. Setiap tipe entitas dalam model E-R memiliki nama. Karena nama mencerminkan koleksi atau himpunan dari item-item yang selalu berupa sesuatu yang tunggal. Pada diagram E-R, nama entitas ditempatkan dalam kotak empat persegi panjang.

Instansiasi entitas adalah bentuk nyata tunggal dari tipe entitas. Tipe entitas dideskripsikan hanya sekali dalam basis data, sementara beberapa instansiasi entitas mungkin ditampilkan dalam bentuk data yang tersimpan di basis data. Sebagai contoh, hanya satu tipe data entitas dengan nama mahasiswa dalam satu universitas, tetapi ada ratusan instansiasi dari tipe entitas yang tersimpan dalam basis data, misalnya amir, budi, cahyo, dina dan lain-lain adalah instansiasi entitas dari tipe entitas mahasiswa.

b. Entitas Kuat dan Entitas Lemah.Kebanyakan entitas dalam suatu organisasi digolongkan sebagai entitas kuat (strong

entity) yaitu entitas yang mandiri, yang keberadaannya tidak tergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu memiliki karakteristik yang unik dinamakan identifier atau sering disebut sebagai pengidentifikasi atau lebih tepat atribut pengidentifikasi yakni sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakan dari entitas kuat lainnya.

Secara berlawaan dapat didefinisikan bahwa entitas lemah (weak entity) adalah entitas yang keberadaanya sangat bergantung pada keberadaan entitas lainnya. Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki keberadaanya dalam diagram E-R tanpa kehadiran entitas dimana mereka bergantung. Entitas dimana entitas lemah bergantung dinamakan identifying owner.

14Design DatabaseSyafrial

NIP

Nm_KarNm_Pendampin

g Tgl_Lahir

Memiliki PendampingKaryawan

Page 15: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Karyawan adalah entitas kuat dengan pengidentifikasi NIP (ditulis dengan garis dibawahnya). Pendamping adalah sebuah entitas lemah yang berisi istri atau suami dari karyawan. Relasi antara entitas lemah dan entitas kuat dinamakan relasi pengidentifikasi. “Memiliki” adalah relasi pengidentifikasi yang digambarkan dengan jajaran genjang dengan garis ganda. Atribut nama pendamping berfungsi sebagai pengidentifikasi sebagian atau parsial identifier.

c. Entitas AsosiatifDalam beberapa kasus, suatu entitas mungkin terbentuk dari suatu relasi. Jika itu

terjadi, entitas yang dihasilkan dinamakan denga entitas asosiatif. Entitas ini hanya terbentuk oleh relasi tertentu, entitas ini tidak berdiri sendiri secara mandiri.

Pada diaggam E-R diatas memiliki notasi yang baru yakni entitas asosiatif (jajaran genjang bertuliskan ijazah di dalam kotak empat persegi). Relasi yang terjadi sebenarnya adalah mahasiswa mengambil kuliah. Pada akhir perkuliahan, mahasiswa tentunya akan mendapatkan ijazah. Ijazah adalah entitas yang keberadaanya disebabkan baik secara fisik maupun konseptual. Dengan kata lain ijazah hanya dapat dipeoleh bila seorang mahasiswa mengambil atau menyelesaikan kuliah.Kemunculan entitas ijazah akibat adanya relasi mahasiswa mengambil kuliah sehingga entitas ijazah adalah entitas asosiatif.

d. Atribut

Setiap entitas memiliki himpunan atribut yang berasosiasi dengan entitas tersebut. Atribut adalah propertis atau karakteristik yang dimiliki oleh suatu entitas dimana propertis atau karakteristik itu bermakna atau berarti bagi organisasi/perusahaan.Misalnya, untuk pencatatan data mahasiswa pada suatu perguruan tinggi, entitas mahasiswa mungkin memiliki atribut-atribut nim, nama, alamat, no_tlp, dll. Atribut ini mungkin atribut yang paling bermakna untuk pencatatan mahasiswa.

Setiap entitas atau instansiasi entitas memiliki nilai yang berasosiasi dengan entitas yang lainnya. Dalam penggambaran diagram E-R, atribut digambarkan sebagai elips dengan label nama atribut yang bersangkutan.

Atribut Komposit.Beberapa atribut dapat dipecah (didekomposisi) menjadi beberapa komponen. Suatu contoh yang paling umum adalah atribut alamat, atribut alamat ini dapat dipecah menjadi atribut-atribut jalan, kota serta kode pos.Dengan demikian bahwa atribut komposit adalah atribut yang dapat dipecah menjadi atribut-atribut lain.

15Design DatabaseSyafrial

Ijazah

KuliahMahasiswa

Alamat

Jalan Kota Kode Pos

Page 16: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Dekomposisi sebuat atribut dilakukan sesuai dengan kebutuhan akan informasi yang diharapkan. Bila kebutuhan informasi tidak diperlukan, sebaiknya atribut kompisit tidak dipecah sebab dekomposisi atribut terkadang membutuhkan biaya berupa waktu pemrosesan lebih dan menambah penggunaan ruang penyimpanan.

Jika atribut tidak bisa atau tidak perlu didekomposisi lebih lanjut, maka atribut yang bersangkutan dinamakan atribut sederhana.

Atribut Bernilai Banyak.Pada umumnya atribut bernilai tunggal, misalnya seorang mahasawa hanya

memiliki satu nilai untuk atribut NIM (atribut tunggal/single atribute). Tetapi ada kasus-kasus tertentu dimana suatu atribut memiliki nilai lebih dari satu untuk suatu entitas tertentu. Atribut yang memiliki nilai lebih dari satu pada suatu entitas dinamakan atribut bernilai banyak (multi-value atribute).

Atribut hobi dan prasyarat digambarkan dengan elips bergaris ganda. Atribut dikatakan bernilai banyak karena atribut hobi untuk entitas mahasiswa bisa bernilai legih dari satu. Seorang mahasiswa memiliki hobi berenang, membaca dan main musik (memiliki 3 nilai atribut).

Atribut Turunan.Pada dasarnya ada beberapa atribut yang nilainya didapat dari atribut lainnya.

Misalnya, atribut NIM untuk entitas mahasiswa dimana nilai NIM terkandung nilai tahun masuk misal NIM=20034025. Berarti mahasiswa yang bersangkutan masuk pada tahun 2000, bila ditambahkan satu atribut lama_kuliah pada entitas mahasiswa, atribut lama_kuliah dapat diperoleh dengan mengurangi tahun dimana perhitungan dilakukan dengan tahun mahasiswa yang bersangkuta masuk.

16Design DatabaseSyafrial

Nama Alamat No_TlpNIM

Lama_kulMahasiswa

NIM Nama

Matakuliah

No_MK Nm_MK

Prasyarat

SKSMahasiswa

Hoby

Meng-ambil

Page 17: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Meski kelihatannya merupakan pemborosan ruang penyimpanan, naum atribut turunan kadang memang diperlukan untui mempercepat proses perhitungan saat atribut-atribut turunan digunakan secara intensif dalam aplikasi.

Pemilihan Atribut Pengidentifikasi (Identifier).

Atribut pengidentifikasi sangat penting dimiliki oleh setiap entitas. Ada beberapa kandidat atribut pengidentifikasi yang perlu dipertimbangkan oleh perancan basis data. Berikut adalah panduan untuk melakukan pemilihan atribut pengidentikasi untuk mendapatkan basis data yang efektif dan efisien.

1. pilih pengidentifikasi yang nilainya tidak berubah.2. pilih pengidentifikasi yang unik yang membedakan satu atribut dengan atribut lainnya.3. pilih pengidentifikasi yang bernilai valid dan ada (tidak kosong/null).

4. Relasi

Relasi adalah perekat yang menyatukan komponen-komponen yang berbeda dalam diagarm E-R. secara intuitif dapat dikatakan bahwa relasi adalah asosiasi dari satu atau lebih entitas yanb bermakna bagi perusahaan/organisasi.

a. Konsep Dasar dan Definisi Relasi.Relasi adalah asosiasi atau hubungan antara suatu entitas dengan entitas yang lainnya.

Relasi digambarkan dengan jajaran genjang berisi labelnya yang berupa kata kerja.Instansiasi relasi adalah asosiasi antara satu atau lebih relasi. Misalnya untuk relasi

mahasiswa mengambil matakuliah, instansiasinya mungkin Amir mengambil Algoritma atau Budi mengambil Pemrograman.

b. Atribut RelasiAtribut-atribut mengkin berasosiasi dengan relasi banyak ke banyak. Misalnya pada

relasi mahasiswa mengambil matakuliah, tentunya tiap pengambilan matakuliah tentunya mahasiswa mendapatkan nilai. Atribut nilai yang dihasilkan dari asosiasi entitas mahasiswa dengan matakuliah ditempatkan sebagai atribut relasi.

17Design DatabaseSyafrial

NIM Nama

Matakuliah

No_MK Nm_MK

Prasyarat

SKSMahasiswa

Hoby

Meng-ambil

Nilai

Page 18: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

c. Konversi Relasi menjadi Entitas AsosiatifPedoman untuk mengetahui bagaimana suatu relasi dapat dikonversi menjadi entitas

asosiatif adalah : Jika relasi yang menghubungkan dua entitas adalah bersifat banyak ke banyak, ada

kemungkinan dapat mengkonversinya menjadi entitas asosiatif. Entitas asosiatif pada umumnya berasal dari suatu relasi dimana relasi itu memiliki makna

yang mandiri (independent) bagi pengguna dan pada saat yang sama mungkin relasi itu dapat diidentifikasikan dengan atribut pengidentifikasi tunggal.

d. Derajad RelasiDerajat relasi adalah jumlah entitas yang berpartisipasi dalam suatu relasi. Misalnya

relasi mahasiswa mengambil matakuliah, derajat relasinya adalah 2, sebab ada dua entitas yang terlibat dalam relasi itu (entitas mahasiswa dan entitas matakuliah).Derajat - derajat relasi yang terlibat pada pengembangan diagram E-R adalah : Unary Relationship.

Relasi derajat 1 (unary relationship) adalah relasi dimana entitas yang terlibat hanya 1 buah entitas. Relasi berderajat 1 sering juga dinamakan relasi rekursi/recursive.

Binary Relationship.

Relasi berderajat 2 (binary relationship) adalah relasi yang melibatkan2 entitas. Contoh binary relationship adalah sebagai berikut :

18Design DatabaseSyafrial

Karyawan Meni-kah

Karyawan Memimpi

n

Karyawan Berteman

Satu-ke-Satu Satu-ke-Banyak Banyak-ke-Banyak

Karyawan Karyawan Karyawan

Satu-ke-Satu Satu-ke-Banyak Banyak-ke-Banyak

Karyawan Karyawan Karyawan

Berteman

Memimpi

n

Meni-kah

Page 19: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Ternary Relationship.

Relasi berderajat 3 (Ternary relationship yakni relasi tunggal yang menghubungkan 3 entitas yang berbeda. Contoh ternary relationship :

Relasi berderajak 3 (ternary relationship) berbeda dengan 3 relasi biner.Pada contoh diatas bahwa entitas supplier dapat menyediakan berbagai komponen ke

banyak/beberapa gudang. Relasi menyediakan digunakan untuk mencatat komponen yang spesifik yang diserahkan suppllier ke gudang tertentu.

Contoh Atribut relasi harga per unit dan cara mengirim adalah bahwa relasi menyediakan dapat digunakan untuk mencatat supplier X mengirim komponen C ke gudan Y dengan dengan cara pengiriman dengan angkutan laut den harganya RP. 1.000.000

e. Agregasi

Agregasi adalah suatu keadaan dimana suatu relasi hanya dapat direaalisasikan setelah relasi yang lain ada terlebih dahulu (memiliki relasi prasarat). Relasi bertipe agregasi tidak mungkin tercipta bila relasi yang menjadi prasyaratnya tidak terealisasi.

Contoh dibawah menerangkan relasi agregasi dimana relasi mahasiswa mengambil matakuliah merupakan relasi prasarat bagi relasi mahasiswa mengikut praktikum.

19Design DatabaseSyafrial

Komponen

GudangSupplier Menyediakan

Cara me-ngirim

Harga per unit

GudangSupplier Menyediakan

Page 20: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

V. ENHANCED ENTITY RELATIONSHIP DIAGRAM

Dengan perkembangan teknologi yang mengarah ke bentuk objek dalam paradigma pemrograman baru yakni pemrograman berorientasi objek, konsep supertype dan subtype mulai muncul untuk mengadaptasinya. Selain itu aturan-aturan bisnis dan tipe-tipe data yang makin kompleks dalam organisasi juga membuat konsep-konsep supertype dan subtype makin sering digunakan.

20Design DatabaseSyafrial

KomponenMenyediakan

Page 21: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Konsep-konsep yang penting dalam diagram E-R lanjut (yang juga dinamai EER – Enhanced Entity Relationship Diagram) adalah supertype dan subtype. Konsep ini mengizinkan pengembangan untuk memodelkan entitas yang bersifat umum (supertype) dan kemudian membaginya ke beberapa entitas yang terspesialisasi yang dinamakan subtype.

1. Notasi dan Konsep Dasar

Notasi dasar yang digunakan untuk supertype digambarkan dengan penghubung lingkaran pada garis. Simbol berbentuk U pada setiap garis yang menghubungkannya dengan arah ke subtype. Selain itu simbol U juga memberi arah pewarisan dari supertype ke subtype.Sebagai contoh, suatu perusahaan memiliki 2 kategori karyawan yakni karyawan harian dan karyawan tetap dimana masing-masing atributnya adalah sebagai berikut :Karyawan Harian : No_Karyawan, Nama, Alamat, Tanggal_Gaji, serta Honor_perjam.Karyawan Tetap : NIP, Nama, Alamat, Tanggal_Gaji , Gaji_Bulanan.

Dapat dilihat bahwa kedua kategori karyawan tersebut memiliki beberapa atribut dengan nama yang sama , yakni Nama, Alamat serta Tanggal_Gaji. Sebagai tambahan, atribut No_Karyawan dan Honor_perjam adalah atribut yang unik untuk entitas Karyawan Harian, sedangkan atribut yang unik pada Karyawan Tetap adalah NIP serta Gaji_bulanan. Rancangan basis data dapat dilakukan dengan mengidentifikasi entitas karyawan sebagai supertype dengan Karyawwn Harian dan Karyawan Tetap masing-masing sebagai subtypenya.

2. Pewaris Atribut.

Subtype adalah entitas pemilik. Instansiasi dari subtype adalah entitas yang sama dengan instansiasi dari supertype. Sebagai contoh ‘Ani’,’Budi’ adalah bentuk nyata dari subtype karyawan_tetap dan mereka merupakan bentuk yang nyata dari entitas karyawan yang merupakan suatu supertype.Konsekuensinya, entitas pada subtype harus memiliki tidak hanya nilai atribut pribadinya, melainkan juga memiliki nilai-nilai atrib yang merupakan anggota dari supertype. Dengan kata lain supertype merupakan entitas abstrak yang tidak memiliki instansiasi entitas langsung sedangkan subtype merupakan entitas kongkrit yang punya instansiasi entitas langsung.

21Design DatabaseSyafrial

NIP

AlamatNama Tanggal_Gaji

an

Gaji_Bulanan

No_Karyawan

Honor_perjam

Karyawan

Karyawan_Tetap Karyawan_Harian

Page 22: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Pewaris atribut adalah keadaan dimana entitas subtype mewarisi nilai-nilai dari semua atribut pada supertype. Pewaris (inheritance) merupakan suatu karakteristik penting dimana tidak perlu lagi menuliskaan atribut-atribut yang ada pada supertype sebagai atribut-atribut pada subtype. Hal ini memungkinkan untuk meminimalisasi redudansi-redudansi yang tidak perlu.

Entitas pasien memiliki subtype yakni Pasien_Berobat_jalan dan Pasien_Rawat_inap dengan atribut kunci primer adalah No_Pasien. Semua pasien memiliki atribut No_Pasien, Nm_Pasien dan Tgl_Daftar serta juga dirawat oleh dokter tertentu.Setiap subtype memiliki atribut yang unik. Subtype pasien Berobat_jalan memiliki atribut Tgl_cek dan subtype pasien Rawat_jalan memiliki atribut Tgl_keluar. Subtype pasien Rawat_inap memiliki relasi khusus yang tidak dimiliki oleh subtype pasien Rawat_jalan yaitu relasinya dengan entitas Tempat_tidur.

3. Generalisasi

Pada pemodelan data, generalisasi adalah proses untuk mendefinisikan entitas yang bersifat umum dari sekumpulan entitas yang lebih terkhususkan, sehingga dapat dikatakan bahwa generalisasi adalah proses bawak ke atas (botton-up).

22Design DatabaseSyafrial

No_Pasien Tgl_Daftar

Nm_Pasien

Id_Dokter Nm_Dokter

Berobat_jalan Rawat_inap

Tgl_cek Tgl_keluar

Tempat_tidur

No_tmp_tdr

Dirawat oleh

DokterPasien

Menem-pati

Thn_mesin

Harga

Jml_gigiPenumpang

Mobil

Mdl_mesin

No_mesin

Thn_mesin

Jml_gigi

Motor

Mdl_mesin

No_mesin

Thn_mesin

Harga

Jml_gigiKapasitas

Truk

Mdl_mesin

No_mesin Kabin

Harga

Page 23: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Dari ketiga entitas diatas, memilik atribut-atribut yang mirip. Pada entatas tersebut memiliki atribut-atribut yang sama yakni No_mesin, Thn_mesin, Mdl_mesin, harga dan jml_gigi. Kesamaan atribut tersebut dapat dikelompokan menjadi entitas yang mewakili karakteristik-karakteristik yang umum dari ketiga enititas tersebut dengan proses generalisasi.

Dari gambar diatas, entitas kendaraan yang merupakan supertype dari entitas mobil dan truk yang merupakan subtypenya. Bagaimana dengan entitas motor ?

Entitas motor tidak memiliki atribut-atribut khusus yang memungkinkannya terbentuk menjadi subtype tersendiri. Dengan kata lain entitas motor tidak punya relasi dengan entitas-entitas yang lain sehingga tidak perlu membuat subtype Motor secara tersendiri. Hal ini bukan berarti instansiasi entitas motor tidak bisa direkam pada basis data. Ia bisa direkam sebagai instansiasi entitas kendaraan dengan memiliki batasan-batasan tertentu.

4. Spesialisasi

23Design DatabaseSyafrial

Thn_mesin

Jml_gigiMdl_mesin

No_mesin

Mobil Truk

KabinPenumpang

Harga

Kapasitas

Kendaraan

Page 24: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Spesialisasi adalah proses mendefinisikan satu atau lebih subtype dari sauatu supertype dan membentuk relasi supertype/subtype. Setiap subtype dibentuk berdasarkan karakteristik-karakteristik yang bersifat spesifik pada subtype.Spesialisasi adalah kebalikan dari generalisasi yakni proses dari atas ke bawan (top_bottom).Sebagai contoh, entitas Part dengan beberapa atributnya yakni No_Part sebagai atribut pengidentifikasi, Keterangan, Unit_Price,No_Pabrik, Id_Supplier yang merupakan atribut bernilai ganda karena ada lebih dari 1 supplier untuk suatu Part.

Entitas Part dapat dispesialisasikan menjadi entitas-entitas lain yakni, entitas Part sebagai supertype dengan atribut-atribut No_Part, Keterangan. Untuk atribut No_Pabrik dapat diaplikasikan sebagai Manufactured_Part dan atribut Id_Supplier, Unit_Price dapat diaplikasikan pada Purchased_Part.

Atribut No_Pabrik berasosiasi dengan Manufactured_Part, kemudian atribut Id_Supplier serta Unit_Price berasosiasi dengan Purchased_Part. Purchased_Part memiliki relasi tertentu dengan Supplier. Relasi ini dinamakan Menyediakan sehingga harga per unit untuk setiap Part bervariasi menurut supplier yang menyediakannya. Spesialisasi ER tersebut diatas dapat dilihat pada gambar dibawah ini.

24Design DatabaseSyafrial

Keterangan Unit_Price

Id_Suppllier

No_Part No_Pabrik

Part

Keterangan

Unit_Price

No_Part

No_Pabrik

Part

Manufactured_Part

Supplier

Id_Supplier

Puchased_Part Perse-diaan

Page 25: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

5. Batasan Kelengkapan (Completeness)

Batas kelengkapan memiliki dua aturan yakni :a. Spesialisasi Total.

Spesialisasi Total menspesifikasi bahwa setiap instansiasi entitas dari suatu supertype harus menjadi anggota dari salah satu atau beberapa subtype dalam suatu relasi.Pada relasi entitas dibawah ini, aturan bisnisnya adalah setiap pasien harus merupakan Pasien Rawat_inap atau Pasien Berobat_jalan,idak mungkin yang lainnya. Spesialisasi Total digambarkan dengan garis ganda dari entitas Pasien ke lingkaran.

b. Spesialisasi Sebagian.Spesialisasi Sebagian menspesifikasi bahwa setiap instansiasi supertype diijinkan bukan merupakan bagian dari subtype manapun.Pada relasi entitas dibawah ini, Motor merupakan suatu tipe Kendaraan tetapi tidak direpresentasikan sebagai suatu subtype. Maka jika kendaraan yang dimaksud adalah kendaraan roda 4 atau lebih maka ia harus hadir sebagai Mobil atau Truk. Jika sepeda motor yang dimaksudkan, ia tidak bisa hadir sebagai instansiasi dari subtype apapun.Spesialisasi sebagian digambarkan sebagai garis tunggal dari subtype ke lingkaran.

25Design DatabaseSyafrial

No_Pasien Tgl_Daftar

Nm_Pasien

Id_Dokter Nm_Dokter

Berobat_jalan Rawat_inap

Tgl_cek Tgl_keluar

Tempat_tidur

No_tmp_tdr

Dirawat oleh

Dokter

Menem-pati

Pasien

Thn_mesin

Jml_gigiMdl_mesin

No_mesin

Mobil Truk

KabinPenumpang

Harga

Kapasitas

Kendaraan

Page 26: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

6. Batasan Disjoint

Batas Disjoint memiliki 2 aturan, yakni :a. Aturan Disjoint.

Aturan Disjoint menspesifikasi bahwa instansiasi dari suatu supertype adalah merupakan anggota dari satu subtype dan ia tidaklah merupakan anggota dari dua atau lebih subtype.

Pada saat pasien yang sama, tidak mungkin seorang pasien merupakan Pasien Berobat_jalan sekaligus Pasien Rawat_inap. Seorang pasien kalau tidak merupakan Pasien Berobat_jalan pastilah Pasien Rawat_inap tidak mungkin keduanya sekaligus. Aturan ini dinamakan sebagai aturan disjoint dan digambarkan sebagai lingkaran berlabel huruf d.

b. Aturan OvelapAturan Overlap menyatakan bahwa instansiasi dari supertype mungkin merupakan bagian dari dua atau lebih subtype. Pada gambar dibawah, Part yang sama jenisnya mungkin saja dibuat oleh pabrik yang bersangkutan sekaligus dibeli dari Supplier tertentu. Jika hal ini terjadi, berarti Part merupakan bagian dari 2 subtype sekaligus yakni Manufactured_Part dan Purchased_Part.Penggambaran aturan overlap ini dilakukan dengan menambahkan huruf O pada label di dalam lingkaran.

26Design DatabaseSyafrial

No_Pasien Tgl_Daftar

Nm_Pasien

Id_Dokter Nm_Dokter

Berobat_jalan Rawat_inap

Tgl_cek Tgl_keluar

Tempat_tidur

No_tmp_tdr

Dirawat oleh

Dokter

d

Menem-pati

Pasien

Page 27: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Pada gambar dibawah juga diperlihatkan Spesialisasi Total dengan garis ganda sehingga dapat ditafsirkan bahwa suatu Part mungkin adalah Manufactured_Part atau Purchased_Part atau kedua-duanya.

7. Diskriminator

Diskriminator adalah atribut dari supertype yang nilainya menentukan ke subtype yang mana suatu instansiasi tergolongkan. Pada gambar relasi supertype/subtype pada entitas karyawan, terdapat penambahan aturan spesialisasi total dan disjoint. Maka instansiasi Karyawan haruslah merupakan Karyawan_Tetap atau Karyawan_Harian, tidak mungkin kedua-duanya.

Atribut tipe karyawan ditambahkan pada supertype Karyawan untuk memenuhi harapan diskriminator. Saat karyawan baru ditambahkan pada supertype, maka atribut ini akan dikodekan dengan satu dari dua kemungkinan nilai yakni “T” untuk karyawan tetap dan “H” untuk karyawan harian.

27Design DatabaseSyafrial

Keterangan

Unit_Price

No_Part

No_Pabrik

Part

O

Manufactured_Part

Supplier

Id_Supplier

Puchased_Part Perse-diaan

Gaji_Bulanan

AlamatNama Tanggal_Gaji

an

Honor_perjam

Karyawan

d“T”

“H”

Tipe Karyawan =

Karyawan_Tetap Karyawan_Harian

Page 28: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Ekspresi “Tipe Karyawan = “ yang ditempatkan pada sebelah kanan garis ganda akan menentukan kearah yang mana suatu entitas tergolongkan, “T” berarti Karyawan_tetap dan “H” berarti Karyawan_Harian.

28Design DatabaseSyafrial

Page 29: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

VI. ALJABAR RELASIONAL

Aljabar relasional adalah bahasa query prosedural. Bahasa prosedural adalah pemakai menginstuksikan ke sistem untuk melakukan sederat operasi agar diperoleh hasil yang diinginkan.Bahasa prosedural pada model relational adalah aljabar relasional yaitu dieksprisikan dengan menerapkan operator-operator relasi.Untuk melihat dampak dari setiap operator,dapat digunakan relasi-relasi sebagai berikut :

Dosen=(NIP,Nama,TempatLahir,TglLahir,Kelamin,GajiNIP Nama TempatLahir TglLahir Kelamin Gaji

1001 Amir Jakarta 12-05-1965 Pria 1.500.000

1002 Budi Bandung 02-01-1960 Pria 2.500.000

1003 Citra Bogor 22-03-1968 Wanita 1.000.000

1004 Diana Surabaya 21-02-1975 Wanita 750.000

1005 Endang Bogor 17-12-1975 Pria 500.000

Matakuliah=(kdMatkul,nmMatkul,SKS)

kdMatkul nmMatkul SKS

A01 Bahasa Inggris 2

A02 Programming 4

A03 Design Database 3

A04 Statistika 2

A05 Matematika 3

TugasMengajar=(NIP,kdMatkul,Semester)

NIP kdMatkul Semester

1001 A02 II

1001 A03 III

1002 A01 III

1004 A04 III

Operator dasar aljabar relasional adalah :

29Design DatabaseSyafrial

Page 30: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

1. Select ( δ)

Select (δ) adalah operator penseleksian tupel-tupel yang memenuhi suatu predikat/kriteria. Operator select dapat menggunakan operator pembanding ( <, ≤, =, >, ≥, ≠) di predikat.Beberapa predikat dapat dikombinasikan menjadi predikat majemuk menggunakan penghubung AND ( ) dan OR ( )

Contoh.

1. Query : Daftar dosen yang jenis kelamin Pria.

Aljabar : πKelamin=”Pria”(Dosen)Hasil :

NIP Nama TempatLahir TglLahir Kelamin Gaji

1001 Amir Jakarta 12-05-1965 Pria 1.500.000

1002 Budi Bandung 02-01-1960 Pria 2.500.000

1005 Endang Bogor 17-12-1975 Pria 500.000

2. Query : Daftar matakuliah yang memiliki jumlah SKS lebih besar dari 2

Aljabar : πSKS>2(Matakuliah)Hasil :

kdMatkul nmMatkul SKS

A02 Programming 4

A03 Design Database 3

A04 Statistika 2

A05 Matematika 3

2. Project ( П )

30Design DatabaseSyafrial

Page 31: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Project ( П ) adalah operqator untuk memperoleh kolom-kolom tertentu. Operasi project adalah operasi unari yang mengirim relasi argumen dengan kolom-kolom tertentu. Karena relasi adalah himpunan maka baris-baris duplikasi dihilangkan.

Contoh.

1. Query : Tampilkan kolom Nip,Nama,Kelamin dan Gaji

Aljabar : ПNIP,Nama,Kelamin,Gaji(Dosen)Hasil :

NIP Nama Kelamin Gaji

1001 Amir Pria 1.500.000

1002 Budi Pria 2.500.000

1003 Citra Wanita 1.000.000

1004 Diana Wanita 750.000

1005 Endang Pria 500.000

2. Query :Tampilkan kolom Nip,Nama,Kelamin dan Gaji dimana gaji lebih besar dan sama dengan dari 1.000.000

Aljabar : ПNIP,Nama,Kelamin,Gaji (δGaji ≥ 1.000.000 (Dosen)) Hasil :

NIP Nama Kelamin Gaji

1001 Amir Pria 1.500.000

1002 Budi Pria 2.500.000

1003 Citra Wanita 1.000.000

3. Union ( )

31Design DatabaseSyafrial

Page 32: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Union adalah operator untuk menghasilkan gabungan tabel dengan syarat kedua tabel memiliki atribut yang sama.

1. Query :Tampilkan Nip, Nama, Tempat lahir dimana dosen yang tempat lahirnya di Bogor atau jakarta.

Aljabar :ПNIP,Nama,TempatLahir (δTempatlahir =”Bogor” V Tempatlahir = ”Jakarta”(Dosen))

NIP Nama TempatLahir

1001 Amir Jakarta

1003 Citra Bogor

1005 Endang Bogor

2. Query : Tampilkan daftar tugas mengajar pada semester III

Aljabar : δSemester = III (TugasMengajar)Hasil :

NIP kdMatkul Semester

1001 A03 III

1002 A01 III

1004 A04 III

3. Query : Gabungkan kedua Query diatas.

Aljabar : (ПNIP,Nama,TempatLahir (δTempatlahir =”Bogor” V Tempatlahir = ”Jakarta”(Dosen))) (δSemester = III (TugasMengajar))

Hasil :NIP Nama TempatLahir kdMatkul Semester

1001 Amir Jakarta A03 III

1003 Citra Bogor

1005 Endang Bogor

1002 Budi Bandung A01 III

1004 Diana Surabaya A04 III

4. Set Difference ( - )

32Design DatabaseSyafrial

Page 33: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Set difference adalan operasi untuk mendapatkan tabel di suatu tabel tetapi tidak ada di relasi lainnya.

Contoh.

1. Query :Tampilkan kolom Nip,Nama,Kelamin dan Gaji dimana gaji lebih besar dan sama dengan dari 1.000.000

Aljabar : ПNIP,Nama,Kelamin,Gaji (δGaji ≥ 1.000.000 (Dosen))Hasil :

NIP Nama Kelamin Gaji

1001 Amir Pria 1.500.000

1002 Budi Pria 2.500.000

1003 Citra Wanita 1.000.000

2. Query : Tampilkan daftar tugas mengajar pada semester III

Aljabar : δSemester = III (TugasMengajar)Hasil :

NIP kdMatkul Semester

1001 A03 III

1002 A01 III

1004 A04 III

3. Query : Set difference dari kedua Query diatas.

Aljabar :(ПNIP,Nama,Kelamin,Gaji (δGaji ≥ 1.000.000 (Dosen))) – (δSemester = III (TugasMengajar))

Hasil : NIP Nama Kelamin Gaji

1003 Citra Wanita 1.000.000

5. Cartesian Product ( X )

33Design DatabaseSyafrial

Page 34: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Cartesian product adalah operasi untuk menghasilkan tabel hasil perkalian kartesian. Operasi carteian memungkinkan untuk mengkombinasikan informasi beberapa relasi. Operator ini adalah operator biner.

Contoh.

1. Query :Tampilkan kolom Nip,Nama,Kelamin dan Gaji dimana gaji lebih besar dan sama dengan dari 1.000.000

Aljabar : ПNIP,Nama,Kelamin,Gaji (δGaji ≥ 1.000.000 (Dosen))

2. Query : Tampilkan daftar tugas mengajar pada semester III

Aljabar : δSemester = III (TugasMengajar)

Hasil :

NIP Nama Kelamin Gaji

1001 Amir Pria 1.500.000

1002 Budi Pria 2.500.000

1003 Citra Wanita 1.000.000

NIP kdMatkul Semester

1001 A03 III

1002 A01 III

1004 A04 III

3 Query :

Aljabar :(ПNIP,Nama,Kelamin,Gaji (δGaji ≥ 1.000.000 (Dosen))) X (δSemester = III (TugasMengajar))

Hasil : NIP Nama Kelamin Gaji NIP kdMatkul Semester

1001 Amir Pria 1.500.000 1001 A03 III

1001 Amir Pria 1.500.000 1002 A01 III

1001 Amir Pria 1.500.000 1004 A04 III

1002 Budi Pria 2.500.000 1001 A03 III

1002 Budi Pria 2.500.000 1002 A01 III

1002 Budi Pria 2.500.000 1004 A04 III

1003 Citra Wanita 1.000.000 1001 A03 III

1003 Citra Wanita 1.000.000 1002 A01 III

1003 Citra Wanita 1.000.000 1004 A04 III

VII. PERANCANGAN BASIS DATA

34Design DatabaseSyafrial

Page 35: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Perancangan basis data secara logika adalah proses untuk mentransformasikan model data konseptual ke model data logika. Sasaran perancangan basis data secara logika adalah untuk menterjemahkan perancangan konseptual (yang mencerminkan kebutuhan data pada organisasi yang dianalisis) ke rancangan basis data logika yang dapat langsung diimplementasikan pada sistem basis data yang dipilih. Basis data yang dihasilkan harus memenuhi kebutuhan pengguna dalam hal berbagi data, fleksibilitas serta kemudahan akses.

1. Model Data Relasional.

NIP Nama_Karyawan Nama_Departemen Gaji001 Ani Suwandi SDM 2.000.000002 Budi Hardianto Keuangan 1.250.000003 Chicha Chyntiawati Keuangan 1.500.000004 Dude Marliansyah Pemasaran 1.000.000004 Erlangga Kamaswara Akunting 1.000.000

a. Definisi Dasar

Model data relasi menggambarkan data dalam bentuk tabel-tabel. Modal data relasional berbasis pada teori matematika (kalkulis relational), yang merupakan dasar teori yang d\sangat kuat. Model data relasional mengandung 3 komponen inti, sebagai berikut :- Struktur Data. Data-data diorganisasi dalam bentuk baris-baris dan kolom-kolom.- Manipulasi Data. Operasi yang sangat berdaya guna dengan menggunakan Structure

Query Language (SQL) untuk memanipulasi data-data yang disimpan di relasi-relasi.- Integritas Data. Fasilitas-fasilitas untuk menspesifikasikan aturan bisnis yang

memelihara integritas data saat dimanipulasi.

b. Struktur Data Relasional

Relasi adalah tabel data dua dimensi. Setiap relasi membuat himpunan kolom serta himpunan baris. Sebuah atribut harus konsisten dengan definisinya yang digunakan untuk nama kolom relasi. Setiap baris relasi berhubungan dengan satu rekaman (record) untuk suatu entitas tunggal.

Pada gambar diatas mengandung atribut-atribut yang mendeskripsikan karyawan-karyawan NIP, Nama_Karyawan,Nama_Depertemen,Gaji. Relasi Karyawan tersebut dapat diekspresikan struktur relasinya dengan notasi singkat menjadi :

Karyawan(NIP,Nama_Karyawan,Nama_Departemen,Gaji)

c. Kunci Relasional

Untuk memanipulasi rekaman, dalam hal menyimpan dan memanggil baris data pada relasi, berdasarkan nilai-nilai data yang disimpan pada baris tersebut. Untuk mencapai sasaran tersebut, setiap relasi harus memiliki kunci primer yang dapat digunakan sebagai baris pencarian.

35Design DatabaseSyafrial

Page 36: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Kunci primer pada dasarnya sangan berhubungan dengan atribut pengidentifikasi. Pada banyak kasus, atribut yang sama yang diindikasi sebagai pengidentifikasi entitas adalah atribut yang sama yang menyusun kunci primer untuk relasi yang merepresentasikan entitas yang bersangkutan. Meski demikian ada juga pengecualiannya, entitas asosiatif tidak perlu memiliki pengidentifikasi dan pengidentifikasi suatu entitas lemah hanya merupakan bagian dari kunci primer untuk entitas lemah itu.

Untuk menggambarkan hubungan antara dua entitas relasi dapat diselesaiken dengan menggunakan kunci tamu, kunci tamu adalah atribut-atribut pada relasi yang berfungsi sebagai kunci primer pada relasi lain pada basis data yang sama. Sebagai contoh pertimbangakan relasi Karyawan dan Departemen dibahaw ini.

Karyawan(NIP, Nama_Karyawan,Nama_Departemen, Gaji)Departemen(Nama_Departemen, Lokasi, No_Telp)

Atribut Nama_Departemen adalah kunci tamu pada relasi Karyawan. Ia mengijinkan pengguna untuk menghubungkan setiap karyawan dengan departemen dimana mereka berada. Bebera penulis menggambarkan kunci tamu dengan dengan garis putus-putus seperti contoh dibawah ini.

Karyawan(NIP, Nama_Karyawan,Nama_Departemen, Gaji)

d. Properti Relasional

Tidak semua tabel adalah relasi. Relasi memiliki beberapa karakteristik yang membedakan dari tabel-tabel yang bukan merupakan relasi. Dapat disimpulkan karakteristik-karakteristik tabel yang merupakan relasi adalah sebagai berikut :- Setiap relasi atau tabel pada basis data haruslah memiliki nama yang unik.- Setiap nilai yang memiliki perpotongan suatu baris dan kolom tertentu harus anomic

(bernilai tunggal), tidak diperkenankan ada atribut yang bernilai banayk pada relasi.- Setiap baris adalah unik, tidak ada dua atau lebih baris pada relasi yang memiliki nilai

yang identik untuk semua atributnya.- Setiap atribut atau kolom dalam tabel memiliki nama uang unik.- Urutan kolom dari kiri ke kanan tidak menentukan. Kolom-kolom dalam suatu relasi

dapat saling bertukar tempat tanpa merubah makna penggunaan relasi.- Urutan baris dari atas kebawah tidak menentukan. Urutan baris-baris pada suatu relasi

dapat saling bertukar tempat atau disimpan.

2. Batasan Integritas.

Model data relasional mencakup beberapa batasan yang berguna untuk memelihara keakuratan serta integritas data pada basis data. Batasan intergritas yang utama adalah sebagai berikut.

a. Batasan Domain (Ranah Nilai)

36Design DatabaseSyafrial

Page 37: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Semua nilai yang disimpan dalam kolom-kolom harus memiliki ranah nilai (domain) yang sama. Ranah nilai adalah himpunan nilai yang dapat diberikan pada suatu atribut. Definisi ranah nilai mencakup nama, arti, tipe data, ukuran, serta nilai yang diizinkan.

b. Integritas Entitas

Aturan integritas entitas adalah dirancang untuk memastikan setiap relasi sudah memiliki kunci primer dan memastikan bahwa nilai-nilai data untuk kunci primer adalah valid. Model data relasional mengijinkan untuk mengkosongkan nilai-nilai data. Nilai null adalah nilai yang dapat diberikan ke suatu atribut saat tidak ada nilai yang dapat dimasukan. Pada kenyataan nilai null adalah bukan nilai melainkan ketidakhadiran nilai pada suatu atribut tertentu.

Satu hal yang terpenting bahwa kunci primer tidak diperkenankan memiliki nilai null sebab kunci primer merupakan atribut pengidentifikasi sehingga aturan integritas entitas menyatakan bahwa semua atribut yang merupakan kunci primer tidak diijinkan memiliki nilai null atau nilai ganda.

c. Integritas Referensial

Pada model data relasional, asosiasi-asosiasi antar tabel didefinisikan lewat pengguna kunci tamu (foreign key). Integritas referensiaal ini adalah garis yang menghubungkan antara kunci tamu di suatu tabel dengan kunci primer ditabel yang lainnya.

Perhatikan gambar dibawah ini, dimana asosiasi antar tabel Pesanan dan Pelanggan didefinisikan dengan atribut No_Pelanggan sebagai kunci tamu pada tabel Pesanan. Hal ini berimplikasi bahwa sebelum menyisipkan baris baru pada tabel pesanan, pelanggan untuk pesanan yang bersangkutan harus sudah ada datanya di tabel Pelanggan.

Batas integritas referensial adalah aturan yang memelihara konsistensi antara baris-baris pada dua relasi. Aturan ini menetapkan bahwa jika ada kunci tamu di satu relasi tertentu, maka kunci tamu itu harus disesuaikan dengan nilai kunci primer di relasi yang lain.

3. Mentransformasi Diagram E-R ke Relasi

37Design DatabaseSyafrial

Pelanggan No_Pelanggan Nama_Pelanggan Alamat

Pesanan No_Pesanan Tanggal_Pesanan No_Pelanggan

Page 38: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Transformasi atau pemetaan diagram E-R ke relasi merupakan proses yang mekanis, dalam arti ia memiliki ketentutan-ketentuan tertentu. Pada faktanya banyak tool dapat digunakan secara otomatis. Langkah-langkah transformasi dari diagram E-R ke skema relasional adalah :

a. Pemetaan Entitas BiasaEntitas biasa atau normal (regular entitas) adalah entitas-entitas yang mandiri

keberadaannya dan secara umum menggambarkan objek yang nyata dalam dunia nyata. Entitas biasa (sering disebut entitas kuat) digambarkan dengan empat persegi panjang bergaris tunggal.

Setiap entitas biasa dapat ditransformasikan ke skema relasi. Nama yang berkaitan dengan relasi secara umum adalah sama dengan nama entitas. Atribut-atribut sederhana pada entitas menjadi atribut-atribut relasi. Atribut pengidentifikasi pada entitas berubah menjadi kunci primer pada relasi.

b. Pemetaan Entitas Lemah

Entitas lemah (weak entity) tidak memiliki keberadaan yang mandiri, ia hanya ada lewat relasi pengidentifikasi dengan entitas lain yang dinamakan Entitas_Pemilik. Entitas lemah tidak memiliki pengidentifikasi yang lengkap, tetapi harus memiliki atribut yang dinamakan pengidentifikasi sebagian (partial identifier) yang mengizinkan untuk mengenali berbagai kehadiran dari entitas lemah untuk setiap entitas pemilik (own entity).

38Design DatabaseSyafrial

Pelanggan

No_Pelanggan No_Pelanggan No_Pelanggan

Pelanggan No_Pelanggan Nama_Pelanggan Alamat

Karyawan

NIP Nama Nama_Pendamping

PendampingMemiliki

Karyawan NIP Nama

Pendamping Nama_Pendamping NIP

Page 39: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Pada gambar diatas memperlihatkan entitas lemah Pendamping dan entitas pemilik yakni Karyawan yang dihubungkan dengan relasi pengidentifikasi memiliki. Asumsinya bahwa untuk setiap karyawan, relasi Pendamping secara unik mengidentifikasi pendampingnya.

c. Pemetaan Entitas Asosiatif

Saat menganalisis basis data dijumpai telasi banyak-ke-banyak, dapat memilih untuk memodelkan relasi itu sebagai entitas asosiatif dalam diagram E-R. Pemetaan entitas asosiatif mencakup langkah-langkah yang secara esensial sama dengan pemetaan relasi banyak-ke-banyak.Langkah pertama adalam menciptakan 3 relasi, 2 berasal dari masing-masing entitas yang terlibat, dan yang terakhir untuk entitas asosiatf.Langkah yang kedua tergantung pada kondisi apakah pada diagram E-R pengidentifikasi ada pada entitas asosiatif.

Jika pengidentifikasi tidak ada, kunci primer default untuk asosiatif adalah berasal dari masing-masing kunci primer dari 2 entitas yang lain. Atribut-atribut ini kemudian menjadi kunci-kunci tamu uang merujuk pada kunci-kunci primer pada 2 relasi yang lain.

Jika pengidentifikasi ada, analisis data dapat menentukan pengidentifikasi untuk entitas asosiatif pada diagram E-R. Alasan yang menjadi motivasi untuk melakukan pendekatan ini adalah :- Entitas asosiatif memiliki pengidentifikasi alamiah yang familiar untuk pengguna.- Pengidentifikasi default (yang terbentuk dari pengidentifikasi dari masing-masing

entitas yang terlibat) mungkin tidak secara unik mengidentifikasi instansiasi dari entitas asosiatif.

d. Pemetaan Unary Relationship

Pendefinisian unary relationship sebagai relasi yang terbentuk antara instansiasi-instansiasi dari satu type entitas.Unary relationship sering juga disebut relasi rekursif, karena kasus yang sering pada unary relationship adalah yang bertipe satu-ke-banyak serta banyak-ke-banyak.

- Hubungan Satu Ke Banyak.

39Design DatabaseSyafrial

Page 40: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

Pemetaan entitas pada unary relationship kunci tamu ditambahkan pada relasi ayng sama yang merujuk pada kunci primer (kunci tamu harus memiliki ranah nilai (domain) yang sama dengan ranah nilai kunci primer).Kunci tamu rekursif adalah kunci tamu pada suatu relasi yang merujuk pada nilai kunci primer pada relasi yang sama.

Gambar diatas memperlihatkan relasi satu-ke-banyak pada derajat relasi satu (unary relationship) yang dinamakan memimpin yang menghubungkan setiap karyawan pada suatu organisasi dengan karyawan lain yang memimpinnya. Setiap karyawan hanya satu karyawan lain yang menjadi manajernya, dilain pihak seorang karyawan mungkin memimpin 0 (karyawan yang bersangkutan adalah bukan manajer).

Relasi karyawan yang dihasilkan terlihat pada pemetaan relasinya, dimana kunci tamu (rekursi) pada relasi karyawan dinamakan NIP_Manager. Atribut ini memiliki ranah nilai yang sama dengan kunci primer pada relasi karyawan yakni NIP. Setiap baris pada relasi karyawan ini menyimpan data-data tentang karyawan, NIP, Nama, Tgl_Lahir serta NIP_Manager. Perhatikan bahwa sebagian kunci tamu NIM_Manager merujuk pada NIP.

- Hubungan Banyak Ke Banyak

Pada relasi jenis ini, dua relasi tercipta. Yang pertama merepresentasikan entitas pada relasi ini dan yang kedua adalah relasi asosiatif yang menggambarkan relasi banyak-ke-banyak itu sendiri. Kunci primer pada relasi asosiatif mengandung dua atribut. Atribut-atribut tersebut ( yang tidak boleh memiliki nama yang sama) mengambil nilai yang sama dengan kunci primer dari relasi yang lain.

Pada contoh dibawah memperlihatkan bahwa komponen (katakan komponen mesin) yang mengandung komponen-komponen yang lainnya. Relasi bersifat banyak-ke-banyak karena suatu komponen dapat mengandung banyak komponen yang lainnya, sebaliknya suatu komponen dapat digunakan untuk menyusun banyak komponen lainnya.

Relasi komponen dipetakan secara langsung dari tipe entitas yang sama. Item adalah relasi asosiatif yang kunci primernya terdiri dari 2 atribut yaitu No_Komponen dan No_Item. Atribut jumlah adalah atribut mencatat jumlah item yang digunakan pada tiap komponen.

40Design DatabaseSyafrial

NIP

Tgl_lahir

NamaPemimpinKaryawan

Karyawan NIP Nama Tgl_Lahir NIP_Manager

Page 41: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

- Hubungan Satu ke Satu

Hubungan satu-ke-satu untuk relasi berderajat satu (unary relationship) adalah kasus khusus dari hubungan satu-ke-banyak. Pada prinsipnya relasi ini sama dengan hubungan satu-ke-banyak.

Pada contoh dibawah ini hubungan seorang karyawan pria hanya boleh menikah dengan seorang karyawan wanita, dan sebaliknya, setiap karyawan wanita hanya boleh menikah dengan satu karyawan pria. Dalam beberapa kasus, ada karyawan-karyawan pria maupun wanita yang tidak/belum menikah atau menikah dengan pasangan diluar perusahaan, hal ini menentukan kardinalisat minimumnya.

e. Pemetaan Binary Relationship

Pada dasarnya pemetaan tergantung pada derajat dari relasi serta kardinalitas dari relasi yang bersangkutan.

41Design DatabaseSyafrial

No_Komponen

Harga_PerUnit

Nama Komponen

Komponen Nama Harga_PerUnitNo_Komponen

Jumlah

Mengandung

No_Item JumlahNo_KomponenItem

NIP

Alamat

Nama Menikah

Karyawan

Karyawan Nip Nama Alamat NIP_Pasangan

Page 42: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

- Hubungan Satu Ke Banyak.

Setiap relasi dapat ditransformasikan ke skema relasi. Nama yang diberikan pada relasi secara umum adalah sama dengan nama entitasnya, sehingga atribut-atribut pada entitas menjadi atribut terelasi. Kemudian cantumkan atribut kunci primer dari entitas yang berkardinalitas satu sebagai kunci tamu pada entitas yang berkardinalitas banyak.

Gambara dibawah menjelaskan bahwa atribut yang merupakan kunci primer pada entitas Pelanggan adalah No_Pelanggan. Atribut No_Pelanggan ini akan menjadi atribut tamu di relasi Pesanan. Perhatikan tanda panah yang menghubungkan atribut kunci tamu pada relasi Pesanan ke atribut kunci primer pada relasi Pelanggan.

- Hubungan Banyak Ke Banyak

Pada contoh dibawah ini untukmengapllikasikan aturan untuk hubungan banyak-ke-banyak terlihat bahwa asosiai Mahasiswa mengambil Matakuliah yang berkardinalitas banyak-ke-banyak. Dapat terlihat tiga relasi yang terbentuk, dua diantaranya berasal dari masing-masing entitas mahasiswa dan matakuliah sedangkan relasi yang ketiga adalah pengambilan yang terbentuk oleh sifat kardinalitas yang bertipe banyak-ke-banyak.

Kunci primer pada relasi pengambilan adalah NIM yang diambil dari relasi mahasiswa dan No_MK yang diambil dari relasi matakuliah. Atribut lain yang ditambahkan pada relasi pengambilan adalah atribut nilai. Atribut nilai tidak dapat dicantumkan baik pada relasi mahasiswa maupun relasi matakuliah, ia hanya merupakan atribut yang muncul pada relasi mengambil/pengambilan.

Arah panah berarah dari kunci tamu pada relasi pengambilan ke kunci-kunci primer di relasi-relasi mahasiswa serta matakuliah. Relasi dari No_MK yang berfunsi sebagai kunci tamu pada relasi pengambilan mengarah ke kunci primer No_MK di relasi matakuliah, ini berimplikasi bahwa rekaman matakuliah tertentu harus diisikan pada relasi matakuliah sebelum matakuliah yang bersangkutan diambil oleh mahasiswa tertentu.

42Design DatabaseSyafrial

No_Pelanggan

Alamat

Nama

Pelanggan Nama AlamatNo_Pelanggan

Mengirim

Pelanggan

No_Pesanan

Pesanan

NamaNo_Pesanan No_PelangganPesanan

Tgl_Pesanan

NIM Nama

Mahasiswa NamaNIM

No_MK

No_MKNIM NilaiPengambil

Nama_MKNilai

Pengambil

MatakuliahMahasiswa

Nama_MKNo_MKMatakuliah

Page 43: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

- Hubungan Satu Ke Satu

Relasi satu-ke-satu dapat dilihat sebagai kasus khusus dari relasi satu-ke-banyak. Langkah-langkah pemetaan membutuhkan dua tahap, pertama dua relasi harus diciptakan dari masing-masing entitas. Kedua kunci primer dari salah satu relasi dicantumkan sebagai kunci tamu pada relasi yang lain. Kunci primer yang diambil dari adalah kunci primer dari relasi yang memiliki kardinalitas minimum lebih kecil.

Perhatikan pada contoh dibawah ini, kardinalitas minimum untuk relasi dosen dan jurusan adalah sama-sama satu. Namun jika diperhatikan bahwa relasi dosen memiliki kardinalitas minimum 0 lebih kedil dari kardinalitas minimum untuk relasi jurusan yakni sebesar 1, untuk itu sesuai dengan aturan maka kunci primer dari relasi dosenlah yang harus diambil. Akhirnya atribut NIP inilah yang dicantumkan sebagai kunci tamu di relasi jurusan.

f. Pemetaan Ternary Relationship

Untuk melakukan pemetaan yang menghubungkan tiga entitas, harus menciptakan suatu relasi asosiatif. Kunci primer untuk relasi asosiatif ini adalah kunci-kunci primer yang berasal dari ke tiga entitas yang terlibat dalam relasi. Pada beberapa kasus, atribut tambahan diperlukan untuk membentuk kunci primer yang unik. Atribut-atribut ini

43Design DatabaseSyafrial

NIP Nama

Dosen NamaNIP

Kd_Jur

Nm_JurKd_Jur NIPJurusan

Nm_Jur

Mengepalai

JurusanDosen

Page 44: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

kemudian memaikan perannya sebagai kunci tamu yang merujuk pada kunci-kunci primer yang menjadi milik entitas-entitas yang terlibat. Atribut apapun dari entitas asosiatif menjadi atribut dari relasi yang baru.

Pada gambar dibawah ini memperlihatkan diagram E-R yang menggambarkan pasien menerima resep_dokter dari dokter. Entitas asosiatif resep memiliki atribut-atribut tanggal, jam serta hasil. Nilai-nilai ini direkam sebagai atribut-atribut untuk setiap instansiasi resep.Atribut-atribut yang berfungsi primer yaitu No-Pasien, NoId_Dokter serta Kode_Obat menjadi kunci tamu pada entitas asosiatif resep.

g. Pemetaan Hubungan Supertype - Subtype

Model data relasional tidak secara langsung mendukung relasi supertype/subtype. Beberapa strategi dapat diterapkan oleh perancang data untuk merepresentasikan pemetaan tipe relasi supertype/subtype ke model relasional.Strategi yang digunakan adalah :- ciptakan relasi untuk supertype dan masing-masing subtype.

44Design DatabaseSyafrial

No_Pasien

Nm_Pasien

NoId_Dokter Nm_Dokter

Pasien DokterHasil

Tanggal

Jam

DeskripsiKode_Obat

Obat

Resep

No_Pasien Nm_Pasien

NoId_Dokter Nm_Dokter

Kode_Obat Deskripsi

No_Pasien TanggalNoId_Dokter Kode_Obat Jam Hasil

Pasien

Dokter

Resep

Obat

Page 45: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

- Cantumkan pada relasi yang diciptakan untuk supertype aribut-atribut yang umum untuk semua anggota dari supertype, termasuk kunci primer.

- Cantumkan kunci primer supertype pada subtype-subtype yang menjadi anggota dan tambahkan atribut-atribut yang unik untuk subtype.

- Cantumkan atribut-atribut supertype yang menjadi diskriminator.

Untuk pemetaan diagram E-R ke relasi pada hubungan supertype/subtype dapat dilihat pada gambar dibawah ini.

4. Normalisasi.

Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.Tujuan Normalisasi adalah untuk menghilangkan kerangkapan data, mengurangi kompleksitas dan memudahkan pemodifikasian data.

Proses normalisasi :45

Design DatabaseSyafrial

Nama Tgl_Gajian

Alamat

Type_KaryawanNoId_Karyawan

Karyawan

Karyawan_Tetap Karyawan_Harian

d

Gaji_PerJamGaji_Bulanan

NoId_Karyawan Nama Alamat Type_Karyawan Tgl_Gajian

Gaji_Bulanan

NoId_Karyawan Honor_PerJam

NoId_Karyawan

Karyawan

Karyawan_Tetap

Karyawan_Harian

Tipe Karyawan =

“H”“T”

Page 46: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

- data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.

- Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel terebut perlu dipecahkan menjadi beberapa tabel yang lebih sederhana sampai memenuhi kebutuhan yang optimal.

Tahapan Normalisasi :1. bentuk tidak normal..2. bentuk normal pertama (1NF) Menghilangkan perulangan.3. bentuk normal kedua (2NF) menghilangkan ketergantungan fungsi4. Bentuk Normal Ketiga (3NF) menghilangkan ketergantungan transitif

Ketergantungan Fungsional adalah atribut Y pada relasi R dikatakan ketergantungan fungsi bila atribut X pada relasi R, yakni jika Y tidak tergantung pada subset dari X ( bila X adalah key gabungan)

Contoh :Kirim – Barang (No_Pemb, Nm_Pemb, No_Brg, Jumlah)

No_Pemb Nm_Pemb No_Brg JumlahP01 Anita B01 1000P01 Anita B02 1500P01 Anita B03 2000P02 Budi B03 1000P03 Cahyo B02 2000

Ketergantungan fungsi : No_Pemb Nm_PembNo_Brg, No_Pemb Jumlah

Ketergantungan Transitif adalah atribut Z pada relasi R dikatakan ketergantungan transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut R tergantung pada atribut Y pada relasi R(X Y, Y Z, maka X Z)

Contoh :

No_Pemb Kode_Kota Kota No_Brg JumlahP01 1 Jakarta B01 1000P01 1 Jakarta B02 1500P01 1 Jakarta B03 2000P02 3 Bandung B03 1000

46Design DatabaseSyafrial

Page 47: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

P03 2 Surabaya B02 2000

Ketergantungan Transitif :No_Pemb Kode_KotaKode_Kota Kota, makaNo_Pemb Kota

1. Bentuk Normal Kesatu (1NF)

Suatu relasi dikatakan sudah memiliki bentuk normal pertama bila setiap data bersifat atomik yakni setiap irisan baris dan kolom hanya mempunyai satu nilai data

Contoh :Tabel Kirim-1 (UnNormal)No_Pemb Kode_Kota Kota No_Brg JumlahP01 1 Jakarta B01 1000

B02 1500B03 2000

P02 3 Bandung B03 1000P03 2 Surabaya B03 2000

Tabel Kirim-2 (1NF)No_Pemb Kode_Kota Kota No_Brg JumlahP01 1 Jakarta B01 1000P01 1 Jakarta B02 1500P01 1 Jakarta B03 2000P02 3 Bandung B03 1000P03 2 Surabaya B03 2000

Diagram Ketergantungan Fungsional

2. Bentuk Normal Kedua (2NF)

Suatu relasi dikatakan sudah memenuhi bentuk normal kedua bila relasi tersebut sudah memenuhi bentuk normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap kuncinya.

Tabel Pemasok (2NF)No_Pemb Kode_Kota Kota

47Design DatabaseSyafrial

Jumlah

No_Pemb

No_Brg

Kode_Kota

Kota

Page 48: Modul1 Database

STIKOM Binaniaga BogorJl. Mayor Oking Jayaatmaja No. 27 Tlp/Fax (0251) 343980 - 352176 Bogor

P01 1 JakartaP02 3 BandungP03 2 Surabaya

Tabel Kirim (2NF)No_Pemb No_Brg JumlahP01 B01 1000P01 B02 1500P01 B03 2000P02 B03 1000P03 B03 2000

3. Bentuk Normal Ketiga (3NF)

Suatu relasi dikatakan sudah memenuhi bentuk normal ketiga bila relasi tersebut sudah memenuhi bentuk normal kedua dan atribut yang bukan key tidan tergantung transitif terhadap keynya.

Tabel Kirim (3NF)No_Pemb No_Brg JumlahP01 B01 1000P01 B02 1500P01 B03 2000P02 B03 1000P03 B03 2000

Tabel Pemasok-2 (3NF)No_Pemb Kode_KotaP01 1P02 3P03 2

Tabel Pemasok-3 (3NF)Kode_Kota Kota1 Jakarta3 Bandung2 Surabaya

VIII. IMPLEMENTASI

48Design DatabaseSyafrial