PERBEDAAN BASIS DATA LAMA DAN BASIS DATA BARU
Basis Data Lama
^^ Operasi Dasar
Didalam sebuah disk (hard disk), basis data dapat diciptakan dan dapat pula
ditiadakan. Dalam sebuah disk kita dapat menempatkan beberapa (lebih dari satu) basis
data (Misalnya basis data nilaiMahasiswa, kepegawaian, keuangan, penjualan, pepustakaan dan lainnya).
Sementara dalam sebuah basis data kita dapat menempatkan satu atau lebih
file / table. Misalkan dalam basis data penjualan terdiri dari table barang, faktur, pelanggan
dan transaksi barang.
Operasi-operasi dasar yang dapat kita lakukan berkenaan dengan basis data adalah
sebagai berikut:
1). Pembuatan basis data baru (create database), identik dengan pembuatan lemari arsip
yang baru.
2). Penghapusan basis data (drop database), identik dengan perusakan lemari arsip,
sekaligus beserta isinya jika ada.
3). Pembuatan table baru ke suatu basis data (create table), yang identik dengan
penambahan map arsip baru ke sebuah lemari arsip yang telah ada.
4). Penghapusan table dari suatu basis data (drop table), identik dengan perusakan map
arsip lama yang ada di sebuah lemari arsip.
5). Penambahan / pengisian data baru di sebuah basis data (insert), identik dengan
penambahan lembaran arsip ke sebuah map arsip.
6). Pengambilan data dari sebuah table (retrieve / search), identik dengan pencarian
lembaran arsip dalam sebuah map arsip.
7). Pengubahan data dalam sebuah table (update), identik dengan perbaikan isi lembaran
arsip yang ada di sebuah map arsip.
8). Penghapusan data dari sebuah table (delete), identik dengan penghapusan sebuah
lembaran arsip yang ada di sebuah map arsip.
Operasi pembuatan basis data dan tabel merupakan operasi awal yang hanya
dilakukan sekali dan berlaku seterusnya. Sedangkan untuk operasi pengisian, perubahan,
penghapusan dan pencarian data merupakan operasi rutin yang berlaku berulang-ulang.
Contoh Database
Berikut ini ini adalah contoh dari database Penjadwalan_mengajar_dosen pada STMIK bekasi dimana pada database tersebut terdiri dari file / table Dosen,
Matakuliah, Jurusan dan Mengajar.
1. Dosen
Dosen ={nid,nama_d,tempat_lhr,tgl_lahir,jkelamin,alamat,kota,kodepos,gajipokok}
Dengan data value sebagai berikut:
2. Matakuliah
Matakuliah ={kdmk,nama_mk,sks,semester}
Dengan data value sebagai berikut:
3. Jurusan
Jurusan ={kode_jur,nama_jur,sjenjang,nama_kajur}
Dengan data value sebagai berikut:
4. Mengajar
Mengajar ={nid,thn_akademik,smt,hari,jam_ke,kdmk,waktu,kelas,kode_jur}
Dengan data value sebagai berikut:
Implementasi relasi (hubungan antar table) yang ada pada database tersebut dapat dilihat
pada gambar berikut ini (Dengan database MS-SQL Server 2000 dan MS-Access):
Gambar
Pada gambar tersebut diatas terlihat bahwa pada table mengajar, berelasi kepada table
dosen, matakuliah dan jurusan, dikarenakan pada table mengajar tersebut membutuhkan data –
data yang ada pada ketiga tabel tersebut, artinya:
• Seorang dosen bisa mengajar lebih dari satu matakuliah pada semester yang
sama.
• Satu matakuliah bisa diajar (diampu) oleh banyak dosen dan jurusan.
Operasi manipulasi yang dapat dilakukan pada database tersebut adalah sebagai
berikut:
1). Insert : Kita dapat melakukan pemasukan data – data baru pada file / table
dosen, matakuliah, jurusan dan mengajar.
2). Delete : Kita dapat melakukan penghapusan data yang telah ada pada file / table
dosen, matakuliah, jurusan dan mengajar untuk data – data yang tidak
diperlukan lagi.
3). Update : Kita dapat melakukan perubahan data – data alamat dan kota seorang
dosen pada file / table dosen dikarenakan dosen tersebut pindah alamat,
dan kita dapat melakukan perubahan untuk data yang lainnya pada database tersebut.
4). Retrieve : Kita dapat menampilkan Informasi mengenai dosen menurut jenis
kelamin, kota alamat dan lainnya, informasi mengenai transaksi
mengajar dosen, informasi jurusan, informasi mengenai matakuliah
berdasarkan sks nya dan informasi lainnya.
Basis data baru
^^ Basisdata dan ERD
Tampilan basisdata secara lojik mirip dengan tampilan software spreadsheet (semisal Open Office Calc atau Microsoft Excel), yakni berupa tabel dua dimensi: (1) baris, dan (2) kolom. Sebuah file spreadsheet biasanya terdiri dari satu atau beberapa tabel; dan jika diperlukan data dari tabel lain, hubungan tersebut bisa diimplementasikan dengan menyalin link ke sel yang dituju. Perhatikan ilustrasi pada gambar 1 berikut:
Link menuju data lainnya (dalam contoh ini: data di sheet lain) ditunjukkan oleh kursor pada sel B2. Sebagai jembatan penghubung, fungsi link ini mirip dengan “link” yang berlaku dalam tabel-tabel basisdata. Di basisdata, link ini dikenal sebagai “Foreign Key”. Kelebihan Foreign Key dibandingkan link biasa pada spreadsheet bisa dilihat pada Bab DDL, sedangkan cara pemakaian Foreign Key bisa dilihat pada Bab JOIN. Lalu, bagaimana cara pembuatannya? Mari kita mulai dari tahap awal, yakni perancangan basisdata (dengan model data berupa ERD), baru dilanjutkan dengan implementasi secara fisik dalam bentuk tabel seperti yang akan dibahas dalam Bab DDL.
Memulai Merancang Basisdata baru
Basisdata adalah sekumpulan data yang saling bertautan dan merupakan representasi dari sebagian dunia nyata (Ramakhrisnan, 2004). Oleh karena itu, pembuatan basisdata pun harus sesuai dengan kasus dan ruang lingkupnya. Setelah itu, dicari fakta-fakta dari arsip-arsip fisik kemudian dianalisis. Sebagai contoh, ketika hendak migrasi dari pengarsipan manual ke basisdata (dalam kasus supermarket), kita bisa menelusuri data dan informasi yang muncul pada struk pembelian (untuk pelanggan), struk penerimaan barang di gudang, laporan penjualan untuk manajer, laporan retur barang, dan lain-lain. Seluruh bukti fisik dikumpulkan, dicari benang merahnya (keterkaitan antar data, red), dan dipertajam dengan bantuan informasi verbal dari (calon) pengguna basisdata. Baru setelah itu, digambarkan dalam ERD dan dikonversi ke bentuk tabel. Secara ringkas, tahapannya adalah sebagai berikut:
1. Menentukan kasus dan ruang lingkup basisdata
2. Mengumpulkan fakta untuk data-data yang akan disimpan di basisdata.
3. Memodelkan fakta ke dalam ERD. Proses ini bersifat iteratif, terutama untuk basisdata besar, dalam hal penentuan fakta sebagai atribut atau sebagai entitas.
4. Mengonversi ERD ke dalam bentuk tabel, lengkap dengan properti tabel (kolom, tipe data, dan panjang data).
5. Menjalankan DDL untuk mengimplementasikan tabel ke software DBMS (misalnya Oracle DB).
Terdapat lima macam komponen utama ERD, yakni:
a. Entity (entitas)
b. Attribute (atribut)
c. Unique Identifier
d. Relationship (hubungan antar entitas)
e. Kardinalitas
1. Entity (entitas)
Entitas adalah konsep dasar dalam pemodelan basis data berupa individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Kumpulan individu entitas disebut sebagai himpunan entitas. Di dunia nyata, entitas berupa:
1. objek yang dapat diidentifikasikan
2. bisa dibedakan dari objek lain, serta
3. mempunyai karakteristik tertentu, dimana informasi yang berkaitan dengan objek yang bersangkutan dikumpulkan.
Dalam ERD, entitas dilambangkan dengan simbol kotak (▭). Contoh entitas dalam dunia akademik antara lain mahasiswa, dosen, mata kuliah, dan ruang kuliah. Sedangkan contoh entitas dalam toserba antara lain pegawai, barang, dan rak.
2. Attribute (atribut)
Atribut adalah karakteristik atau properti dari entitas yang menyajikan penjelasan detail tentang entitas tersebut. Atribut bisa bersifat WAJIB (harus ada), atau opsional (bisa ada, bisa pula tidak). Atribut dilambangkan dengan simbol elips (ᴑ).
Atribut melekat pada entitas, layaknya atribut dalam seragam sekolah SMU, misalnya. Atribut-atribut inilah yang membedakan antara seragam SMU dan seragam SMP, serta membedakan seragam SMU milik Andi dan seragam SMU Budi. Dalam konteks basisdata, entitas barang memiliki atribut kode barang, nama barang, harga, harga diskon, dan lain-lain.
3. Unique Identifier
Sesuai dengan namanya, unique identifier adalah atribut yang bernilai berbeda untuk masing-masing individu dalam himpunan entitas. Dalam analogi seragam SMU di dunia nyata, diketahui bahwa badge dan warna seragam Andi dan Budi boleh sama, tetapi label nama dada tentu berbeda. Begitu pula dengan dunia basisdata; nama atau tanggal lahir mahasiswa boleh jadi kebetulan sama, tetapi ada satu data yang pasti berbeda, yakni NIM. Sehingga NIM inilah yang disebut sebagai unique identifier.
Untuk membedakannya dengan atribut-atribut biasa, dalam gambar ERD, unique identifier ditandai dengan garis bawah (lihat atribut Kode pada Gambar 2 di atas).
4. Relationship (hubungan atau relasi antar entitas)
Kelebihan utama basisdata dibandingkan penyimpanan dalam file terletak pada kemampuan untuk saling berinteraksi antar data. Interaksi inilah yang disebut sebagai relationship. Contoh yang paling mudah dipahami adalah hubungan antara data mahasiswa dan data mata kuliah. Apa nama relasinya? Ya, benar: mahasiswa mengambil mata kuliah. Demikian pula hubungan antara data dosen dan mata kuliah, yakni dengan nama relasi: dosen mengampu mata kuliah. Cara termudah untuk mendapatkan keterkaitan antar data adalah dengan mencari kata kerja yang mungkin menghubungkan antar dua data atau lebih. Dalam contoh di atas, terdapat dua macam kata kerja: mengambil dan mengampu. Relationship digambarkan dalam bentuk diamond (◇). Relasi inilah yang nantinya akan diimplementasikan ke basisdata dalam bentuk “jembatan penghubung” antar data, yakni Foreign Key (bisa dirujuk ke bab DDL).
5. Kardinalitas
Relationship secara lengkap tidak hanya dilihat dari nama relasinya, tetapi juga jumlah kejadian di entitas yang terlibat dalam relasi tersebut. Contohnya adalah 1 pembeli menerima 1 struk bukti transaksi pembelian, 1 dosen bisa mengajar beberapa mata kuliah, dan lain-lain. Rasio jumlah kejadian antara dua entitas inilah yang disebut dengan kardinalitas. Hanya ada empat kardinalitas yang mungkin terjadi, yakni:
One to one (1:1) : Satu entitas di A terhubung dengan maksimal satu entitas di B, dan begitu sebalilknya. Misalnya, setiap tenaga sales diberi amanah untuk menjalankan hanya satu mobil box.
One to many (1:N) : Satu entitas di A terhubung ke sejumlah entitas di B, dan satu entitas di B hanya terhubung dengan maksimal satu entitas di A. Misalnya seorang kustomer boleh mengirim lima surat pesanan
(request order), tetapi 1 order hanya berasal dari 1 kustomer.
Many to one (N:1) : Kebalikan dari kardinalitas 1:N.
Many to many (N:M) : Sebuah entitas di A terhubung ke sejumlah entitas di B, dan demikian juga sebaliknya. Misalnya mahasiswa mengambil matakuliah. Si Ahmad mengambil matakuliah Alpro 2 (A), Basis Data (A), dsb. Sedangkan Kelas Alpro 2 (A) sendiri berisi Ahmad, Budi, Citra, Dody, Zezen, dsb.
By : Febryanti Elfrida
2DA03
44209006