1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Pada era sekarang ini

advertisement
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Pada era sekarang ini, teknologi penerapan sistem basis data sudah berkembang
dengan sangat pesat. Sistem basis data merupakan salah satu komponen yang
penting dan digunakan di hampir setiap area dari keseluruhan cabang ilmu
komputer. Sudah menjadi kegiatan yang umum dijumpai di masyarakat untuk
menggunakan fasilitas-fasilitas komunikasi yang ada menggunakan media Internet
seperti menulis e-mail, posting pada forum diskusi di web, hingga bahkan
menggunakan telepon genggam untuk chatting menggunakan instant messenger
yang sebenarnya secara tidak langsung menggunakan sistem basis data.
Sejarah sistem basis data sangat kaya. Bahkan sudah ada sejak dahulu pada
jaman kuno, pasti selalu ada kebutuhan akan kemampuan untuk menyimpan,
memperoleh maupun mengolah informasi. Sistem basis data modern dimulai
sekitar tahun 1960-an, ketika komputer pertama ditemukan. Pada 1970, Edgar
Frank Codd mempublikasikan paper-nya yang berjudul “A Relational Model of
Data for Large Shared Data Banks”, yang menjadi titik balik yang besar bagi teori
basis data. Codd menawarkan aljabar sebagai dasar dari bahasa query basis data.
Selayaknya pada setiap aljabar, ada beberapa operator primitif dan ada juga yang
merupakan operator turunan. Ada 6 operator primitif dari aljabar Codd, yaitu
Selection, Projection, Cartesian product, Union, Set difference dan Rename.
Sedangkan operator turunannya adalah Intersection, Division, dan Natural join.
1
2
Structured Query Language (SQL), dengan berdasarkan pada metode aljabar
relasional yang didefinisikan oleh E. F. Codd tersebut, dengan cepat menjadi
bahasa standar untuk query dan manajemen basis data. SQL merupakan salah satu
pakem standar yang mendukung banyak Relational Database Management Systems
(RDBMS) yang umum dijumpai sekarang ini.
SQL sebagai bahasa yang berbasiskan dari teori aljabar relasional tersebut juga
mewarisi beberapa fungsi dari operator-operator yang ada. Namun untuk
penggunaan operator Division, belum ada sebuah solusi yang diberikan oleh pihak
SQL standarts committee (pihak pengembang yang bertanggung jawab atas standarstandar bagi SQL) untuk menggunakan sebuah format sintaksis yang sudah
terstandarisasi, baik dari segi metode penggunaan maupun algoritma yang ada
untuk menjawab permasalahan tersebut.
Kasus-kasus operasi Division sangat umum dijumpai dan sering kali muncul
pada query-query yang digunakan untuk menyelesaikan permasalahan sehari-hari.
Namun, penyelesaian yang ada sekarang ini atau solusi sementara yang digunakan
adalah dengan menggunakan kombinasi dari berbagai operator-operator yang sudah
ada sebelumnya dengan metode masing-masing yang berbeda-beda. Penyelesaian
dengan metode yang berbeda-beda tersebut sangat riskan untuk diterapkan pada
beberapa kasus-kasus tertentu karena mungkin saja mengembalikan hasil yang
justru tidak sesuai. Dari segi kinerja pun juga dinilai sangat buruk karena
kebanyakan metode yang ada tersebut memerlukan waktu proses yang lama,
terlebih lagi akan masalah dari kompleksitas query yang dihasilkan sehingga
membuat penyelesaian untuk masalah relational Division ini menjadi tidak efektif
dan efisien.
3
1.2 Ruang Lingkup
Untuk memfokuskan karya ilmiah ini akan dibatasi pada hal-hal berikut ini:
1. Kajian yang akan dilakukan adalah penggunaan operator Division pada
SQL.
2. Algoritma yang akan dirancang untuk mendapatkan hasil yang sesuai
dengan yang diharapkan pada operator Division.
3. Mengimplementasikan atau menerapkan algoritma tersebut kepada salah
satu engine RDBMS, yaitu SQLite yang menggunakan bahasa
pemrograman C.
1.3 Perumusan Masalah
Operator Division belum didukung di SQL standar, oleh karena itu operasi
Division harus dilakukan dengan membuat query SQL yang mengandung subquery.
1.4 Tujuan dan Manfaat
Tujuan dari penelitian ini adalah:
1. Menganalisis operator Division pada aljabar relasional dan solusi-solusi
yang telah dibuat para peneliti atau praktisi yang telah ada.
2. Merancang algoritma operator Division pada SQL.
3. Menerapkan rancangan algoritma dengan menggunakan yang telah
dirancang dan mengujinya.
4. Membuat rekomendasi terhadap organisasi SQL (SQL.org) untuk
menerapkan rancangan tersebut.
4
Manfaat dari penelitian ini adalah:
1. Mempersingkat statement SQL untuk mendapatkan hasil operasi Aljabar
Relasional untuk operator Division.
2. Mendapatkan alternatif lain query SQL yang dapat menghasilkan
operasi Division.
3. Memperkaya standar query SQL (Structure Query Language)
1.5 Metodologi Penelitian
Metodologi yang digunakan untuk penulisan ini adalah :
•
Pengumpulan Data
Melakukan pengumpulan data dengan cara mencari informasi
melalui studi pustaka, internet atau website, dan forum-forum mengenai
topik yang dibahas. Informasi tersebut dapat menjadi sumber referensi
bagi pembuatan skripsi sesuai topik yang dibahas.
•
Analisis Algoritma Operator Division
Melakukan
analisis
mengenai
algoritma
operator
Division
berdasarkan data-data yang telah dikumpulkan pada tahap pengumpulan
data.
•
Perancangan Solusi
Perancangan query SQL untuk operator Division dengan menambahkan
sintaks baru di SQL berdasarkan rancangan algoritma yang dibuat untuk
menyelesaikan masalah pada operasi Division.
5
•
Implementasi dan Pengujian Solusi
¾ Melakukan kodifikasi operator Division pada SQLite yang
menggunakan bahasa pemrograman C dan melakukan pengujian
terhadap hasil kodifikasi.
¾ Membandingkan performa query dari solusi yang sudah ada
dengan solusi yang ditawarkan.
1.6 Sistematika Penulisan
• BAB 1 PENDAHULUAN
Bab ini menjelaskan latar belakang permasalahan, ruang lingkup penelitian,
perumusan masalah, tujuan dan manfaat yang akan diperoleh dari penelitian,
metodologi penelitian yang digunakan, serta gambaran umum dari tiap bab.
• BAB 2 LANDASAN TEORI
Bab ini berisi penjelasan tentang teori dasar dan teori pendukung yang
berhubungan dengan topik yang dibahas.
• BAB 3 PERUMUSAN OBYEK PENELITIAN
Bab ini berisi analisa dari masalah yang ada, cara kerja dari operator yang akan
dirancang, serta algoritma dari operator tersebut.
• BAB 4 PERANCANGAN DAN IMPLEMENTASI
Bab ini berisi tentang perancangan, implementasi, dan evaluasi dari operator
yang telah dibuat pada bab sebelumnya.
• BAB 5 SIMPULAN DAN SARAN
Bab ini berisi simpulan dari semua bab yang ada dan saran yang dapat diberikan.
Download