PENGANTAR SISTEM DATABASE

 

  1. I.    HIERARKI DATA

 

Data harus disusun secara teratur agar pengolahannya dapat dilakukan dengan baik dan efisien. Pengorganisasian data dapat dibagi dalam enam tingkatan, yaitu :

 

  1. Bit adalah suatu sistem angka biner yang terdiri atas dua macam nilai saja, yaitu 0 dan 1. Sistem angka biner merupakan dasar dasar yang dapat digunakan untuk komunikasi antara manusia dan mesin (komputer) yang merupakan sekumpulan komponen elektronik dan hanya dapat membedakan dua keadaan saja (on dan off). Jadi bit adalah unit terkecil dari pembentuk data.
  2. Byte adalah bagian terkecil yang dapat dialamatkan dalam memori. Byte merupakan sekumpulan bit yang secara konvensional terdiri atas kombinasi delapan bit. Satu byte digunakan untuk mengkodekan satu buah karakter dalam memori. Contoh: Kode Ascii untuk J ialah 10101010. Jadi byte adalah kumpulan bit yang membentuk satu karakter (huruf, angka, atau tanda). Dengan kombinasi 8 bit, dapat diperoleh 256 karakter (= 2 pangkat 8).
  3. Field atau kolom adalah unit terkecil yang disebut data. Field merupakan sekumpulan byte yang mempunyai makna. Contoh: Joni yang merupakan field nama.  Jadi field ibarat kumpulan karakter yang membentuk suatu kata.
  4. Record atau baris adalah kumpulan item yang secara logic saling berhubungan. Setiap record dapat dikenali oleh sesuatu yang mengenalinya, yaitu field kunci. Gambar 1 merupakan contoh dari record. Jadi record ibarat kumpulan kata yang membentuk satu kalimat yang berarti, misal gambar 1 mewakili kalimat: Joni memenmpuh mata kuliah MIS (kode IS101) dengan nilai A.

Gambar 1. Contoh Record

  1. File atau tabel adalah kumpulan record yang sejenis dan secara logic berhubungan. Pembuatan dan pemeliharaan file adalah faktor yang sangat penting dalam sistem informasi manajemen yang memakai komputer. Jadi tabel ibarat kumpulan baris/record yang membentuk satu tabel yang berarti, misal gambar 2 mewakili tabel nilai mata kuliah MIS.

Gambar 2. Contoh File Kursus

  1. Database merupakan kumpulan file-file yang berhubungan secara logis dan digunakan secara rutin pada operasi-operasi sistem informasi manajemen. Semua database umumnya berisi elemen-elemen data yang disusun ke dalam file-file yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi data untuk kegunaan tertentu. Jadi, suatu database adalah menunjukkan suatu kumpulan tabel yang dipakai dalam suatu lingkup perusahaan atau instansi untuk tujuan tertentu. Contoh suatu database adalah database akademik yang berisi file-file: mahasiswa, dosen, kurikulum, dan jadwal yang diperlukan untuk mendukung operasi sistim informasi akademik. Contoh suatu database sederhana ditunjukkan oleh gambar 3.

 

Gambar 3. Contoh Database Kepegawaian

 

Hirarki semua data diatas ditunjukkan pada gambar 4.

Gambar 4 Hierarki Data

Atas dasar hirarki data diatas, maka perlu dijenjangkan lagi proses perubahan data ke informasi sebagai berikut (lihat gambar 5):

II.Sistem Informasi

 

Suatu sistem dalam suatu organisasi yang merupakan kombinasi dari orang-orang, fasilitas, teknologi, media, prosedur-prosedur dan pengendalian untuk mendapatkan jalur komunikasi penting, memproses tipe transaksi rutin tertentu, memberi sinyal kepada manajemen dan yang lainnya terhadap kejadian-kejadian internal dan eksternal yang penting dan menyediakan suatu dasar informasi untuk pengambilan keputusan.

 

Data

Nilai/value yang turut merepresentasikan deskripsi dari suatu objek atau kejadian (event)

Informasi

Merupakan hasil dari pengolahan data dalam suatu bentuk yang lebih berguna dan lebih berarti bagi penerimanya yang menggambarkan suatu kejadian-kejadian (event) yang nyata (fact) yang digunakan untuk pengambilan keputusan.

 

 

Gambar 5. Pemrosesan data

 

 

Sistem informasi yang terotomasi, terdiri dari beberapa komponen, antara lain :

  • Hardware : CPU, Disk, terminal, printer.
  • Software : Sistem operasi, sistem database, prog. pengontrol komunikasi, prog. aplikasi
  • Personil : yg mengoperasikan sistem, menyediakan masukan, mengkonsumsi keluaran dan melakukan aktivitas manual yang mendukung sistem.
  • Data : data yang tersimpan dalam jangka waktu tertentu
  • Prosedur : instruksi dan kebijakan untuk mengoperasikan sistem

 

Sistem Database

 

Pengertian sistem basis data/database adalah sistem yang terdiri atas kumpulan file (tabel) yang saling berhubungan dan sekumpulan program (sistem operasi dan DBMS) yang memungkinkan user/pemakai mengelola, mengakses, dan memanipulasi file-file (tabel-tabel) tersebut.

 

Komponen Sistem Database

Komponen Sistem Database meliputi :

  1. Data, bersifat:

—  Dipakai bersama

—  Terintegrasi/terpadu

  1. Perangkat keras (Hardware)
  2. Perangkat lunak (Software)

Harus menyediakan fasilitas:

—  Membuat file

—  Menyisipkan data

—  Menampilkan data

—  Menghapus data

—  Kontrol keamanan

—  Kontrol keterpaduan

  1. Pemakai (Users)

—  Database administrator

—  Pemrogram aplikasi

—  User pemakai akhir (End-User)

 

Tujuan/objektip

 

Tujuan/objektip sistem database adalah sebagai berikut :

  1. Kecepatan dan Kemudahan (Speed)
  2. Effisiensi Ruang Penyimpanan (Space)
  3. Keakuratan (Accuracy) untuk meminimasi duplikasi dan redudansi, melalui a.l. : domain, tipe, constraints, keunikan data.
  4. Ketersediaan (Availability): data master dan detil; data transaksi dan historis; off-line dan on-line; central dan distributed (di anak cabang).
  5. Kelengkapan (Completeness): penambahan baris dan kolom untuk menjaga kelengkapan data mudah dilakukan.
  6. Keamananan (Security): level pekerjaan menentukan tingkat akses database.
  7. Kebersamaan Pemakaian (Shareability): dimana saja, kapan saja, siapa saja dapat mengakses.
  8. Mudah dikembangkan (extenbility), mampu mengakomodasikan kebutuhan baru dari suatu aplikasi dengan akibat yang ringan terhadap perubahan data dasarnya.

 

  1. III.            Pengertian database relasional

 

Menurut Mark Whitehorn dan Bill Marklyn[1] database relasional adalah:

 

Suatu database yang menggunakan model relasional, dimana model tersebut menyediakan mekanisme-mekanisme yang kita perlukan untuk menyimpan dan memanipulasi data yang kompleks dengan cara yang sedemikian rupa sehingga kita dapat meng-query data itu dan memperoleh jawaban-jawaban yang kita perlukan.

 

Ada beberapa komponen pokok dalam database relasional yaitu[2]:

–        Entity, adalah objek-objek terpisah (orang, tempat, benda, konsep, atau peristiwa) dalam suatu organisasi yang akan direpresentasikan ke dalam database (menjadi tabel).

–        Attribute, adalah properti yang menggambarkan aspek-aspek yang dimiliki suatu objek yang akan dicatat (menjadi kolom).

–        Relationship (relasi), adalah hubungan-hubungan yang dapat terjadi antara dua entity.

–        Data disimpan dalam suatu tabel berbentuk dua dimensi: field (kolom) dan record (baris).

 

Relasi antar entiti

 

Secara umum suatu database relasional dibuat untuk meniru dunia nyata. Dalam dunia nyata ada banyak objek yang saling berhubungan satu sama lain. Misalnya seorang karyawan toko akan berurusan dengan banyak pelanggan, satu pelanggan dapat membeli banyak item barang, dan seterusnya. Oleh karena itu database harus menyimpan informasi tentang objek-objek yang berbeda tersebut dan juga tentang hubungan antar objek-objeknya.

Setiap tabel dalam database akan mewakili satu jenis objek di dunia nyata. Untuk menentukan hubungan-hubungan apa saja yang perlu ditetapkan antar tabel, maka perlu diketahui jenis-jenis hubungan yang dapat terjadi antar objek dalam dunia nyata. Ada empat jenis hubungan yang mungkin terjadi antara setiap pasangan objek, yaitu[3]:

–        satu ke banyak (one to many)

Hubungan satu ke banyak dapat dimisalkan seperti hubungan antara pelanggan dan pemesanan yang dapat mereka lakukan. Artinya seorang pelanggan mungkin saja tidak melakukan pemesanan sama sekali, melakukan hanya satu kali pemesanan, atau melakukan lebih dari satu pemesanan. Hubungan ini bersifat asimetris karena setiap pemesanan hanya akan dilakukan oleh satu pelanggan saja, akan tetapi setiap pelanggan dapat melakukan lebih dari satu pemesanan. Hubungan satu ke banyak sering terjadi dalam dunia bisnis.

–        satu ke satu (one to one)

Sebagai contoh dianggap bahwa setiap staf dalam suatu kantor harus memiliki ruangan tersendiri. Hubungan yang terjadi antara staf dengan ruangannya adalah hubungan satu ke satu, karena seorang staf hanya akan memiliki satu ruangan, dan satu ruangan hanya ditempat oleh seorang staf. Hubungan satu ke satu jarang dijumpai dalam merancang suatu database.

–        banyak ke banyak (many to many)

Contoh hubungan banyak ke banyak adalah hubungan antara karyawan toko dengan pelanggan. Seorang pelanggan bisa dilayani oleh satu atau lebih karyawan dan seorang karyawan bisa saja melayani banyak pelanggan. Demikian pula hubungan antara mahasiswa dengan mata kuliah. Hubungan banyak ke banyak sangat sering dijumpai.

–        tidak ada (none)

Pada kenyataannya ada beberapa objek yang memang tidak memiliki hubungan sama sekali satu dengan lainnya. Sebagai contoh informasi tentang sewa kantor tidak berhubungan sama sekali dengan informasi tentang pelanggan.

 

Primary key dan foreign key

 

Setelah mengetahui bentuk-bentuk relasi yang mungkin terjadi, maka relasi-relasi tersebut perlu dimodelkan dalam database. Untuk memodelkan relasi dalam database dapat digunakan key (primary key dan foreign key). Primary key (PK) adalah suatu kolom pengenal unik dalam suatu tabel (kolom) yang berfungsi untuk mengidentifikasi tabel tersebut. Setiap tabel dalam database relasional harus memiliki primary key. Suatu primary key dapat terdiri atas satu atau lebih field/kolom. Tidak boleh ada nilai dalam suatu primary key yang kosong (null). Contoh PK adalah NIM dalam tabel mahasiswa, dan NIP dalam tabel pegawai, dst. Dengan PK, diharapkan tiap baris dari tabel mengandung informasi unik (tak ada duanya).

Foreign key adalah kolom pengenal yang berisi nilai-nilai yang diambil dari primary key tabel yang berhubungan dengan tabel bersangkutan. Foreign key tidak harus ada dalam setiap tabel. Tetapi apabila terdapat suatu hubungan antara dua tabel, misal tabel mahasiswa dengan tabel KRS, maka salah satu tabelnya akan memiliki foreign key, dan sebuah tabel sangat mungkin memiliki lebih dari satu foreign key. Jika sebuah tabel memiliki lebih dari satu foreign key, tabel tersebut harus memiliki lebih dari satu hubungan dengan tabel lainnya.

 

  1. IV.            Normalisasi

 

Proses normalisasi merupakan proses pengelompokan elemen data menjadi table-tabel yang optimal. Diharapkan melalui proses normalisasi, satu tabel mewakili satu entity atau satu konsep, bukannya satu tabel yang terdiri atas puluhan kolom untuk menyimpan semua informasi. Pada proses normalisasi selalu diuji pada beberapa kondisi. Apakah ada kesulitan saat menambah (insert), menghapus (delete), mengubah (update), membaca/mencari (retrieve) pada satu database. Bila ada kesulitan pada pengujian tersebut maka relasi tersebut dipecahkan pada beberapa tabel lagi atau dengan kata lain perancangan belumlah mencapai database yang optimal.

Tujuan normalisasi menurut Whitehorn dan Marklyn (2004:213):

  1. Untuk mencari dan mengelompokkan seluruh sifat yang berkenaan dengan objek tertentu.
  2. Untuk menghilangkan informasi yang berlebihan.
  3. Untuk memberikan identifikasi unik bagi record individu (primary key).

Kegunaan normalisasi:

  1. Meminimasi pengulangan informasi.
  2. Memudahkan indentifikasi entity atau obyek.

Bentuk-bentuk normalisasi :

  1. Bentuk tidak normal (Unnormalized Form)

Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan keberadaannya. Tabel 1 menunjukkan bentuk tidak normal, terlihat satu sell (perpotongan baris dan kolom berisi nilai lebih dari satu kode mata kuliah.

 

Tabel 1 Bentuk Unnormalized Form (Not Normalized table)

NIM Nama KodeMK
61521 Jones MAT231, ECO220, HST211
61300 Devi HST221
61425 Tony ENG202, MAT231
61230 Paula MAT231, ENG202

 

  1. Bentuk Normal Kesatu (1NF / First Normal Form)

Bentuk normal ke satu mempunyai ciri yaitu setiap data dibentuk dalam flat file (file datar atau rata), data dibentuk dalam satu record demi satu record dan nilai dari field field berupa “atomic value”. Tidak ada set atribute yang berulang-ulang atau atribute bernilai ganda (multivalue). Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan bukanlah pecahan kata-kata sehingga artinya lain. Suatu relasi memenuhi 1NF jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dalam satu selnya. Tabel 2 menunjukkan bentuk normal kesatu dari tabel 1.

Tabel 2. Bentuk 1NF tabel 1

NIM Nama KodeMK
61521 Jones MAT231
61521 Jones ECO220
61521 Jones HST221
61300 Devi HST221
61425 Tony ENG202
61425 Tony MAT231
61230 Paula MAT231
61230 Paula ENG202

 

  1. Bentuk Normal Kedua (2NF / Second Normal Form)

Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu. Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama (primary key). Sehingga untuk membentuk normal kedua haruslah sudah ditentukan kunci kunci field. Kunci field haruslah unik dan dapat mewakili atribute lain yang menjadi anggotanya.

Suatu relasi memenuhi 2NF jika dan hanya jika :

  1. Memenuhi 1NF.
  2. Setiap atribut yang bukan kunci utama (PK) tergantung secara fungsional terhadap semua atribut kunci dan bukan hanya sebagian atribut.

Pada tabel 3 menunjukkan bentuk tabel yang telah memenuhi bentuk normal kesatu tetapi belum memenuhi bentuk normal kedua. Tabel 4 menunjukkan normalisasi dari tabel 3.

 

Tabel 3. Bentuk 1NF suatu tabel (belum 2NF)

NIM Nama TglLahir MKuliah KodeMK Kredit Nilai Bobot
61521 Jones 12/5/1977 Math MAT231 3 B 3
61521 Jones 12/5/1977 Economic ECO220 3 A 4
61521 Jones 12/5/1977 History HST221 2 B 3
61300 Devi 4/28/1978 History HST221 2 A 4
61425 Tony 11/1/1978 English ENG202 2 C 2
61425 Tony 11/1/1978 Math MAT231 3 B 3
61230 Paula 6/14/1977 Math MAT231 3 B 3
61230 Paula 6/14/1977 English ENG202 2 C 2

Catatan: NIM adalah primary key.

 

 

 

 

Tabel 4. Tabel yang memenuhi 2NF (dipecah menjadi 3 tabel)

Tabel Mahasiswa

NIM Nama TglLahir
61521 Jones 12/5/1977
61300 Devi 4/28/1978
61425 Tony 11/1/1978
61230 Paula 6/14/1977

 

Tabel Peserta Kuliah

KodeMK MKuliah Kredit
MAT231 Math 3
ECO220 Economic 3
HST211 History 2
ENG202 English 2

 

Tabel Nilai

NIM KodeMK Nilai Bobot
61521 MAT231 B 3
61521 ECO220 A 4
61521 HST211 B 3
61300 HST211 A 4
61425 ENG202 C 2
61425 MAT231 B 3
61230 MAT231 B 3
61230 ENG202 C 2

 

  1. Bentuk Normal Ketiga (3NF / Third Normal Form)

Untuk menjadi bentuk normal ketiga maka relasi haruslah dalam bentuk normal kedua dan semua atribute bukan primer tidak punya hubungan yang transitif. Dengan kata lain, setiap atribute bukan kunci haruslah bergantung hanya pada primary key secara menyeluruh.

Suatu relasi memenuhi bentuk 3NF jika dan hanya jika :

  1. Relasi tersebut memenuhi 2NF.
  2. Setiap atribut bukan kunci tidak tergantung secara fungsional kepada    atribut lain yang bukan kunci dalam relasi tersebut.

 

 

 

 

Tabel 5 menunjukkan bentuk normal ketiga dari tabel 4. Nilai dan bobot mempunyai saling ketergantungan, dan bobot tidak tergantung pada NIM maupun Kode Mata kuliah.

 

Tabel 5. Tabel yang memenuhi 3NF (dipecah dua):

 

Tabel Nilai                                                  Tabel Bobot

NIM KodeMK Nilai
61521 MAT231 B
61521 ECO220 A
61521 HST211 B
61300 HST211 A
61425 ENG202 C
61425 MAT231 B
61230 MAT231 B
61230 ENG202 C
Nilai Bobot
A 4
B 3
C 2
D 1
E 0

 

 

  1. V.              Structured Query Language

 

SQL (Structured Query Language) adalah bahasa standar untuk melakukan query data, untuk pengelolaan dan manipulasi sistem database relasional. Standarisasi dilakukan oleh ANSI (American National Standard Institute) dan disebut dengan ANSI SQL. Standar yang banyak digunakan sampai saat ini adalah ANSI SQL-92, dan revisi terakhir disebut dengan ANSI SQL-98, SQL-3 yang saat ini masih dalam proses.

 

Perintah dalam SQL dibedakan menjadi:

—  DDL – Data Definition Language. DDL adalah kelompok perintah dalam SQL yang digunakan untuk membuat dan mendefinisikan struktur database, yakni membuat database, membuat tabel, relasi antar tabel, membuat view data, menghapus database, menghapus tabel, dan tipe data dari setiap kolom data yang ada dalam tabel.

—  DML – Data Manipulation Language. DML adalah kelompok perintah dalam SQL yang digunakan untuk melakukan manipulasi database, menampilkan data dari satu atau lebih table (select), menambah data ke dalam table (insert), memperbaiki data dalam tabel (update), dan menghapus data dari suatu tabel (delete).

—  DCL – Data Control Language.

DCL adalah kelompok perintah dalam SQL yang digunakan untuk mengatur pemakai database, siapa saja yang dapat melakukan pengelolaan data, siapa saja yang boleh mengakses data dalam tabel, hak akses apa saja yang diperbolehkan, melihat, menambah, memperbaiki, atau menghapus data.

 

Dalam melakukan pemrosesan tabel, terdapat tiga operasi dasar :

  • Projection       : memilih kolom tertentu dari suatu tabel untuk membentuk tabel yang baru. Misal tabel baru cukup berisi NIM dan Alamat.
  • Selection         : membentuk suatu tabel baru dengan cara menyeleksi baris yang memenuhi konmdisi atau persyaratan. Misal mencari informasi mahasiswa yang mempunyai IP > 3,5 untuk dapat beasiswa.
  • Joint    : membentuk suatu tabel baru dari baris-baris yang ada di dua atau lebih tabel, yang mempunyai atribut yang memenuhi kondisi yang diinginkan.

 

Statement (Pernyataan) dalam SQL

 

            Bahasa SQL cukup kaya untuk memungkinkan penggunanya melakukan banyak operasi lain seperti membuat tabel, tetapi penggunaan yang paling lazim dari bahasa ini adalah mengajukan pertanyaan pada suatu database. Bagian bahasa ini tersusun atas pernyataan Data Manipulation Language (Bahasa Manipulasi Data DML) dari SQL.

Pernyataan DML ditulis, menurut konvensi, dalam UPPERCASE. Pernyataan tersebut meliputi SELECT, FROM, DISTINCT, WHERE, ORDER BY, GROUP BY, HAVING.

Sebelum memulai penjelasan mengenai pernyataan di atas, di bawah ini terdapat tabel sampel yang merupakan tabel utama yang akan digunakan dalam contoh.

 

EMPLOYEES

EmployeeNo

FirstName

LastName

DateOfBirth

DateEmployed

CarNo

1

Bilda Groves 12 Apr 1966 01 May 1999

2

2

John Greeves 21 Mar 1977 01 Jan 2000

3

Sally Smith 01 May 1977 01 Apr 2002

5

4

Fred Jones 03 Apr 1966 01 May 2004

3

 

SALES

SaleNo

EmployeeNo

Customer

Item

Supplier

Amount

1

1

Simpson Sofa Harrison

$235,67

2

1

Johnson Chair Harisson

$453,78

3

2

Smith Stool Ford

$82,78

4

2

Jones Suite Harisson

$3.421,00

5

3

Smith Sofa Harisson

$235,67

6

1

Simpson Sofa Harisson

$235,67

7

1

Jones Bed Ford

$453,00

 

SELECT dan FROM

Yang pertama dari pernyataan ini adalah SELECT. SELECT digunakan untuk menunjuk kumpulan field/kolom dari tabel yang diketahui. FROM hanyalah menunjuk pada tabel yang dipakai. Contohnya:

SELECT SaleNo, Item, Amount

FROM SALES;

 

Sehingga akan menghasilkan sebagai berikut:

 SaleNo

Item

Amount

1

Sofa

$235,67

2

Chair

$453,78

3

Stool

$82,78

4

Suite

$3.421,00

5

Sofa

$235,67

6

Sofa

$235,67

7

Bed

$453,00

 

WHERE

SELECT memungkinkan untuk memilih field yang akan dikerjakan dan WHERE memperbolehkan untuk memilih jenis baris/rekord yang spesifik.

SELECT Item, Amount

FROM SALES

WHERE Item = ‘Sofa’ AND Customer = ‘Smith’;

Akan menghasilkan:

Item Amount
Sofa

$235,67

 

ORDER BY

ORDER BY memberikan kontrol atas urutan kemunculan rekord dalam tabel jawaban yang dihasilkan oleh query seperti dalam pernyataan berikut:

SELECT item, Customer, SaleNo, Amount

FROM SALES

WHERE SaleNo > 0

ORDER BY Customer ASC, Amount DESC;

Maka akan dihasilkan data sebagai berikut:

Item

Customer

SaleNo

Amount

Chair Johnson

2

$,453,78

Suite Jones

4

$3.421,00

Bed Jones

7

$453,00

Sofa Simpson

6

$235,67

Sofa Simpson

1

$235,67

Sofa Smith

5

$235,67

Stool Smith

3

$82,78

 

ASC menentukan urutan menurut abjad sedangkan DESC mengurut rekord dalam urutan yang menurun.


[1] Mark Whitehorn dan Bill Marklyn, Seluk Beluk Database Relasional, Penerbit Erlangga, 2003, halaman 143.

[2] Thomas M. Connolly and Carolyn E. Begg, Database System A Practical Approach to Design, Implementation, and Management, University of Paisley, 2001, halaman 15.

[3] Mark Whitehorn dan Bill Marklyn, Seluk Beluk Database Relasional, Penerbit Erlangga, 2003, halaman 76-77.

Leave a comment