Anda di halaman 1dari 8

M o d u l P e r k u l i a h a n D B M S | 47

Perancangan Konseptual & Logika Basis Data

Tipe Data Pada Basis Data, Kamus Data


dan Structured Query Language (SQL)
M o d u l P e r k u l i a h a n D B M S | 48

8.1 Tipe Data Pada Basis Data

Setiap tabel di dalam diagram relasi tabel yang telah disusun pada tahap sebelumnya digunakan
sebagai acuan untuk menyusun kamus data. Kamus data, kemudian digunakan pula sebagai
acuan untuk membentuk fisik tabel di dalam basis data. Oleh karena itu, kamus data memiliki
peranan penting untuk membangun basis data, namun sering kali dilewati oleh para perancang
basis data pemula.
Penyusunan kamus data membutuhkan 2 hal, yaitu pengetahuan tentang tipe data dan Panjang
data yang digunakan. Tipe data sangat bergantung kepada jenis engine basis data yang
digunakan, namun dari berbagai macam jenis engine basis data, memiliki konsep tipe data yang
sama. Secara umum, tipe data di dalam basis data dikelompokkan menjadi 3 yaitu CHARACTER
STRING, NUMERIC dan DATE-TIME.

A. Tipe Data Character String


Tipe data character string adalah tipe data yang berbentuk karakter (character) atau huruf
atau teks. Tipe data character string terdiri dari beberapa tipe seperti ditunjukkan pada tabel
8.1.
Tabel 8.1 Jenis Tipe Data Character String
Tipe Data Deskripsi

CHAR Tipe data untuk huruf, angka dan karakter khusus dengan panjang
data yang tetap, mulai dari 0 sd 255

VARCHAR Tipe data untuk huruf, angka dan karakter khusus dengan panjang
data yang tetap, mulai dari 0 sampai 65535

BINARY Tipe data yang sama dengan CHAR, tapi digunakan untuk
menyimpan huruf, angka dan karakter khusus dalam bentuk
bilangan biner

VARBINARY Tipe data yang sama dengan VARCHAR, tapi digunakan untuk
menyimpan huruf, angka dan karakter khusus dalam bentuk
bilangan biner

TINYBLOB Tipe data untuk menyimpan berkas gambar. Tipe data BLOB
(Binary Large Objects) memiliki panjang data 255 bytes

TINYTEXT Tipe data untuk teks dengan panjang data maksimum 255
karakter

TEXT Tipe data untuk teks dengan panjang data 65.535 bytes

BLOB Tipe data untuk menyimpan berkas gambar. Tipe data BLOB
(Binary Large Objects) memiliki panjang data maksimal sampai
65.535 bytes of data
M o d u l P e r k u l i a h a n D B M S | 49

Tipe Data Deskripsi

MEDIUMTEXT Tipe data untuk menyimpan data teks dengan panjang data
maksimal 16.777.215 karakter

MEDIUMBLOB Tipe data untuk menyimpan berkas gambar. Tipe data BLOB
(Binary Large Objects) memiliki panjang data maksimal
16.777.215 bytes

LONGTEXT Tipe data untuk menyimpan data teks dengan panjang data
maksimal 4.294.967.295 karakter

LONGBLOB Tipe data untuk menyimpan berkas gambar. Tipe data BLOB
(Binary Large Objects) memiliki panjang data maksimal
4.294.967.295 bytes

ENUM Tipe data string dalam format objek / list / daftar, yang hanya
memiliki satu nilai saja. Nilai tersebut diperoleh dari pilihan
beberapa opsi nilai yang telah disediakan. Maksimal jumlah
pilihan sebanyak 65.535

SET Tipe data seperti ENUM, namun memiliki lebih dari 1 nilai

B. Tipe Data Numerik


Tipe data numerik adalah tipe data dalam bentuk angka tanpa ada karakter, huruf sama
sekali. Macam-macam tipe data numerik ditunjukkan pada tabel 8.2

Tabel 8.2 Jenis Tipe Data Numerik


Data type Description

BIT Tipe data bit (biner) dengan ukuran panjang data mulai 1
sampai dengan 64 bit

TINYINT Tipe data jenis integer yang memiliki ukuran terkecil


dibandingkan jenis integer lain yaitu maksimal 255. Nilai data
terkecilnya mulai dari -128 sampai maksimal 127

BOOL Tipe data Bool memiliki 2 bentuk nilai, sama dengan nol dan
bukan nol. Jika data bernilai = 0, maka dikategorikan FALSE,
sedangkan jika bukan 0 maka dikategorikan TRUE

BOOLEAN Tipe data Boolean dengan dua macam nilai, TRUE atau FALSE

SMALLINT Tipe data jenis integer yang memiliki ukuran terkecil kedua
setelah TINYINT dibandingkan jenis integer lain yaitu
maksimal 255. Nilai data terkecilnya mulai dari -32768
sampai maksimal 32767
M o d u l P e r k u l i a h a n D B M S | 50

Data type Description

MEDIUMINT Tipe data integer dengan nilai data terkecilnya adalah -


8.388.608 sampai 8.388.607. Panjang data maksimal adalah
255

INT Tipe data yang sama dengan MEDIUMINT namun memiliki


jangkauan nilai data yang lebih banyak yaitu mulai minus
2.147.483.648 sampai 2.147.483.647

INTEGER Sama dengan tipe data INT

BIGINT Tipe data yang sama dengan INT namun memiliki jangkauan
nilai data yang lebih banyak yaitu -9.223.372.036.854.775.808
to 9.223.372.036.854.775.807.

FLOAT Tipe data untuk bilangan desimal

FLOAT(p)
Tipe data untuk bilangan bulat puluhan ratusan, ribuan dan
DOUBLE seterusnya. Jika panjang datanya mulai dari 0 sampai 24
maka termasuk tipe data float. Jika pangjang data mulai 25
DOUBLE sampai 53, maka termasuk tipe data DOUBLE
PRECISION

DECIMAL Tipe data untuk bilangan desimal

DEC Tipe data untuk bilangan desimal

C. Tipe Data Date-Time


Tipe data Date-time adalah tipe data yang digunakan untuk menyimpan data dalam format
tanggal dan waktu. Jenis tipe data ini ditunjukkan pada tabel 8.3

Tabel 8.3 Jenis Tipe Data Date-Time


Data type Description

DATE Tipe data untuk menyimpan data tanggal dengan format


YYYY-MM-DD, mulai dari tanggal '1000-01-01' to '9999-12-
31'

DATETIME Tipe data untuk data tanggal dan jam dengan format data:
YYYY-MM-DD hh:mm:ss, mulai dari 1000-01-01 00:00:00
sampai 9999-12-31 23:59:59
M o d u l P e r k u l i a h a n D B M S | 51

Data type Description

TIMESTAMP Tipe data untuk timestamp, mirip dengan DATETIME dengan


tambahan area waktu yang digunakan di sistem komputer.
Contoh: 1970-01-01 00:00:00 UTC

TIME Tipe data jam / waktu dengan format: hh:mm:ss, mulai dari
nilai -838:59:59 sampai 838:59:59

YEAR Tipe data tahun dengan format 4 digit angka, mulai tahun 1901
sampai 2155, dan 0000.

8.2 Kamus Data

Kamus data (data dictionary) adalah rincian tentang tipe data dan panjang data dari sebuah
tabel yang disusun berdasarkan diagram relasi tabel. Contoh kamus data ditunjukkan pada tabel
8.4.
Tabel 8.4 Contoh Kamus Data
Nama Tabel: Barang
Jenis Panjang
Nama Field Tipe Data Contoh
Kunci Data
kode_barang PK String 6 B001, C999
kategori - String 20 Beras, Tepung
Merk - String 20 Rosebrand
Satuan - String 6 Kg, Liter, Buah
harga - INT 7 1000,10000

Tabel 8.4 menunjukkan kamus data untuk tabel dengan nama tabel “Barang”. Sebuah kamus
data berbentuk tabel, yang terdiri dari minimal 5 kolom sebagai berikut:
1) Kolom Nama Field: berisikan semua field yang ada di sebuah tabel
2) Kolom Jenis Kunci: berisikan jenis field, Primary Key (PK) dan atau Foreign Key (FK)
3) Kolom Tipe Data: berisikan tipe data dari field
4) Kolom Panjang Data: berisikan panjang data
5) Kolom Contoh: berisikan contoh nilai data

Hal yang perlu diperhatikan dalam penyusunan basis data adalah tentang pemberian nama
tabel dan field yang hanya berupa satu kata atau gabungan dari beberapa kata tanpa ada spasi.
M o d u l P e r k u l i a h a n D B M S | 52

8.3 Structured Query Language

Query dapat diartikan sebagai permintaan dari pengguna basis data untuk mengelola basis
data. Structured Query Language (SQL) adalah bahasa pemrograman yang khusus digunakan
untuk pengelolaan basis data. Seperti halnya bahasa pemrograman lainnya, SQL memiliku
susunan atau format perintah khusus untuk menjalankan fungsi-fungsi tertentu. Fungsi SQL
dikelompokkan menjadi 3 sesuai dengan tujuan penggunaannya yaitu Data Definition Language
(DDL), Data Manipulation Language (DML) dan Data Control Language (DCL)

A. Data Definition Language (DDL)


DDL adalah perintah (command) SQL yang digunakan untuk membuat, mengubah atau
menghapus komponen basis data seperti database, tabel dan stored-procedure. DDL
memiliki 3 jenis perintah dasar yaitu:
1) CREATE
Perintah CREATE, umumnya digunakan untuk untuk membuat basis data, tabel dan
stored-procedure.
a) Query untuk membuat basis data baru
Format atau struktur query menggunakan perintah CREATE untuk membuat basis
data baru adalah sebagai berikut

CREATE DATABASE namabasisdata

Contoh: CREATE psb_sd013_2022

b) Query untuk membuat tabel baru


Format atau struktur query menggunakan perintah CREATE untuk membuat basis
data baru adalah sebagai berikut

CREATE TABLE namatabel(


Namakolom1, tipedata(panjangdata) jeniskunci atributfield,
Namakolom2, tipedata(panjangdata) atributfield,
Namakolom2, tipedata(panjangdata) atributfield )

CREATE TABLE barang(


kode_barang, string(6) PRIMARY KEY NOT NULL,
kategori, string(20) NOT NULL,
Contoh:
merk, string(20) NOT NULL,
satuan, string(6) NULL,
harga, int NULL)
M o d u l P e r k u l i a h a n D B M S | 53

Penulisan query untuk semua jenis command dapat dilakukan dalam satu baris atau
beberapa baris. Pada contoh sebelumnya, query ditulis dalam beberapa baris untuk
memudahkan mengenali maksud setiap barisnya. Query juga tidak dipengaruhi
huruf besar atau huruf kecil.

2) ALTER
Command ALTER digunakan untuk memodifikasi atau mengubah struktur tabel. Bentuk
modifikasi yang dapat dilakukan adalah sebagai berikut:
a) Menambah field / kolom

ALTER TABLE namatabel(


ADD COLUMN Namakolom1, tipedata(panjangdata) atributfield,
ADD COLUMN Namakolom2, tipedata(panjangdata) atributfield,
ADD COLUMN Namakolom3, tipedata(panjangdata) atributfield)

ALTER TABLE barang(


Contoh: ADD COLUMN merk, string(50) NOT NULL,
ADD COLUMN tipe_barang, string(15))

b) Menghapus field / kolom

ALTER TABLE namatabel(


ADD COLUMN Namakolom1, tipedata(panjangdata) atributfield,
ADD COLUMN Namakolom2, tipedata(panjangdata) atributfield,
ADD COLUMN Namakolom3, tipedata(panjangdata) atributfield)

c) Mengubah nama kolom

ALTER TABLE namatabel


CHANGE COLUMN NamaSebelum NamaSesudah
tipedata(panjangdata)
atributfield

ALTER TABLE barang(


Contoh:
CHANGE COLUMN merk merk_barang string(30) NULL

Contoh di atas menunjukkan query untuk mengubah kolom “merk” menjadi


“merk_barang” dan panjang datanya juga ikut diubah menjadi 30.
M o d u l P e r k u l i a h a n D B M S | 54

d) Mengubah posisi field/kolom

ALTER TABLE namatabel


CHANGE COLUMN namakolom1 namakolom1 tipedata(panjangdata)
atributfield AFTER namakolom2

Misalkan dari kamus data pada tabel 8.4, kita akan mengubah urutan kolom merk
menjadi setelah kolom harga:
ALTER TABLE barang
Contoh: CHANGE COLUMN merk merk string(30) NULL
AFTER harga

Jika posisi kolom/field yang akan dipindahkan berada di sebelum field lain, maka
perintah AFTER diganti dengan FIRST. Misalkan dari kamus data pada tabel 8.4, kita
akan mengubah urutan ke posisi ke 2, sebelum field kategori:
ALTER TABLE barang
Contoh: CHANGE COLUMN merk merk string(30) NULL
FIRST kategori

e) Menambahkan Primary Key


f) Menambahkan Foreign Key
g)
3) DROP
B. Data Manipulation language (DML)
DML adalah perintah SQL yang digunakan untuk memanipulasi data di dalam tabel. Istilah
manipulasi data meliputi aktifitas entri data (input data), ambil data, ubah data (update) dan
hapus data. DML memiliki 4 jenis perintah dasar yaitu:
1) INSERT
2) SELECT
3) DELETE
4) UPDATE

C. Data Control Language (DCL)


DCL adalah perintah SQL yang digunakan untuk mengatur hak akses ke basis data.

Anda mungkin juga menyukai