Database Management System (DBMS) tidak dapat lepas dari
istilah yang sering kita dengar yaitu “Basis Data”, Menurut (Indrajani,
2015), basis data yaitu kumpulan data yang saling berhubungan
secara logis dan didesain untuk mendapatkan data yang dibutuhkan
oleh suatu organisasi. Sedangkan DBMS yaitu sebuah perangkat
lunak/ software yang digunakan untuk merancang serta membangun
sebuah basis data. DBMS berperan dalam membantu, memelihara,
dan melakukan pengolahan terhadap sekumpulan data, baik dalam
jumlah yang kecil maupun jumlah yang besar. Tujuan dari
pengolahan data tersebut agar seluruh data yang ter-input kedalam
sowftware DBMS dapat di manajemen secara baik dan teratur untuk
dipergunakan oleh pengguna sesuai dengan kebutuhan.
Setelah kita memahami bahwa DBMS yaitu sebuah perangkat
lunak yang memungkinkan pengguna (user) untuk merancang serta
membangun basis data yang terkomputerisasi, DBMS berperan
sebagai perantara user dengan basis data, keberadaan DBMS
memungkinkan user dapat menambahkan, mengurangi,
memodifikasi, menghapus serta mengelola sekumpulan data yang
tersimpan dalam sebuah basis data, hal ini sesuai dengan pendapat
yang disampaikan oleh (Connoly & Begg, 2010) Database
Management System (DBMS) yaitu sebuah system perangkat lunak
yang mengizinkan pengguna untuk mendefinisikan, membuat,
memelihara dan mengontrol akses kedalam basis data.
Setelah mempelajari Bagian 1 ini mahasiswa mampu:
1. Memahami dasar teori, fasilitas dan komponen Database
management system
2. Memahami manfaat, kelebihan dan kekurangan DBMS
3. Memahami konsep Hirarki dari basis data
2
Database sudah menjadi salah satu bagian yang sangat penting
bagi kehidupan masyarakat modern, beberapa dari kita menemukan
aktivitas yang melibatkan database dalam berinteraksi salah satu
contohnya, jika kita pergi ke supermarket dan bertransaksi dengan
kasir, kita akan menemukan kasir yang berinteraksi dengan system
untuk mengetahui harga, dan jenis dari masing-masing barang yang
kita beli, hubungan yang terjadi dari kondisi tersebut yaitu, pembeli
berinteraksi dengan petugas (kasir), petugas berinteraksi dengan
system, dan system berinteraksi dengan database untuk mencari
harga dan jenis dari barang yang diinginkan oleh pembeli.
Gambar 1. Analogi pemanfaatan database dalam kehidupan
Analogi yang disampaikan pada gambar diatas menjelaskan
interaksi antar seluruh komponen yang terkait dalam pemanfaatan
database sebagai sumber data, jika yang disampaikan pada gambar
tersebut database hanya mampu menampung data dengan huruf dan
angka terkait dengan informasi biodata barang, teknologi dan
kemampuan DBMS telah dikembangkan agar mampu menampung
data gambar, klip audio, dan video stream secara digital, selain itu
1.
Pembeli
2.
Kasir
3.
System
4.
Database
1. Pembeli memilih barang yang
tersedia di supermarket dan
melaporkannya kepada kasir untuk
diketahui harga dari masing-masing
barang tersebut
2. Melakukan scan barang dengan
scanner Qrcode melalui barcode
yang tertera pada masing-masing
barang, hal ini dilakukan untuk
menginputkan identitas barang
pada system/aplikasi.
3. System menterjemahkan
kode yang berasal dari
barcode untuk dilakukan
pencarian pada database
sesuai dengan kode barang
tersebut
4. Menampung seluruh
identitas barang (jenis,
nama, harga, jumlah, dll)
agar mampu menyajikan
informasi jika diperintah
oleh system
3
teknologi DBMS juga telah dikembangkan agar mampu digunakan
secara real time untuk mengontrol proses bisnis, industry,
manufaktur dan sejenisnya dengan teknik pencarian basis data yang
diterapkan ke Word Wide Web (aplikasi berbasis website) agar
mampu meningkatkan pencarian informasi yang dibutuhkan oleh
pengguna yang menjelajahi internet.
Teknologi database memiliki dampak yang sangat besar
terhadap meningkatnya penggunaan computer, yaitu adil jika
mengatakan bahwa database telah memainkan peran penting dalam
hampir semua bidang dimana computer digunakan termasuk bisnis,
perdagangan, teknik, kedokteran, genetika, hukum, pendidikan dan
beberapa bidang lainnya. Istilah database yaitu istilah yang sangat
umum digunakan, agar tidak mengalami penyimpangan dalam
mendefinisikannya maka terlebih dahulu kita mendefinisikan apa itu
database?
Database yaitu kumpulan data terkait. Langkah awal dalam
mengumpulkan data yang dimaksud yaitu menyediakan rancangan
strukturnya, Struktur tersebut dimaksudkan untuk mengklasifikasi
masing-masing data yang akan ditampung dalam database, hal ini
dilakukan karena kita memahami bahwa data yang direncanakan
tersebut memiliki karakter dan sifat masing-masing. Database
dirancang, dibangun dan diisi dengan data demi tujuan tertentu dari
sekelompok pengguna, keberadaan Database management system
dalam mendukung proses tersebut sangat dibutuhkan, mengingat
DBMS yaitu sekumpulan program yang memungkinkan pengguna
untuk membuat dan memelihara basis data, dalam penggunaanya
DBMS berperan dalam memfasilitasi proses pendefinisian,
pembangunan, manipulasi dan berbagi data antar berbagai pengguna
dan aplikasi.
Program aplikasi mengakses database dengan mengirimkan
pertanyaan atau permintaan data ke DBMS melalui “query”, query
yang dimaksud yaitu sebuah tindakan yang dapat menyebabkan
beberapa data dibaca dan ditampilkan ke layar, selain itu query juga
dapat menyebabkan data ditulis kedalam database yang telah
disediakan, selain memfasilitasi hubungan antara data dengan
pengguna, DBMS juga memiliki fungsi penting lainya yaitu
4
melindungi database dan mempertahankannya dalam jangka waktu
yang lama, perlindungan yang dimaksud yaitu perlindungak
terhadap kerusakan perangkat keras atau perangkat lunak dari akses
yang tidak sah atau berbahaya, berikut disajikan gambar yang
menjelaskan tentang hubungan antara pengguna (user), aplikasi
(software), software DBMS dan database secara sederhana.
Gambar tersebut menjelaskan hubungan antara user
(pengguna), administrator, atau programmer dengan system
database, skema diatas dianggap bahwa aplikasi dan database telah
User / Admin/ Programmers
Aplikasi Programs / Queri
Software DBMS memproses
Queri dari aplikasi
Software DBMS mengakses
sumber data
Definisi Metadata
Database
Database
DBMS
Software
Database system
5
dikembangkan terlebih dahulu, dalam pengembangannya aplikasi
tentu mengandung Queri atau yang dikenal dengan perintah untuk
mengakses database, query yang diinstruksikan oleh aplikasi
tersebut akan diproses oleh software DBMS yang dalam hal ini yaitu
MySQL, akses yang dilakukan yaitu akses kedalam database dan
metadata dari database tersebut, hal ini dilakukan untuk memenuhi
permintaan dari aplikasi yang diinstruksikan oleh user.
B. Fasilitas DBMS
Untuk mempermudah pemahaman terhadap keberadaan
Database Management System (DBMS) maka akan dijelaskan fasilitas
apa saja yang dapat dimanfaatkan oleh user (pengguna) dalam
melakukan manajemen terhadap sekumpulan data yang disebut
dengan basis data (Database), fasilitas-fasilitas tersebut diuraikan
sebagai berikut:
1. DBMS memungkinkan user (pengguna) untuk mendefinisikan/
membangun basis data melalui Data Definition Language atau
yang sering disebut dengan Perintah DDL. Perintah ini digunakan
untuk menentukan type, dan struktur basis data yang akan
dibangun.
2. DBMS memungkinkan pengguna untuk melakukan operasi
penambahan (create), pengubahan (modification), penghapusan
(delete), serta pengambilan data (select) dari basis data yang
sebelumnya telah dirancang, fasilitas ini merupakan fasilitas
yang disediakan oleh DBMS dengan sebutan Data Manipulation
Language atau yang sering disebut dengan DML . adapun
standarisasi bahasa yang digunakan oleh DBMS yaitu Structure
Query Language (SQL) atau yang biasa disebut dengan bahasa
Query.
3. DBMS memungkinkan pengguna untuk melakukan akses kendali
secara penuh kedalam basis data, seperti mengatur security
(keamanan) basis data untuk mengontrol client atau pengguna
yang tidak berkepentingan terhadap basis data dengan tujuan
menjaga integritas serta konsistensi data yang terdapat dalam
basis data.
6
4. DBMS memungkinkan pengguna untuk melakukan control
konkurensi yang mengizinkan basis data untuk dapat berbagi
akses dengan pengguna maupun basisdata lainnya.
5. DBMS memungkinkan pengguna untuk melakukan system
control pemulihan yang bermaksud mengembalikan data pada
keadaan yang konsisten dari sebelumnya jika terjadi kegagalan
yang disebabkan oleh perangkat keras maupun perangkat lunak
yang berkaitan dengan DBMS.
C. Komponen Pendukung DBMS
Database Management System (DBMS) yaitu sebuah perangkat
lunak (Software) yang ketika beroperasi didukung oleh beberapa
perangkat lainnya seperti Hardware, software, Data, Procedures,
maupun brainware, berikut ini akan diuraikan beberapa komponen
pendukung DBMS yang dimaksud.
1. Hardware
Dalam implementasinya, DBMS membutuhkan ketersediaan
Hardware berupa Computer Personal (PC), spesifikasi computer
yang disediakan tentu disesuaikan dengan kebutuhan basis data
yang akan dibangun perusahaan/ organisasi, semakin besar basis
data yang direncanakan tentu akan membutuhkan computer
dengan spesifikasi yang lebih tinggi.
2. Software
Kita sudah sama sama memahami bahwa DBMS yaitu sebuah
perangkat lunak (software) yang digunakan untuk membuat dan
mengelola basis data, tentu ketersediaan software yang dimaksud
merupakan syarat utama dalam merancang, dan mengelola basis
data, tidak hanya itu untuk memudahkan pengelolaan basis data
DBMS juga membutuhkan beberapa perangkat lunak pendukung
seperti XAMPP, MySQL Front, Browser, dan beberapa perangkat
lunak lainnya, masing-masing perangkat lunak pendukung
tersebut memiliki fungsi dan peran secara masing-masing.
3. Data
Data merupakan komponen yang menjadi alasan utama dari
keberadaan komponen lainnya, keberadaan DBMS dan berbagai
7
software pendukung memiliki tugas untuk menampung,
mengelola, memanajemen, dan mengamankan data.
4. Procedures
Prosedur merupakan sekumpulan instruksi dan aturan yang
digunakan untuk merancang dan mengelola basis data.
5. Brainware
Brainware (manusia) merupakan komponen terakhir dan
merupakan salah satu komponen yang dianggap paling penting
karena memiliki sifat pemerintah atau pemberi tugas kepada
seluruh komponen yang disediakan.
D. Manfaat, Kelebihan dan Kekurangan dari penggunaan DBMS
DBMS yaitu salah satu perangkat lunak yang dirancang dengan
memperhatikan kebutuhan pengguna, baik dari fasilitas pengelolaan
basis data, pelayanan, kompleksitas, integritas data maupun
keamanannya, berbagai software DBMS baik yang ber-license
maupun yang non-license telah memiliki banyak versi
pengembangan, hal ini dilakukan untuk menutupi kekurangan dari
versi sebelumnya. Berikut ini akan disajikan secara umum terkait
dengan manfaat, kelebihan maupun kekurangan dari penggunaan
DBMS.
1. Manfaat
Beberapa manfaat yang dapat diperoleh dari implementasi DBMS
yaitu sebagai berikut:
a) Praktis, DBMS menyediakan media penyimpanan yang secara
fisik berukuran kecil namun dapat menyimpan data yang
sangat banyak dibandingkan dengan konsep penyimpan data
secara konvensional menggunakan buku dan arsip lain.
b) Aplikasi yang dirancang tentu akan memanfaatkan DBMS dan
diakses melalui computer, tentu secara cepat dan spesifik
dapat menampilkan informasi dari data yang dibutuhkan.
c) Pemanfaatan DBMS akan memberikan analisa terkait dengan
progres input, dan ketersediaan data.
d) Meminimalisir biaya dari pengadaan dokumen penyimpanan
secara konvensional yang dilakukan secara terus menerus.
8
2. Kelebihan
Beberapa kelebihan dari DBMS yaitu sebagai berikut:
a) Mengendalikan redudansi data melalui aturan klasifikasi table
dan field dalam basis data, redudansi merupakan kesamaan
dari data yang terdapat pada basis data
b) Pemusatan pengelolaan basis data dibawah satu
orang/kelompok, tentu akan menjamin terpeliharanya standar
dan kualitas data.
c) Pemakaian dapat dilakukan secara bersama oleh beberapa
user dengan control yang terjaga oleh aturan yang
diberlakukan administrator.
d) Meningkatkaan keamanan data, DBMS memiliki fasilitas untuk
melindungi basis data dari pihak yang tidak berwenang
melalui autentifikasi username dan password.
3. Kekurangan
Beberapa kekurangan DBMS yaitu sebagai berikut:
a) Kompleksitas, merupakan kelebihan dari DBMS jika
kemampuan sumberdaya manusia pengelola mempuni, dan
sebaliknya dapat menjadi kekurangan jika terbatasnya
kemampuan dari sumberdaya manusia yang tersedia,
kompleksitas yang dimaksud yaitu tersedianya multi fasilitas
dalam implementasi DBMS seperti Database Designers,
Database Developer, Database Administrator, dan End-User,
tentu sumberdaya manusia pengelola harus memahami
fongsional dari fasilitas tersebut.
b) Biaya implementasi, dalam implementasi DBMS membutuhkan
biaya yang sangat bervariasi, hal ini bergantung pada
lingkungan, kebutuhan dan fungsionalitas yang diinginkan.
Semakiin banyak dan besar kebutuhan yang ingin dicakup oleh
DBMS maka akan semakin besar biaya yang dikeluarkan,
begitu pula sebaliknya, semakin terbatasnya kebutuhan dan
fungsionalitas yang ingin dicakup oleh DBMS semakin sedikit
biaya yang dikeluarkan. ketersediaan hardware menjadi
kendala utama dalam implementasi DBMS, untuk
mengharapkan implementasinya dapat sesuai dengan harapan
tentu harus mengeluarkan biaya, hal ini dapat berupa biaya
9
tambahan untuk ketersediaan mesin (server) yang handal, dan
media penyimpanan yang cukup besar agar mencapai kinerja
yang diinginkan
c) Biaya Operasional, biaya ini relative lebih kecil dari biaya
implementasi, biaya operasional meliputi, biaya pelatihan
karyawan untuk memahami system, biaya tenaga ahli dalam
menjalankan operasional dan maintenance system.
E. Macam-macam DBMS beserta kelebihan dan kekurangannya
Berbagai macam jenis DBMS yang tersedia di internet, baik yang
berbayar maupun yang gratis, Antara lain MySQL, Oracle, Firebird,
Microsoft SQL Server, PostgreSQL, MongoDB, berikut ini akan bahas
terkait dengan macam-macam jenis DBMS beserta kelebihan dan
kekurangannya.
1. MySQL
MySQL yaitu sebuah perangkat lunak (software) yang
berfungsi untuk manajemen basis data, MySQL didistribusikan
secara gratis dibawah license GPL (General Public License), dengan
kata lain setiap orang/organisasi dapat memanfaatkannya secara
bebas demi memenuhi kebutuhan pengelolaan basis data, namun
MySQL memiliki batasan yakni pengguna tidak diizinkan untuk
menciptakan produk turunan yang bersifat komersial.
MySQL pada awalnya diciptakan pada tahun 1979 oleh
“Monty” Widenius, yang merupakan seorang programmer
computer berasal dari Swedia, Monty mengembangkan sebuah
system pengolahan basis data sederhana yang diberi nama
UNIREG dibawah perusahaan bernama TcX di Swedia, system
yang dibangun menggunakan koneksi low-level ISAM Database
Engine, Sebagai bahan ujicoba Pada tahun 1994 TcX mulai
mengembangkan sebuah perangkat lunak berbasis web, dan
berencana menggunakan UNIREG sebagai sistem database Namun
fasilitas yang dimiliki oleh UNIREG pada saat itu dianggagap tidak
tepat untuk di implementasikan pada perangkat lunak pengolah
data yang bersifat dinamis seperti website.
Setelah UNIREG dianggap tidak tepat untuk perangkat lunak
yang bersifat dinamis seperti aplikasi berbasis website, TcX lalu
10
mencari alternatif system lain, yaitu pemanfaatan mSQL (miniSQL)
yang dikembangkan oleh David Hughes. Namun pada saat itu
mSQL yang dikembangkan masih memiliki kekurangan, karena
tidak mendukung konsep indexing. Monty bersama TcX akhirnya
memutuskan untuk merancang dan mengembangkan konsep
sistem basis data baru dengan menggabungkan antara UNIREG
dan mSQL. Sehingga pada Bulan Mei Tahun 1995, sebuah RDBMS
(Relationship Database Management System) baru, yang
dinamakan MySQL dirilis, jenis RDBMS baru yang telah
dikembangkan tersebut telah mendukung konsep indexing
sehingga mampu dipadukan dengan perangkat lunak dinamis
berbasis website.
a) Kelebihan MySQL
1) Multiplatform, MySQL merupakan salah satu perangkat
lunak yang dapat dijalankan pada berbagai system operasi
seperti Windows, Linux, dan Mac OS.
2) Opensource, merupakan salah satu kelebihan yang paling
diunggulkan oleh para pengembang system, dimana MySQL
dengan versi dasar dapat dimanfaatkan secara Gratis,
meski disediakan secara gratis para pengembang system
tidak perlu meragukan kualitas yang disediakan terutama
dari segi fasilitas, dan keamanannya, hal ini dikarenakan
MySQL telah ber-license GPL (General Public License), tentu
MySQL yang disediakan secara gratis ini memiliki batasan
fungsi dalam penggunaannya akan tetapi untuk
pengembangan system skala menengah kebawah sampai
saat ini tidak tidak diragukan lagi, namun jika pengembang
system membutuhkan lebih banyak fungsi dari MySQL
dapat menggunakan versi Enterprise dengan harga yang
cukup terjangkau dibandingkan dengan beberapa DBMS
lainnya.
3) Multi User, yaitu salah satu alasan mengapa MySQL begitu
banyak diminati oleh para pengembang system, dengan
kelebihan ini multi user dapat secara bersamaan dalam
satu waktu melakukan aktivitas dengan basis data.
11
4) Variasi Tipe Data, MySQL menawarkan berbagai jenis tipe
data antara lain Integer, Float, Double, Char, Text, Date,
Timestamp, dan berbagai jenis type data lainnya.
Beragamnya tipe data yang dimiliki oleh MySQL demi
menunjang kebutuhan dari pengguna.
5) Supporting, MySQL yaitu salah satu DBMS yang fleksibel
karena dapat diintegrasikan dengan berbagai macam
bahasa pemrograman.
6) Tangguh dan Stabil, beberapa pengembang system
menganggap bahwa salah satu kelebihan dari MySQL yaitu
Tangguh dan stabil dalam menampung, mengelola, juga
dianggap cukup baik dalam menjaga basis data dari
berbagai serangan.
b) Kekurangan MySQL
Meski menyajikan banyak sekali kelebihan, tentu DBMS MySQL
tidak lepas dari kekurangan, antara lain.
1. Technical support, Dukungan teknis dari MySQL dinilai
tidak responsive, banyak pengembang yang beranggapan
bahwa ketika berhadapan dengan masalah yang berbasis
pada MySQL pengembang akan mengalami kesulitan
pengaduan kepada Technical Support.
2. Batasan Kemampuan, MySQL merupakan salah satu DBMS
yang tidak membutuhkan resource mempuni untuk
beroperasi, jika harus dioperasikan pada spesifikasi
computer yang tinggi (server) MySQL juga akan dapat
beroperasi dengan baik. Kekurangan dari MySQL yaitu
ketidakmampuannya mengolah data yang sangat besar
karena batasan fasilitas, oleh karena itu MySQL dianggap
tidak tepat untuk penggunaan skala perusahaan besar.
2. Oracle
Oracle yaitu salah satu jenis Database Management
System yang tidak kalah popular bagi para pengembang system,
DBMS ini dikembangkan dengan menggunakan bahasa mesin
(Assembly) yang kemudian digantikan oleh SQL, pada dasarnya
DBMS ini memiliki fungsi dan fasilitas yang hampir sama dengan
DBMS MySQL yaitu mengelola informasi secara akurat,
12
komprehensif dan terintegrasi, DBMS ini pertama kali
dikembangkan oleh programmer computer yang bernama Larry
Ellison, Bob Miner dan Ed Oates pada tahun 1977 dibawah
naungan sebuah perusahaan Software Development Laboratories
(SDL) yang sekarang (sejak tahun 1983) telah berganti nama
menjadi Oracle Corporation. Pada tahun dimana Oracle dirilis
yaitu 1979 DBMS ini telah mampu melakukan pengolahan data
dalam jumlah yang sangat besar jika dibandingkan dengan DBMS
jenis lain.
a) Kelebihan Oracle
1. Scalability, yaitu kemampuan yang dimiliki oleh DBMS
Oracle dalam menangani banyaknya user yang dalam satu
waktu melakukan koneksi secara bersamaan, akses yang
dilakukan secara bersamaan oleh pengguna tidak
mempengaruhi performance dari DBMS ini.
2. Reliability, yaitu kemampuan yang dimiliki oleh DBMS
Oracle dalam melindungi data yang disebabkan oleh
kegagalan fungsi pada system.
3. Serviceability, yaitu kemampuan yang digunakan untuk
menangani permasalahan yang dialami, baik mendeteksi,
mengoreksi, maupun melakukan re-konfigurasi struktur
data yang bermasalah.
4. Availability, yaitu fasilitas yang digunakan untuk
melakukan penanganan pada masalah yang dihadapi oleh
system namun tetap menjaga agar servicenya tetap
berjalan.
5. Multiplatform, sama halnya dengan DBMS MySQL, Oracle
juga dapat digunakan pada beberapa jenis system operasi
antara lain Windows, Unix, Linux, dan berbagai system
operasi lain.
6. Handal dan Aman, Oracle memiliki kelebihan dibandingkan
dengan DBMS lain yaitu kemampuannya menampung data
yang sangat besar dan Keamanan yang cukup handal.
7. Dapat menampung tipe data yang sangat banyak antara lain
text, image, sound, video, time series, dan berbagai tipe
data lainnya.
13
b) Kekurangan Oracle
1. DBMS Oracle yaitu DBMS yang cenderung dianggap sulit
oleh sebagian pengembang karena kompleksitasnya.
2. Spesifikasi hardware yang dibutuhkan untuk
mengimplementasikan DBMS Oracle yaitu spesifikasi
computer yang tinggi, hal ini dilakkukan agar system dapat
berjalan dengan stabil, namun jika diaplikasikan pada
sumberdaya computer yang terbatas hal ini akan
berdampak pada tidak optimalnya DBMS dalam beroperasi.
Ini menjadi salah satu alasan mengapa DBMS Oracle Hanya
diperuntuhkan bagi perusahaan besar, karena
penggunaannya akan dapat dilakukan secara maksimal
dengan pengolahan data yang besar dan dukungan
sumberdaya computer yang maksimal.
3. Firebird
Firebird yaitu sebuah perangkat lunak pengolah basis data
yang bersifat opensource, DBMS ini pertama kali dikembangkan
oleh perusahaan yang bernama Borland sekitar tahun 2000, versi
beta dari aplikasi basis datanya pada saat itu yaitu Interbase 6.0.
pada saat itu source code dari Interbase 6.0, beredar secara luas di
internet, namun beberapa waktu kemudian Borland tidak lagi
menetapkan versi Interbase secara open source namun bersifat
komersial, hal ini menunjukan bahwa peredaran source code hasil
pengembangan lebih lanjut dari Interbase tidak dapat lagi
dimanfaatkan secara bebas. Berdasarkan source code Interbase
yang pertama kali di rilis oleh Borland programmer-programer
yang tergabung kedalam sebuah tim pengembang perangkat
lunak tertarik mengembangkan software pengolah basis data
tersebut dan diberi nama Firebird.
Pengembangan demi pengembangan terus dilakukan,
kemampuan Firebird dari versi ke versi terus menunjukan fitur-
fitur mempuni yang terdapat dalam standar ANSI SQL-99 dan
SQL-2003. RDBMS ini telah dilakukan ujicoba untuk
kompatibelnya terhadap system operasi dan terbukti dapat
berjalan dengan baik pada system operasi Linux, Windows
14
maupun sejumlah platform unix. Firebird yang merupakan hasil
pengembangan dari source code milik Interbase 6.0 yang
dikembangkan oleh borlan kini pengelolaan dan
pengembangannya berada dibawah naungan FirebirdSQL
Foundation. Software Basis data ini dapat digunakan untuk
kebutuhan personal maupun keperluan bisnis skala menengah
dengan penggunaan license IPL (Interbase Public License) dan
IDPL (Initial Developer’s Public License). Pemberlakukan license
IPL karena pada dasarnya Firebird yaitu hasil pengembangan
dari source code milik Interbase, sedangkan license IDP yaitu
license yang diberlakukan untuk sebagian code dan konsep yang
dikembangkan oleh Firebird foundation.
a) Kelebihan Firebird
1. License dan penggunaan yang Fleksibel, (1) firebird dapat
digunakan secara gratis untuk kebutuhan personal maupun
kelompok namun tidak diperkenankan untuk melakukan
klaim kepemilikan terhadap source code, untuk
mempertegas hal tersebut dikatakan bahwa file license
yang terdapat dalam folder source code Firebird tidak
diperkenankan untuk dihapus atau dimodifikasi. (2)
Firebird mengijinkan setiap orang yang hendak melakukan
modifikasi terhadap source code yang tentunya hasil dari
modifikasi tersebut harus dilicense-kan dengan license
yang sama, sehingga tidak dapat diperjual belikan. (3). Bagi
pengembang perangkat lunak DBMS dapat memanfaatkan
source code Firebird, untuk membuat software DBMS
lainnya dengan catatan bagian dari perangkat lunak
tersebut yang memanfaatkan source code Firebird harus
tetap menggunakan license yang sama (IPL dan IDPL)
sedangkan bagian lain yang dikembangkan dapat memilih
license yang berbeda.
2. Community developer, Perangkat lunak DBMS Firebird
memiliki komunitas pengembang meski tidak sebesar
komunitas MySQL dan Oracle, dengan aktifnya komunitas
ini kemampuan, dan keamanan dari DBMS ini dapat terus
dikembangkan, tidak hanya itu komunitas ini juga dapat
15
dijadikan sebagai media untuk bertukar permasalahan
yang dihadapi selama penggunaan DBMS Firebird.
3. MultiOS dan Minimum Resources, Firebird merupakan jenis
DBMS yang dapat digunakan pada setiap system operasi,
baik Linux, Windows, MacOS dan Unix, dalam
implementasinya Firebird tidak membutuhkan
resources/sumberdaya computer yang memadai dalam
implementasinya (Minimum Memory 1 Megabyte),
penggunaan dengan spesifikasi computer yang minimal
tidak membuat kemampuan firebird menjadi tidak
maksimal.
b) Kekurangan Firebird
1. Minimum User, terdapat banyak kelebihan yang dimiliki
oleh Firebird, akan tetapi pengguna dari DBMS ini relative
lebih sedikit dibandingkan dengan DBMS lainnya. Beberapa
factor yang dianggap sebagai penyebabnya antara lain,
Firebird tidak didukung oleh beberapa perusahaan besar
yang bergerak pada Teknologi Informasi seperti Oracle,
IBM, Microsoft, dan sebagainya sehingga membatasi
perkembangan fitur dan promosi dari DBMS ini.
2. Website official dari Firebird memiliki tampilan yang tidak
meyakinkan bahwa DBMS ini memiliki fitur, layanan,
fasilitas, keamanan dan masa depan yang baik pada bidang
teknologi informasi, bahkan beberapa pengguna
menganggapnya telah ketinggalan jaman, hal ini menjadi
salah satu alasan utama yang membuat sedikitnya peminat
dari DBMS ini.
4. Microsoft SQL Server
Pengembang system tentu sudah merasa tidak asing lagi
dengan nama perangkat lunak DBMS Microsoft SQL Server,
perangkat lunak ini yaitu salah satu program unggulan yang
dikembangkan oleh Microsoft dengan menggunakan Transact SQL
sebagai Query utamanya yang dimana query ini merupakan
implementasi dari SQL standar ANSI/ISO yang digunakan oleh
Microsoft dan Sybase. Perangkat lunak DBMS jenis ini dirancang
16
secara khusus untuk arsitektur system informasi yang berbasis
client server, beberapa fitur andalan yang dimiliki oleh Microsoft
SQL Server yaitu memiliki kemampuan untuk membuat basis data
mirror serta clustering.
SQL (Structure Query Language) yaitu salah satu bahasa
yang digunakan oleh computer untuk mengakses data-data yang
tersimpan dalam sebuah basis data, sampai saat ini hampir
seluruh perangkat lunak DBMS sudah menggunakan SQL untuk
membantu melakukan koreksi dan implementasi dari pengolahan
dan management basis data.
a) Kelebihan Microsoft SQL Server
1. Bekerja dengan sangat baik pada system operasi berbasis
Windows, karena sama-sama merupakan produk yang
dikembangkan oleh Microsoft.
2. Terpusat, DBMS ini memiliki pengelolaan yang dapat
dilakukan secara terpusat, sehingga tidak memungkinkan
terjadinya kesalahan dalam pengelolaan, manajemen, dan
implementasi basis data.
3. Fitur Recovery dan Restore data, DBMS ini memiliki fasilitas
yang digunakan untuk membantu dalam memecahkan
permasalahan data yang hilang atau rusak akibat dari
kesalahan management yang dilakukan.
4. Keamanan, Fasilitas keamanan yang dimiliki oleh DBMS
Microsoft SQL Server dianggap baik karena terbukti aman
dari ujicoba serangan yang telah dilakukan.
b) Kekurangan Microsoft SQL Server
1. Berbayar, untuk dapat menggunakan produk Microsoft SQL
Server Microsoft telah memasang harga yang cukup tinggi
pagi para penggunanya.
2. Tidak multi OS, Microsoft SQL Server hanya dapat digunakan
pada system operasi yang berbasis Windows.
3. DBMS Microsoft SQL Server terkenal dengan pasangan
bahasa pemrograman yang mendukungnya yaitu .net,
selain itu DBMS ini tidak akan mampu bekerja secara
maksimal ketiga dipadukan dengan bahasa pemrograman
lainnya.
17
4. DBMS Microsoft SQL Server dianggap tidak mampu untuk di
implementasikan pada skala data yang besar tidak seperti
halnya dengan DBMS Oracle.
5. PostgreSQL
PostgreSQL atau (Post-gress-SQL) yaitu sebuah perangkat
lunak DBMS yang dikembangkan oleh mahasiswa dan staff
programmer University of California, Barkeley dibawah arahan
Professor Michael Stonebraker. Perangkat lunak yang
dikembangkan bersifat Opensource, DBMS ini disebarluaskan
secara bebas dan gratis menurut Perjanjian License BSD.
Perangkat lunak ini yaitu salah satu perangkat lunak DBMS yang
paling banyak digunakan saat ini, selain MySQL dan Oracle.
Banyaknya peminat dari DBMS ini karena DBMS ini menyediakan
beberapa fitur yang berguna untuk kebutuhan replikasi basis data.
fitur-fitur yang disediakan antara lain DB Mirror, PGPool, Slony,
PGCluster, dan lainnya.
Versi pertama yang kembangkan oleh PostgreSQL dianggap
tidak memenuhi standar ANSI-SQL92 atau dengan kata lain
PostgreSQL tidak memenuhi standar pengolahan data berskala
besar, pengembangan demi pengembangan dilakukan untuk
mencapai standar tersebut, versi PostgreSQL yang diluncurkan
setelah itu yaitu versi PostgreSQL yang telah mencapai standar
ANSI-SQL selain itu juga PostgreSQL yang diluncurkan pada waktu
itu dianggap melebihi standar ANSI-SQL, yang berarti kemampuan
PostgreSQL dalam pengolahan data dengan skala besar melebihi
kemampuan DBMS lain diantarannya yaitu Oracle. Pada saat
bersamaan PostgreSQL dinobatkan oleh Linux Award sebagai
DBMS pilihan dengan performa dan kemampuan yang optimal
dan menempatkan Oracle pada tempat ke-dua.
Perbedaan yang paling mendasar antara postgres dengan
perangkat lunak DBMS lainnya terdapat pada kemampuan DBMS
PostgreSQL yang memungkinkan user dapat mendefinisikanSQL-
nya secara sendiri terutama untuk pembuatan function. Hal ini
dimungkinkan karena informasi yang terdapat pada PostgreSQL
tidak hanya tabel dan kolom melainkan type, fungsi, cara akses,
dan beberapa informasi lain. Keseluruhan fasilitas tersebut
18
dihimpun dalam bentuk class yang memungkinkan user untuk
merubahnya. Dengan model class seperti ini PostgreSQL dianggap
lebih mudah untuk dikembangkan pada tingkatan user, selain itu
PostgreSQL dapat mendefinisikan sebuah tabel sebagai turunan
tabel lain. Dimana pada DBMS konvensional hal itu hanya bisa
dilakukan dengan mengganti source code-nya atau menggunakan
modul tambahan.
a) Kelebihan PostgreSQL
1. PostgreSQL yaitu perangkat lunak DBMS yang mendapat
dukungan antar muka dari berbagai bahasa pemrograman
seperti Perl, PHP, C++, Phyton, Java dan beberapa bahasa
pemrograman lain.
2. PostgreSQL dapat beroperasi pada banyak system operasi
antara lain (Windows, Linux, UNIX (AIX, HP-UX, BSD, SGI
IRIX, Solaris, Mac OS X, Tru64).
3. PostgreSQL mendukung sebagian besar standar SQL dan
menawarkan banyak fitur seperti Complex SQL queries,
SQL Sub-selects, TriggeForeign keys, Trigger, Transactions,
Views, Multiversion concurrency control r, (MVCC), Hot
Standby (as of 9.0), Streaming Replication (as of 9.0).
4. PostgreSQL memiliki arsitektur multiproses (forking) yang
berarti memiliki stabilitas yang lebih tinggi dari DBMS
lainnya.
5. PostgreSQL telah menyedikanan banyak fasilitas yang
dimiliki oleh DBMS komersial pada umumnya.
6. PostgreSQL memiliki tipe data geometri (seperti titik, garis,
lingkaran, poligon) yang dimungkinkan dapat bermanfaat
bagi user yang mengembangkan aplikasi ilmiah tertentu.
7. PostgreSQL juga memiliki kemampuan untuk membuat
konektifitas dengan database lain seperti pgdump,
Interbase, pgaccess dan hampir semua database yang
terdapat pada system operasi Linux.
b) Kekurangan PostgreSQL
1. Tidak begitu populer dikalangan programmer web karena
dianggap tidak begitu cocok jika diimplementasikan pada
19
aplikasi berbasis website dibandingkan dengan DBMS
MySQL.
2. Pengembangan DBMS PostgreSQL tidak memperhatikan
kecepatan pengolahan data serta dianggap kurang unggul
dalam ketersediaan fungsi built-in.
3. Model dan Arsitektur dari PostgreSQL dengan multiproses
yang dimilikinya dianggap sulit sulit diterapkan pada
system operasi berbasis Windows, sebab Windows
menggunakan konsep thread-oriented kecuali dengan
memanfaatkan lapisan emulasi Cygwin.
[
6. MongoDB
MongoDB berasal dari kata “Humongous” yang merupakan
sebuah Document-Oriented Database yang bersifat Opensource
yang awalnya dibuat dengan bahasa C++, Perangkat lunak ini
dikembangkan oleh 10gen sejak Oktober 2007, namun baru
dipublikasikan pada Februari 2009, Selain karena performanya 4
kali lebih cepat dibandingkan MySQL serta mudah diaplikasikan,
karena telah tergabung juga sebagai modul PHP, MongoDB
berbeda dengan perangkat lunak DBMS yang bersifat Relational
seperti MySQL, Oracle, PostgreSQL, dan Microsoft SQL Server.
MongoDB yaitu perangkat lunak basis data yang bersifat
NoSQL atau yang sering disebut dengan istilah Not Only SQL yang
merupakan istilah system manajemen basis data yang berbeda
dari konsep manajemen basis data relasional pada umumnya yang
memanfaatkan SQL, Dalam implementasinya MongoDB tidak
mengenal yang namanya tabel, kolom dan baris, jadi tidak ada
schema dalam MongoDB (schema-less), unit paling kecil dari
MongoDB yaitu document, sedangkan kumpulan dari document
yaitu collection, seperti halnya dalam database relasional
document itu ibarat record dan collection pada sebuah tabel.
document dalam MongoDB dapat memiliki atribut yang berbeda-
beda dengan document yang lainnya walaupun dalam satu
collection.
20
a) Kelebihan MongoDB
1. Performa yang ditawarkan MongoDB lebih cepat
disebabkan oleh Memcached dan format dokumennya yang
berbentuk seperti JSON.
2. Pengguna tidak perlu membuat struktur tabel, karena
MongoDB akan otomatis membuatkan struktur tabelnya
pada saat proses insert (fleksibel skema).
3. MongoDB juga sudah mendukung C, C++, C#, Erlang,
Haskell, Java, JavaScript, .NET(C# F#, PowerShell), Lips,
Perl, PHP, Python, Ruby dan Scala.
4. Cross-platform, sehingga dapat digunakan di Windows,
Linux, OS X dan Solaris.
5. Proses CRUD (Create, Read, Update, Delete) terasa sangat
ringan.
6. Map/Reduce, akan sangat membantu ketika kita melakukan
operasi agregasi. Dimana semua entry datangnya dari
collection dan outputnya pun akan menjadi collection juga.
Kalau di MySQL biasanya kita menggunakan query GROUP
BY.
7. GridFS, spesifikasi yang digunakan untuk menyimpan data
yang sangat besar.
b) Kekurangan MongoDB
1. Belum banyak hosting yang support.
2. Fleksibelitas dalam query (sebagai contoh tidak adanya
JOIN).
F. Hirarki Basis Data
Hirarki merupakan sebuah gambaran yang digunakan untuk
memahami sebuah konsep yang kompleks, dimana konsep tersebut
diuraikan kedalam elemen-elemen secara hirarkis berdasarkan
tingkatannya agar dapat memahami struktur, keterkaitan, dan
interaksi dalam sebuah suatu system. Hirarki dalam basis data
diurutkan dari perangkat lunak DBMS, Database, Table, Field, Record
Data, dan Character seperti yang diuraikan pada gambar berikut ini:
21
Gambar 3. Hirarki Database
Untuk memahami gambar diatas akan diberikan penjelasan sebagai
berikut:
1. DBMS, seperti yang telah dijelaskan sebelumnya komponen ini
yaitu komponen utama yang harus disediakan dalam
membangun sebuah basis data, baik yang bersifat gratis maupun
berbayar, DBMS yaitu sebuah perangkat lunak uang digunakan
untuk membuat, mengelola, memanajemen dan mengamankan
basis data, seperti MySQL, Oracle, Firebird, Microsoft SQL Server,
dan PostgreSQL.
2. Database, merupakan sebuah media yang di rancang
menggunakan salah satu dari perangkat lunak DBMS, media yang
dirancang tersebut akan digunakan untuk menampung data yang
menjadi informasi penting dalam pengelolaan.
3. Table, merupakan bagian terpenting dari keberadaan database,
tabel dapat berjumlah banyak maupun sedikit dalam sebuah
database, tabel dalam database tersusun oleh field, dan record
data.
22
4. Field, yaitu bagian dari tabel yang berupa aturan dalam
penulisan (input) record data. atau dengan istilah lain Field
merupakan kolom dari sebuah tabel yang memiliki ukuran type
data tertentu untuk ditampung.
5. Record, merupakan informasi yang ditampung oleh Field. Record
data terbentuk dari kumpulan character yang diinputkan.
6. Character, yaitu bagian data yang terkecil dari basis data, dapat
berupa karakter numeric, huruf, maupun karakter khusus (special
characters) yang membentuk suatu item (1 item yang terbentuk
dari satu/lebih character disebut sebagai 1 Record data).
G. Evaluasi Materi
Jawablah soal-soal berikut ini dengan benar:
1. Gambar disamping yaitu gambar
tentang pemanfaatan database dalam
kehidupan sehari hari.
berdasarkan alur antar komponen
dari gambar tersebut, komunikasi
berlangsung dari pembeli menuju
kasir, system dan database, dapatkah
anda menjelaskan alur balasan dari
hasil respon database tersebut?
2. Dapatkah anda menyebutkan komponen-komponen yang
mendukung keberadaan DBMS? Serta jelaskan konsep dukungan
yang diberikan terhadap DBMS?
3. “DBMS berperan sebagai perantara user dengan basis data,
keberadaan DBMS memungkinkan user dapat menambahkan,
mengurangi, memodifikasi, menghapus serta mengelola system
aplikasi yang telah dikembangkan sebelumnya” berikan pendapat
anda tentang teori tersebut?
4. Dapatkah anda menyebutkan data seperti apa yang dapat
ditampung serta dikelola oleh DBMS?
5. Dapatkah anda memberikan perbandingan terkait dengan
keunggulan dan kekurangan dari berbagai macam DBMS?
23
BAGIAN 2
Praktikum dasar penggunaan DBMS
A. XAMPP sebagai software Pendukung
XAMPP yaitu sebuah perangkat lunak (software) yang
berlicense GNU General Public License atau dengan istiilah lain,
perangkat lunak ini dapat diperoleh dan digunakan secara gratis,
XAMPP merupakan uraian dari istilah Multi system operasi, Apache,
MySQL, PHP dan Perl. Perangkat lunak ini dikembangkan oleh sebuah
perusahaan yang bernama Apache Friends dengan tujuan membuat
server pribadi baik server website, database server, maupun
beberapa kebutuhan pembangunan server lainnya. Dalam buku ini
akan membahas terkait dengan pemanfaatan XAMPP pada system
operasi windows, untuk mendukung aktivitas praktikum mahasiswa
dalam membuat dan mengelola basis data melalui DBMS MySQL.
Untuk memulai langkah instalasi XAMPP anda diwajibkan untuk
memperoleh perangkat lunaknya terlebih dahulu melalui situs resmi
http://www.apachefriends.org/download.html. Setelah mengunjungi
laman resmi tersebut anda akan dihadapkan dengan pilihan berbagai
jenis XAMPP sesuai dengan system operasi yang anda gunakan,
dalam buku ini penulis menggunakan XAMPP dengan versi 2.5.8.
Setelah mempelajari Bagian 2 ini mahasiswa mampu:
1. Melakukan Praktikum installasi XAMPP dan mengakses MySQL
Server melalui CMD Windows
2. Melakukan Praktikum dalam Membuat dan menampilkan
database
3. Memahami tipe-tipe tabel dan field (tipe data) dalam MySQL
4. Melakukan praktikum menghapus, membuat, menampilkan dan
mendeskripsikan database
5. Melakukan Praktikum dalam Mengubah, menghapus, menambah,
dan menampilkan RECORD pada database
24
Sebelum anda memahami materi-materi yang disajikan dalam
buku ini, terlebih dahulu anda memasang perangkat lunak XAMPP,
dalam perangkat lunak tersebut terdapat DBMS MySQL yang
digunakan sebagai database server, Pada buku ini anda akan
dibimbing secara bertahap untuk dapat mempraktikan setiap materi
yang disampaikan.
XAMPP memiliki 3 bagian penting dalam mendukung kinerja
pengembang (developer) dalam penggunaannya yaitu (1) Htdocs,
yaitu lokasi yang berbentuk folder dari hasil installasi XAMPP,
folder tersebut digunakan untuk menampung seluruh file seperti file
PHP, HTML, File lain yang terkait, (2) PhpMyadmin yaitu yaitu
sebuah layanan yang digunakan untuk mengakses, membuat,
menghapus serta mengelola database, (3) Control Panel yang
merupakan sebuah layanan pengelolaan XAMPP, terkait dengan start
dan stop dari servicenya.
B. Praktikum 1: Melakukan instalasi XAMPP
Setelah mendapatkan software XAMPP melalui situs resmi, anda
dapat memulai
instalasinya dengan
melakukan klik ganda
pada master aplikasi
tersebut.
Gambar disamping
menjelaskan bahwa
hasil instalasi software
XAMPP ditujukan pada
Partisi C:\
Klik Install untuk memulai proses instalasi XAMPP
Gambar disamping menjelaskan bahwa shortcuts dari hasil
install akan terdapat
pada start menu atau
Desktop, ketik huruf y
lalu Enter untuk
mengakhiri proses
install XAMPP
25
Untuk mengoperasikan XAMPP lakukan klik ganda pada shotcuts
XAMPP yang terdapat pada Desktop atau start menu.
Gambar disamping merupakan tampilan dari control panel
aplikasi XAMPP, yang
berfungsi untuk
menjalankan service
dari 5 fasilitas yang
disediakan, pada
praktikum ini anda
perlu mengaktifkan
service Apache dan
MySQL saja, lalu klik
tombol Start dari dua
service tersebut.
C. Praktikum 2: Akses MySQL Server melalui Command Prompt
Langkah pertama yang dilakukan yaitu mengakses Command
Prompt dengan menekan tombol START ➔ RUN lalu ketikan cmd,
dan tekan tombol Enter.
Selanjutnya Ketikan perintah berikut pada Command Prompt
Langkah yang dilakukan diatas digunakan untuk mengakses
MySQL melalui Command Prompt, perintah C:\xampp\mysql\bin
menunjukan bahwa lokasi MySQL dapat diakses melalui Partisi,
Folder dan Sub Folder tersebut, sedangkan perintah MySQL –u
root –p yaitu perintah yang menunjukan bahwa untuk
26
mengakses MySQL membutuhkan username “root” serta
password yang secara default dikosongkan.
D. Praktikum 3: Membuat dan menampilkan Database
Untuk membuat database dapat menggunakan perintah create
database <nama database>; yang dalam praktikum ini kita akan
membuat sebuah database dengan nama “siakad”.
Baris informasi dalam kotak biru pada gambar diatas menunjukan
bahwa perintah create database siakad; telah berhasil dieksekusi
(database siakad telah berhasil diciptakan) dengan waktu
eksekusi perintah selama 0.13 detik.
Selanjutnya, untuk menampilkan database yang telah dibuat dapat
menggunakan perintah show databases;
Lingkar merah yang terdapat pada gambar diatas yaitu nama
database “siakad” yang sebelumnya telah dibuat.
Untuk dapat melakukan pengelolaan terhadap database siakad
terlebih dahulu mengetikan format perintah use <nama
database>; atau use siakad;
27
Setelah berhasil melakukan praktikum diatas, dapat dipastikan
bahwa database siakad sudah siap untuk dikelola lebih lanjut.
E. Memahami Tipe-tipe Tabel dan Field dalam MySQL
Sebelum melakukan pengelolaan terhadap database yang telah
di buat sebelumnya terlebih dahulu anda harus memahami Tipe-tipe
Tabel dan Field dalam MySQL.
1. Tipe-tipe Tabel dalam MySQL
Berdasarkan Hirarki sebuah basisdata, Pembuatan tabel yaitu
langkah yang selanjutnya dilakukan setelah pembuatan Database,
dalam MySQL pengguna dapat menentukan tipe pada setiap tabel
yang dibuat hal ini bergantung pada konfigurasi yang dilakukan
pada awal install aplikasi, dalam implementasinya MySQL
memiliki 3 tipe data yang utama, antara lain MyISAM, InnoDB,
HEAP, BDB, Archieve, CSV, NDB Table, dan Federated. Pada bagian
ini akan dibahas 3 (tiga) tipe data yang paling popular yaitu
MyISAM, InnoDB, dan HEAP. Penetapan tabel pada MySQL yang
diinstal melalui aplikasi XAMPP secara default tipe tabelnya
MyISAM.
a) MyISAM
Tipe tabel MyISAM yaitu tipe tabel yang dianggap paling
sederhana dari tipe tabel lain, selain itu stabil dan mudah
untuk digunakan Serta memiliki kemampuan dalam
pengindeksan teks yang lengkap. Tipe tabel MyISAM terbagi
kedalam 3 jenis tabel MyISAM, yaitu:
1) MyISAM Static, yaitu jenis tabel yang digunakan untuk
kolom dalam tabel yang ber-ukuran pasti (fixed). Istilah
berukuran pasti menjelaskan bahwa dalam kolom tidak
memiliki tipe data seperti VARCHAR, TEXT dan BLOB.
2) MyISAM Dynamic, yaitu jenis tabel yang bersifat dinamis,
karena mampu menampung tipe data seperti VARCHAR,
TEXT dan BLOB.
3) MyISAM Compressed, yaitu jenis tabel yang dihasilkan
dari kompresi antara tabel MyISAM Static dan Dynamic,
hasil kompresi yang dilakukan akan membuat jenis tabel
ini lebih kecil dari segi kapasitas/ukuran. Tabel yang telah
28
terkompresi memiliki batasan operasi seperti perintah
INSERT, UPDATE dan DELETE.
b) InnoDB
Berbeda dengan tipe tabel MyISAM, tipe tabel ini memiliki
kelebihan dalam mendukung proses transaksi antar tabel,
mendukung Row-Level-Locking, Mendukung Foreign- Key
Constraints, serta Crash recovery.
c) HEAP
Tipe tabel HEAP yaitu tipe tabel yang memanfaatkan RAM
(Random Acces Memory) sebagai media penyimpananya,
karena sifat memory yang temporary (sementara), tabel yang
dibuat dengan jenis ini secara otoomatis akan terhapus
(hilang) jika server MySQL dimatikan.
2. Tipe-tipe Field pada MySQL
Dalam MySQL terdapat beberapa tipe data yang paling umum atau
sering digunakan oleh programer untuk setiap kolom (field) pada
tabel antara lain:
1. Tipe Numeric, merupakan tipe data (karakter) yang
digunakan untuk menampung data numeric (angka), data yang
ditampung dimungkinkan untuk dikenai operasi aritmatika
seperti operasi penjumlahan, pengurangan, perkalian, serta
operasi pembagian. Berikut ini akan dibahas field (kolom)
yang termasuk kedalam tipe numeric:
1) TINYINT (Tiny Integer), yaitu tipe data yang digunakan
untuk menampung bilangan bulat positif dan bilangan bulat
negatif, tipe data ini memiliki jangkauan bilangan antara -
128 s/d 127, besaran ukurannya yaitu 1 byte (8 bit),
dengan jumlah maksimal angka yang mampu ditampung
yaitu 0 s/d 255.
2) SMALLINT (Small Integer), yaitu tipe data yang
digunakan untuk menampung bilangan bulat positif dan
bilangan bulat negatif, tipe data ini memiliki jangkauan
bilangan antara -32.768 s/d 32.767, besaran ukurannya
yaitu 2 byte (16 bit), dengan jumlah maksimal angka yang
mampu ditampung yaitu 0 s/d 65.535.
29
3) MEDIUMINT (Medium Integer), yaitu tipe data yang
digunakan untuk menampung bilangan bulat positif dan
bilangan bulat negatif, tipe data ini memiliki jangkauan
bilangan antara -8.388.608 s/d 8.388.607, besaran
ukurannya yaitu 3 byte (24 bit), dengan jumlah maksimal
angka yang mampu ditampung yaitu 0 s/d 16.777.215.
4) INT (Integer), yaitu tipe data yang digunakan untuk
menampung bilangan bulat positif dan bilangan bulat
negatif tipe data ini memiliki jangkauan bilangan antara -
2.147.483.648 s/d 2.147.483.647, besaran ukurannya
yaitu 4 byte (32 bit), dengan jumlah maksimal angka yang
mampu ditampung yaitu 0 s/d 4.294.967.295.
5) BIGINT (Big Integer), yaitu tipe data yang digunakan
untuk menampung bilangan bulat positif dan bilangan bulat
negatif, tipe data ini memiliki jangkauan bilangan antara -
9.223.372.036.854.775.808 s/d
9.223.372.036.854.775.807, besaran ukurannya yaitu 8
byte (64 bit), dengan jumlah maksimal angka yang mampu
ditampung yaitu 0 s/d 18.446.744.073.709.551.615.
6) FLOAT (Floating Point), yaitu tipe data yang digunakan
untuk menampung bilangan pecahan positif dan pecahan
negatif presisi tunggal, tipe data ini memiliki jangkauan
bilangan antara -3.402823466E+38 s/d -1.175494351E-
38, 0, dan 1.175494351E-38 s/d 3.402823466E+38,
besaran ukurannya yaitu 4 byte (32 bit), penulisan tipe
data ini ditandai dengan terdapatnya angka desimal
dibelakang tanda “titik”. Contoh 0.6 atau 3.30.
7) DOUBLE, yaitu tipe data yang sejenis dengan Float
digunakan untuk menampung bilangan pecahan positif dan
pecahan negatif presisi ganda, tipe data ini memiliki
jangkauan bilangan yang lebih panjang dibandingkan
dengan tipe data Float yaitu antara -1.79…E+308 s/d -
2.22…E-308, 0, dan 2.22…E-308 s/d 1.79…E+308,
besaran ukurannya yaitu 8 byte (64 bit).
8) DECIMAL, yaitu tipe data yang digunakan untuk
menampung bilangan pecahan positif dan pecahan negatif,
30
tipe data ini memiliki jangkauan bilangan yang lebih
panjang dibandingkan dengan tipe data Float yaitu antara -
1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-308 s/d
1.79…E+308, besaran ukurannya yaitu 8 byte (64 bit).
2. Tipe Date and Time, yaitu tipe data yang digunakan untuk
menampung data satuan waktu (Tahun, Bulan, Tanggal, Jam,
Menit, dan Detik). Berikut ini akan disajikan field (kolom) pada
MySQL yang termasuk kedalam tipe data Date and Time.
1) DATE, yaitu tipe data yang digunakan untuk menampung
data tanggal, dengan format (Tahun-Bulan-Hari) atau
(YYYY-MM-DD), tipe data ini memiliki jangkauan antara
1000-01-01 s/d 9999-12-31, besaran ukurannya yaitu 3
byte.
2) TIME, yaitu tipe data yang digunakan untuk menampung
data waktu, dengan format (Jam-Menit-Detik) atau
(HH:MM:SS), tipe data ini memiliki jangkauan antara -
838:59:59 s/d +838:59:59, besaran ukurannya yaitu 3
byte.
3) DATETIME, tipe data ini yaitu perpaduan dari 2 (dua)
tipe data sebelumnya yang digunakan untuk menampung
data waktu (Tahun, Bulan, Tanggal, Jam, Menit, dan Detik),
dengan format (Tahun–Bulan–Tanggal Jam:Menit:Detik)
atau (YYYY-MM-DD HH:MM:SS), tipe data ini memiliki
jangkauan antara ‘1000-01-01 00:00:00’ s/d ‘9999-12-31
23:59:59’, besaran ukurannya yaitu 8 byte.
4) YEAR, yaitu tipe data yang digunakan untuk menampung
data tahun saja, dengan format (YYYY), tipe data ini
memiliki jangkauan antara 1900 s/d 2155, besaran
ukurannya yaitu 1 byte.
3. Tipe String (Text), yaitu tipe data yang digunakan untuk
menampung data string (text). Tipe data ini dimungkinkan
untuk dikenai operasi aritmatika seperti penjumlahan,
pengurangan, perkalian serta pembagian, berikut tipe field
pada MySQL yang termasuk kedalam tipe string:
31
1) CHAR, yaitu tipe data yang digunakan untuk menampung
data string dengan ukuran tetap, tipe data ini memiliki
jangkauan antara 0 s/d 255 karakter.
2) VARCHAR, yaitu tipe data yang digunakan untuk
menampung data string dengan ukuran dinamis, tipe data
ini memiliki jangkauan antara 0 s/d 65.535 karakter.
5) TINYTEXT, yaitu tipe data yang digunakan untuk
menampung data text dengan ukuran kecil, tipe data ini
memiliki jangkauan antara 0 s/d 255 karakter, besar
ukurannya yaitu 255 byte.
3) TEXT, yaitu tipe data yang digunakan untuk menampung
data text dengan ukuran sedang, tipe data ini memiliki
jangkauan antara 0 s/d 65.535 (216-1) karakter, besar
ukurannya yaitu 64 KB.
4) MEDIUM TEXT, yaitu tipe data yang digunakan untuk
menampung data text dengan ukuran besar, tipe data ini
memiliki jangkauan antara 0 s/d 16.777.216 (224-1)
karakter, besar ukurannya yaitu 16 MB.
6) LONG TEXT, yaitu tipe data yang digunakan untuk
menampung data text dengan ukuran sangat besar, tipe
data ini memiliki jangkauan antara 0 s/d 4.294.967.295
(232-1) karakter, besar ukurannya yaitu 4 GB.
4. Tipe BLOB (Biner), yaitu tipe data yang digunakan untuk
menampung data versi binary dari suatu file atau object. BLOB
merupakan singkatan dari Binary Large Object, dimana
karakter akan disimpan dalam bentuk bit, klasifikasi besar dan
kecilnya huruf akan dibedakan sesuai dengan nilai
karakternya. Contoh A tidak sama dengan a. berikut ini akan
dijelaskan tipe field pada MySQL yang termasuk dalam tipe
data BLOB:
1) BIT, yaitu tipe data yang digunakan untuk menampung
data biner dengan ukuran sangat kecil yaitu 64 digit biner.
2) TINYBLOB, yaitu tipe data yang digunakan untuk
menampung data biner dengan ukuran kecil yaitu 255
byte.
32
3) BLOB, yaitu tipe data yang digunakan untuk menampung
data biner dengan ukuran sedang yaitu 65.535 atau 216 –
1 byte.
4) MEDIUMBLOB, yaitu tipe data yang digunakan untuk
menampung data biner dengan ukuran besar yaitu
16.777.215 atau 224 – 1 byte.
5) LONGBLOB, yaitu tipe data yang digunakan untuk
menampung data biner dengan ukuran sangat besar yaitu
4.294.967.295 atau 232-1 byte.
5. Tipe Data Lain
Selain tipe data yang dijelaskan diatas, MySQL juga memiliki
beberapa tipe data lain diantaranya yaitu:
1) ENUM, yaitu tipe data yang digunakan untuk menampung
nilai dari data yang telah ditentukan sebelumnya, pilihan
ini dapat berisi 1 s/d 65.535 pilihan string. Contoh pada
data pilihan Jurusan: enum(‘TIK’, ’Bahasa Inggris’, ’Agama
Islam’, ’PGSD’), dimana satu orang user hanya dapat
memilih 1 jurusan saja.
2) SET, yaitu tipe data yang digunakan untuk menampung
nilai dari data yang telah ditentukan sebelumnya, pilihan
ini dapat berisi 1 s/d 64 pilihan string. Contoh pada data
pilihan hoby: SET(‘Membaca’, ’Berenang’, ’Olahraga’,
’Travelling’), dimana satu orang user dapat memilih
lebih dari 1 Hoby.
F. Aturan dasar dalam perancangan Database
Setelah memahami tipe Tabel dan Tipe Field yang terdapat pada
DBMS MySQL buku ini akan mengajak anda memahami beberapa
aturan dasar dalam merancang sebuah database.
1. Redudancy dan peran Primary Key, Dalam database terdapat
field (kolom), yang mengandung record (data), record data
tersebut tidak boleh bernilai ganda. Contoh: terdapat tabel
Mahasiswa dengan field dan record data sebagai berikut:
Nama Mahasiswa Jurusan JK Agama Alamat
Arif Ekonomi L Islam Mataram
Arif Ekonomi L Islam Mataram
33
Record data pada tabel mahasiswa diatas menunjukan terjadinya
redundancy data dimana terdapat kesamaan antara record.
Pertanyaan: Apakah kesamaan record tersebut mungkin
terjadi?? YA, Sangat Mungkin terjadi (terdapat dua orang
mahasiswa yang memiliki nama, jurusan, JK, agama dan
alamat yang sama). Lalu bagaimana mencegahnya??
Perancang database harus membuat sebuah kolom “unik” pada
tabel mahasiswa tersebut dengan bertujuan untuk membedakan
antar record, kolom “unik” inilah yang disebut dengan “Primary
Key” berikut contoh tabel yang mengggunakan “Primary Key”:
NIM Nm_Mahasiswa Jurusan JK Agama Alamat
201601001 Arif Ekonomi L Islam Mataram
201601002 Arif Ekonomi L Islam Mataram
Field NIM pada tabel tersebut yaitu sebuah Primary Key yang
berguna untuk membedakan record. Kesimpulan 1: walaupun
dalam tabel tersebut memiliki dua orang mahasiswa dengan
identitas nama, jurusan, JK agama dan alamat yang sama
namun akan dibedakan oleh keberadaan field NIM.
Kesimpulan 2: setiap tabel harus memiliki field yang unik
sebagai Primary Key agar tidak terjadi redundancy data.
2. Tipe dan ukuran data yang tepat, dalam pemilihan tipe data,
perancang database harus memikirkan bahwa tipe data dan
ukuranya yang akan di Set pada setiap Field yaitu tipe data
dengan ukuran yang seharusnya. Contoh: field Agama tidak
mungkin ber-tipe data INTEGER, dan field JK tidak mungkin
ber-tipe data TINYTEXT dengan panjang 255 karakter.
Berikut ini akan diberikan contoh penentuan tipe data, ukuran
dan keterangan lain yang harus diperhatikan:
Field NIM Nm_Mahasiswa Jurusan JK Agama Alamat
Tipe data Char Varchar Varchar Varchar Varchar Text
Primary Key Ya Tidak Tidak Tidak Tidak Tidak
Ket- NULL
Harus
Berisi
Harus
Berisi
Harus
Berisi
Harus
Berisi
Boleh
Kosong
Harus
Berisi
Ukuran 9 40 15 2 8 65.535
34
3. Penamaan Identifier, dalam database, tabel, dan kolom pada
DBMS MySQL bersifat sangat sensitive, yang berarti perancang
harus secara konsisten dalam menetapkan identifier. Contoh:
penerapan lower-case, UPPER-CASE, camelCase, dsb. selain itu
maksimum karakter untuk identifier tersebut berjumlah 64
karakter, dan sebaiknya menghindari penggunaan karakter
khusus seperti üàû.
G. Praktikum 4: Menghapus Database
Struktur Perintah SQL yang digunakan untuk Menghapus
Database yaitu DROP DATABASE <nama database>; sebelum
melakukan penghapusan pada database sebaiknya anda
memastikan terlebih dahulu nama database yang akan dihapus
dengan mengetikan kembali perintah SHOW DATABASES; seperti
berikut ini:
Nama Database “siakad” yang dilingkar merah diatas yaitu nama
database yang akan di hapus dengan perintah DROP DATABASE
siakad; gambar berikut ini telah menunjukan bahwa database
dengan nama “siakad” telah berhasil dihapus.
Baris informasi dalam kotak biru pada gambar diatas menunjukan
bahwa perintah show databases; telah berhasil menampilkan 6
baris database dengan waktu eksekusi perintah selama 0.25 detik.
35
Untuk melanjutkan kembali praktikum yang telah direncanakan,
silahkan anda membuat kembali database dengan nama “siakad”
dengan perintah CREATE DATABASE siakad; lalu masuk
kedalam database “siakad” tersebut untuk dapat mengelola
database tersebut dengan perintah USE siakad;
H. Praktikum 5: Membuat, Menampilkan, dan mendeskripsikan
Database
Setelah menjalankan perintah USE siakad; seperti gambar diatas
langkah selanjutnya yaitu memahami Struktur perintah yang
digunakan untuk membuat sebuah tabel dalam database seperti
contoh berikut:
CREATE TABLE <nama_tabel> (
Field1 Tipe-data (Panjang-data) Info-NULL,
Field2 Tipe-data (Panjang-data) Info-NULL,
36
Dst…
PRIMARY KEY (Field_key)
);
Setelah memahami struktur perintah SQL diatas, selanjutnya akan
dipraktikan dalam pembuatan tabel yang sebenarnya dengan
struktur tabel yang direncanakan sebagai berikut:
Rancangan Tabel mahasiswa
No Field Tipe Data Panjang Data
1 id_mhs* Varchar 10
2 nm_mhs Varchar 45
3 alamat Text -
4 tmpt_lahir Varchar 15
5 tgl_lahir Date -
6 jk Varchar 2
7 agama Varchar 10
8 asal_sekolah Varchar 35
9 prodi Varchar 25
10 email Varchar 25
11 handphone char 12
Rancangan tabel diatas akan di terapkan pada database dengan
perintah SQL sebagai berikut:
CREATE TABLE mahasiswa (
id_mhs VARCHAR (10) NOT NULL,
nm_mhs VARCHAR (30) NOT NULL,
alamat TEXT,
tmpt_lahir VARCHAR (15),
tgl_lahir DATE,
jk VARCHAR (2),
agama VARCHAR (10),
asal_sekolah VARCHAR (35),
prodi VARCHAR (25),
email VARCHAR (25),
handphone CHAR (12),
PRIMARY KEY (id_mhs)
);
37
Keterangan perintah:
CREATE TABLE yaitu perintah dasar SQL untuk membuat
sebuah tabel dalam database siakad.
Mahasiswa yaitu nama tabel yang akan dibuat pada database
siakad.
id_mhs, nm_mhs, alamat, tmpt_lahir, tgl_lahir,
jk, agama, asal_sekolah, prodi, email,
Handphone yaitu nama field dari tabel mahasiswa yang dibuat
pada database siakad.
VARCHAR, TEXT, DATE dan CHAR yaitu Tipe data yang
ditetapkan pada masing-masing field yang terdapat pada tabel
mahasiswa.
NOT NULL yaitu opsi yang menandakan bahwa field tersebut
tidak boleh dibiarkan kosong ketika proses peng-Inputan kedalam
tabel mahasiswa.
10, 30, 15, 2, 35, 25, 12 yaitu angka yang digunakan
untuk menentukan panjang maksimal dari masing-masing field
yang terdapat pada tabel mahasiswa.
TEXT dan DATE yaitu tipe data yang panjang maksimalnya
tidak perlu ditentukan.
PRIMARY KEY yaitu perintah yang digunakan untuk
menentukan salah satu field yang akan dijadikan sebagai kunci
(Primary Key) dalam tabel mahasiswa.
Tanda baca Titik-koma (;) yaitu perintah yang
wajib digunakan untuk mengakhiri baris perintah
SQL.
38
Setelah struktur tabel mahasiswa terbentuk melalui perintah diatas,
selanjutnya akan ditampilkan tabel apa saja yang terdapat dalam
database siakad melalui perintah SHOW TABLES;
Gambar diatas menunjukan bahwa pada database siakad terdapat
satu tabel dengan nama mahasiswa, selanjutnya untuk melihat
deskripsi dari tabel mahasiswa tersebut secara detail maka diketikan
perintah DESC mahasiswa;
Perintah DESC yaitu singkatan dari kata DESCRIBE yang bermakna
menguraikan secara detail tentang struktur tabel yang terdapat
dalam database.
Keterangan struktur:
Bahwa dalam tabel mahasiswa terdapat 11 (Sebelas) field.
Kunci (Primary Key) dari tabel mahasiswa tersebut yaitu
id_mhs.
Untuk dua field ter-atas id_mhs dan nm_mhs secara default tidak
boleh dibiarkan kosong ketika proses penginputan karena telah
diuraikan NO pada kolom NULL.
39
Untuk 9 (sembilan) field lain (alamat, tmpt_lahir, tgl_lahir, jk,
agama, asal_sekolah, prodi, email, handphone) boleh dibiarkan
kosong ketika proses penginputan karena telah diuraikan Yes
pada kolom NULL.
Tidak Lengkapnya data pada saat proses input kedalam tabel, akan
membuat cacat pada informasi yang ditampung dalam tabel.
I. Praktikum 6: Mengubah Struktur Tabel pada Database
Dalam DBMS MySQL sebuah tabel dapat dirubah atau dimodifikasi
untuk memenuhi kebutuhan pengguna dengan bentuk struktur
perintahnya sebagai berikut:
ALTER TABLE <nama_tabel> <alter_options>;
Keterangan Perintah:
ALTER TABLE yaitu perintah SQL yang digunakan untuk
mengubah struktur tabel dalam database.
nama_tabel yaitu nama tabel yang terdapat dalam database
yang akan dirubah strukturnya yang dalam hal ini telah
ditentukan bahwa nama tabel dalam database siakad yang
dijadikan sebagai bahan latihan yaitu tabel mahasiswa.
alter_options yaitu pilihan yang digunakan untuk merubah
struktur tabel, diantaranya sebagai berikut:
ADD (definisi_field_baru)
yaitu opsi dari perintah SQL yang digunakan untuk
menambahkan field baru pada tabel yang terdapat dalam
database.
Struktur Perintah:
ALTER TABLE <nama tabel> ADD <field yang ingin
ditambahkan><tipe_data><(panjang_data)> <keterangan
NULL>;
Informasi dari gambar diatas menunjukan bahwa query untuk
menambahkan field baru dengan nama “jml_saudara” dengan
40
tipe data “char” dan panjang data “15” karakter dengan sifat
data tidak boleh kosong “NOT NULL” telah berhasil diproses
seperti yang ditunjukan pada gambar dibawah ini.
ADD INDEX (nama_index)
yaitu opsi dari perintah SQL yang digunakan untuk
menambahkan index pada tabel dalam database.
Struktur Perintah:
ALTER TABLE <nama tabel> ADD INDEX <(field yang
dijadikan index)>;
Informasi dari gambar diatas menjelaskan bahwa dalam tabel
mahasiswa telah ditetapkan (id_mhs) sebagai indexnya, yang
berarti pencarian data dalam tabel mahasiswa berdasarkan
index yang telah ditetapkan (id_mhs), Index bertujuan untuk
mempercepat proses (Query) pencarian data berdasarkan
kolom.
41
ADD PRIMARY KEY (Field_kunci)
yaitu opsi dari perintah SQL yang digunakan untuk
menambahkan primary key (Kunci) pada tabel dalam
database.
Struktur Perintah:
ALTER TABLE <nama_tabel> DROP <primary key awal>,
ADD <primary key baru><(field primary key baru 1, field
primary key baru 2);
Primary key yaitu sebuah nilai dalam database yang
digunakan untuk mengidentifikasi baris yang terdapat dalam
tabel, perintah SQL yang dieksekusi dengan CMD diatas yaitu
struktur perintah yang digunakan untuk menambahkan
primary key menjadi dua yaitu id_mhs dengan handphone,
(kondisi sebelumnya telah diketahui bahwa tabel mahasiswa
hanya memiliki satu primary key saja yaitu id_mhs) untuk itu,
baris perintah diatas digunakan untuk menambahkan primary
key menjadi dua, tapi sebelum itu primary key awal harus di
hapus terlebih dahulu menggunakan perintah DROP lalu di
ADD kembali dengan dua usulan primary key id_mhs dan
handphone dan untuk hasilnya dapat dilihat melalui deskripsi
tabel mahasiswa sebagai berikut:
42
Gambar diatas menunjukan bahwa dalam tabel mahasiswa
telah terdapat dua Primary Key (id_mhs dan handphone).
CHANGE (Field_yang_diubah definisi_field_baru)
yaitu opsi dari perintah SQL yang digunakan untuk
mengubah field lama menjadi field baru pada tabel yang
terdapat dalam database.
Struktur Perintah:
ALTER TABLE <nama_tabel> CHANGE <field_lama>
<field_baru> <tipe_data><(panjang_data)>;
Baris perintah SQL pada gambar diatas menjelaskan bahwa
field jk dengan tipe data VARCHAR dengan panjang data 2
karakter pada tabel mahasiswa dirubah menggunakan opsi
CHANGE menjadi jns_kelamin dengan tipe data VARCHAR
dengan panjang data 8 karakter seperti yang dideskripsikan
pada gambar berikut ini.
43
MODIFY (definisi_field)
yaitu opsi dari perintah SQL yang digunakan untuk
mengubah definisi dari sebuah field lama pada tabel dalam
database.
Struktur Perintah:
ALTER TABLE <nama_tabel> MODIFY <nama field yang
ingin dirubah><tipe_data><(panjang data)><keterangan
NULL>;
Opsi perintah MODIFY memiliki karakter yang tidak begitu
berbeda dengan opsi perintah CHANGE yang telah dijelaskan
sebelumnya, jika opsi perintah CHANGE hanya mampu
mengubah nama field dan panjang karakter, opsi perintah
MODIFY mampu melakukan yang lebih dari hal tersebut yaitu
mengubah definisi dari sebuah field. Baris perintah pada
gambar diatas menjelaskan bahwa field jml_saudara dengan
tipe data Char dan panjang data 15 karakter dirubah menjadi
field jml_saudara dengan tipe data INT (Integer) dan panjang
44
data 8 karakter seperti yang dideskripsikan pada gambar
berikut ini.
RENAME TO (nama_tabel_baru)
yaitu opsi dari perintah SQL yang digunakan untuk
mengganti nama tabel yang terdapat dalam database
Struktur Perintah:
ALTER TABLE <nama_tabel lama> RENAME TO
<nama_tabel baru>;
Baris perintah pada gambar diatas menjelaskan bahwa nama
tabel mahasiswa dirubah menjadi tabel mhs dengan
menggunakan opsi RENAME TO.
45
Gambar diatas menjelaskan bahwa ketika tabel mahasiswa
dideskripsikan dengan perintah desc mahasiswa; terjadi
kesalahan yang memunculkan informasi ERROR 1146 (42502):
Table “siakad.mahasiswa” doesn’t exist dengan artian bahwa
deskripsi tabel mahasiswa yang diperintahkan melalui
perintah desc mahasiswa; tidak dapat dipenuhi karena nama
tabel mahasiswa pada database siakad sudah dirubah menjadi
tabel mhs, dan selanjutnya perintah desc mhs; mampu
menampilkan deskripsi dari tabel mhs yang sebelumnya
yaitu tabel mahasiswa.
DROP (nama_field)
yaitu opsi dari perintah SQL yang digunakan untuk
menghapus nama field pada sebuah tabel.
Struktur Perintah:
ALTER TABLE <nama_tabel> DROP <nama_field yang ingin
dihapus>;
Gambar berikut menampilkan deskripsi tabel mhs yang masih
mengandung 12 field.
46
Baris perintah SQL pada gambar berikut ini menjelaskan
bahwa field jml_saudara akan dihapus dengan opsi perintah
DROP.
Hasil eksekusi dari perintah DROP pada gambar diatas
menunjukan bahwa field jml_saudara telah berhasil dihapus,
hal ini terbukti dari deskripsi tabel mhs pada gambar berikut
yang sudah tidak menampilkan field jml_saudara dengan total
11 field yang berhasil ditampilkan.
47
J. Praktikum 7: Menghapus Tabel pada Database
Sebuah tabel dalam database tidaklah bersifat permanen, dapat
dimodifikasi strukturnya, serta dapat di hapus secara permanen,
berikut ini akan ditunjukan bentuk perintah SQL untuk menghapus
sebuah tabel dalam database:
DROP TABLE <nama_tabel>;
Dalam contoh berikut ini akan diberikan contoh penghapusan tabel
mhs dalam database siakad.
Baris perintah DROP TABLE mhs; pada gambar diatas dilakukan
untuk menghapus tabel mhs pada database siakad dan hasil eksekusi
menampilkan informasi Query OK. Yang berarti tabel mhs telah
berhasil dihapus, sedangkan baris perintah dalam kotak merah
bertujuan untuk menampilkan kembali daftar tabel yang tersedia
dalam database siakad dan menampilkan informasi Empty set yang
berarti bahwa sudah tidak tersedia tabel apapun dalam database
siakad.
K. Praktikum 8: Menambah RECORD kedalam Tabel dengan
perintah INSERT
Record data yaitu sebuah nilai atau data yang akan menempati
struktur tabel yang dirancang sebelumnya, bentuk pertama dari
perintah SQL yang digunakan untuk menambahkan record kedalam
tabel mhs yaitu sebagai berikut:
INSERT INTO <nama_tabel> VALUES (‘nilai_1’,’nilai_2’,’nilai_3’,…’);
Berikut ini akan diberikan contoh dalam menambahkan record
kedalam tabel mhs yang telah dirancang sebelumnya:
INSERT INTO mhs VALUES ('C724201901', 'Arifin Ilham',
'Kecamatan Dompu', 'Bima', '1980-10-28', 'Pria', 'Islam', 'SMA Negeri
1 Dompu', 'PTI’, 'arifinilham@gmail.com', '085253190337');
48
Informasi pada kotak merah yang terdapat pada gambar diatas
menunjukan bahwa perintah SQL yang digunakan untuk menambah
record data kedalam tabel mhs telah berhasil dieksekusi dengan baik,
tentu untuk memastikan bahwa record data yang diinputkan tersebut
telah menempati setiap field yang disediakan dalam tabel terlebih
dahulu kita harus menampilkan isi tabel dengan struktur perintah
SQL sebagai berikut:
SELECT * from <nama_tabel>;
Dengan uraian: Perintah SELECT yaitu salah satu perintah SQL yang
digunakan untuk menampilkan isi dari salah satu tabel dalam
database, tanda “*” (bintang) merupakan opsi yang digunakan untuk
menampilkan seluruh field dari sebuah tabel dalam database,
sedangkan opsi <nama_tabel> yaitu opsi dari nama tabel pada
database yang akan ditampilkan isinya.
SELECT * from mhs;
Hasil eksekusi dari perintah SQL yang terdapat pada gambar diatas
menunjukan bahwa 11 (sebelas) field dalam tabel mhs telah memiliki
49
isi (record) sesuai dengan data (record) yang diinputkan melalui
perintah INSERT sebelumnya.
Bentuk yang kedua dari perintah yang digunakan untuk menambah
RECORD data dengan perintah INSERT antara lain sebagai berikut:
INSERT INTO <nama_tabel> (field_1, field_2, field_3,…)
VALUES (‘nilai_1’,’nilai_2’,’nilai_3’,…’);
INSERT INTO mhs (id_mhs, nm_mhs, alamat, tmpt_lahir, tgl_lahir,
jns_kelamin, agama, asal_sekolah, prodi, email, handphone) VALUES
('C724201901', 'Muhammad Juliansyah', 'Kecamatan Dompu',
'Dompu', '1990-06-26', 'Pria', 'Islam', 'SMA Negeri 2 Dompu', 'PGSD’,
'muhjuliansyah@gmail.com', '085253191234');
Berbeda dengan perintah INSERT sebelumnya yang tidak perlu
mendefinisikan field dari tabel tapi langsung menguraikan nilai
RECORD data yang ingin diinputkan, struktur perintah INSERT diatas
menunjukan bahwa field terlebih dahulu didefinisikan lalu RECORD
data ditulis berdasarkan jumlah field yang telah didefinisikan.
Hasil yang ditampilkan dari perintah diatas:
50
Gambar diatas menunjukan bahwa eksekusi dari perintah INSERT
dengan bentuk yang kedua telah berhasil menambahkan RECORD
data sesuai kotak merah pada tabel mhs.
Bentuk yang ketiga dari perintah yang digunakan untuk menambah
RECORD data dengan perintah INSERT antara lain sebagai berikut:
INSERT INTO <nama_tabel>
SET field_1=’nilai_1’, field_2=’nilai_2’, field_3=’nilai_3’,…;
INSERT INTO mhs SET id_mhs='C724201902', nm_mhs=’Budiman’,
alamat=’Kecamatan Bima', tmpt_lahir=’Bima', tgl_lahir=’1998-06-26',
jns_kelamin=’Pria', agama=’Islam', asal_sekolah=’SMA Negeri 3
Dompu', prodi=’PJKR’, email=’budiman@gmail.com', handphone
=’085253191212';
Perintah INSERT jenis ini menggunakan opsi SET untuk
mendefinisikan field secara langsung dengan pasangan RECORDnya.
Hasil yang ditampilkan dari perintah diatas:
51
Gambar diatas menunjukan bahwa eksekusi dari perintah INSERT
dengan bentuk yang ketiga telah berhasil menambahkan RECORD
data sesuai kotak merah pada tabel mhs.
L. Praktikum 9: Perintah SELECT untuk menampilkan RECORD
Pembahasan pada praktikum diatas telah menguraikan fungsi dari
perintah SELECT yang digunakan untuk menampilkan RECORD dari
sebuah tabel dalam database, bentuk umum dari perintah tersebut
sebagai berikut:
SELECT * FROM <nama_tabel>;
Perintah select bersifat dinamis dan dapat dikembangkan sesuai
dengan kebutuhan pengguna, berikut contoh dari pengembangan
perintah SELECT:
1. Menampilkan RECORD dari dua field pada tabel
Berikut ini dijelaskan struktur perintahnya:
SELECT <nama_field_1>, <nama_field_2> FROM <nama_tabel>;
Jika diuraikan sesuai dengan struktur diatas, maka:
SELECT id_mhs, nm_mhs FROM mhs;
Jika perintah SQL diatas berhasil dieksekusi maka menampilkan
hasil berikut ini.
Terlihat pada gambar diatas hanya menampilkan dua field dari
tabel mhs yaitu id_mhs dan nm_mhs, tidak hanya mampu
menyeleksi RECORD berdasarkan field, perintah SELECT juga
mampu menyeleksi RECORD berdasarkan sub RECORD seperti
yang dicontohkan dalam pembahasan berikut ini.
52
2. Menampilkan RECORD dari tiga field dengan informasi sub
RECORD pada tabel
Berikut ini dijelaskan struktur perintahnya:
SELECT <nama_field_1>, <nama_field_2>, <nama_field_3> FROM
<nama_tabel> WHERE <nama_field_yang_menjadi_key> = ‘nilai
field_key’;
Jika diuraikan sesuai dengan struktur diatas, maka:
SELECT id_mhs, nm_mhs, alamat FROM mhs WHERE id_mhs =
’C724201902’;
Jika perintah SQL diatas berhasil dieksekusi maka menampilkan
hasil berikut ini.
Terlihat pada gambar diatas hanya menampilkan tiga field dari
tabel mhs yaitu id_mhs, nm_mhs, dan alamat, field yang
ditampilkan tersebut berdasarkan nilai dari sub RECORD dari
field id_mhs = ‘C724201902’.
3. Menampilkan RECORD dari tiga field dengan klasifikasi
berdasarkan string menggunakan perintah LIKE
Berikut ini dijelaskan struktur perintahnya:
SELECT <nama_field_1>, <nama_field_2>, <nama_field_3> FROM
<nama_tabel> WHERE <nama_field_yang_diseleksi> LIKE ‘nilai
string_dari_field_yang_diseleksi’;
Jika diuraikan sesuai dengan struktur diatas, maka:
SELECT id_mhs, nm_mhs, alamat FROM mhs WHERE alamat LIKE
‘Dompu’;
53
4. Menampilkan RECORD dari empat field dengan klasifikasi
berdasarkan string menggunakan operator penghubung
Berikut ini dijelaskan struktur perintahnya:
SELECT <nama_field_1>, <nama_field_2>, <nama_field_3>,
<nama_field_3> FROM <nama_tabel> WHERE <nama_field_
yang_diseleksi_1> = ‘nilai_field_yang diseleksi_1’ && <nama_field_
yang diseleksi_2> LIKE ‘nilai string_dari_field_ yang_diseleksi_2’;
Jika diuraikan sesuai dengan struktur diatas, maka:
SELECT id_mhs, nm_mhs, alamat, email FROM mhs WHERE alamat
= 'Kecamatan Dompu' && email LIKE '%gmail.com';
Hasil eksekusi perintah diatas menjelaskan bahwa field yang
ditampilkan yaitu field id_mhs, nm_mhs, email dari tabel mhs
dimana field yang diseleksi yaitu field alamat dengan RECORD
yang berisi semua alamat dari ‘Kecamatan Dompu yang memiliki
email ‘gmail.com’, dua field yang diseleksi diatas dihubungkan
dengan operator penghubung “&& (AND)”. Operator tersebut
akan memeriksa dua kondisi (kondisi pertama yaitu field alamat
harus berisi RECORD “Kecamatan Dompu”, kondisi kedua yaitu
54
field email harus berisi RECORD “gmail.com”), jika salah satu
kondisi tersebut tidak terpenuhi, atau dengan kata lain tidak
mengandung RECORD dengan alamat Kecamatan Dompu untuk
field pertama atau tidak mengandung RECORD gmail.com pada
field email, maka perintah SQL diatas tidak dapat menampilkan
informasi apapun, hal ini disebabkan karena operator
penghubung && (AND) memiliki karakter bahwa kedua kondisi
harus bernilai TRUE barulah menghasilkan nilai TRUE, namun jika
salah satu bernilai TRUE dan salah satunya bernilai FALSE maka
akan menghasilkan nilai FALSE untuk kondisi yang diperiksa.
5. Menampilkan RECORD secara urut berdasarkan salah satu field
(nm_mhs) dengan perintah ORDER BY
SELECT <nama_field_1>, <nama_field_2> FROM <nama_tabel>
ORDER BY <nama_field_yang_ingin_diurutkan>;
Jika diuraikan sesuai dengan struktur diatas, maka:
SELECT id_mhs, nm_mhs FROM mhs ORDER BY nm_mhs;
Hasil eksekusi dari perintah diatas menunjukan bahwa RECORD
yang ditampilkan yaitu RECORD dalam field id_mhs dan
nm_mhs, RECORD ditampilkan secara berurut menggunakan
perintah ORDER BY berdasarkan pada nm_mhs dari abjad awal A
sampai dengan abjad akhir Z.
6. Menampilkan RECORD secara DESCENDING
Berikut ini dijelaskan struktur perintahnya:
SELECT <nama_field_1>, <nama_field_2> FROM <nama_tabel>
ORDER BY <nama_field_yang_ingin_diurutkan>DESC;
55
Jika diuraikan sesuai dengan struktur diatas, maka:
SELECT id_mhs, nm_mhs FROM mhs ORDER BY nm_mhs DESC;
Berbeda dengan perintah ORDER BY Hasil eksekusi dari perintah
diatas menunjukan bahwa RECORD yang ditampilkan yaitu
RECORD dalam field id_mhs dan nm_mhs, RECORD ditampilkan
secara berurut menggunakan perintah ORDER BY berdasarkan
pada nm_mhs namun diurutkan secara DESCENDING dari abjad
akhir Z sampai dengan abjad awal A.
7. Menampilkan RECORD dengan perintah ORDER BY namun
dibatasi jumlah RECORDnya dengan perintah LIMIT
Berikut ini dijelaskan struktur perintahnya:
SELECT <nama_field_1>, <nama_field_2> FROM <nama_tabel>
ORDER BY <nama_field_yang_ingin_diurutkan> LIMIT 0,3;
Jika diuraikan sesuai dengan struktur diatas, maka:
SELECT id_mhs, nm_mhs FROM mhs ORDER BY nm_mhs LIMIT
0,3;
56
Limit yaitu salah satu opsi dari SQL yang digunakan untuk
membatasi jumlah RECORD dari sebuah tabel dalam database,
angka 0,3 merupakan batasan jumlah RECORD yang ditampilkan
dari tabel mhs, yaitu sebanyak 3 RECORD sesuai pada hasil query
dari gambar diatas.
M. Evaluasi Materi
Jawablah soal-soal berikut ini dengan benar:
1. Dalam pembuatan basisdata tentu user akan merancang field, dapatkah
anda memberikan penjelasan terkait dengan resiko atas kesalahan dalam
penentuan type dan panjang data dalam perancangan basis data?
2. Bagaimanakah peran dan fungsi primary key dalam sebuah tabel pada
database?
3. Redudansi merupakan kesamaan dari data yang terdapat pada basis data,
dapatkah anda menunjukan serta memberikan penjelasan terkait dengan
Redudansi yang terjadi dalam code berikut:
INSERT INTO mhs SET id_mhs='C724201902', nm_mhs=’Arifin’,
alamat=’Kecamatan Dompu', tmpt_lahir=’Bima', tgl_lahir=’1998-06-
26', jns_kelamin=’Pria', agama=’Islam', asal_sekolah=’SMA Negeri 3
Dompu', prodi=’PJKR’, email=’budiman@gmail.com', handphone
=’085253191212';
Dengan:
INSERT INTO mhs SET id_mhs='C724201902', nm_mhs=’Budiman’,
alamat=’Kecamatan Bima', tmpt_lahir=’Bima', tgl_lahir=’1998-06-26',
jns_kelamin=’Pria', agama=’Islam', asal_sekolah=’SMA Negeri 3
Dompu', prodi=’PJKR’, email=’budiman@gmail.com', handphone
=’085253191212';
4. Jika Field id_mhs dan handphone dalam dua code diatas yaitu Primary
Key maka berikanlah penjelasan terkait dengan Record dari dua field
tersebut (Jika memiliki kesamaan akan seperti apa? Dan jika memiliki
perbedaan akan seperti apa?)
GLOSARIUM
Table
Kumpulan data yang diorganisasikan ke dalam baris
(record) dan kolom (field).
Field
yaitu kolom dari sebuah table. Kolom ini memiliki
ukuran dan type data tertentu.
Record
yaitu kumpulan data yang saling berhubungan
menginformasikan tentang suatu informasi.
Key
yaitu field yang dapat berperan sebagai kunci dalam
operasi tabel.
SQL
yaitu bahasa yang digunakan untuk mengakses salah satu
DBMS MySQL.
Primary
Key
yaitu nilai yang digunakan untuk mengidentifikasi baris
dalam tabel
Entitas yaitu orang, tempat, kejadian atau konsep yang
informasinya telah dicatat.
Query
yaitu perintah SQL yang digunakan untuk membaca dan
menulis pada database.
Null
Null yaitu attribute yang digunakan untuk menyatakan
nilai yang belum siap atau kosong
Index
Field lain yang digunakan untuk mengurutkan Record pada
DataBase (dapat Primary atau Secondary Index)
File
Merupakan kumpulan record-record sejenis yang
mempunyai panjang elemen yang sama, atribute yang
sama, namun berbeda-beda data valuenya
Redundansi yaitu duplikasi data dalam beberapa file data sehingga
data yang sama di simpan di dalam lebih dari 1 lokasi.
Fathir