1. Pendahuluan: Sistem Basis Data Relational
Setelah  hampir  empat  dekade  sejak  ditemukannya konsep  „basis  data  relasional‟  oleh  Peter  Chen
1970
dan diimplementasikan oleh DR. E.F. Codd
beberapa  tahun  berikutnya  di  laboratorium  IBM International  Business  Machine  yang  ada  di  San
Jose – Amerika Serikat dalam bentuk sistem basis
data  DB2,  hingga  saat  ini  sistem  basis  data relasional  masih  secara  luas  digunakan  [12].
Sistem-sistem  basis  data  yang  umum  digunakan saat  ini  Oracle,  Microsoft  SQL  Server,  MySQL,
PosgreSQL,  Informix, Paradox, Microsoft Access, dan sebagainya semuanya bertipe relasional.
Gambar 1 Diagram ERD : Mahasiswa Mengambil Matakuliah
Tabel Nama Mahasiswa
Tabel Pengambilan Matakuliah
Tabel Nama Matakuliah
Gambar 2 RelasiTabel Mahasiswa Mengambil Matakuliah
Sistem-sistem  basis  data  relasional  RDBMS- Relational  Database  Management  System  pada
umumnya  dikembangkan  menggunakan  model ERD  Entity  Relationship  Diagram  Gambar  1,
yang  mencakup  di  dalamnya  konsep-konsep entitas,
atribut, serta
relasi [12].
Entitas sesungguhnya  merupakan  sejumlah  objek  di  dunia
nyata yang
memiliki karakteristik
yang samaserupa,  yang  datanya  dapat  disimpan  di
dalam media
komputer; atribut
merupakan deskripsi-deskripsi  masing-masing  objek  yang
dapat  dikelompokkan  menjadi  sebuah  entitas tertentu;  sementara  itu,  relasi  merupakan  cara
bagaimana  suatu  entitas  memiliki  hubungan berelasi  dengan  entitas  yang  lainnya  [12].
Berhubungan  dengan  relasi  antarentitas,  pada umumnya
perancang basis
data relasional
mengenal  konsep  kardinalitas,  yang  secara  umum merupakan  jumlah  objek  dari  suatu  entitas  yang
berhubunganberelasi  dengan  objek  atau  objek- objek  yang  berasal  dari  entitas  atau  entitas-
entitas lain [12]. Kardinalitas ini dapat dinyatakan menggunakan  skala  kualitatif,  yaitu  :  satu  ke  satu
one  to  one,  satu  ke  banyak  one  to  many,  serta banyak ke banyak many to many [12].
Setelah  ERD  dikembangkan,  sistem  basis  data relasional  dapat  dibentuk  dengan  cara  melakukan
pemetaan mapping
diagram-diagram ERD
menjadi  bentuk-bentuk  relasitabel  yang  kemudian dapat  diimplementasikan  ke  sistem  basis  data
relasional yang dipilih menggunakan „bahasa‟ yang khas untuk sistem basis data relasional, yaitu  SQL
Structured  Query  Language  [12,  13].  Langkah-
langkah  ini  pada  gilirannya  akan  menghasilkan struktur-struktur  tabel  pemuat  container,  yang
kelak  dapat  diisi  dengan  data  sesungguhnya. Selanjutnya, data bisa dengan mudah disisipkan  ke
dalam  tabel  pemuat  menggunakan  perintah  SQL
INSERT, dapat
dengan mudah
di-query menggunakan
perintah SQL
SELECT, dimodifikasi
menggunakan perintah
SQL UPDATE,  dan  dihapus  menggunakan  perintah
SQL  DELETE  [12,  13].  Secara  umum,  proses pembentukan
ERD, kemudian
transformasipemetaan mapping
ke bentuk
relasitabel,  dan  diakhiri  oleh  penyisipan  data sesungguhnya  ke  relasitabel,  ditunjukkan  melalui
Gambar 1 dan Gambar 2.
Salah  satu  tujuan  dari  pembentukan  relasi- relasitabel-tabel  dengan  basis  ERD  adalah  untuk
menghilangkan anomali-anomali
kesalahan- kesalahan logika pada saat operasi-operasi CRUD
Create-Read-Update-Delete  dilaksanakan  pada relasitabel
yang bersangkutan
[12]. Konsekuensinya,  saat  kita  memerlukan  informasi-
informasi  tertentu  melalui  query,  seringkali  kita
Nim Nama
5184025 5183027
5184088 Adi Nugroho
Agus Kuswanto Sapto Budi Hartono
NIM No_MK
Nilai
5184025 5184025
5184088 110011
130013 110011
A A
C
No_MK Nama_MK
SKS 110011
130012 130013
Pemrograman Java Pemrograman C
Sistem Basis Data 3
3 3
Mahasiswa Matakuliah
Ambil NIM
Nama Nilai
No_MK
Nama_MK SKS
perlu  melakukan  query  terhadap  kedua  atau  lebih relasitabel.  Sebagai  contoh,  perhatikan  Gambar  2,
untuk  mengetahui  “siapa  mengambil  matakuliah apa  beserta  juga  nilainya”  lengkap  dengan  nama
yang  mengambil  matakuliah  ditambah  nama matakuliah  yang  diambil,  kita  mungkin  perlu
melakukan
penggabungan tiga
relasitabel sekaligus  menggunakan  perintah  SQL  dialek
Oracle 10g
berikut [8, 12, 13]. SELECT
NIM, Nama, No_MK, Nama_MK, Nilai FROM
Mahasiswa NATURAL
JOIN Pengambilan_Matakuliah
NATURAL JOIN Matakuliah Meski  penggabungan  tabel  join  di  atas  bisa
berjalan  dengan  baik  pada  setiap  sistem  basis  data relasional,
untuk data
yang jumlah
baris rowrecord-nya  sangat  banyak,  prosesnya  akan
berjalan  dengan  kinerja  kecepatan  yang  relatif rendah,  sebab  server  basis  data  relasional  selalu
akan  melakukan  pencarian  data  lookup  pada ketiga tabel yang terlibat pada query [1, 3].
NIM Nama
No_MK Nama_MK
Nilai Gambar 3 Struktur Tabel Denormalisasi
Tabel Mahasiswa_Mengambil_Matakuliah
Bagaimana menyelesaikan masalah kinerja di atas? Beberapa praktisi basis data relasional saat merasa
yakin  bahwa  query  di  atas  dilakukan  secara intensif  sering  melakukan  suatu  teknik  yang
dinamakan
sebagai denormalisasi,
yaitu membentuk suatu tabel yang  justru
„tidak normal‟ melanggar
aturan-aturan sistem
basis data
relasional  dan  mungkin  akan  mengakibatkan terjadinya
anomali-anomali CRUD
demi menghasilkan  kinerja  query  yang  lebih  baik  [1,  4,
12].  Sebagai  contoh,  jika  query  yang  didefinisikan di  atas  dilakukan  secara  intensif,  mungkin  para
praktisi  basis  data  akan  membuat  suatu  tabel khusus  yang  struktur  tabelnya  seperti  terlihat  pada
Gambar  3,  sehingga  kinerja  query  akan  meningkat karena  pencarian  data  lookup  hanya  dilakukan
pada satu tabel saja.
2. Sistem Non-Relasional Cassandra