1. Konsep
Sistem Basis Data
Basis data adalah kumpulan data yang disimpan secara
sistematis di dalam komputer dan dapat diolah atau dimanipulasi serta dapat
diakses dengan mudah dan tepat menggunakan perangkat lunak (program aplikasi)
untuk menghasilkan sebuah informasi.
Komponen Sistem
Basis Data: Perangkat Keras (Hardware), Sistem Operasi (Operating System),
basis data (Database), DBMS (Database Management System), Pemakai (User).
DBMS (Database
Management System) merupakan basis data dan set perangkat lunak (software)
untuk pengelolaan basis data
2.
KonsepModel
Data
Model data merupakan suatu cara
untuk menjelaskan tentang data-data yang tersimpan dalam basis data dan
bagaimana hubungan antar data tersebut
untuk para pengguna (user) secara
logika. Secara garis besar model data dapat dikelompokkan menjadi 3mcacam yaitu
:
1.
Model Data Berbasis Objek (Object based data model)
Merupakan himpunan data dan relasi
yang menjelaskan hubungan logik antar data dalam suatu basis data berdasarkan
pada obyek datanya. Salah satunya adalah Entity Relationship Model.
Model Entity Relationship Diagram (ERD) atau Conceptual Data Model (CDM) Merupakan
suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan
suatu persepsi bahwa dunia nyata terdiri dari obyek-obyek dasar (entitas) yang
mempunyai hubungan atau relasi antar obyek-obyek dasar (entitas) tersebut yang
dilukiskan dengan menggunakan simbol-simbol grafik tertentu.
2.
Model Data berbasis Record (Record Based Data Model)
Model ini berdasarkan pada record/rekaman untuk menjelaskan kepada para
pemakai tentang logik antar data dalam basis data. Salah satunya adalah
Relational model.
Model Rasional merupakan model data yang menjelaskan pada pengguna
tentang hubungan logik antar data dalam basis data dengan mempresentasikannya
ke dalam betuk tabel-tabel yang terdiri atas sejumlah baris yang menunjukkan record dan kolom yang menunjukkan atribut tertentu.
3.
Physical
Based Data Model
Model ini berdasarkan
pada teknis penyimpanan record dalam basis data. Model ini jarang digunakan
untuk memodelkan data kepada pemakai karena kerumitan dan kompleksitasnya yang
tinggi.
3.
Bahasa Basis data
Bahasa yang digunakan
untuk mendefinisikan, mengelolah dan memanipulasi basis data dikelompokkan 3
macam yaitu :
1.
DDL (Data
Definition Language) digunakan untuk mendefinisikan struktur dan kerangka
dari basis data yang meliputi :
a.
Membentuk
basis data, tabel, indeks.
b.
Mengubahstruktur
table.
c.
Menghapus
basis data, tabelatauindeks.
2.
DML
(Data Manipulation Language)digunakanuntukmenjabarkanpemrosesan
data pada basis data yang meliputi :
a.
Menambahkan atau menyisipkan data baru ke basis data
b.
Mengelolah
data yang tersimpandalam basis data (query)
c.
Mengubahdanmenghapus
data dalam basis data.
3.
DCL(Data Control Language)digunakanuntukpengaturanhakaksespenggunapada
basis data yang meliputi :
a.
Menugaskan
hak akses terhadap basis data kepada pengguna atau grup pengguna.
b.
Membatalkan
hak akses pengguna terhadap basis data
4.
Entity
Relationship Diagram (ER-D)
Merupakan
model data yang dikembangkan berdasarkan obyek atau entitas. ER_D berguna
membantu perancang atau analis sistem pada saat melakukan analisis dan
perancangan basis data karena model ini dapat menunjukkan macam data yang
dibutuhkan dan direlasikan antar data di dalamnya.
1.
Komponen
ER_Diagram
Sebuah diagram ER tersusun atas tiga komponen, yaitu entitas
yang merupakan obyek dasar yang terlibat dalam sistem, atribut yang berperan
sebagai penjelas entitas, kerelasian antar entitas menunjukkan hubungan yang
terjadi diantara dua entitas.
a.
Entitas
(Entity)
Entitas
menunjukkan obyek-obyek dasar yang terkait di dalam sistem. Obyek dasar dapat
berupa orang, benda atau hal yang keterangannya perlu disimpan di dalam basis
data. Macam-macam Entitas :
·
Entitas
Reguler
Entitas
ini disebut juga entitas dominan (strong entity). Keberadaan entitas ini tidak
tergantung pada entitas yang lain.
Contoh
: Mahasiswa, Matakuliah.
·
Entitas
dependen
Entitas
ini disebut juga entitas tidak bebas/independen atau entitas lemah (weak
entity) atau entitas subordinat. Entitas ini dapat muncul jika ada entitas lain
sebagai acuannya (entitas reguler).
Contoh
: Matakuliah_konsentrasi, bergantung pada entitas Matakuliah.
·
Entitas
super type dan sub type
Entitas
super type merupakan entitas yang
memiliki tingkatan yang lebih tinggi yaitu membawahi atau mempunyai entitas
bagian yang lebih rendah.
Contoh
: Entitas Karyawan.
Entitas
sub type merupakan entitas yang lebih
rendah yaitu entitas yang menjadi entitas bagian dari entitas lain.
Contoh
: Entitas karyawan_tetap dan karyawan_tidak_tetap
b.
Atribut
(Attribute)
Merupakan
keterangan-keterangan yang terkait pada sebuah entitas yang perlu disimpan ke
dalam database. Atribut berfungsi sebagai penjelas pada sebuah entitas. Contoh
: mahasiswa mempunyai atribut nim, nama, jurusan, kelamin, tempat_lahir,
tanggal_lahir, dsb.
Atribut pada sebuah entitas dibagi menjadi 2 yaitu :
·
Atribut
sederhana (simple attribute), yaitu
jika atribut berisi sebuah komponen/nilai/elementer.
Contoh
: pada entitas mahasiswa adalah tahun masuk = 2013
·
Atribut
komposit (composite attribute), yaitu jika atribut berisi lebih dari sebuah
komponen nilai.
Contoh
: pada entitas mahasiswa adalah tanggal lahir yang terdiri atas komponen nilai
tanggal, bulan, tahun.
c.
Kerelasian
antar entitas (Entity Relationship)
Mendefiniskan
hubungan antara 2 buah entitas. Jenis kerelasian antar entitas dibagi mejadi 3
sebagai berikut :
1.
Kerelasian
jenis satu ke satu (one to one), kerelasian terjadi jika kejadian atau
transaksi di antara dua entitas yang berhubungan hanya memungkinkan terjadi
sebuah kejadian atau transaksi pada kedua entitas.
Dimana
setiap tupel (baris) pada entitas A berhubungan dengan paling banyak satu tupel
pada entitas B, dan begitu juga sebaliknya setiap tupel pada entitas B
berhubungan dengan paling banyak satu tupel pada entitas A.
2.
Kerelasian
banyak ke satu (many to one) atau satu ke banyak (one to many), kerelasian ini
terjadi jika kejadian atau transaksi di antara dua entitas yang berhubungan
hanya memungkinkan terjadi satu kali dalam entitas pertama dan dapat terjadi
lebih dari satu kali kejadian atau transaksi pada entitas kedua.
·
Satu
ke banyak (one to many)
Dimana
satu tupel pada entitas A dapat berhubungan dengan banyak tupel pada entitas B,
tetapi tidak sebaliknya, dimana setiap tupel pada entitas B berhubungan dengan
paling banyak satu tupel pada entitas A.
·
Banyak
ke satu (many to one)
Dimana
setiap tupel pada entitas A dapat berhubungan dengan paling banyak satu tupel
pada entitas B, tetapi tidak sebaliknya, dimana setiap tupel pada entitas A
berhubungan dengan paling banyak satu tupel pada entitas B.
3.
Kerelasian
jenis banyak ke banyak (many to many)
Kerelasian
jenis ini terjadi jika kejadian atau transaksi di antara dua entitas yang
berhubungan memungkinkan terjadi lebih dari satu kali dalam entitas pertama dan
kedua.
Dimana
setiap tupel pada entitas A dapat berhubungan dengan banyak tupel pada entitas
B, dan demikian juga sebaliknya, dimana setiap tupel pada entitas B dapat
berhubungan dengan banyak tupel pada entitas A.
2.
Langkah-langkah
Membuat ER_Diagram
Untuk membuat ER_Diagram secara lengkap dapat dilakukan
dengan mengikuti langkah-langkah sebagai berikut :
·
Identifikasikan
setiap entitas yang terlibat.
·
Lengkapi
masing-masing entitas dengan atribut yang sesuai.
·
Tentukan
primari key dari masing-masing entitas.
·
Identifikasikan
setiap kerelasian berikut jenisnya yag terjadi di antara entitas dengan membuat
tabel daftar kerelasian antar entitas.
·
Gambarkan
simbol-simbol entitas, atribut, dan kerelasian antar entitas secara jelas dan
tidak bertabrakan.
·
Cek
ER_Diagram yang terbenuk, dalam hal : kelengkapan entitas, kelengkapan atribut,
kelengkapan kerelasian antar entitas dan jenis kerelasian antar entitas.
A. SQL
(Structured Query Language)
SQL merupakan suatu bahasa (language) standar menurut
ANSI (American National Standards Institute) yang digunakan untuk mengakses
basis data. SQL pertama kali diterapkan pada sistem R (sebuah proyek riset pada
laboratorium riset San Jose, IBM). Kini SQL juga dijumpai pada berbagai
platform, dari mikrokomputer hingga mainframe. SQL dapat digunakan baik secara
berdiri sendiri maupun dilekatkan pada bahasa-bahasa lain seperti C dan Delphi.
SQL juga telah menjadi bagian dari sejumlah DBMS, seperti Oracle, Sybase, MySQL
dan Informix.
B. Elemen
SQL
Elemen dasar SQL mencakup pernyataan, nama, tipe data,
konstanta, ekspresi, operator relasi, operator logika dan fungsi bawaan.
a.
Pernyataan
Merupakan perintah SQL yang meminta sesuatu tindakan
kepada DBMS (Database Management System).
SQL memiliki kira-kira 30 pernyataan. Beberapa pernyataan dasar SQL dapat
dilihat pada tabel berikut :
Pernyataan
|
Keterangan
|
CREATE
|
Menciptakan
basis data, tabel atau indeks
|
ALTER
|
Mengubah struktur
tabel
|
DROP
|
Menghapus
basis data, tabel atau indeks
|
COMMIT
|
Mengakhiri
sebuah eksekusi transaksi data
|
ROLLBACK
|
Mengembalikan
ke keadaan semula sekiranya suatu transaksi gagal dilaksanakan
|
INSERT
|
Menambahkan
sebuah baris pada tabel
|
UPDATE
|
Mengubah nilai
pada sebuah baris
|
SELECT
|
Memilih baris
dan kolom pada tabel
|
DELETE
|
Menghapus
baris pada tabel
|
GRANT
|
Menugaskan hak
terhadap basis data kepada pengguna atau grup pengguna
|
REVOKE
|
Membatalkan
hak terhadap basis data
|
Tabel 2.1 Pernyataan SQL
Yang semuanya
dikelompokkan berdasarkan fungsinya masing-masing yaitu :
a.
Data Definition Language (DDL) : Digunakan untuk
mendefinisikan data dengan menggunakan perintah : CREATE, DROP, ALTER.
b.
Data Manipulation Language (DML) : Digunakan untuk
memanipulasi data dengan menggunakan perintah : INSERT, SELECT, UPDATE, DELETE.
c.
Data Control Language (DCL) : Digunakan untuk
mengontrol hak para pemakai data dengan perintah : GRANT, REVOKE.
b.
Nama
Nama digunakan sebagai identitas bagi objek-objek pada
DBMS (Database Management System).
Contoh objek pada DBMS adalah tabel, kolom dan pengguna.
c.
Tipe
Data
Setiap data memiliki tipe data. Berikut ini adalah tipe
data dalam MySQL :
Tipe
|
Keterangan
|
Range
Nilai
|
TINYINT
|
Nilai integer yang sangat kecil
|
Signed : -128 s.d. 127
Unsigned : 0 s.d. 255
|
SMALLINT
|
Nilai integer yang kecil
|
Signed : -32768 s.d. 32767
Unsigned : 0 s.d. 65535
|
MEDIUMINT
|
Integer dengan nilai medium
|
Signed : -8388608 s.d. 8388607
Unsigned : 0 s.d. 16777215
|
INT
|
Integer dengan nilai standar
|
Signed : -2147483648 s.d.
2147483647
Unsigned : 0 s.d. 4294967295
|
BIGINT
|
Integer dengan nilai besar
|
Signed : -9223372036854775808
s.d. 9223372036854775807
Unsigned : 0 s.d.
18446744073709551615
|
FLOAT
|
Bilangan desimal dengan
single-precission
|
minimum ± 1.175494351e-38
maksimum ± 3.402823466e+38
|
DOUBLE
|
Bilangan desimal dengan
double-precission
|
minimum ±
2.2205738585072014e-308
maksimum ±
1.7976931348623457e+308
|
DECIMAL(M,D)
|
Bilangan float (desimal) yang dinyatakan sebagai
string. M adalah jumlah digit yang disimpan dalam suatu kolom, N adalah
jumlah digit dibelakang koma
|
Tergantung pada nilai M dan D
|
Tabel
2.2 Tipe data untuk numerik
Keterangan :
Signed dan Unsigned adalah atribut untuk tipe data numerik
-
Signed
: Data yang disimpan dalam suatu kolom dapat berupa data negatif dan positif.
-
Unsigned
: Digunakan agar data yang dimasukkan bukan data negatif (>=0). Tipe data
float tidakDapat dinyatakan dengan unsigned.
Tipe
|
Keterangan
|
Ukuran
Maksimum
|
CHAR(n)
|
String karakter dengan panjang
yang tetap, yaitu n
|
1 M byte
|
VARCHAR(n)
|
String karakter dengan panjang
yang tidak tetap, maksimum n.
|
1 M byte
|
TINYBLOB
|
BLOB (Binary Large Object) yang
sangat kecil
|
28-1 byte
|
BLOB
|
BLOB berukuran kecil
|
216-1 byte
|
MEDIUMBLOB
|
BLOB berukuran sedang
|
224-1 byte
|
LONGBLOB
|
BLOB berukuran besar
|
232-1 byte
|
TINYTEXT
|
String teks yang sangat kecil
|
28-1 byte
|
TEXT
|
String teks berukuran kecil
|
216-1 byte
|
MEDIUMTEXT
|
String teks berukuran medium(sedang)
|
224-1 byte
|
LONGTEXT
|
String teks berukuran besar
|
232-1 byte
|
ENUM
|
Enumerasi, kolom dapat diisi
dengan satu member enumerasi
|
65535 anggota
|
SET
|
Himpunan, kolom dapat diisi
dengan beberapa nilai anggota himpunan
|
64
nggota
himpunan
|
Tabel
2.3 Tipe data string atau karakter
Tipe
|
Range
|
Format
|
DATE
|
“1000-01-01” s.d. “9999-12-31”
|
“0000-00-00”
|
TIME
|
“-832:59:59” s.d. “838:59:59”
|
“00:00:00”
|
DATETIME
|
“1000-01-01 00:00:00” s.d.
“9999-12-31 23:59:59”
|
“0000-00-00 00:00:00”
|
Tabel 2.4 Tipe data
tanggal dan jam
d.
Konstanta
Konstanta menyatakan nilai yang tetap atau tidak berubah.
Konstanta sering di pakai pada perintah SELECT. Konstanta di bagi menjadi 2 :
1.
Konstanta
bertipe numerik : 200, -3, 1500, 3.25
2.
Konstanta
bertipe karakter : ‘Teknik Informatika’
Keterangan
:
Konstanta bertipe karakter atau String diapit oleh tanda
petik tunggal. Dan konstanta dengan nilai pecahan desimal adalah berupa tanda
titik.
e.
Operator
Aritmatika
Operator Aritmatika adalah ekspresi untuk memperoleh
suatu nilai dari hasil perhitungan.
Contoh : harga*jumlah+2
Simbol-simbol yang dapat digunakan pada ekspresi aritmatika :
Simbol
|
Keterangan
|
*
|
Perkalian
|
/
|
Pembagian
|
+
|
Penjumlahan
|
-
|
Pengurangan
|
%
|
Sisa pembagian
|
Tabel
2.5 Simbol Ekspresi Aritmatika
f.
Operator
Relasi
Merupakan operator yang digunakan untuk membandingkan
suatu nilai dengan nilai yang lain. Biasanya operator relasi digunakan
bersamaan dengan operator logika dalam membantu untuk menampilkan informasi
dengan kriteria tertentu.Simbol-simbol yang dapat digunakan pada operator
relasi :
Simbol
|
Keterangan
|
=
|
Sama dengan
|
>
|
Lebih besar
|
<
|
Lebih kecil
|
>=
|
Lebih besar atau sama dengan
|
<=
|
Lebih kecil atau sama dengan
|
<>
|
Tidak sama dengan
|
Tabel
2.6 Simbol Operator Relasi
g.
Operator
Logika
Operator logika ada 3 yaitu OR, AND dan NOT
Simbol
|
Keterangan
|
NOT atau !
|
Sebagai negasi atau pembalik
nilai
|
OR atau ||
|
Atau
|
AND atau &&
|
Dan
|
Tabel
2.7 Operator Logika
h.
Operator
Pembanding
Simbol
|
Keterangan
|
IS NOT NULL
|
Apakah sebuah nilai adalah
tidak kosong (not null)
|
IS NULL
|
Apakah sebuah nilai adalah
kosong (null)
|
BETWEEN
|
Apakah suatu nilai di antara
dua batasan nilai
|
IN
|
Apakah suatu nilai berada di
dalam pilihan yang ada
|
NOT IN
|
Apakah suatu nilai tidak berada
dalam pilihan yang ada
|
LIKE
|
Apakah suatu nilai sesuai
dengan kriteria tertentu
|
NOT LIKE
|
Apakah suatu nilai tidak sesuai
dengan kriteria tertentu
|
Tabel
2.8 Operator Pembanding
i.
Aggregate
Functions (Fungsi Agregat)
Fungsi adalah sebuah subprogram yang menghasilkan suatu
nilai jika dipanggil. Fungsi agregat adalah fungsi standar di dalam SQL, suatu
fungsi yang digunakan untuk melakukan summary, fungsi statistik standar yang
dikenakan pada suatu tabel atau query.
1.
SUM(ekspresi)
2.
Fungsi
ini digunakan untuk mendapatkan nilai total dari suatu kolom pada suatu tabel
3.
AVG(ekspresi)
Fungsi ini digunakan untuk mencari rata-rata nilai dalam
suatu kolom dari suatu tabel atau ekspresi. Ekspresi dalam fungsi AVG umumnya
adalah nama kolom. Kolom yang dicari nilai rata-ratanya adalah kolom dengan tipe
data numerik.
4.
COUNT(x)
Fungsi ini digunakan untuk menghitung jumlah record
(baris) dari suatu kolom dari suatu tabel. X adalah nama kolom yang ingin
dicari jumlah barisnya.
5.
MAX(ekspresi)
Fungsi ini digunakan untuk mencari nilai terbesar dari
suatu kolom dari suatu tabel. Kolom yang dicari nilai terbesarnya memiliki tipe
data numerik.
6.
MIN(ekspresi)
Fungsi ini digunakan untuk mencari nilai terkecil dari
suatu kolom dari suatu tabel. Kolom yang dicari nilai terkecilnya memiliki tipe
data numerik.
Data
Definiton Language (DLL)
DLL merupakan bagian dari sql yang digunakan untuk
mendefinisikan struktur dan kerangka
data dan obyek basis data. Bisa juga dikatakan merupakan kelompok perintah yang
berfungsi untuk mendefinisikan atribut-atribut basis data, tabel,
batasan-batasan terhadap suatu atribut, serta hubungan antar tabel.
Tabel 3.1 Perintah-perintah dalam DLL
Perintah
|
Keterangan
|
Create Database
|
Membuat basis data
|
Drop Database
|
Menghapus basis data
|
Create Table
|
Membuat tabel
|
Alter Table
|
Mengubah atau menyisipkan kolom
ke dalam tabel
|
Drop Table
|
Menghapus tabel dari basis data
|
Create Index
|
Membuat Index
|
Drop Index
|
Menghapus Index
|
A. Data Manipulation Language (DML)
Data Manipulation Language (DDL) merupakan
perintah-perintah yang berfungsi untuk melakukan manipulasi data ataupun
objek-objek yang ada didalam tabel. Antara lain: perintah untuk memilih data
(query), menyisipkan, mengubah dan menghapus data dalam basis data.
Bentuk manipulasi yang dapat dilakukan oleh DML
diantaranya adalah :
- Melakukan pencarian kembali data lama,
- Penyisipan data baru ke dalam tabel
- Penghapusan data
- Pengubahan data
- Menampilkan data dengan kreiteria tertentu
- Menampilkan data secara terurut.
DML menurut jenisnya dapat dibagi menjadi 2 jenis yaitu :
- Prosedural, DML membutuhkan pemakai untuk menspesifikasikan data apa
yang dibutuhkan dan bagaimana cara mendapatkannya, Contoh paket bahasa
prosedural adalah dBase III, FoxBase.
- Non Prosedural, DML membutuhkan pemakai untuk menspesifikasikan data
apa yang dibutuhkan tanpa tahu bagaimana cara mendapatkannya. Contoh paket
bahasa non prosedural adalah SQL (Structured Query Language) atau Query By
Example (QBE).
B.
Perintah DML sebagai berikut :
a. INSERT
Perintah INSERT digunakan untuk menambahkan baris pada
suatu tabel.
Terdapat dua cara untuk menambah baris, yaitu :
Cara 1 :
Menambah baris dengan mengisi data langsung pada setiap
kolom tanpa menyertakan struktur tabel :
INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);
1.
Query
Query merupakan suatu proses pengolahan data yang
digunakan untuk memberikan hasil dari basis data berdasarkan kriteria tertentu.
Query tidak hanya membaca atau mengambil data, query biasanya melibatkan
beberapa tabel yang direlasikan dengan menggunakan field kunci. Namun query
juga dapat digunakan pada satu tabel saja, tetapi hasilnya kurang informatif
dan terbatas.
2. Pemahaman Hak Akses
Basis data yang telah dibuat perlu diatur agar data selalu dalam keadaan
aman dari pemakai yang tidak berhak. Pengaturan hak akses berguna dalam hal
pembatasan pengaksesan suatu data, misalkan hanya pemakai tertentu yang bisa
membaca atau pemakai lain yang justru dapat melakukan perubahan dan penghapusan
data.
Macam-macam perintah yang terkait dengan hak akses adalah SELECT, INSERT,
UPDATE, DELETE, REFERENCES, INDEX, CREATE, ALTER dan DROP.
3. Mengatur Hak Akses
Untul MySQL versi 3.22. keatas dalam manajemen user dapat
menggunakan perintah GRANT dan REVOKE untuk mengatur hak akses pemakai (user).
1. Perintah GRANT
Dipergunakan
untuk membuat user baru dengan izin aksesnya.
Bentuk umum :
GRANT
jenis_akses (``nama_kolom)
ON nama_database TO
nama_user IDENTIFIED BY ”nama_password” [WITH
GRANT pilihan_akses]
Atau
GRANT
hak_akses ON namatabel TO pemakai;
Dimana
:
·
Hak_akses
merupakan hak yang diberikan kepada pemakai berupa SELECT, INSERT saja atau
keduanya. Bila hak akses lebih dari satu antar hak akses dipisahkan dengann
koma (,).
·
Nama
tabel, menyatakan nama tabel yang akan diakses dan diatur.
·
Pemakai,
nama pemakai yang telah didaftarkan pada sistem database. Sejumlah pemakai bisa
disebutkan dengan dipisahkan tanda koma (,).



0 Komentar