0% menganggap dokumen ini bermanfaat (0 suara)
11 tayangan33 halaman

Modul 6 - Database Dan Table

Diunggah oleh

Reza Saputra
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
11 tayangan33 halaman

Modul 6 - Database Dan Table

Diunggah oleh

Reza Saputra
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 33

PS : Teknologi Informasi

Fakultas Sains dan Teknologi


UIN Ar-Raniry Banda Aceh

Diktat
SISTEM MANAJEMEN BASIS DATA

Disusun Oleh Tim Dosen:


Nazaruddin Ahmad, M.T
Fadhla Binti Junus, S.T, M.Sc

2021
PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

BAB VI
DATABASE DAN TABLE

A. Database
1.1. Pengertian Database
Dalam kegiatan tradisional, data disimpan pada lembaran-lembaran kertas,
kemudian lembaran-lembaran kertas tersebut disimpan pada sebuah map dan disusun
rapi pada sebuah lemari arsip. Penyusunannya diatur sedemikian rupa agar mudah
untuk ditemukan kembali. Untuk penyimpanan arsip tersebut membutuhkan suatu
ruangan khusus yang sering dinamakan sebagai ruangan arsip. Setiap map akan
diberikan kode tertentu untuk memudahkan pencarian. Setiap lemari juga akan
diberikan kode tertentu untuk memudahkan pencarian. Hal ini juga sering kita jumpai
di perpustakaan, dimana buku-buku disusun sedemikian rupa pada rak-rak buku dan
diberikan kode yang khusus atau unik. Tentunya juga akan membutuhkan ruangan
yang besar untuk menampung semua buku dan rak buku tersebut.

Gambar 6.1 Penyimpanan Arsip

Teknologi memberikan kemudahan dalam mengelola dan mengatur segala


kebutuhan kita. Mengurangi sesuatu hal yang menyebabkan pemborosan sehingga
kita mengenal istilah efesiensi yaitu pengurangan kegiatan yang menyebabkan
pemborosan. Teknologi komputer memberikan kemudahan untuk mengelola dan
mengatur segala kebutuhan kita terutama dalam hal pengarsipan. Untuk itu dikenal
sebuah teknik pengelolaan data dalam jumlah yang besar menggunakan teknologi

Database dan Tabel Halaman | 65


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

komputer yang kita kenal dengan teknologi pengarsipan secara digital yaitu
database.

Gambar 6.2 Konsep Database

Pengguna data (user) mengumpulkan atau memasukkan menggunakan


teknologi komputer (user interfacei) dengan konsep mengumpulkan data dan
memasukkan data tersebut ke dalam komputer. Diperlukan perangkat keras
(hardware) sebagai user interface, perangakt lunak (software) sebagai programa atau
aplikasi untuk memasukkan data dan alat bantu lainnya (tools) yang dapat
memasukkan data tersebut. Kemudian menggunakan DBMS untuk memasukkan data
ke dalam database yang disimpan pada media penyimpanan, baik yang ada di
perangkat keras tempat pengoperasian data tersebut atau ke media penyimpanan
lainnya yang berada diluar perangkat keras pengoperasian tersebut tetapi masih
saling terhubung.
Basis data (database) adalah kumpulan informasi yang disusun dan
merupakan suatu suatu kesatuan yang utuh yang disimpan di dalam perangkat keras
(komputer) secara sistematis sehingga dapat diolah menggunakan perangkat lunak.
Dengan sistem tersebut data yang terhimpun dalam suatu database dapat
menghasilkan informasi yang berguna (Swara & Pebriadi, 2016).
Basis data juga didefinisikan sebagai sekumpulan field-field yang mempunyai
kaitan antara satu field dengan field yang lain sehingga membentuk bangunan data
untuk menginformasikan kondisi lalu lintas dalam bahasa tertentu (Rahmad &
Setiady, 2014).
Dengan pengelolaan data menggunakan database, data dapat disimpan dengan baik
dalam media penyimpanan, tidak membutuhkan lembaran kertas yang banyak, tidak
membutuhkan lemari arsip yang banyak dan tidak membutuhkan ruang khusus yang

Database dan Tabel Halaman | 66


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

besar. Sehingga efesiensi waktu, dan tempat akan dapat dilakukan dan data tersimpan
dengan aman.

1.2. Database Management System (DBMS)


Database Management System (DBMS) adalah sebuah sistem perangkat
lunak yang digunakan untuk mendifinisikan, membuat, mengelola dan mengontrol
akses data ke sebuah database (Connolly & Begg, 2005). Pengguna (user) akan
berinteraksi dengan database menggunakan DBMS berupa sebuah aplikasi yang
dapat menterjemahkan perintah-perintah yang dilakukan oleh pengguna untuk
mengakses sebuah database.
Jika digambarkan sebuah perusahaan yang memiliki data penjualan dan data
produksi, setiap bagian tersebut akan memasukkan data masing-masing dan
menghasilkan laporan masing-masing sesuai kebutuhan. Data-data tersebut disimpan
didalam suatu tempat yang sama yang kita sebut sebagai database.Untuk dapat
mengakses data yang ada didalam database maka dibutuhkan DBMS sebagai
perantara antara user dengan data.
Untuk bisa mengakses data yang ada didalam database tersebut, maka kita
harus memahami dan meggunakan bahasa yang dimengerti oleh sistem komputer
untuk dapat mengakses data yang ada di dalam database, kita kenal dengan bahasa
basis data (database language). Bahasa basis data ini disediakan oleh perusahaan
yang membuat pereangkat lunak DBMS. Contoh perangkat lunak DBMS yang umum
digunakan seperti dBase, FoxBase, Rbase, Microsoft Access (MS. Access), Borland
Paradox, Borland Interbase, MS-SQL Server, Oracle Database, IBM DB2, Informix,
Sybase, MySQL, PostgresSQL.
Komponen-komponen DBMS menurut Howe yang dikutip oleh (Asmara,
2016) terdiri dari:
• Interface, yang didalamya terdapat bahasa manipulasi data (data manipulation
language).
• Bahasa defenisi data (data definition language) untuk skema eksternal, skema
konseptual, dan skema internal.

Database dan Tabel Halaman | 67


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

• Sistem kontrol basis data (Database Control System) yang mengakses basis
data karena adanya perintah dari bahasa manipulasi data.

Keuntungan menggunakan DBMS, yaitu:


• Sistem keamanan, memberikan batasan kepada user untuk mengakses data
yang ada di dalam database;
• Integritas sistem, mampu mengelola dengan konsisten terhadap penyimpanan
data;
• Sistem kontrol bersama, memungkinkan akses bersama terhadap penggunaan
database;
• Sistem kontrol pemulihan, mampu mengembalikan data pada database akibat
kegagalan perangkat keras atau perangkat lunak;
• Akses katalog, mampu memberikan deskripsi tentang data di dalam database.

1.3. Membuat Database


Untuk membuat database maka akan digunakan Data Definition Language
(DDL) yaitu kumpulan perintah SQL yang berkaitan dengan pembuatan, perubahan,
dan penghapusan database maupun objek-objek yang terdapat di dalam database,
seperti tabel, indeks, prosedur/fungsi, trigger, dan sebagainya (Raharjo, 2015).
Data Definition Language (DDL) digunakan untuk melakukan definisi awal
untuk membuat basis data dan tabel pada konsep Relational Database Management
System (RDBMS) untuk menghasilkan struktur basis data dan struktur tabel-tabel di
dalam basis data tersebut (Dirgayusari et al., 2022).
Perintah SQL yang termasuk ke dalam kategori DDL adalah:
• CREATE, berfungsi untuk membuat database dan objek-objek di dalam
database.
• ALTER, berfungsi untuk mengubah objek tabel yang ada di dalam database.
• DROP, berfungsi untuk menghapus database dan objek-objek di dalam
database.

Database dan Tabel Halaman | 68


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Gambar 6.3 Peta SQL DDL (Data Definition Language)

Jika kita lihat pada peta SQL DDL di atas selain Create, Alter, dan Drop,
perintah DDL lainnya adalah View dan Truncate. Kemudian kita melihat juga cabang
dari perintah utama yang berisi perintah-perintah yang dapat mengubah struktur dari
basis data dan tabel.
Langkah awal yang diperlukan untuk bekerja dengan MySQL adalah
membuat database. Dalam MySQL, pembuatan database dilakukan menggunakan
sintaks berikut ini:
CREATE DATABASE <nama database>;

Database dan Tabel Halaman | 69


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Sebagai latihan anda dalam membuat database, kita akan membangun sebuah
database sederhana yaitu dbBuku sebagai database. Dengan demikian, sintaks yang
anda ketikkan ada MySQL adalah:
MariaDB [(none)]> create database dbBuku;

Untuk menampilkan daftar nama database yang ada pada server MySQL, gunakan
perintah berikut ini:
MariaDB [(none)]> SHOW DATABASES;

Sebelum database dapat digunakan, anda harus memilih terlebih dahulu database
yang akan digunakan dengan menggunakan perintah USE. Sintaks penggunaannya
adalah:
USE <nama database>;

Dengan demikian, sebelum anda dapat membuat tabel dan objek-objek lain di dalam
database dbBuku, anda harus memilih database tersebut dengan menuliskan sintaks:

Database dan Tabel Halaman | 70


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

MariaDB [(none)]> use dbbuku;

1.4. Mengubah Database


Kita dapat mengubah suatau database di dalam MySQL sesuai dengan
kebutuhan. Namun pada kenyataannya hal tersebut jarang dilakukan untuk mengubah
nama database. Tentunya, sebelum membuat database, kita harus menentukan nama
database yang tepat dan singkat. Untuk mengubah nama database, biasanya hanya
dilakukan oleh seorang Database Administrator (DBA). Karena jarang digunakan
maka kita tidak akan membahas lebih detail.

1.5. Menghapus Database


Dengan menggunakan perintah MySQL, memungkinkan kita untuk
menghapus terhadap satu atau lebih database. Hal ini dilakukan untuk mengirit ruang

Database dan Tabel Halaman | 71


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

penyimpanan harddisk atau karena database tersebut tidak dibutuhkan lagi. Untuk
menghapus database maka dapat digunakan sintaks berikut ini:
DROP DATABASE [IF EXIST] <nama database>;

Perintah DROP DATABASE tidak hanya menghapus nama database saja, tetapi juga
akan menghapus semua tabel dan objek lain yang ada di dalam database tersebut,
kemudian menghapus database itu sendiri. Maka dari itu, sebelum menghapus
sebuah database anda harus memastikan betul bahwa database beserta dengan tabel-
tabel nya memang benar-benar sudah tidak dibutuhkan lagi.
Perintah IF EXISTS bersifat opsional dan berfungsi untuk mencegah terjadinya
kesalahan perintah jika ternyata nama database yang akan dihapus tidak terdapat di
dalam server MySQL. Untuk mengapus database anda dapat menggunakan sintaks
berikut ini:
MariaDB [(none)]> drop database if exists dbbuku;

Perintah di atas hanya akan dieksekusi jika dalam server MySQL terdapat database
dengan nama dbBuku.

Anda juga dapat menggunakan sintaks berikut ini:


MariaDB [(none)]> drop database dbbuku;

Perintah di atas akan menghapus database dan seluruh tabel atau objek lainnya yang
ada di dalam database dbBuku.

B. Tabel
Data di dalam basis data bersifat terpadu (integrated) dan berbagi data
(shared). Terpadu (integrated) berarti berkas-berkas yang ada pada basis data saling
terkait, terjadi keterhubungan data (dependensi data). Berbagi data (shared) berarti
data yang sama dapat dipakai atau digunakan oleh sejumlah pengguna dalam waktu
yang bersamaan. Sering dikenal dengan nama sistem multiuser atau banyak
pengguna.

Database dan Tabel Halaman | 72


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Konsep basis data (database) ini dapat dipandang dari berbagai sudut, yaitu:
dari sisi sistem, basis data merupakan kumpulan tabel yang saling berhubungan.
Sedangkan sisi manajemen, basis data merupakan kumpulan data yang memodelkan
aktivitas-aktivitas yang terdapat di dalam suatu perusahaan atau organisasi. Terdapat
hirarki (tingkatan) basis data dan bagaimana keterhubungan antar tingkatan tersebut
dapat dilihat seperti gambar berikut ini:

Gambar 6.4. Ilustrasi Database dan Tabel

• Database, merupakan kumpulan file-file yang saling berhubungan satu sama


lain dan digunakan secara rutin pada operasi-operasi sistem informasi.
• File, dinamakan juga dengan tabel, adalah kumpulan record yang sejenis dan
saling berhubungan secara logic.
• Record, berupa kumpulan barisan item yang menggambarkan satu unit data
individu tertentu yang saling berhubungan secara logic.

Database dan Tabel Halaman | 73


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

• Field, berupa atribut dari record yang menunjukkan suatu item dari sebuah
field.
• Byte, merupakan atribut dari field yang berupa kumpulan karakter yang
memberntuk nilai dari sebuah field.
• Bit, adalah bagian terkecil dari data secara keseluruhan, yaitu berupa karakter
ASCII nol (0) atau satu (1) yang merupakan komponen Byte.

2.1 Relational Keys


Yang perlu diperhatikan dalam perancangan basis data adalah pada sebuah
tabel yang akan dibangun di dalam sebuah basis data adalah menentukan sekelompok
kolom yang unik yang dapat membedakan field-field tersebut. Relational Keys
adalah proses identifikasi satu atau sekelompok kolom yang nilainya dapat
membedakan secara unik field-field pada sebuah tabel. Kunci (key) ini akan menjadi
penghubung (relasi) data (record) antar tabel di dalam suatu basis data. Ada 5 (lima)
relational keys, yaitu :
1. Super key
Super Key adalah satu atau kelompok kolom yang nilainya secara unik
membedakan field-field pada suatu tabel.
Contoh :
Tabel Kategori
Nama Field Type Data Panjang
kategori_id int auto increment
kategori_nama varchar 25

Tabel Pengarang
Nama Field Type Data Panjang
pengarang_id char 3
pengarang_nama varchar 30

Setiap field yang ada pada tabel kategori dan tabel pengarang adalah super
key.

Database dan Tabel Halaman | 74


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

2. Candidate key
Candidate Key adalah satu set atribut (tuple/field) yang secara unik
mengidentifikasi tuple/field dalam sebuah tabel. Candidate key merupakan
atribut pada super key yang tidak berulang.
Contoh :
Tabel Kategori
Nama Field Type Data Panjang
kategori_id Int auto increment
kategori_nama Varchar 25

Tabel Pengarang
Nama Field Type Data Panjang
pengarang_id char 3
pengarang_nama varchar 30

Pada tabel kategori, field (kolom) kategori_id adalah candidate key,


sedangkan field (kolom) kategori_nama bukan candidate key.
Pada tabel pengarang, field (kolom) pengarang_id adalah candidate key,
sedangkan field (kolom) pengarang_nama bukan candidate key.

3. Primary key
Primary Key adalah candidate key yang dipilih (di antara candidate key lain)
untuk membedakan atau mengidentifikasi setiap baris dalam tabel. Primary
key dapat diartikan juga sebagai kunci utama yang digunakan pada field yang
memiliki nilai unik yang digunakan untuk mengidentifikasi setiap baris
dalam tabel.
Contoh :
Pada tabel katogori, field kategori_id adalah primary key.
Pada tabel pengarang, field pengaran_id adalah primary key.

Database dan Tabel Halaman | 75


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

4. Alternate key
Alternate Key adalah candidate key yang tidak dijadikan sebagai primary
key.
5. Foreign key
Foreign Key adalah kolom yang membuat hubungan (relasi) antara dua tabel.
Tujuan dari foreign key adalah untuk menjada integritas data dan
memungkinkan sebagai referensi silang antara dua tabel karena
mereferensikan kunci utama dari tabel lain.
Contoh:
Tabel Buku
Nama Field Type Data Panjang
buku_ISBN char 3
buku_judul varchar 75
penerbit_id char 4
buku_tglterbit date
buku_jmlhalaman int
buku_deskripsi text
buku_harga decimal

Pada tabel buku, field (kolom) buku_ISBN adalah primary key, field (kolom)
penerbit_id adalah foreign key tetapi primary key pada tabel penerbit.
Sebagai ilustrasi penjelasan relational keys diatas dapat anda perhatikan
gambar berikut ini :

Gambar 6.5 Penentuan candidate key, primary key dan alternate key
(Sumber : Internet)

Database dan Tabel Halaman | 76


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Gambar 6.6 Penentuan primary dan foreign key

2.2 Membuat Tabel


Di atas kita telah membuat database dbBuku menggunakan perintah CREATE
DATABASE <nama database> dan untuk bisa menggunakan database tersebit
maka kita gunakan perintah use <nama database>. Selanjutnya kita akan
membuat tabel-tabel ke dalam database tersebut. Perintah yang digunakan untuk
membuat tabel adalah CREATE TABLE, yang memiliki bentuk umum penggunaan
seperti berikut:
CREATE TABLE <nama tabel>(
<field1><type data>,
<field2><type data>,
.....
)[TYPE = <tipe tabel>];

field1, field2, dan seterusnya menunjukkan nama kolom yang akan dibuat
dalam tabel; sedangkan tipe data berfungsi untuk merepresentasikan jenis data dari
field bersangkutan.

TYPE bersifat opsional dan berfungsi untuk menentukan tipe tabel atau lebih
tepatnya tipe mesin penyimpanan (storage machine) dari tabel yang dibuat.

Database dan Tabel Halaman | 77


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

2.3 Struktur Tabel


Ada baiknya sebelum kita membuat tabel menggunakan MySQL, kita desain
struktur tabel yang akan kita masukkan ke dalam suatu database. Kita desain tabel
manual agar memudahkan kita membangun tabel menggunakan perintah SQL pada
suatu database. Berikut contoh struktur tabel manual yang kita desain secar manual.

Tabel Kategori
Nama Field Type Data Panjang Key
kategori_id char 2 Primary key
kategori_nama varchar 25

Tabel Pengarang
Nama Field Type Data Panjang Key
pengarang_id char 3 Primary key
pengarang_nama varchar 30

Tabel Penerbit
Nama Field Type Data Panjang Key
penerbit_id char 4 Primary key
penerbit_nama varchar 50

Tabel Buku
Nama Field Type Data Panjang Key
buku_ISBN char 3 Primary key
buku_judul varchar 75
penerbit_id char 4 Foreign key
buku_tglterbit date
buku_jmlhalaman int 11
buku_deskripsi text
buku_harga Decimal

Database dan Tabel Halaman | 78


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Tabel Link_Buku_Pengarang
Nama Field Type Data Panjang Key
buku_ISBN char 13 Primary key
Pengarang_id char 3 Primary key

Tabel Link_Buku_Kategori
Nama Field Type Data Panjang Key
buku_ISBN char 13 Primary key
Kategori_id char 2 Primary key

Setelah kita membuat struktur table database dalam bentuk tabel, maka
selanjutnya adalah membuat tabel-tabel tersebut ke dalam database dbbuku yang
sudah kita buat.
Untuk membuat tabel-tabel sesuai dengan studi kasus maka kita akan
membuat beberapa tabel yang saling berhubungan untuk database dbBuku.

Tabel KATEGORI
Tabel ini merupakan tabel referensi yang nantinya akan diisi dengan data kategori
buku. Tabel KATEGORI akan direlasikan dengan tabel BUKU melalui tabel bantu
(disebut tabel transaksi) dengan nama LINK_BUKU_KATEGORI.

Perintah SQL nya:


Create table kategori (
kategori_id char(2) not null,
kategori_nama varchar(25)not null,
primary key(kategori_id));

Perintah di atas akan membuat tabel dengan nama KATEGORI yang berisi dua buah
kolom (field) dengan nama kategori_id dan kategori_nama. Kolom
kategori_id didefinisikan dengan tipe data int (integer). NOT NULL artinya
kolom ini tidak boleh kosong (harus berisi nilai) sedangkan AUTO_INCREMENT
digunakan untuk menaikkan nilai dari kolom ini setiap kali baris data dimasukkan ke
Database dan Tabel Halaman | 79
PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

dalam tabel KATEGORI. Kemudian, kolom kategori_id dijadikan sebagai


primary key, yang berarti bahwa nilai dari setiap baris data pada kolom kategori_id
tersebut bersifat unik (berbeda antara baris yang satu dengan yang lainnya). Primary
key dalam suatu tabel bisa lebih dari satu kolom (field). Pada tabel KATEGORI kita
hanya mendefinisikan satu kolom atau satu field saja. Yang paling penting anda
perhatikan adalah, jika anda ingin menjadikan suatu kolom sebagai primary key maka
kolom tersebut harus didefinisikan dengan NOT NULL.
Jika anda mengetikkan pada MySQL, maka perintahnya seperti ini:

Tabel PENGARANG
Tabel ini juga merupakan tabel referensi dan digunakan untuk menyimpan data
pengarang. Tabel PENGARANG akan direlasikan dengan TABEL BUKU melalui tabel
bantu (sering disebut tabel transaksi) dengan nama LINK_BUKU_PENGARANG.

Perintah SQL nya:


Create table pengarang(
pengarang_id char(3) not null,
pengarang_nama varchar(30),
primary key(pengarang_id));

Perintah di atas akan membuat tabel PENGARANG yang terdiri dari dua buah kolom
yaitu kolom pegarang_id dan kolom pengarang_nama. Kolom yang
dijadikan sebagai primary key dalam tabel ini adalah pengarang_id. Dengan
demikian, pada saat pengisian data, setiap pengarang harus memiliki ID yang
berbeda.
Jika anda mengetikkan pada MySQL, maka perintahnya seperti ini:

Database dan Tabel Halaman | 80


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Tabel PENERBIT
Tabel ini merupakan tabel referensi yang datanya akan diacu oleh tabel BUKU.
Fungsinya adalah untuk menyimpan data penerbit.
Perintah SQL nya:
Create table penerbit(
penerbit_id char(4) not null,
penerbit_nama varchar(50),
primary key(penerbit_id));

Perintah di atas akan membuat tabel PENERBIT yang terdiri dari dua buah kolom
yaitu kolom penerbit_id dan kolom penerbit_nama. Kolom yang dijadikan
sebagai primary key adalah penerbit_id. Sehingga setiap baris data yang
dimasukkan pada kolom penerbit_id harus memiliki ID yang berbeda. Nilai
penerbit_id inilah yang akan diacu oleh tabel BUKU.

Jika anda mengetikkan pada MySQL, maka perintahnya seperti ini:

Database dan Tabel Halaman | 81


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Tabel BUKU
Tabel ini berfungsi untuk menyimpan data buku.

Perintah SQL nya:


Create table buku (
buku_ISBN char(13) not null,
buku_judul varchar(75),
penerbit_id char(4),
buku_tglterbit date,
buku_jmlhalaman int,
buku_deskripsi text,
buku_harga decimal,
primary key(buku_ISBN),
foreign key(penerbit_id)
references penerbit(penerbit_id));

Perintah di atas akan membuat tabel BUKU yang terdiri dari tujuh kolom dengan
primary key buku_ISBN. Dalam tabel ini, kolom penerbit_id dijadikan sebagai
foreign key yang nilainya mengacu pada kolom penerbit_id dari tabel
PENERBIT. Ini berarti bahwa nilai penerbit_id yang akan diisikan ke dalam
tabel BUKU harus diambil dari salah satu nilai penerbit_id yang ada pada tabel
PENERBIT.
Foreign key dapat juga diartikan sebagai kunci pokok (primary key) pada tabel yang
lain (tabel yang menjadi referensi). Untuk membuat foreign key pada suatu tabel, kita
dapat menggunakan perintah sebagai berikut:
Foreign key(<nama kolom>)
References <nama tabel referensi>(<nama kolom pada tabel referensi>)

Jika anda mengetikkan pada MySQL, maka perintahnya seperti ini:

Database dan Tabel Halaman | 82


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Tabel LINK_BUKU_PENGARANG
Tabel ini merupakan tabel bantu yang berfungsi untuk merelasikan antara tabel BUKU
dan tabel PENGARANG. Isi data dalam tabel ini hanya berupa perpaduan antara nilai
dari kolom buku_ISBN yang berasal dari tabel BUKU dan kolom pengarang_id
yang berasal dari tabel PENGARANG.
Perintah SQL nya:
Create table link_buku_pengarang(
buku_ISBN char(13) not null,
pengarang_id char(3)not null,
primary key(buku_ISBN, pengarang_id),
foreign key(buku_ISBN)
references buku(buku_ISBN),
foreign key(pengarang_id)
references pengarang(pengarang_id));

Perintah di atas akan membuat tabel dengan nama LINK_BUKU_PENGARANG yang


terdiri atas dua kolom yaitu buku_ISBN dan pengarang_id. Kolom
buku_ISBN nilainya mengacu ke kolom buku_ISBN yang ada pada tabel BUKU,
dan pengarang_id nilainya mengacu ke kolom pengarang_id yang ada pada
tabel PENGARANG. Oleh karena itu, kedua kolom ini didefinisikan sebagai foreign
key.

Pada studi kasus ini diasumsikan bahwa satu pengarang dapat menulis lebih dari satu
buku. Begitu juga satu buku dapat ditulis oleh lebih dari satu pengarang. Oleh karena

Database dan Tabel Halaman | 83


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

itu, selain didefinisikan sebagai foreign key, agar setiap baris data dalam tabel
LINK_BUKU_PENGARANG dapat bersifat unik, maka kita juga perlu mendefinisikan
kolom buku_ISBN dan pengarang_id sebagai primary key.

Jika anda mengetikkan pada MySQL, maka perintahnya seperti ini:

TABEL LINK_BUKU_KATEGORI
Tabel ini merupakan tabel bantu yang berfungsi untuk merelasikan antara tabel BUKU
dan tabel KATEGORI. Isi data di dalam tabel ini adalah perpaduan antara nilai dari
kolom buku_ISBN yang berasal dari tabel BUKU dan kolom kategori_id yang
berasal dari tabel KATEGORI.
Perintah SQL nya:
Create table link_buku_kategori(
buku_ISBN char(13) not null,
kategori_id char(2) not null,
primary key(buku_ISBN, kategori_id),
foreign key(buku_ISBN)
references buku(buku_ISBN),
foreign key(kategori_id)
references kategori(kategori_id));

Perintah di atas akan membuat tabel dengan nama LINK_BUKU_KATEGORI


dengan kolom buku_ISBN dan kolom kategori_id. Kolom buku_ISBN nilainya
mengacu ke kolom buku_ISBN yang ada pada tabel BUKU. Sedangkan kolom
kategori_id mengacu ke kolom kategori_id yang ada pada tabel KATEGORI. Oleh
karena itu, kedua kolom didefinisikan sebagai foreign key. Selain sebagai foreign key,
kedua kolom tersebut juga didefinisikan sebagai primary key. Alasannya, karena satu

Database dan Tabel Halaman | 84


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

buku dapat masuk ke beberapa kategori dan satu kategori dapat terdiri dari satu buku
atau lebih.
Jika anda mengetikkan pada MySQL, maka perintahnya seperti ini:

Pada keadaan-keadaan tertentu, ada kalanya kita ingin mengubah nama tabel atau
struktur dari tabel yang sudah ada di dalam database. Untuk mengatasi permasalahan
seperti ini, kita perlu menggunakan perintah ALTER TABLE.

1) Mengubah Nama Tabel


MySQL mengizinkan kita untuk mengganti nama tabel yang ada di dalam
database.

Perintah SQL nya:


ALTER TABLE <nama tabel lama> RENAME TO <nama tabel baru>;

Contoh:
Alter table kategori rename to kategori_buku;

Perintah di atas akan mengubah nama tabel KATEGORI menjadi


KATEGORI_BARU.

2) Menambah Kolom
MySQL mengizinkan kita untuk menambah satu atau lebih kolom ke dalam
suatu tabel.

Database dan Tabel Halaman | 85


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Perintah SQL nya:


ALTER TABLE ADD COLUMN <nama kolom> <tipe data>;

Contoh:
Alter table buku add column buku_sinopsis text;
alter table pengarang add column email varchar(25);

3) Mengubah Kolom
Kolom dalam suatu tabel dapat diubah sesuai kebutuhan. Kita dapat mengubah
nama kolom, tipe data, maupun ukuran data yang dialokasikan.

Perintah SQL nya:


ALTER TABLE <nama tabel>
CHANGE <nama kolom lama><nama kolom baru><tipe data baru>;

Contoh:
Alter table buku change buku_ISBN buku_id char(15);

Perintah di atas akan mengubah nama kolom buku_ISBN pada tabel buku
menjadi buku_id dengan tipe data char memiliki panjang 15.

4) Menghapus Kolom
Kolom dalam suatu tabel dapat dihapus dengan menyertakan klausa DROP
COLUMN pada perintah ALTER TABLE.

Perintah SQL nya:


ALTER TABLE <nama tabel> DROP COLUMN <nama kolom yang akan
dihapus>;

Contoh:
Alter table buku drop column buku_sinopsis;

Database dan Tabel Halaman | 86


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Perintah di atas akan menghapus kolom buku-sinopsis yang terdapat


pada tabel buku.

5) Menambah dan Menghapus Primary Key atau Foreign Key


Primary key dan foreign key dapat didefiniikan setelah tabel terbuat, yaitu
dengan menambah klausa ADD PRIMARY KEY dan ADD FOREIGN KEY
pada saat mengeksekusi perintah ALTER TABLE.

Perintah SQL nya:


ALTER TABLE <nama tabel> ADD PRIMARY KEY <nama kolom>;

Contoh:
Alter table buku add primary key buku_id;

<nama kolom> adalah nama kolom yang akan dijadikan sebagai primary
key.

Perintah SQL untuk mendefinisikan primary key:


ALTER TABLE <nama tabel> ADD PRIMARY KEY <nama kolom>;

Contoh:
Alter table buku add primary key buku_id;

Perintah SQL untuk mendefinisikan foreign key:


ALTER TABLE <nama tabel> ADD FOREIGN KEY <nama kolom>
REFERENCES <nama tabel referensi> (<nama kolom referensi>);

<nama kolom> adalah nama kolom yang akan dijadikan sebagai foreign
key.

Database dan Tabel Halaman | 87


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Untuk menghapus primary key maupun foreign key dari suatu tabel, gunakan
klausa DROP PRIMARY KEY atau DROP FOREIGN KEY pada saat
mengeksekusi perintah ALTER TABLE.

Perintah SQL untuk menghapus primary key:


ALTER TABLE <nama tabel> DROP PRIMARY KEY;

Perintah SQL untuk menghapus foreign key:


ALTER TABLE <nama tabel> DROP FOREIGN KEY <nama foreign key>;

<nama foreign key> adalah nama foreign key yang didefinisikan pada
saat membuat foreign key. Sebagai contoh, kita mendefinisikan foreign key
pada tabel BUKU dengan perintah sebagai berikut:
Constraint fk_buku_penerbit foreign key(penerbit_id)
reference penerbit(penerbit_id);

FK_BUKU_PENERBIT disebut sebagai simbol atau nama foreign key.


Dengan demikian, jika suatu saat kita ingin menghapus foreign key tersebut,
maka perintah yang diperlukan sebagai berikut:
Alter table buku drop foreign key fk_buku_penerbit;

6) Menambah dan Menghapus Indeks


Indeks berguna untuk mempercepat proses pencarian data. Kolom yang
dijadikan sebagai indeks secara otomatis datanya akan diurutkan. Pada saat
kita mendefinisikan kolom sebagai primary key, sebenarnya kolom tersebut
secara otomatis akan dijadikan sebagai indeks. Meskipun demikian, ada
kalanya kita ingin memiliki indeks dari kolom-kolom lain yang kita butuhkan.

Perintah SQL untuk menghapus membuat indeks:


ALTER TABLE ADD INDEX <nama indeks>(<nama kolom>) ;

Database dan Tabel Halaman | 88


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

<nama kolom> adalah nama kolom yang dijadikan indeks.

Contoh:
Alter table add index idxjudul(buku_judul);

Perintah di atas akan membuat kolom buku_judul pada tabel BUKU


menjadi indeks dengan nama idxjudul.

Untuk menghapus indeks dari suatu tabel, gunakan klausa DROP INDEX pada
saat mengeksekusi perintah ALTER TABLE.

Perintah SQL untuk menghapus indeks:


ALTER TABLE <nama tabel> DROP INDEX <nama indeks> ;

Contoh:
Alter table buku drop index idxjudul;

Perintah di atas akan menghapus indeks idxjudul pada tabel BUKU.


Terdapat cara lain untuk membuat indeks ke dalam suatu tabel, yaitu dengan
menggunakan perintah CREATE INDEX.

Perintah SQL yang digunakan:


CREATE INDEX idxjudul on buku(buku_judul) ;

Perintah di atas fungsinya sama seperti ALTER TABLE di atas, yaitu


membuat indeks dari kolom BUKU_JUDUL pada tabel BUKU dengan nama
idxjudul.

7) Menghapus Tabel
Tabel yang terdapat di dalam database dapat dihapus menggunakan perintah
DROP TABLE.

Database dan Tabel Halaman | 89


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Perintah SQL yang digunakan:


DROP TABLE [IF EXISTS] <nama tabel>[,<nama tabel>,...] ;

Untuk menghapus sebuah tabel, contohnya adalah:


Drop table link_buku_kategori;

Akan tetapi jika anda menginginkan untuk menghapus beberapa tabel dalam
satu perintah, maka perintah SQL nya dapat diubah menjadi seperti berikut:
Drop table link_buku_kategori, link_buku_pengarang;

Perintah di atas akan menghapus tabel link_buku_kategori dan


link_buku_pengarang dari database.

2.4 Manipulasi Data


Manipulasi data adalah bukan kegiatan untuk membuat data menjadi tidak
benar, tetapi manipulasi data adalah melakukan proses pengubahan pada data
sehingga data menjadi lebih baik. Untuk melakukan manipulasi data maka kita harus
memahami perintah-perintah untuk melakukan manipulasi data, perintah-perintah
tersebut dikenal dengan istilah Data Manipulation Language (DML).
Data Manipulation Language (DML) adalah kumpulan perintah SQL yang
berkaitan dengan data atau isi dari suatu tabel. Dengan perintah- perintah DML ini
maka kita akan dapat melakukan menambah data, mengubah data, dan menghapus
data yang terdapat pada sebuah tabel secara mudah. Perintah-perintah yang termasuk
ke dalam DML adalah:
▪ INSERT, berfungsi untuk menambahkan atau memasukkan data baru ke dalam
tabel.
▪ UPDATE, berfungsi untuk mengubah data dalam tabel dengan nilai baru.
▪ DELETE, berfungsi untuk menghapus data dari suatu tabel.

Database dan Tabel Halaman | 90


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Untuk lebih memahami bagaimana model dari Data Manipulation Language (DML),
bisa anda perhatikan pada gambar dibawah ini:

Gambar 6.7 Peta SQL DML (Data Manipulation Language)

1) Menambah data ke dalam tabel ( Insert )


Untuk menambah atau memasukkan data ke dalam tabel, maka gunakan
perintah INSERT.

Perintah SQL untuk menambah data:


INSERT INTO <nama tabel> (<nama kolom 1>, <nama kolom 2>, ...... )
VALUES (<nilai 1>, <nilai 2>, ....);

Contoh:
Insert into penerbit (penerbit_id, penerbit_nama)
Values (‘PB06’, ‘INFORMATIKA’);

Jika anda mengetikkan pada MySQL, maka perintahnya seperti ini:

Database dan Tabel Halaman | 91


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Perintah di atas akan membuat baris data baru (new record) pada tabel
PENERBIT. Setiap data baru yang dimasukkan pada tabel PENERBIT akan
menjadi record baru di dalam tabel tersebut.
Dengan perintah tersebut, kolom penerbit_id akan diisi nilai ‘PB06’
dan kolom penerbit_nama akan diisi nilai ‘INFORMATIKA’.

Perintah lainnya yang bisa digunakan untuk memasukkan data yaitu :


INSERT INTO <nama tabel> VALUES (<nilai 1>, <nilai 2>, ....);

Perintah di atas tidak menggunakan nama kolom karena sifatnya optional.


Tanpa menggunakan nama kolom, data akan tetap masuk ke dalam tabel
menggunakan perintah INSERT.

Contoh:
Insert into penerbit Values (‘PB06’, ‘INFORMATIKA’);

Jika anda mengetikkan pada MySQL, maka perintahnya seperti ini:

2) Mengubah data dalam tabel ( Update )


Perintah UPDATE dapat digunakan untuk mengubah data yang ada pada suatu
tabel sesuai dengan kebutuhan.

Database dan Tabel Halaman | 92


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Perintah SQL untuk menambah data:


UPDATE <nama tabel>
SET (<nama kolom 1=nilai 1>, <nama kolom 2=nilai 2>, ...... )
WHERE (<kriteria atau kondisi>);

Contoh:
Update penerbit
Set penerbit_nama=’INFORMATIKA BANDUNG’)
Where penerbit_id=‘PB06’;

update pengarang set email='[email protected]'


where pengarang_id='ASW';

Jika anda mengetikkan pada MySQL, maka perintahnya seperti ini:

Perintah di atas akan mengubah pada kolom penerbit_nama di dalam


tabel PENERBIT, dari ‘INFORMATIKA’ menjadi ‘INFORMATIKA
BANDUNG’. Perlu diperhatikan bahwa baris data yang akan diubah hanyalah
baris data yang kolom penerbit_id nya bernilai ‘PB06’.

Berikut diberikan contoh perintah UPDATE yang digunakan untuk mengubah


beberapa kolom data sekaligus:
Update buku set
buku_judul=’Tuntunan Praktis Menggunakan Word 2010’),
penerbit_id=’PB02’
Where buku_ISBN=‘999-11555-2-1’;

Perintah di atas akan mengubah nilai dari kolom buku_judul dan


penerbit_id yang terdapat pada tabel BUKU dengan nilai baru. Perubahan
ini hanya dilakukan pada baris data yang memiliki buku_ISBN sama dengan
‘999-11555-2-1’.

Database dan Tabel Halaman | 93


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Jika anda mengetikkan pada MySQL, maka perintahnya seperti ini:

3) Menghapus data dari dalam tabel ( Delete )


Data-data yang ada di dalam database yang dianggap sudah tidak digunakan
lagi dari suatu tabel dapat dihapus dari database. Perintah SQL yang
digunakan untuk menghapus data dari database adalah DELETE.

Perintah SQL untuk menambah data:


DELETE FROM <nama tabel>
WHERE (<kriteria atau kondisi>);

<kriteria atau kondisi> berfungsi sebagai filter untuk membatasi atau


menentukan data mana saja yang akan dihapus.

Contoh:
Delete from buku
where buku_ISBN=’888-96771-3-5’;

Perintah di atas menghapus baris data pada tabel BUKU yang kolom
buku_ISBN-nya bernilai ‘888-96771-3-5’.

Perlu diperhatikan, pada saat anda menghapus baris data pada suatu tabel,
anda harus menyertakan kriteria atau kondisi, karena jika anda tidak
menyertakan kriteria atau kondisi maka semua baris data dalam tabel akan
terhapus.

Database dan Tabel Halaman | 94


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Contoh:
Delete from buku;

Perintah di atas akan menghapus semua baris data pada tabel BUKU.

Selain menggunakan perintah DELETE, perintah SQL lainnya untuk


menghapus adalah menggunakan perintah TRUNCATE. Perintah
TRUNCATE ini lebih cepat dari perintah DELETE, karenan dengan perintah
TRUNCATE sebenarnya tabel dihapus (DROP TABLE) terlebih dahulu,
kemudian membuat ulang tabel baru dengan struktur yang sama dengan tabel
yang sebelumnya dihapus dan data kosong.

Tugas!
- Silahkan dikerjakan semua perintah diatas.
- Jika belum ada database dbbuku, maka silahkan dibuatkan database dbbuku.
- Jika belum ada tabel-tabel di dalam database dbbuku sesuai dengan materi di
atas, maka silahkan membuatkan tabel-tabel di dalam database dbbuku.
- Jika belum ada record (data-data) pada setiap tabel yang sudah dibuat pada
database dbbuku, maka masukkan record (data-data) sesuai dengan instruksi dari
dosen.
- Untuk membuat database dan tabel menggunakan perintah Data Definition
Language (DDL).
- Untuk memasukkan data-data (record-record) ke dalam tabel-table, maka
menggunakan perintah Data Manipulation Language (DML).

Referensi:

Asmara, R. (2016). Sistem informasi pengolahan data penanggulangan bencana pada


kantor BPBD Kabupaten Padang Pariaman. Jurnal J-Click, 3(June), 4–13.
Connolly, T., & Begg, C. (2005). Database System; A Practical Approach to Design,
Implementation, and Management (Fourth Edi).
Dirgayusari, A. M., Ahmad, N., Mahardika, B. T., Musyrifah, M., Gemasih, H.,
Asmawati, A., Sofyan, A. A., Djamaluddin, D., Aini, N., Wiyanto, W., Ridwan,
M., Yani, Mu., Herianto, H., & Maulana, D. (2022). Basis Data (D. Gustian
(ed.)). Media Sains Indonesia.
Raharjo, B. (2015). Belajar Otodidak MySQL: Teknik Pembuatan dan Pengelolaan

Database dan Tabel Halaman | 95


PS Teknologi Informasi UIN Ar-Raniry
Diktat Sistem Manajemen Basis Data

Database. Penerbit INFORMATIKA.


Rahmad, M. B., & Setiady, T. (2014). Perancangan Sistem Informasi Inventory Spare
Part Elektronik Berbasis Web PHP. Jurnal Sarjana Teknik Informatika, 2(2), 10.
Swara, G. Y., & Pebriadi, Y. (2016). Rekayasa perangkat lunak pemesanan tiket
bioskop berbasis web. Jurnal TEKNOIF, 4(2), 27–39.

Database dan Tabel Halaman | 96

Anda mungkin juga menyukai