bab 2 landasan teori 2.1 teori-teori database...

46
6 BAB 2 LANDASAN TEORI 2.1 Teori-teori Database 2.1.1 Pengertian Basisdata Connolly dan Begg (2002, p.14) mendefinisikan basisdata sebagai “a shared collection of logically related data, and a description of this data, designed to meet the information needs of an organization”, yang berarti sekumpulan data yang terhubung secara logis yang digunakan secara bersama, dan sebuah penjelasan dari data ini, yang dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi. Menurut Greg Riccardi (2001, p.18) basisdata adalah bagian dari sistem basisdata yang terfokus pada pembuatan dan penyimpanan dari isi informasi. Definisi basisdata menurut Jeffrey A. Hofter, Mary B. Prescott, Fred R. McFadden (2005, p.4) adalah “ an organized collection of logically related data ” , yang berarti sekumpulan data yang berhubungan secara logikal yang terkoordinasi. 2.1.2 Database Management System 2.1.2.1 Pengertian DBMS Connolly dan Begg (2002, p.16) mendefinisikan Database Management System (DBMS) sebagai “ a software system that enables users to define, create, maintain, and control access to the database”, yang berarti sistem perangkat lunak yang membantu pengguna untuk

Upload: phungtruc

Post on 26-Aug-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

6

BAB 2

LANDASAN TEORI

2.1 Teori-teori Database

2.1.1 Pengertian Basisdata

Connolly dan Begg (2002, p.14) mendefinisikan basisdata sebagai “a

shared collection of logically related data, and a description of this data,

designed to meet the information needs of an organization”, yang berarti

sekumpulan data yang terhubung secara logis yang digunakan secara bersama,

dan sebuah penjelasan dari data ini, yang dirancang untuk memenuhi

kebutuhan informasi dari sebuah organisasi.

Menurut Greg Riccardi (2001, p.18) basisdata adalah bagian dari sistem

basisdata yang terfokus pada pembuatan dan penyimpanan dari isi informasi.

Definisi basisdata menurut Jeffrey A. Hofter, Mary B. Prescott, Fred R.

McFadden (2005, p.4) adalah “ an organized collection of logically related

data ” , yang berarti sekumpulan data yang berhubungan secara logikal yang

terkoordinasi.

2.1.2 Database Management System

2.1.2.1 Pengertian DBMS

Connolly dan Begg (2002, p.16) mendefinisikan Database

Management System (DBMS) sebagai “ a software system that enables

users to define, create, maintain, and control access to the database”,

yang berarti sistem perangkat lunak yang membantu pengguna untuk

Page 2: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

7

mendefinisikan, menciptakan, memelihara, dan kontrol akses terhadap

basisdata.

Menurut Greg Riccardi (2001, p.18) DBMS adalah kombinasi

dari perangkat lunak dan penyimpanan data yang mampu membuat dan

memelihara sistem basisdata.

Jeffrey A. Hofter, Mary B. Prescott, Fred R. McFadden (2005,

p.7) mendefinisikan DBMS sebagai “ software system that is used to

create, maintain, and provide controlled access to user databases ”

yang berarti sistem perangkat lunak yang digunakan untuk membuat,

memelihara, dan menyediakan kontrol akses pada pengguna basisdata.

2.1.2.2 Karakteristik DBMS

Menurut Atzeni, Ceri, Paraboschi, dan Torlone (1999, p.4),

karakteristik DBMS antara lain:

• Tahan Uji

Kapasitas sistem untuk menjaga isi dari basisdata (atau setidaknya

memungkinkan rekonstruksi) apabila terjadi kerusakan perangkat

keras atau perangkat lunak. Untuk memenuhi hal ini, DBMS

menyediakan fungsi spesifik untuk backup dan recovery.

• Privasi Data

Setiap pemakai, yang dikenal melalui username yang spesifik

terhadap akses pemakai tersebut pada DBMS, hanya berhak untuk

melakukan sejumlah operasi tertentu terhadap data, melalui

mekanisme otorisasi.

Page 3: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

8

• Efisiensi

Kapasitas untuk melakukan operasi menggunakan sejumlah

sumber daya (waktu dan ruang) yang diperlukan bagi tiap

pemakai. Karakteristik ini tergantung pada teknik yang digunakan

dalam implementasi DBMS, dan pada sebaik apa produk

dirancang. Perlu ditekankan bahwa DBMS menyediakan

kombinasi fitur yang luas yang memerlukan banyak sumber daya,

sehingga seringkali menempatkan persyaratan yang berat pada

sumber daya yang disediakan oleh lingkungan operasional.

• Efektifitas

Kapasitas DBMS untuk membuat aktifitas pemakainya produktif

dalam setiap segi. Hal ini jelas merupakan defisini umum dan

tidak berhubungan dengan fungsi spesifik, dimana DBMS

menyediakan berbagai pelayanan dan fungsi bagi tiap pemakai

yang berbeda. Tugas merancang basisdata dan aplikasi yang

menggunakannya ditujukan untuk memastikan sistem yang baik

dan secara keseluruhan efektif.

2.1.2.3 Komponen Lingkungan DBMS

Menurut Connolly dan Begg (2002, p.18) terdapat 5 komponen utama

dalam lingkungan DBMS yaitu :

1. Perangkat Keras

DBMS dan aplikasi membutuhkan perangkat keras untuk bekerja.

Perangkat keras dapat mencakup dari sebuah komputer personal

Page 4: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

9

tunggal, single mainframe, sampai sebuah jaringan komputer.

Perangkat keras pada umumnya tergantung pada kebutuhan

organisasi dan penggunaan DBMS. Beberapa DBMS berjalan hanya

pada perangkat keras atau sistem operasi tertentu ketika DBMS

yang lain bekerja pada banyak perangkat keras dan sistem operasi

lainnya. Sebuah DBMS membutuhkan jumlah memori utama dan

disk space yang minimum untuk bekerja

2. Perangkat Lunak

Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu

sendiri dan program aplikasi serta sistem operasi, termasuk

perangkat lunak jaringan jika DBMS digunakan pada jaringan. Pada

umumnya, program aplikasi ditulis dalam third-generation

language (3GL) seperti ‘C’, C++, Java, Visual Basic, Cobol,

Fortran, Ada, atau Pascal, atau menggunakan fourth-generation

language (4GL) seperti SQL, yang terdapat dalam third-generation

language.

3. Data

Komponen lingkungan DBMS yang paling penting dari sudut

pandang end user adalah data. Data bertindak sebagai jembatan

antara komponen mesin dan komponen manusia. Basisdata terdiri

dari data operasional dan metadata. Struktur dari basisdata disebut

skema.

4. Prosedur

Page 5: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

10

Prosedur menunjuk pada instruksi dan aturan yang meregulasi

desain dan penggunaan basisdata. Pengguna dari sistem dan staf

yang mengatur basisdata membutuhkan prosedur yang

didokumentasikan yang menjelaskan cara menggunakan atau

menjalankan sistem. Prosedur berisi instruksi bagaimana cara

untuk:

• Membukukan DBMS

• Menggunakan fasilitas DBMS tertentu atau program

aplikasi.

• Memulai dan memberhentikan DBMS.

• Membuat kopian atau backup basisdata.

• Mengendalikan kegagalan perangkat lunak atau perangkat

keras.

• Mengubah struktur tabel, mengorganisasi basisdata pada

banyak disk, meningkatkan hasil kerja dan penyimpanan

data arsip pada penyimpanan sekunder.

5. Manusia

Komponen akhir adalah manusia yang dilibatkan dengan sistem.

2.1.2.4 Pemeran dalam lingkungan DBMS

Menurut Connolly dan Begg (2002, p.21) orang-orang yang berperan

dalam lingkungan DBMS yaitu :

Page 6: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

11

1. Data Administrators dan Database Administrators

Data Administrator bertanggung jawab terhadap pengaturan sumber

data termasuk perencanaan basisdata, pengembangan, dan

pemeliharaan, kebijakan dan prosedur, serta desain basisdata secara

logika atau konseptual.

Database Administrator bertanggung jawab terhadap realisasi fisik

dari basisdata, termasuk rancangan fisik basisdata dan

penerapannya, keamanan dan kontrol integritas, pemeliharaan

sistem operasional, dan memastikan penampilan aplikasi untuk

pengguna.

2. Database Designers

Ada dua tipe database designer, yaitu:

• Logical database designer

Logical database designer terfokus untuk mengidentifikasi atau

mengenal data (entity dan atribut), hubungan antara data, dan

batasan data yang disimpan dalam basisdata.

• Physical database designer

Physical database designer memutuskan bagaimana rancangan

logika basisdata direalisasikan secara fisik. Physical database

designer harus mengerti tentang pemetaan rancangan logika

basisdata ke dalam sekumpulan tabel dan batasan integritas,

memilih stuktur penyimpanan yang spesifik dan metode akses data

untuk mencapai tampilan yang baik, dan merancang ukuran

keamanan yang diperlukan data.

Page 7: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

12

3. Application Developers

Application developer bertanggung jawab untuk

mengimplementasikan program aplikasi yang dibutuhkan End-

Users ketika basisdata sudah diimplementasikan.

4. End-Users

End-User adalah klien dalam basisdata,yang mana telah dirancang,

diterapkan, dan dipelihara untuk menyediakan informasi yang

mereka butuhkan.

2.1.2.5 Keuntungan dan Kerugian DBMS

Menurut Connolly dan Begg (2002, p25), keuntungan DBMS adalah:

• Mengontrol redudansi data

Pendekatan basisdata tidak dapat mengurangi redudansi secara

keseluruhan, tetapi dapat mengontrol jumlah redudansi dalam

basisdata.

• Konsistensi data

Dengan mengurangi dan mengontrol redudansi, maka akan

mengurangi resiko terjadinya data yang tidak konsisten.

• Mendapat informasi yang lebih banyak dari sejumlah data

Dengan integrasi dari data operasional, hal tersebut memungkinkan

organisasi memperoleh informasi tambahan dari data yang sama.

• Penggunaan data bersama

Page 8: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

13

Basisdata milik organisasi dapat dibagi kepada semua pengguna

yang berhak.

• Meningkatkan integritas data

Integritas basisdata menunjuk validasi dan konsitensi data yang

disimpan. Integritas basisdata biasanya diperlihatkan dalam

constraints yang merupakan aturan konsistensi yang tidak boleh

dilanggar.

• Meningkatkan keamanan

Keamanan basisdata adalah proteksi basisdata dari pengguna yang

tidak memiliki hak akses.

• Standar pelaksanaan

Integrasi mengijinkan DBA untuk mendefinisikan dan melakukan

standar-standar yang dibutuhkan.

• Skala ekonomi

Mengkombinasikan semua data operasional perusahaan menjadi

satu basisdata, dan membuat sekumpulan aplikasi yang dapat

bekerja pada satu sumber data, dapat menghasilkan penghematan

data.

• Keseimbangan kebutuhan yang berbeda

Setiap pengguna atau departemen memiliki kebutuhan yang

mungkin bertentangan dengan pengguna yang lain. Sejak basisdata

dikontrol oleh seorang DBA, maka DBA dapat membuat keputusan

mengenai rancangan dan penggunaan operasional basisdata

Page 9: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

14

sehingga akan menyediakan daya guna yang optimal untuk aplikasi

yang penting.

• Meningkatkan akses dan respon terhadap data

Banyak DBMS menyediakan query language atau penulis laporan

yang memungkinkan pengguna untuk menanyakan pertanyaan ad

hoc dan untuk mendapat informasi yang dibutuhkan langsung tanpa

harus memerlukan seorang programmer untuk menulis perangkat

lunak untuk menyaring informasi tersebut dari basisdata.

• Meningkatkan produktivitas

Banyak DBMS menyediakan lingkungan fourth-generation yang

terdiri dari alat-alat untuk menyederhanakan pengembangan dari

aplikasi basisdata.

• Meningkatkan pemeliharaan melalui data yang independent

DBMS memisahkan deskripsi data dari aplikasi, sehingga membuat

aplikasi tidak terganggu ketika terjadi perubahan pada deskripsi

data.

• Meningkatkan konkurensi

DBMS mengatur akses basisdata bersama-sama dan memastikan

tidak ada gangguan.

• Meningkatkan layanan perbaikan dan backup

Sistem berbasis file menempatkan tanggung jawab pada pengguna

untuk menyediakan ukuran untuk melindungi data dari kegagalan

system computer atau program aplikasi. Sebaliknya, modern DBMS

Page 10: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

15

menyediakan fasilitas untuk meminimalkan jumlah proses yang

hilang karena kegagalan.

Menurut Connolly dan Begg (2002, p29), kerugian DBMS adalah:

• Kompleksitas

Ketetapan dari fungsionalitas yang kita harapkan dari sebuah

DBMS yang baik akan membuta DBMS tersebut menjadi sebuah

perangkat lunak yang sangat kompleks

• Ukuran

Kompleksitas dan fungsionalitas yang luas menyebabkan DBMS

menjadi sebuah bagian yang sangat besar dari perangkat lunak,

menempati banyak ruang hard disk dan membutuhkan memory

tambahan agar dapat berjalan dengan efisien.

• Biaya DBMS

Harga dari DBMS beragam, tergantung pada lingkungan dan

fungsionalitas yang diberikan.

• Biaya hardware tambahan

Kebutuhan penyimpanan data untuk DBMS dan basisdata akan

memerlukan tambahan ruang penyimpanan.

• Biaya konversi

Dalam beberapa situasi, biaya DBMS dan perangkat keras

tambahan tidak sesuai dibandingkan dengan biaya untuk merubah

aplikasi yang sudah ada untuk berjalan pada DBMS yang baru.

• Daya Guna

Page 11: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

16

Biasanya, sebuah sistem berbasis file ditulis untuk aplikasi yang

spesifik dan menghasilkan daya guna yang tinggi. Bagaimanapun

juga, DBMS ditulis agar lebih luas, untuk memenuhi banyak

aplikasi. Efeknya, beberapa aplikasi tidak berjalan secepat biasanya.

• Dampak kesalahan yang lebih tinggi

Sentralisasi sumber meningkatkan kelemahan-kelemahan sistem.

Selama semua pengguna dan aplikasi tergantung pada kehadiran

DBMS, kegagalan beberapa komponen dapat menyebabkan

terhentinya operasi.

2.1.3 Data Definiton Language

Connolly dan Begg (2002, p40) mendeskripsikan Data Definition

Language sebagai sebuah bahasa yang mengijinkan DBA atau pengguna untuk

mendeskripsikan dan menamai entity, atribut, dan hubungan yang dibutuhkan

oleh aplikasi, bersama dengan aturan integritas dan keamanan yang

berhubungan. SQL Data Definition Language (DDL) mengijinkan objek

basisdata seperti schemas, domains,tables, views, dan indexes dibuat dan

dihapus.

Beberapa contoh DDL menurut Martina (2003, p.58) yaitu:

1. Create table

Perintah CREATE TABLE digunakan untuk membuat tabel dengan

mendefinisikan tipe data untuk tiap kolom.

Bentuk umum:

CREATE TABLE Table_name

Page 12: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

17

(Column_name dataType [NULL|NOTNULL],

Column_name dataType [NULL|NOTNULL] …)

2. Alter table

Perintah ALTER TABLE digunakan untuk menambah atau mengurangi

kolom dan batasan.

Bentuk umum:

ALTER TABLE Table_name

[ADD Column_name dataType [NULL|NOTNULL]]

[DROP Column_name dataType [RESTRICT|CASCADE]]

[ADD Contrain_name]

[DROP Constrain_name [RESTRICT|CASCADE]]

3. Drop Table

Perintah DROP TABLE digunakan untuk membuang atau menghapus

tabel dengan semua data di dalamnya.

Bentuk umum:

DROP TABLE Table_name;

4. Create index

Perintah CREATE INDEX digunakan untuk memberi indeks pada tabel.

Bentuk umum:

CREATE [UNIQUE] INDEX Index_name

ON Table_name

(Column_name [,Column_name] …)

5. Drop index

Page 13: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

18

Perintah DROP INDEX digunakan untuk membuang atau menghapus

indeks yang dibuat sebelumnya.

Bentuk umum:

DROP INDEX Index_name

2.1.4 Data Manipulation Language

Connolly dan Begg (2002, p40) mendeskripsikan Data Manipulation

Language sebagai sebuah bahasa yang menyediakan sekumpulan operasi untuk

mendukung operasi dasar dari manipulasi data yang terjadi dalam basisdata.

Operasi dalam manipulasi data, biasanya meliputi memasukkan data baru

ke dalam basisdata, memodifikasi data yang tersimpan di dalam basisdata,

membaca data yang ada di dalam basisdata. menghapus data dari basisdata.

DML dibedakan menjadi dua tipe, yaitu:

• Procedural DML

Procedural DML adalah sebuah bahasa yang mengijinkan para

penggunanya untuk memberitahu sistem tentang data apa yang dibutuhkan

dan bagaimana untuk membaca data secara tepat.

• Non-Procedural DML

Non-Procedural DML adalah sebuah bahasa yang mengijinkan para

penggunanya untuk menyatakan data apa yang dibutuhkan dibandingkan

untuk menyatakan bagaimana data tersebut dibaca.

Beberapa contoh DML menurut Martina (2003, p.60) yaitu:

1. Select

Page 14: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

19

Perintah SELECT digunakan untuk menampilkan sebagian atau seluruh

isi dari sebuah tabel dan menampilkan kombinasi isi dari beberapa tabel.

Bentuk umum:

SELECT Column_name

FROM Table_name

WHERE Condition

2. Update

Perintah UPDATE digunakan untuk mengubah isi satu atau beberapa

atribut dari suatu tabel.

Bentuk umum:

UPDATE Table_name

SET Column1=Value1, Column2=Value2,…

WHERE Condition

3. Insert

Perintah INSERT digunakan untuk menambah satu atay beberapa baris

nilai baru ke dalam tabel.

Bentuk umum:

INSERT INTO Table_name (Column list) VALUES (value list)

4. Delete

Perintah DELETE digunakan untuk menghapus sebagian atau seluruh isi

tabel.

Bentuk umum:

DELETE FROM Table_name

WHERE Condition

Page 15: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

20

2.1.5 Normalisasi

Menurut Connolly dan Begg (2002,p379), normalisasi adalah teknik untuk

mengorganisasikan data ke dalam tabel-tabel untuk memenuhi kebutuhan

pemakai di dalam sebuah organisasi.

Tujuan dari normalisasi adalah untuk menghilangkan kerangkapan data,

untuk mengurangi kompleksitas dan untuk mempermudah modifikasi data.

Secara umumnya normalisasi dibagi menjadi tiga tingkatan, yaitu bentuk

normal pertama (1NF) berdasarkan penghilangan repeating group, bentuk

normal kedua (2NF) berdasarkan pada ketergantungan fungsional, bentuk

normal ketiga (3NF) yang berdasarkan pada ketergantungan transitif.

BCNF (Boycode-Codd Normal Form) yang merupakan penguatan bentuk

normal ketiga, bentuk normal keempat yang berdasarkan ketergantungan nilai

jamak (multi-value dependency), dan bentuk normal kelima yang juga disebut

project-join normal form (PJNF).

1. 1NF

UNF adalah sebuah tabel yang mengandung lebih dari satu bagian yang

berulang (repeating group). Bentuk normal pertama adalah sebuah

hubungan dimana irisan (intersection) dari setiap baris dan kolom hanya

mengandung satu nilai. Untuk mengubah tabel UNF ke dalam bentuk

normal pertama (1NF) harus mengidentifikasi dan menghilangkan bagian

yang berulang (repeating group) pada tabel. Sebuah repeating group

adalah sebuah atribut atau kumpulan atribut pada sebuah tabel yang

Page 16: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

21

terdapat lebih dari satu nilai (multiple) untuk sebuah occurance tunggal dari

kunci (key) atributnya yang ditunjuk dalam tabel.

Ada dua pendekatan umum untuk menghilangkan repeating group pada

tabel UNF, antara lain:

a. pendekatan pertama dengan menghilangkan repeating group dengan

memasukkan data yang berlebihan ke dalam kolom dan baris kosong.

Sehingga hasil dari tabel nantinya hanya mengandung nilai atomic

(tunggal).

b. pendekatan kedua, menghilangkan repeating group dengan

menempatkan data yang berlebihan, selanjutnya dengan meng-copy

atribut kuncinya yang asli dalam sebuah relasi yang dipisahkan.

Kedua pendekatan ini benar. Tetapi, pendekatan kedua awalnya

menghasilkan relasi paling sedikit pada 1NF dengan mengurangi redudansi.

Jika menggunakan pendekatan pertama, relasi dari 1NF adalah buruk,

selanjutnya selama langkah normalisasi berikutnya akan menghasilkan

relasi yang sama yang dihasilkan oleh pendekatan kedua. Akan tetapi hasil

dari normalisasi bentuk pertama masih bisa mnyebabkan update anomalies,

sehingga diperlukan normalisasi ke tahapan selanjutnya yang dinamakan

bentuk normal kedua (2NF).

2. 2 NF

Bentuk normal kedua adalah berdasarkan konsep ketergantungan

fungsional penuh (full functional dependency). Full functional dependency

dinyatakan dengan jika A dan B adalah atribut dari suatu relasi. B adalah

secara fungsional bergantung pada A, tetapi bukan merupakan himpunan

Page 17: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

22

bagian dari A. Jelasnya bentuk normal kedua adalah sebuah relasi di dalam

bentuk normal pertama dan setiap atribut yang bukan primary key (non

primary key) adalah secara fungsional tergantung pada primary key. Proses

normalisasi dari relasi 1NF ke 2NF melibatkan penghilangan dari bagian

yang ketergantungan.

3. 3NF

Bentuk normal ketiga adalah berdasarkan pada konsep peralihan

ketergantungan (transitive dependency). Transitive dependency adalah

sebuah kondisi dimana A, B, dan C adalah atribut dari sebuah relasi bahwa

jika A→B dan B→C, maka C adalah secara transitif bergantung pada A

melewati B (menyatakan bahwa A tidak secara fungsional tergantung pada

B dan C). pada bentuk normal ketiga, sebuah relasi pada bentuk normal

pertama dan kedua dan dimana tidak ada atribut non-primary key secara

transitif bergantung (transitively dependent) pada primary key. Proses

normaliasasi dari relasi 2NF ke 3NF melibatkan penghilangan dari

ketergantungan transitif. Jika sebuah ketergantungan transitif muncul, maka

dihilangkan ketergantungan transitif antara atributnya dengan

menempatkan atribut tersebut ke dalam relasi baru, selanjutnya dengan

sebuah salinan dari determinannya.

4. Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form / BCNF)

Aturan bentuk normal Boyce-Codd (BCNF) adalah sebuah relasi disebut

BCNF, jika dan hanya jika setiap deteminannya adalah sebuah candidate

key. Untuk menguji apakah sebuah relasi sudah dalam BCNF, dilakukan

identifikasi semua deteminan dan memastikan bahwa determinan tersebut

Page 18: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

23

adalah candidate key. Determinan adalah sebuah atribut, atau kumpulan

atribut, dimana beberapa atribut yang lain masih bergantung secara

fungsional penuh (fully functionally dependent). Perbedaan antara 3NF dan

BCNF dalam hal functional dependency. A→B, 3NF mengijinkan

ketergantungan ini dalam sebuah relasi jika B adalah atribut primary key

dan A bukan candidate key. Sedangkan dalam BCNF ketergantungan ini

tetap ada di dalam sebuah relasi, dimana A harus sebuah candidate key.

5. 4 NF

Aturan bentuk normal keempat (4NF) adalah sebuah relasi dalam Boyce-

Codd Normal Form (BCNF) dan tidak mengandung ketergantungan multi-

valued nontrivial (nontrivial multi-valued dependencies).

Bentuk normal keempat (4NF) merupakan bentuk yang lebih kuat dari

BCNF dimana 4NF mencegah relasi dari nontrivial multi-valued

dependency dan data redundancy. Normalisasi dari BCNF ke 4NF meliputi

pemindahan multi-valued dependency dari relasi dengan menempatkan

atribut dalam sebuah relasi baru bersama dengan determinan. Multi-valued

dependency menggambarkan ketergantungan antara atribut-atribut dalam

suatu relasi.

6. 5 NF

Aturan bentuk normal kelima (5NF) adalah sebuah relasi yang tidak

mempunyai ketergantungan gabungan (join dependency). Join dependency

menggambarkan sebuah tipe ketergantungan.

Sebagai contoh, untuk sebuah relasi R dengan subset-subset stribut dari R

yang dimisalkan dengan A, B,…Z, sebuah relasi R menunjukkan join

Page 19: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

24

dependency, jika dan hanya jika, setiap nilai dari R sama dengan gabungan

dari proyeksi-proyeksinya pada A, B,…Z.

2.1.6 Entity Relationship Modelling

Menurut Budiharto (2002, p4), merancang basisdata merupakan hal yang

sangat penting dalam membuat basisdata, dan Entity Relationship (ER)

digunakan untuk merancangnya. ER merupakan sebuah permodelan untuk

merancang basisdata yang baik. Karena tanpa ER ini, bisa dipastikan proses

pembuatan basisdata berjalan lama dan tidak teratur. Pada saat merancang

basisdata yang perlu diperhatikan ialah membuat relasi-relasi yang benar di

antara tabel. Proses merancang basisdata cukup memakan waktu yang lama

jika basisdatanya besar. Pendokumentasian merancang basisdata mutlak harus

dilakukan dengan baik agar mudah di dalam pengembangan dan perbaikan

nantinya.

2.1.6.1 Entity Type

Menurut Connolly dan Begg (2002, p330), entity type adalah sebuah

kumpulan dari objek dengan sifat sama, dimana diidentifikasikan oleh

perusahaan yang keberadaannya tidak tergantung (independent

existence). Konsep dasar dari bentuk ER adalah tipe entiti, dimana yang

mempresentasikan kumpulan dari objek di dalam kenyataannya dengan

sifat yang sama.

2.1.6.2 Relationship Type

Menurut Connolly dan Begg (2002, p334), relationship type adalah

sekumpulan hubungan antara satu atau lebih tipe-tipe entitas. Derajat

Page 20: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

25

relationship adalah partisipasi tipe entitas dalam sebuah tipe

relationship tertentu. Entitas yang berkaitan dalam sebuah tipe

relationship dikenal sebagai participant dalam relationship dan jumlah

participant dalam relationship menunjukkan jumlah dari entitas yang

terkait dalam relationship. Sebuah relationship berderajat dua disebut

binary, relationship berderajat tiga disebut ternary, dan relationship

berderajat empat disebut sebagai quartenar.

2.1.6.3 Atribut

Menurut Connolly dan Begg (2002,p338-342), attribute adalah sifat

sebuah entitas atau tipe relationship. Sifat tertentu dari entitas disebut

sebagai atributte. Atribut menyimpan nilai dari setiap entity occurance

dan disimpan di dalam basisdata.

Attribute domain adalah sejumlah nilai yang diperkenankan oleh satu

atau lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah

nilai disebut domain.

Simple attribute adalah sebuah susunan atribut dari komponen tunggal

(single component) dengan keberadaan yang bebas (independent

existence). Contohnya, posisi dan gaji dari entitas pegawai.

Composed attribute adalah sebuah susunan atribut dari banyak

komponen dengan sebuah keberadaan yang bebas dari masing-

masingnya. Dalam hal ini beberapa atribut dapat dipisahkan menjadi

komponen yang lebih kecil lagi dengan keberadaan yang bebas dari

masing-masingnya. Contohnya : atribut alamat dari entitas kantor

Page 21: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

26

cabang yang mengandung nilai (jalan, kota, kode pos) bisa dipecahkan

menjadi simple attribute jalan, kota, dan kode pos.

Single value attribute adalah atribut yang hanya menyimpan nilai

tunggal untuk suatu sifat dari entitas.

Multi-valued attribute adalah atribut yang bisa menyimpan nilai lebih

dari satu untuk suatu sifat dari entitas. Contohnya atribut telepon dari

entitas kantor cabang yang bisa memiliki lebih dari satu nomor telepon.

Derived attribute (atribut turunan) adalah atribut yang menunjukkan

nilai yang diperoleh dari atribut yang berhubungan atau kumpulan

atribut yang berhubungan, tidak terlalu dibutuhkan dengan tipe entitas

yang sama.

2.1.6.4 Kunci (Key)

Menurut Budiharto (2002, p9), key adalah suatu property yang

menentukan apakah suatu kolom pada tabel sangat penting atau tidak.

Terdiri dari candidate key, primary key, alternate key, dan composite

key.

Candidate key adalah sebuah atribut atau lebih secara unik

mengidentifikasi sebuah baris. Atribut ini mempunyai nilai yang unik

hampir tiap barisnya. Fungsi dari candidate key adalah sebagai calon

primary key.

Primary key adalah candidate key yang telah dipilih untuk

mengidentifikasi tiap baris secara unik. Primary key harus merupakan

field yang benar-benar unik dan tidak boleh ada nilai NULL.

Page 22: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

27

Alternate key adalah candidate key yang tidak dipilih sebagai primary

key.

Composite key merupakan suatu kondisi dimana sebuah atribut yang

tidak dapat digunakan untuk mengidentifikasi baris secara unik dan

membutuhkan kolom lain untuk digunakan sebagai primary key.

Foreign key berfungsi sebagai penghubung antar tabel, dimana suatu

primary key terhubung ke tabel lain.

2.1.7 4th GL (Generation Language)

4th GL adalah generasi bahasa tingkat 4 yang merupakan bahasa

pemograman yang diminimalisasi. Suatu operasi yang biasanya membutuhkan

ratusan baris di bahasa pemograman 3th GL seperti COBOL, maka pada 4th GL

hanya membutuhkan baris pemograman yang lebih sedikit. Contoh dari 4th GL

adalah SQL.

4th GL dapat menambahkan produktivitas berkali-kali lipat, penanganan

masalah yang lebih banyak. Menurut Connolly dan Begg (2002, p42), 4th GL

memiliki kemampuan sebagai berikut:

• Bahasa presentasi seperti Query Language, dan report generator

• Bahasa khusus seperti spreadsheet dan database language

• Aplikasi generator yang dapat didefinisikan, menyisipkan,

memperbaruhi, dan membuka kembali data dari suatu basisdata untuk

membuat suatu aplikasi.

Page 23: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

28

• Bahasa tingkat tinggi yang biasa digunakan untuk membuat suatu kode

aplikasi

2.1.8 Siklus Hidup Aplikasi Database

Siklus hidup aplikasi basisdata merupakan tahapan dalam merancang suatu

sistem basisdata.

Page 24: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

29

Gambar 2.1 Siklus hidup aplikasi basisdata

• Database planning

Database planning

System definition

Requirement collection and

analysis

DBMS selection (optional)

Conceptual database design

Logical database design

Physical database design

Application design

Prototyping (optional)

Implementation

Data conversion and loading

Testing

Operational maintenance

Database design

Page 25: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

30

Merencanakan bagaimana tingkatan dari siklus hidup agar menjadi lebih

efektif dan efisien.

• System definition

Menspesifikasikan ruang lingkup dan batasan dari aplikasi basisdata,

pengguna, dan cakupan dari aplikasi tersebut.

• Requirements Collection and Analysis

Mengumpulkan dan menganalisa kebutuhan dari pengguna dan cakupan

dari aplikasi basisdata.

• Database Design

Perancangan konseptual, logikal, dan fisikal dari suatu basisdata.

• DBMS Selection (optional)

Memilih DBMS yang sesuai untuk aplikasi basisdata.

• Application Design

Merancang antarmuka pengguna dan program aplikasi yang

menggunakan dan memproses basisdata.

• Prototyping (optional)

Membangun model kerja dari aplikasi basisdata, dimana mengijinkan

perancang atau pengguna untuk memvisualisasikan dan mengevaluasi

bagaimana tampilan dan fungsi sistem pada akhirnya.

• Implementation

Membuat definisi basisdata eksternal, konseptual, internal, dan program

aplikasi.

• Data Conversion and Loading

Page 26: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

31

Pemuatan data dari sistem yang lama ke sistem yang baru.

• Testing

Aplikasi basisdata dites untuk mengecek apakah terdapat kesalahan dan

validasi yang dilakukan sudah memenuhi permintaan dari pengguna.

• Operational Maintenance

Aplikasi basisdata sudah diimplementasikan secara keseluruhan. Tetapi

sistem terus dikontrol dan dipelihara secara teratur.

2.1.9 Metodologi Desain dalam Database

2.1.9.1 Pengertian Metodologi Desain

Metodologi desain adalah pendekatan terstruktur. Pendekatan

terstruktur yang menggunakan prosedur-prosedur, teknik-teknik, alat-

alat, dokumentasi tambahan untuk mendukung dan memberi fasilitas

dari desain tersebut. Ada 3 fase utama dalam metodologi desain

database, yaitu: conceptual database design, logical database design

dan physical database design.

Faktor kesuksesan yang penting dalam mendesain basisdata

adalah sebagai berikut:

• Bekerjalah seinteraktif mungkin dengan pengguna sebanyak

mungkin.

• Ikutilah metodologi yang terstruktur pada seluruh proses data

modeling.

• Gunakan pendekatan data-driven.

Page 27: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

32

• Gabungkanlah pertimbangan struktural dan integritas ke model

data.

• Kombinasikan konseptualisasi, normalisasi, dan teknik validasi

transaksi ke metodologi pemodelan data.

• Gunakanlah diagram untuk merepresentasikan model data sebanyak

mungkin.

• Gunakanlah DBDL (Database Design Language) untuk

merepresentasikan semantik data tambahan.

• Buatlah kamus data untuk menambahkan diagram model data.

• Berkemauan untuk mengulangi langkah-langkah diatas.

2.1.9.2 Conceptual Database Design

Merupakan proses pembuatan sebuah model dari informasi yang

digunakan pada sebuah perusahan, tidak bergantung pada semua

pertimbangan fisikal.

Langkah-langkah untuk membuat model data Konseptual dapat

digambarkan sebagai berikut :

1. Mengidentifikasi tipe entity

Langkah pertama dalam membangun sebuah local conceptual

model adalah menentukan obyek-obyek yang diinginkan oleh

pengguna, yaitu jenis entity yang diperlukan dalam view. Dalam

menentukan jenis entity yang diperlukan, biasanya berdasarkan kata

benda atau frase kata benda yang disebutkan.

Page 28: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

33

2. Mengidentifikasi tipe relationship

Tujuannya untuk mengidentifikasikan relationship penting yang ada

antara tipe entity yang telah diidentifikasikan.

Langkah-langkah identifikasi tipe relasi :

• Gunakan Entity Relationship Diagram (ERD)

Penggunaan Entiti – Relationship (ER) Diagram untuk

merepresentasikan entiti dan bagaimana relasi antar entiti.

• Cari batasan multiplicity dari tipe relationship

Jika memang ada suatu nilai yang spesifik dari suatu multiplicity

maka akan lebih baik apabila didokumentasikan.

• Periksa fan dan chasm traps

Fan Trap adalah suatu model yang merepresentasikan suatu

relasi antara entiti, tetapi alur relasinya memperlihatkan

ambiguitas. Chasm Trap adalah suatu model dimana ada

hubungan antara entiti yang satu dengan yang lain, tetapi tidak

ada relasi antara kedua entiti utama.

• Periksa bahwa masing-masing entity ikut serta setidaknya dalam

satu relationship

Pada saat pembuatan Entiti Relationship Diagram, setiap entiti

mempunyai minimal satu relasi dengan entiti yang lain.

• Dokumentasikan tipe relationship

Page 29: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

34

Tipe relationship diidentifikasikan, memberikan nama yang

berarti dan jelas bagi pengguna. Juga mencatat deskripsi

relationship dan batasan multiplicity dalam data dictionary.

3. Mengidentifikasi dan menghubungkan atribut dengan entiti atau

tipe hubungan

Tujuannya untuk menghubungkan atribut dengan entiti atau tipe

hubungan yang sesuai dan mendokumentasikan detil dari setiap

atribut. Atribut dapat dibagi menjadi tiga, yaitu:

• Simple or composite attribute

Composite attribute disusun dari simple attribute. Sebagai

contoh, atribut alamat bisa dibuat sederhana dan menyimpang

beberapa detil dari alamat sebagai suatu nilai. Contoh : 45 Jl.

Veteran, Palembang, 30125. Bagaimanapun Composite attribute

yang terdiri dari beberapa detail yang mempunyai nilai terpisah

dalam atribut alamat(‘45 Jl. Veteran”), kota( “Palembang”),

kode pos (“30125”). Atribut alamat dapat dijadikan simple

attribute atau composite attribute tergantung dengan kebutuhan

pengguna.

• Single or multi value attribute

Atribut dapat mempunyai satu atau lebih nilai. Contoh : Atribut

nomor telepon. Seseorang yang memiliki nomor telepon lebih

dari satu, maka dapat disebut atribut Multi-Valued. Tetapi jika

atribut tersebut hanya mempunyai suatu nilai maka disebut

sebagai single attribute.

Page 30: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

35

• Derived attribute

Adalah atribut yang nilainya tergantung pada nilai atribut yang

lain.

Contoh : umur dari seorang karyawan.

4. Menetapkan domain attribute

Tujuannya untuk menetapkan domain atribut dalam model data

konseptual lokal dan mendokumentasikan setiap detil dari domain.

Domain merupakan sekumpulan nilai-nilai dari satu atau lebih

atribut yang menggambarkan nilainya. Model data yang dibuat

menspesifikasikan domain untuk setiap atribut dengan

menyertakan:

• Nilai yang diijinkan untuk atribut

• Ukuran dan format atribut

5. Menetapkan primary dan candidate key

Tujuannya untuk menghubungkan atribut dengan entity dan jika

terdapat lebih dari satu candidate key, maka pilih satu sebagai

primary key.

6. Mempertimbangkan kegunaan dari konsep Enhanced Modeling

(optional)

Dalam langkah ini, kita mempunyai pilihan untuk mengembangkan

ER model dengan menggunakan konsep enhanced modeling, seperti

spesialisasi, generalisasi, agregasi, dan komposisi.

7. Memeriksa model untuk pengurangan

Page 31: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

36

Dalam langkah ini, perancang melakukan dua kegiatan yaitu

memeriksa kembali relasi one-to-one (1:1), dan menghilangkan

redundancy relation.

8. Memvalidasi model konseptual lokal terhadap transaksi pengguna

Tujuannya untuk memastikan model konseptual lokal mendukung

transaksi yang dibutuhkan oleh view. Diuji dengan dua pendekatan

untuk memastikan model data konseptual lokal mendukung

transaksi yang dibutuhkan, dengan cara:

• Mendeskripsikan transaksi-transaksi

• Menggunakan jalur-jalur transaksi

9. Me-review model data konseptual lokal dengan pengguna

Tujuannya untuk me-review model data konseptual lokal dengan

pengguna untuk memastikan model tersebut adalah representasi

sebenarnya dari view. Model data konseptual ini termasuk ER

diagram dan dokumentasi pendukung yang mendeskripsikan model

data. Bila ada kejanggalan dalam model data, maka harus dibuat

perubahan yang sesuai yang mungkin membutuhkan pengulangan

langkah-langkah sebelumnya.

2.1.9.3 Logical Database Design

Merupakan proses dari pembuatan sebuah model informasi yang

digunakan pada perusahaan berdasarkan pada model data yang spesifik,

tetapi tidak bergantung terhadap pertimbangan DBMS tertentu dan

fisikal lainnya.

Page 32: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

37

Metodologi desain basisdata logikal terdiri dari 2 langkah utama yaitu :

• Membangun dan validasi model data logikal lokal untuk setiap view

Membangun model data logikal lokal dari model data konseptual

lokal yang menggambarkan view tertentu dari perusahaan dan

kemudian memvalidasikan model ini untuk memastikan strukturnya

benar (menggunakan teknik normalisasi) dan memastikannya

mendukung transaksi yang dibutuhkan.

Pada langkah pertama ini terdiri dari 6 tahap yaitu:

1. memindahkan fitur-fitur yang tidak kompetibel dengan model

relasional (tahap optional)

2. mendapatkan hubungan untuk model data logikal lokal

3. memvalidasi hubungan menggunakan normalisasi

4. memvalidasikan hubungan terhadap transaksi pengguna

5. mendefinisikan batasan integrity

6. meninjau ulang model data logikal lokal dengan pengguna

• Membangun dan validasi model data logikal global

Menggabungkan model data logikal lokal individual menjadi model

data logikal global tunggal yang menggambarkan suatu perusahaan.

Pada langkah kedua ini terdiri dari 4 tahap yaitu :

1. menggabungkan model data logikal lokal menjadi model global

2. memvalidasikan model data logikal global

3. mengecek untuk pengembangan mendatang

4. meninjau ulang model data logikal global dengan pengguna

Page 33: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

38

2.1.9.4 Physical Database Design

Merupakan proses untuk menghasilkan suatu deskripsi dari

implementasi basisdata pada penyimpanan sekunder, juga

mendeskripsikan relasi dasar, organisasi file, dan desain indeks yang

digunakan untuk mencapai akses yang efisien terhadap data dan batasan

integritas lainnya yang masih berhubungan serta ukuran-ukuran

keamanan.

Langkah-langkah metodologi desain basisdata fisik :

• Menerjemahkan model data logikal global untuk target DBMS

Menghasilkan skema basisdata relasional dari model data global

yang dapat diimplementasikan dalam target DBMS.

Pada langkah pertama ini terdiri dari 3 tahap yaitu :

1. mendesain hubungan dasar

2. mendesain gambaran dari data yang dihasilkan

3. mendesain batasan-batasan perusahaan

• Mendesain gambaran fisik

Menentukan pengaturan file yang optimal untuk menyimpan

hubungan dasar dan index yang dibutuhkan untuk mencapai kinerja

yang diinginkan, dimana hubungan dan tuple disimpan di secondary

storage.

Pada langkah kedua terdiri dari 4 tahap yaitu :

1. menganalisa transaksi-transaksi

2. memilih pengaturan file

3. memilih index

Page 34: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

39

4. memperkirakan kebutuhan tempat penyimpanan (disk space)

• Mendesain view pengguna

Mendesain view pengguna yang diidentifikasikan selama kumpulan

kebutuhan dan tingkat analisis dari siklus hidup aplikasi basisdata

relational.

• Mendesain mekanisme keamanan

Mendesain langkah keamanan untuk basisdata yang

dispesifikasikan oleh pengguna.

• Mempertimbangan pengenalan dari redundansi terkontrol

Menentukan apakah pengenalan redundansi dalam cara terkontrol

dengan mengurangi aturan normalisasi akan meningkatkan kinerja

sistem.

• Memonitor dan mengatur sistem operasional

Memonitor sistem operasional dan mengembangkan kinerja sistem

untuk memperbaiki keputusan desain yang tidak tepat atau

menggambarkan penggantian kebutuhan.

2.2 Simbol untuk pembuatan bagan alir dokumen (Dokumen Flowchart)

Berikut ini simbol-simbol standar yang digunakan dalam pembuatan bagan alir

dokumen serta penjelasannya (Mulyadi, 2001,p60)

Page 35: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

40

Dokumen. Simbol ini digunakan untuk menggambarkan semua jenis dokumen, yang

merupakan formulir yang digunkan untuk merekam data terjadinya suatu transaksi.

Dokumen dan Tembusannya. Simbol ini digunakan untuk menggambarkan dokumen

asli dan tembusannya. Nomor lembar dokumen dicantumkan disudut kanan atas.

Berbagai Dokumen. Simbol ini digunakan untuk menggambarkan berbagai jenis

dokumen yang digabungkanbersama di dalam suatu paket. Nama dokumen dituliskan di

dalammasing-masing symbol dan nomor lembar dokumen dicantumkan di sudut kanan

atas symbol dokumen yang bersangkutan.

Catatan. Simbol ini digunakan untuk menggambarkan catatan akuntansi yang

digunakan untuk mencatat data yang direkam sebelumnya di dalam dokumen atau

formulir . Nama catatan akuntansi dicantumkan di dalam symbol ini

Page 36: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

41

Penghubung pada halaman yang sama. Simbol yang digunakan untuk

menghubungkan aliran dokumen yang terhenti si suatu lokasi pasa halaman tertentu dan

kembali berjalan di lokasi lain pada halaman yang sama dengan memperhatikan nomor

yang tercantum di dalam symbol.

Penghubung pada halaman yang berbeda. Jika untuk menggambarkan bagan alir

diperlukan lebih dari satu halaman, symbol ini harus digunakan untuk menunjukkan

kemana bagan alir terkait.

Kegiatan Manual. Symbol ini digunakkan untuk menggambarkan kegiatan manual.

Uraian singkat kegiatan manual dicantumkan di dalam symbol ini

Keterangan Komentar. Symbol ini memungkinkan ahli sistem menambahkab

keterangan untuk memperjelas pesan yang disampaikan dalam bagan alir

Arsip sementara. Symbol ini digunakan untuk menunjukkan tempat penyimpanan

dokumen yang dokumennya akan diambil kembali dari arsip tersebut di massa yang

akan datang.

Page 37: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

42

Arsip Permanen. Simbol ini digunakan untuk menggambarkan arsip permanent yang

merupakan tempat penyimpanan dokumen yang tidak akan diproses lagi dalam sistem

yang bersangkutan.

Keputusan. Simbol ini menggambarkan keputusan yang harus dibuat dalam proses

pengolahan data.

Mulai atau berakhir (terminal). Simbol ini untuk menggambarkan awal dan akhir

suatu sistem.

2.3 State Transition Diagram

State Transition Diagram (STD) digunakan untuk menggambarkan urutan dan

variasi layar yang dapat terjadi ketika pengguna sistem berdiri pada terminal.

Segiempat. Segiempat digunakan untuk merepresentasikan display screens.

Page 38: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

43

Tanda Panah. Tanda panah menggambarkan aliran kontrol dan menggambarkan

kejadian yang menyebabkan layar menjadi aktif atau mejadi fokus.

2.4 Teori-teori Pembelian dan Penjualan

2.4.1 Teori Pembelian

2.4.1.1 Definisi Pembelian

Pembelian dilakukan untuk memenuhi kebutuhan. Pemenuhan

kebutuhan tersebut ada dua macam :

1. Dikonsumsikan, umumnya oleh perusahaan industri dan rumah

tangga.

2. Dijual kembali, meskipun tujuannya berbeda, bagaimanapun

sifatnya adalah membeli barang dam jasa sesuai dengan

kebutuhan.

Menurut Mulyadi (2001, p299) pembelian adalah suatu usaha

yang digunakan dalam perusahaan untuk pengadaan barang yang

diperlukan oleh perusahaan.

Secara umum definisi pembelian adalah merupakan usaha

pengadaan barang atau jasa dengan tujuan yang akan digunakan sendiri,

untuk kepentingan proses produksi maupun untuk dijual kembali, baik

dengan atau tanpa proses, dalam proses pembelian yang ada. Agar

kegiatan pembelian dapat dilakukan dengan benar.

Page 39: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

44

2.4.1.2 Jenis-jenis Pembelian

Jenis transaksi dalam pembelian dapat dibedakan menjadi 2,

yaitu:

a. Pembelian tunai yaitu jenis transaksi, dimana pembayaran

langsung dilakukan pada saat penerimaan barang.

b. Pembelian kredit yaitu jenis transaksi, dimana pembayaran tidak

dilakukan pada saat penyerahan barang, tetapi dilakukan selang

beberapa waktu sesuai dengan perjanjian dengan pihak pemasok.

Sedangkan berdasarkan jenis pemasok, pembelian dibedakan

menjadi dua yaitu :

a. Pembelian Lokal yaitu pembelian dari pemasok dalam negeri.

b. Pembelian impor yaitu pembelian yang dilakukan dari pemasok

luar negeri.

2.4.1.3 Fungsi yang terkait dalam pembelian

Fungsi pembelian pada perusahaan industri adalah melakukan

pembelian bahan baku yang sesuai dengan kebutuhan proses produksi.

Didalam melaksanakan pembelian ada beberapa faktor yang harus

diperhatikan yaitu mutu bahan baku atau barang jadi, jumlah bahan

yang dibutuhkan, waktu serta harga bahan. Untuk dapat melaksanakan

fungsi pembelian dengan efektif dan efisien dibutuhkan adanya

kemampuan dari bagian pembelian. Pengawasan perlu dilakukan

tehadap pelaksanaan fungsi ini, karena pembelian menyangkut investasi

Page 40: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

45

dana dalam persediaan dan kelancaran arus barang kedalam

perusahaan. Disamping itu untuk menghindari praktek-praktek yang

tidak sehat dalam fungsi pembelian.

Menurut Mulyadi (2001, p300) fungsi yang terkait dalam sistem

pembelian adalah :

a. Fungsi Gudang, bertanggung jawab untuk mengajukan

permintaan pembelian sesuai dengan posisi persediaan yang ada

digudang dan untuk menyimpang barang yang telah diterima oleh

fungsi penerimaan.

b. Fungsi Pembelian, bertanggung jawab untuk memperoleh

informasi mengenai harga barang, menentukan pemasok yang

dipilih dalam pengadaan barang dan mengeluarkan order

pembelian kepada pemasok yang dipilih.

c. Fungsi Penerimaan, bertanggung jawab untuk melakukan

pemeriksaan terhadap jenis, mutu dan kuantitas bahan yang

diterima dari pemasok guna menentukan dapat atau tidaknya

barang tersebut diterima oleh perusahaan.

d. Fungsi Akuntansi, bertanggung jawab untuk mencatat transaksi

pembelian ke dalam register bukti kas keluar dan untuk

menyelenggarakan arsip dokumen sumber (bukti kas keluar) yang

berfungsi sebagai catatan utang atau menyelenggarakan kartu utang

sebagai buku pembantu utang.

2.4.1.4 Jaringan Prosedur yang membentuk sistem pembelian

Page 41: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

46

Menurut Mulyadi (2001, pp.301-303) jaringan prosedur yang

membentuk sistem pembelian adalah :

1. Prosedur permintaan pembelian, dalam prosedur ini fungsi

gudang mengajukan permintaan pembelian dalam formulir surat

permintaan pembelian kepada fungsi pembelian.

2. Prosedur permintaan penawaran harga dan pemilihan pemasok,

fungsi pembelian mengirimkan surat permintaan penawaran harga

kepada pemasok untuk memperoleh informasi mengenai harga

barang dan berbagai syarat pembelian yang lain untuk

memungkinkan pemilihan pemasok yang akan ditunjuk sebagai

pemasok barang yang diperlukan oleh perusahaan.

3. Prosedur order pembelian, fungsi pembelian mengirim surat order

pembelian kepada pemasok yang dipilih dan memberitahukan

kepada unit-unit organisasi lain dalam perusahaan mengenai order

pembelian yang sudah dikeluarkan oleh perusahaan.

4. Prosedur penerimaan barang , dalam prosedur ini fungsi

pengiriman barang melakukan pemeriksaan mengenai jenis,

kuantitas dan mutu bahan yang diterima dari pemasok dan

kemudian membuat penerimaan barang dari pemasok tersebut.

5. Prosedur pencatatan hutang, dalam prosedur ini fungsi akuntansi

memeriksa dokumen-dokumen yang berhubungan dengan

pembelian dan meyelenggarakan pencatatan hutang atau

pengarsipan dokuman sumber sebagai catatan hutang.

Page 42: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

47

6. Prosedur distribusi pembelian, prosedur ini meliputi distribusi

rekening yang didebet dari transaksi pembelian untuk kepentingan

pembuatan laporan manajemen.

Menurut Mulyadi (2001, p.303) informasi yang diperlukan oleh

manajemen dari kegiatan pembelian adalah :

a. Jenis persediaan yang telah mencapai titik pemesanan kembali

(Re – order point)

b. Order pembelian yang telah dikirim kepada pemasok

c. Oder pembelian yang telah dipenuhi oleh pemasok

d. Total saldo utang dagang pada tanggal tertentu.

e. Saldo utang dagang pada tanggal tertentu.

f. Tambahan kualitas dan harga pokok persediaan dari pembeli.

2.4.2 Teori Penjualan

2.4.2.1 Jenis-jenis Penjualan

Menurut Mulyadi (2001, p202), kegiatan penjualan terdiri dari

penjualan barang dan jasa baik secara kredit maupun secara tunai.

a. Dalam transaksi penjualan kredit, jika order dari pelanggan

telah dipenuhi dengan pengiriman barang atau penyerahan jasa,

untuk jangka waktu tertentu perusahaan memiliki piutang

kepada pelanggannya.

Page 43: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

48

b. Dalam sistem penjualan secara tunai, barang atau jasa baru

diserahkan oleh perusahaan kepada pembeli jika perusahaan

telah menerima kas dari pembeli.

2.4.2.2 Fungsi yang terkait dalam penjualan kredit

Menurut Mulyadi (2001,p204), fungsi yang terkait pada

penjualan secara kredit adalah:

1. Fungsi kredit

Fungsi ini bertanggung jawab atas pemberian kartu kredit

kepada pelanggan terpilih. Dalam sistem penjualan secara kredit

dengan kartu kredit, fungsi kredit tidak diperlukan lagi

otorisasinya, karena autorisasi pemberian kredit sudah tercermin

dari kartu kredit yang ditunjukkan oleh pelanggan pada saat

melakukan pembelian.

2. Fungsi penjualan

Fungsi penjualan bertanggung jawab melayani kebutuhan

barang pelangggan. Fungsi penjualan mengisi faktur penjualan

kartu kredit untuk memungkinkan fungsi gudang dan fungsi

pengiriman melaksanakan penyerahan barang kepada

pelanggan.

3. Fungsi gudang

Fungsi gudang menyediakan barang yang diperlukan oleh

pelanggan sesuai dengan yang tercantum dalam tembusan faktur

penjualan kredit yang diterima dari fungsi penjualan.

Page 44: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

49

4. Fungsi pengiriman

Fungsi ini bertanggung jawab untuk menyerahkan barang yang

kuantitas, mutu, dan spesifikasinya sesuai dengan yang

tercantum dalam tembusan faktur penjualan kartu kredit yang

diterima dari fungsi penjualan.

5. Fungsi akuntansi

Fungsi ini bertanggung jawab untuk mencatat transaksi

bertambahnya piutang kepada pelanggan kedalam kartu piutang

berdasarkan faktur penjualan kartu kredit yang diterima dari

fungsi pengiriman.

6. Fungsi penagihan

Fungsi ini bertanggung jawab untuk membuat surat tagihan

secara periodik kepada pemegang kartu kredit.

2.4.2.3 Fungsi yang terkait dalam penjualan tunai

Menurut Mulyadi(2002,p462) fungsi yang terkait dalam

penerimaan kas dari penjualan secara tunai adalah:

1. Fungsi penjualan

Fungsi ini bertanggung jawab untuk menerima order dari

pembeli, mengisi faktur penjualan tunai, dan menyerahkan

faktur tersebut kepada pembeli untuk kepentingan pembayaran

harga barang ke fungsi kas.

2. Fungsi kas

Page 45: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

50

Fungsi ini bertanggung jawab sebagai penerima kas dan

pembeli.

3. Fungsi gudang

Fungsi ini bertanggung jawab untuk menyiapkan barang yang

dipesan oleh pembeli, serta menyerahkan barang tersebut ke

fungsi pengirim.

4. Fungsi pengiriman

Fungsi ini bertanggung jawab untuk membungkus barang dan

menyerahkan barang yang telah dibayar harganya kepada

pembeli.

5. Fungsi akuntansi

Fungsi ini bertanggung jawab sebagai pencatat transaksi

penjualan dan penerimaan kas serta pembuat laporan penjualan.

2.4.2.4 Jaringan prosedur penerimaan kas dari sistem penjualan tunai

Menurut Mulyadi (2001,p469) jaringan prosedur yang

membentuk sistem penerimaan kas dari penjualan tunai :

1. Prosedur order penjualan

Dalam prosedur ini fungsi penjualan menerima order dari

pembeli dan membuat faktur penjualan tunai untuk

memungkinkan pembeli melakukan pembayaran harga barang

ke fungsi kas dan untuk memungkinkan fungsi gudang dan

fungsi pengiriman menyiapkan barang yang akan diserahkan

kepada pembeli.

Page 46: BAB 2 LANDASAN TEORI 2.1 Teori-teori Database …library.binus.ac.id/eColls/eThesisdoc/Bab2/2006-2-01176-IF-BAB 2.pdf · Perintah CREATE INDEX digunakan untuk memberi indeks pada

51

2. Prosedur penerimaan kas

Dalam prosedur ini fungsi kas menerima pembayaran harga

barang dari pembeli dan memberikan tanda pembayaran kepada

pembeli untuk memungkinkan pembeli tersebut melakukan

pengambilan barang yang dibelinya dari fungsi pengiriman.

3. Prosedur penyerahan barang

Dalam prosedur ini fungsi pengiriman menyerahkan barang

kepada pembeli.

4. Prosedur pencatatan penjualan tunai

Dalam prosedur ini fungsi akuntansi melakukan pencatatan

transaksi penjualan tunai dalam jurnal penjualan dan jurnal

penerimaan kas.

5. Prosedur penyetoran kas ke bank

Dalam prosedur ini fungsi kas menyetorkan kas yang diterima

dari penjualan tunai ke bank dalam jumlah penuh.

6. Prosedur pencatatan penerimaan kas

Dalam prosedur ini fungsi akuntansi mencatat penerimaan kas

ke dalam jurnal penerimaan kas berdasarkan bukti setor bank

yang diterima dari bank melalui fungsi kas.

7. Prosedur pencatatan harga pokok penjulan

Dalam prosedur ini fungsi akuntansi membuat rekapitulasi

harga pokok penjualan berdasarkan data yang dicatat dalam

faktur persediaan.