39
5 BAB 2 LANDASAN TEORI 2.1 Teori Sistem Basis Data 2.1.1 Basis Data Menurut Connolly dan Begg (2010 ,p65) basis data dapat dianggap sebagai sekumpulan data yang saling terkait secara logis yang disertai deskripsi data tersebut , dan dirancang untuk memenuhi kebutuhan informasi perusahaan. Sedangkan basis data menurut Date (1999, p5) adalah suatu sistem yang pada dasarnya menyimpan record-record di dalam suatu sistem yang dilakukan secara komputerisasi yang tujuannya adalah menjadi suatu kumpulan data yang terhubung dan Database Management System (DBMS) menjadi program yang mengatur dan mengontrol akses ke basis data, serta memelihara informasi dan membuat informasi tersebut tersedia berdasarkan permintaan. 2.1.2 Relational Database Menurut Connolly dan Begg (2010, p87), relational database adalah suatu kumpulan dari relasi yang telah dinormalisasi dengan nama relasi yang berbeda satu dengan yang lain. Relational database terdiri dari kumpulan tabel yang menyimpan data tertentu. Relational database menghasilkan informasi dalam tabel dan kolom. Tabel diartikan sebagai relasi yaitu sekumpulan data yang berasal dari jenis yang sama. Data- data dalam tabel dihubungkan sesuai dengan keys yang ada.

BAB 2 LANDASAN TEORI Teori Sistem Basis Data Menurut ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00754-IF Bab2001.pdf · data, serta memelihara informasi dan membuat informasi

Embed Size (px)

Citation preview

5

BAB 2

LANDASAN TEORI

2.1 Teori Sistem Basis Data

2.1.1 Basis Data

Menurut Connolly dan Begg (2010 ,p65) basis data dapat dianggap

sebagai sekumpulan data yang saling terkait secara logis yang disertai

deskripsi data tersebut , dan dirancang untuk memenuhi kebutuhan informasi

perusahaan. Sedangkan basis data menurut Date (1999, p5) adalah suatu

sistem yang pada dasarnya menyimpan record-record di dalam suatu

sistem yang dilakukan secara komputerisasi yang tujuannya adalah menjadi

suatu kumpulan data yang terhubung dan Database Management System

(DBMS) menjadi program yang mengatur dan mengontrol akses ke basis

data, serta memelihara informasi dan membuat informasi tersebut tersedia

berdasarkan permintaan.

2.1.2 Relational Database

Menurut Connolly dan Begg (2010, p87), relational database adalah

suatu kumpulan dari relasi yang telah dinormalisasi dengan nama relasi yang

berbeda satu dengan yang lain.

Relational database terdiri dari kumpulan tabel yang menyimpan data

tertentu. Relational database menghasilkan informasi dalam tabel dan kolom.

Tabel diartikan sebagai relasi yaitu sekumpulan data yang berasal dari jenis

yang sama. Data- data dalam tabel dihubungkan sesuai dengan keys yang

ada.

6

2.1.3 Database Management Sistem

Menurut Connolly dan Begg (2010, p66), DBMS adalah sebuah

sistem perangkat lunak yang memampukan user untuk mendifinisikan,

membuat, memelihara, dan mengendalikan akses terhadap sistem basis data

2.1.3.1 Komponen DBMS

Komponen DBMS terdiri dari 5 yang utama yaitu :

1. Hardware (Perangkat Keras)

Dibutuhkan perangkat keras untuk menjalankan DBMS dan

aplikasinya seperti personal computer, mainframe, maupun

jaringan yang terdiri dari banyak computer.

2. Software (Perangkat Lunak)

Komponen dari perangkat lunak terdiri dari perangkat

lunak DBMS itu sendiri dan program aplikasi.

3. Data

Data pada sebuah sistem basis data baik itu single-user

system maupun multi-user system harus terintegrasi dan dapat

digunakan bersama.

4. Prosedur

Intruksi dan aturan yang harus disertakan dalam mendesain

dan menggunakan data dalam basis data dan DBMS.

5. Manusia

Orang-orang yang terlibat dalam DBMS antara lain :

a. Data Administrator, orang yang berwenang untuk membuat

keputusan strategi dan kebijakan mengenai data yang ada.

7

b. Database Administrator, orang yang menyediakan dukungan

teknis untuk implementasi kebutuhan tersebut dan bertanggung

jawab atas kontrol sistem pada level teknis.

c. Database Designer, ada dua tipe dari database designer yaitu

:

i. Logical Database Designer, tugasnya berhubungan

dengan mengidentifikasi relasi antar data dan batasan pada

data yang akan disimpan pada basis data.

ii. Physical Database Designer, bertugas untuk memutuskan

bagaimana desain logikal basis data direalisasikan.

d. Aplication Programmer, bertanggung jawab untuk membuat

aplikasi basis data dengan menggunakan bahasa pemrograman

yang ada.

e. End User, terdiri dari pengguna yang tidak perlu mengetahui

basis data dan DBMS (Naive), serta pengguna yang familiar

dengan struktur basis data dan DBMS (Shopisticated).

2.1.3.2 Fasilitas DBMS

Fasilitas yang dimiliki DBMS yaitu :

1. Data Definition Language (DDL), digunakan untuk

menspesifikasikan tipe data, struktur, dan constraint data. Semua

spesifikasi disimpan d dalam basis data.

2. Data Manipulation Language (DML), digunakan untuk

memberikan fasilitas query data.

8

3. Pengendalian akses basis data, digunakan untuk mengontrol

keamanan sistem, integritas sistem, pengendalian share data,

backup dan recovery system, dan katalog deskripsi data dalam

basis data.

4. Mekanisme View, digunakan untuk ditampilkan kepada pengguna

data yg diperlukan dan digunakan.

2.1.4 Database System Development Lifecycle

Gambar 2.1 Tahapan dari Database Application Lifecycle

9

Tahapan Database System Development Lifecycle adalah :

1. Database Planning, perencanaan basis data merupakan aktivitas

menajemen yang memungkinkan tahapan dari database lifecycle

direalisasikan seefektif dan dan se-efisien mungkin (Connolly and Begg,

2010, p313). Tahap perancangan basis data juga harius menjelaskan :

a. Mission Statement, sasaran utama sistem basis data. Mission

Statement menjelaskan tujuan sistem basis data dan menyediakan

maksud lebih jelas dalam pembuatan aplikasi basis data secara efisien

dan efektif (Connolly and Begg, 2010, p313).

b. Mission Objectives, selain merumuskan tujuan dari sebuah proyek

basis data namun harus diperhatikan mengenai tugas apa saja yang

harus didukung oleh basis data tersebut. Setiap Mission Objectives

akan menjelaskan tugas tertentu yang harus didukung oleh basis data,

dengan asumsi jika basis data mendukung Mission Objectives, maka

Mission Statement juga akan sesuai (Connolly and Begg, 2010, p314).

2. System Definition, proses menspesifikasikan ruang lingkup dan batasan

dari aplikasi sistem basis.Menjelaskan batasan dan cakupan dari aplikasi

basis data dan sudut pandang user (user view) utama (Connolly and Begg,

2010, p316).

3. Requirement Collection and Analysis, proses pengumpulan dan analisa

informasi mengenai bagian dari organisasi yang akan didukung oleh

aplikasi sistem basis data dan mengggunakan informasi ini untuk

mengidentifikasi kebutuhan pada sistem yang baru.Ada banyak teknik

untuk mengumpulkan informasi. Teknik tersebut dinamakan fact-finding.

10

4. Database Design, proses dari pembuatan sebuah rancangan yang

mendukung visi dan misi perusahaan yang dibutuhkan untuk sebuah

sistem basis data. Menurut Conolly dan Begg, metodologi perancangan

sistem basis data terdiri dari 3 tahap, yaitu :

Tahap 1: Perancangan Sistem Basis data secara koseptual, yaitu proses

membuat model dari data yang digunakan dalam perusahaan

tanpa pertimbangan fisikal.

Tahap 2: Perancangan sistem basis data secara logikal, yaitu proses

membuat model dari data yang akan digunakan dalam

perusahaan berdasarkan sebuah model data yang spesifik.

Tahap 3: Perancangan sistem basis data secara fisikal, yaitu proses

menghasilkan sebuah deskripsi implementasi dari database

pada penyimpanan sekunder.

5. DBMS selection, Pemilihan DBMS yang tepat untuk mendukung sistem

basis data. Tahap-tahap utama untuk memilih DBMS (Connolly dan

Begg, 2010, p325) :

a. Mendefinisikan terminologi studi referensi

Dibuat dengan menyatakan tujuan dan ruang lingkup

pembelajaran, tugas-tugas yang akan dikerjakan, penjelasan kriteria

(berdasarkan spesifikasi kebutuhan pengguna) yang akan

digunakan dalam mengevaluasi produk-produk DBMS, daftar

produk-produk yang dimungkinkan, semua batasan-batasan dan

skala waktu yang dibutuhkan untuk proses pembelajaran.

11

b. Mendaftar dua atau tiga produk

Kriteria yang dianggap penting dalam keberhasilan

implementasi dapat digunakan untuk membuat daftar produk-

produk DBMS dalam evaluasi, seperti dana yang tersedia, tingkat

dukungan vendor, kecocokan dengan perangkat lunak lainnya, dan

apakah produk hanya berjalan pada perangkat keras tertentu.

c. Evaluasi produk

Ada berbagai fitur yang dapat digunakan untuk

mengevaluasi produk DBMS (Connolly dan Begg, 2010, p326).

dikelompokkan menjadi definisi data, definisi fisik, kemampuan

akses, penanganan keperluan-keperluan, pengembangan, dan fitur

lainnya.

d. Rekomendasi pilihan dan laporan produk

Langkah terakhir dari pemilihan DBMS adalah

mendokumentasikan prosesnya dan membuat pernyataan dalam

penemuan dan rekomendasi atas produk DBMS tertentu.

6. Application Design, Desain aplikasi adalah rancangan dari user interface

dan programprogram aplikasi yang di gunakan dan proses suatu basis

data. Desain basis data dan aplikasi merupakan aktivitas paralel yang

meliputi dua aktivitas penting, yaitu (Connolly dan Begg, 2010, p329) :

a. Perancangan transaksi (transaction design)

Transaksi adalah satu aksi atau serangkaian aksi yang

dilakukan oleh pengguna tunggal atau program aplikasi, yang

mengakses atau merubah isi dari database. Kegunaan dari desain

12

transaksi adalah untuk menetapkan dan keterangan karakteristik

high-level dari suatu transaksi yang dibutuhkan pada database,

diantaranya :

i. Data yang akan digunakan oleh transaksi

ii. Karakteristik fungsional dari suatu transaksi

iii. Output transaksi

iv. Keuntungannya bagi user

v. Tingkat kegunaan yang diharapkan

Terdapat tiga tipe transaksi yaitu :

i. Retrieval transaction, digunakan untuk pemanggilan data untuk

ditampilkan di layar atau menghasilkan suatu laporan,

ii. Update transaction, digunakan untul menambahkan record baru,

menghapus record lama, atau memodifikasi record yang sudah

ada di dalam basis data.

iii. Mixed transaction, meliputi pemanggilan dan perubahan data.

b. Perancangan antarmuka pengguna (user interface design).

Tujuan dari Perancangan Antarmuka Pengguna adalah

merancang interface yang efektif untuk sistem perangkat lunak.

7. Prototyping, Membuat model kerja dari sebuah aplikasi basis data.

Tujuan utama dari pembuatan prototyping adalah (Connolly dan Begg,

2010, p333):

a. Untuk memungkinkan pengguna untuk menggunakan prototipe

b. Untuk mengidentifikasi feature dari sistem yang berkerja dengan baik

atau tidak.

13

c. Untuk menyarankan / memberikan perbaikan-perbaikan atau

penambahan feature baru.

d. Untuk klarifikasi kebutuhan user.

e. Untuk evaluasi kemungkinan yang terjadi dari desain sistem

khusus.

Terdapat dua macam strategi prototyping yang digunakan saat ini :

a. Requirements prototyping, menggunakan prototype untuk

menentukan kebutuhan dari aplikasi database yang diinginkan dan

ketika kebutuhan itu terpenuhi maka prototype akan dibuang.

b. Evolutionary prototyping, digunakan untul tujuan yang sama.

Perbedaannya protoype tidak dibuang tetapi dengan pengembangan

lanjutan menjadi aplikasi database yang digunakan.

8. Implementation, Implementasi merupakan realisasi secara fisik dari basis

data dan desain aplikasi (Connolly dan Begg, 2010, p333). Implementasi

basis data dilakukan dengan menggunakan Data Definition Language

(DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI).

Aplikasi program diimplementasikan menggunakan third or forth

generation language (3GL atau 4GL). Bagian dari aplikasi program dan

transaksi basis data, yang diimplementasikan menggunakan Data

Manipulation Language (DML), kemungkinan sudah ada dalam host

pemrograman.

9. Data Conversion dan Loading, Pemindahan data yang ada dalam basis

data yang baru dan mengubah aplikasi yang sedang berjalan agar dapat

digunakan dalam basis data yang baru (Connolly dan Begg, 2010, p334)

14

langkah ini diperlukan hanya ketika suatu sistem basis data baru

sedang menggantikan suatu sistem basis data yang lama.

10. Testing, proses menjalankan sistem basis data dengan tujuan mencari

kesalahan(error).

11. Operational Maintanance, Suatu proses untuk memonitor dan

merawat sistem aplikasi setelah instalasi. Dalam langkah-langkah yang

sebelumnya, aplikasi basis data telah secara penuh diterapkan dan diuji.

Sistem sekarang pindah kesuatu langkah pemeliharaan yang melibatkan

aktivitas yang berikut (Connolly dan Begg, 2010, p335) :

a. Monitoring performance dari sistem. Jika performance jatuh

dibawah suatu tingkatan yang bisa diterima penyetelan atau

reorganisasi basis data mungkin diperlukan.

b. Maintaining dan meningkatkan mutu aplikasi basis data (ketika

diperlukan).

2.1.5 SQL

SQL adalah contoh dari transformasi - bahasa rorientasi (transform

oriented language), atau bahasa yang dirancang untuk menggunakan

hubungan untuk mengubah input menjadi output yang diperlukan. sebagai

bahasa, standard ISO SQL memiliki dua komponen utama, yaitu (Connolly

dan Begg, 2010, p184) :

2.1.5.1 Data Definition Language (DDL)

Connolly and Begg (2010, p92) mendifinisikan DDL sebagai

suatu bahasa yang mengijinkan administrator sistem basis data atau

15

user untuk menggambarkan dan memberi nama entitas, atribut, dan

relasi yang dibutuhkan untuk aplikasi disertai dengan batasan-

batasan integritas dan keamanan (Integrity Constraint and Security

Constraint). Contoh operasinya adalah sebagai berikut:

1. Membuat tabel baru ke dalam database (Create)

2. Menghapus tabel dari database (Drop)

3. Memodifikasi tabel dalam database (Alter)

2.1.5.2 Data Manipulation Language (DML)

Connolly and Begg (2010, p92) mendifinisikan DML

merupakan suatu bahasa yang menyediakan seperangkat operasi

untuk mendukung dasar operasi untuk manipulasi data dasar dari

data yang tersimpan pada sistem basis data. Operasi manipulasi data

biasanya adalah sebagai berikut:

1. Memasukkan data baru ke dalam database (Insert)

2. Memodifikasi data yang tersimpan dalam database (Update)

3. Pengambilan data yang terdapat dalam database (Select)

4. Penghapusan data dari database (Delete / Drop)

2.1.6 Entity Relationship Modeling

Menurut Connolly dan Begg (2010, p371), salah satu aspek yang sulit

dalam perancangan database adalah kenyataannya bahwa, perancang,

programmer, dan end-user cenderung melihat data dengan cara yang

berbeda. Karena itu, untuk memastikan pemahaman secara alamiah dari data

16

dan bagaimana data digunakan oleh perusahaan membutuhkan sebuah bentuk

komunikasi yang non- teknis (non-technical) dan bebas dari kebingungan.

2.1.6.1 Entity Relationship Diagram

Menurut pendapat Kronke (2006, p37) Entity-Relationship

Diagram (ERD) adalah adalah suatu pemodelan konseptual yang

didesain secara khusus untuk mengidentifikasikan entitas yang

menjelaskan data dan hubungan antar data, yaitu dengan menuliskan

dalam cardinality.

2.1.6.2 Tipe Entity

Konsep dasar dari model ER adalah tipe entity, yaitu

kumpulan dari objek-objek dengan sifat yang sama, yang

diidentifikasi oleh enterprise mempunyai eksistensi yang

independen. Keberadaannya dapat berupa fisik maupun abstrak

(Connolly dan Begg, 2010, p372).Entity occurence, yaitu

pengidentifikasian objek yang unik dari sebuah tipe entity.Setiap

entity diidentifikasikan dan disertakan property-nya (Connolly dan

Begg, 2010, p374).

Gambar 2.2 Representasi Diagram dari Tipe Entity

17

2.1.6.3 Tipe Relationship

Tipe relationship merupakan kumpulan keterhubungan

yang mempunyai arti antara tipe entity yang ada (Connolly dan Begg,

2010, p374). Relationship occurence, yaitu keterhubungan yang

diidentifikasi secara unik yang meliputi keberadaan tiap tipe entity

yang berpartisipasi.

Gambar 2.3 Representasi Diagram dari Relationship

2.1.6.4 Derajat Relationship

Yaitu jumlah entity yang berpartisipasi dalam suatu

relationship (Connolly dan Begg, 2010, p376). Derajat relationship

terdiri dari :

1. Binary relationship, keterhubungan antar dua tipe entity.

Gambar 2.4 Contoh Binary Relationship

18

2. Ternary relationship, keterhubungan antar tiga tipe entity.

Gambar 2.5 Contoh Ternary Relationship

3. Quaternary relationship, keterhubungan antar empat tipe entity.

Gambar 2.6 Contoh Quaternary Relationship

4. Recursive relationship, keterhubungan antar satu tipe entity,

dimana tipe entity tersebut berpartisipasi lebih dari satu kali

dengan peran yang berbeda

19

Gambar 2.7 Contoh Recursive Relationship

2.1.6.5 Atribut

Atribut merupakan sifat-sifat dari sebuah entity atau tipe

relationship (Connolly dan Begg, 2010, p379). Attribute domain

adalah himpunan nilai yang diperbolehkan untuk satu atau lebih

atribut. Macam-macam atribut antara lain :

1. Simple attribute, yaitu atribut yang terdiri dari satu komponen

tunggal dengan keberadaan yang independen dan tidak dapat

dibagi menjadi bagian yang lebih kecil lagi (Connolly dan Begg,

2010, p379).

2. Composite attribute, yaitu atribut yang terdiri dari beberapa

komponen, dimana masing-masing komponen memiliki

keberadaan yang independen.

3. Single-valued attribute, yaitu atribut yang mempunyai nilai

tunggal untuk setiap kejadian.

4. Multi-valued attribute, yaitu atribut yang mempunyai beberapa

nilai untuk setiap kejadian.

20

5. Derived attribute, yaitu atribut yang memiliki nilai yang

dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus

berasal dari satu entity.

2.1.6.6 Keys

Candidate key adalah kumpulan attribute minimal yang

unik untuk mengidentifikasikan suatu entity types (Connolly dan

Begg, 2010, p381).

Primary key adalah key yang telah menjadi candidate key

yang dipilih secara unik untuk mengidentifikasi suatu entity types.

Composite key adalah candidate key yang terdiri dari dua atau

lebih atribut.

Alternate key adalah key yang digunakan sebagai alternatif

dari key yang telah didefinisikan (Fathansyah,1999,p104).

Foreign key adalah primary key pada sebuah entity yang

digunakan pada entity lainnya untuk mengidentifikasikan sebuah

relationship (Navathe dan Elmasri, 2002, p28).

2.1.6.7 Strong Entity dan Weak Entity

Strong entity (entity kuat) : entity yang mandiri, yang

keberadaannya tidak bergantung pada keberadaan entity yang

lainnya(Connolly dan Begg 2010, p383). Instansiasi entity kuat selalu

memiliki karakteristik yang unik disebut identifier (sebuah atribut

21

tunggal atau gabungan atribut-atribut yang secara unik dapat

digunakan untuk membedakannya dari entity kuat yang lain).

Weak entity (entity lemah) : entity yang keberadaannya sangat

bergantung pada keberadaan entity yang lainnya (Connolly dan Begg,

2010, p383). Entity lemah tidak memiliki arti apa-apa dan tidak

dikehendaki kehadirannya dalam ER diagram tanpa kehadiran entity

di mana mereka bergantung.

Gambar 2.8 Contoh Strong Entity dan Weak Entity

2.1.6.8 Structural Constraints

Multiplicity adalah jumlah occurence yang mungkin terjadi

pada sebuah entity yang berhubungan ke sebuah occurence dari tipe

entity lain pada suatu relationship (Connolly dan Begg, 2010, p385).

Relationship yang terjadi diantara dua himpunan entity (misalnya A

dan B) dalam satu basis data yaitu (Kadir, 2008, p48) :

1. One-to-One (1:1) Relationships : Hubungan relasi satu ke satu

yaitu setiap entity pada himpunan entity A berhubungan paling

banyak dengan satu entity pada himpunan entity B.

22

Gambar 2.9 Contoh One-to-One (1:1) Relationships

2. One-to-Many (1:*) Relationships : Setiap entity pada himpunan

entity A dapat berhubungan dengan banyak entity pada himpunan

entity B, tetapi setiap entity pada entity B dapat berhubungan

dengan satu entity pada himpunan entity A.

Gambar 2.10 Contoh Many-to-Many (1:*) Relationships

3. Many-to-Many (*:*) Relationships : Setiap entity pada himpunan

entity A dapat berhubungan dengan banyak entity pada himpunan

entity B.

23

Gambar 2.11 Contoh Many-to-Many (*:*) Relationships

2.1.7 Normalisasi

Proses normalisasi pertama kali dikembangkan oleh E.F.Codd.

Menurut Connolly dan Begg (2010, p416), normalisasi adalah teknik untuk

menghasilkan sejumlah relations dengan property yang diperlukan,

memberikan data yang dibutuhkan perusahaan. Berikut ini adalah tahap-

tahap dalam melakukan normalisasi:

1. Unnormalized form (UNF)

Merupakan bentuk dimana sebuah table berisi satu atau lebih

repeating group. Untuk mengubah unnormalized table menjadi 1NF,

repeating group dalam table diidentifikasi dan dihilangkan. Repeating

group adalah sebuah atau sekelompok atribut di dalam sebuah table yang

memiliki banyak nilai untuk sebuah kejadian dari atribut key. Ada dua

pendekatan untuk menghilangkan repeating group dari unnormalized

table yaitu:

a. Repeating group dihilangkan dengan memasukkan data

yang tepat pada baris kolom kosong yang berisi data yang berulang.

24

b. Repeating group dihilangkan dengan menempatkan data

yang berulang bersama dengan salinan key atribut asli.

2. First normal form (1NF)

Relasi yang dimana di tiap persimpangan baris dan kolomnya

hanya berisi satu nilai saja. Dalam 1 NF ini, repeating group

dihilangkan dengan cara memasukkan data yang benar ke dalam

kolom yang kosong.

3. Second normal form (2NF)

Relasi yang berada di dalam normal form dan setiap atribut

nonprimary key nya bergantung secara fungsional kepada primary key.

Normalisasi relasi 1NF menjadi 2NF dengan menghilangkan partial

dependency.Jika terdapat partial dependency, atribut yang bergantung

secara fungsional dihilangkan dari relasi dengan meletakkannya pada

relasi baru bersama dengan salinan determinannya.

4. Third normal form (3NF)

Relasi yang ada di 1NF dan 2NF dan atribut yang tidak

mempunyai non-primary key mempunyai ketergantungan transitif

kepada primary key. Normalisasi 2NF menjadi 3NF menghilangkan

transitive dependency. Jika terdapat transitive dependency, atribut yang

bergantung secara transitif dihilangkan dari relasi dengan meletakkan

atribut pada relasi baru bersama dengan salinan determinan.

25

2.1.8 Perancangan Basis Data Konseptual, Logikal, dan Fisikal

2.1.8.1 Perancangan Basis Data Konseptual (Conceptual Database

Design)

1. Membangun data model konseptual

Suatu proses pembentukan model dari informasi yang

digunakan dalam enterprise, independen dari keseluruhan aspek

fisik (Connolly dan Begg, 2010, p322). Model basis data

dibangun dengan menggunakan informasi dalam spesifikasi

kebutuhan dari user.Model data konseptual merupakan sumber

informasi untuk fase desain logikal.

Langkah ini bertujuan untuk membagi rancangan menjadi

tugas-tugas yang dapat diatur dengan melihat sudut pandang

yang berbeda dari pengguna di dalam suatu organisasi. Hasil dari

langkah ini berupa pembuatan satu atau lebih local

conceptual data model yang merupakan gambaran yang tepat dan

lengkap dari suatu organisasi dilihat dari para pengguna yang

berbeda-beda. Langkah-langkah yang terdapat dalam

perancangan basis data konseptual antara lain :

a. Mengidentifikasikan tipe-tipe entity

Bertujuan untuk menentukan tipe-tipe entity utama

yang dibutuhkan. Menentukan entity dapat dilakukan

dengan memeriksa spesifikasi kebutuhan pengguna. Setelah

terdefinisi, entity diberikan nama yang tepat dan jelas

26

dengan menggunakan kata benda atau frase kata benda pada

spesifikasi kebutuhan pengguna.

b. Mengidentifikasikan tipe-tipe relationship

Bertujuan untuk mengidentifikasi suatu

relationship yang penting yang ada antar entity yang telah

diidentifikasi. Nama dari suatu relationship menggunakan

kata kerja atau suatu kata yang berhubungan dengan kata

kerja.

c. Mengidentifikasikan dan menghubungkan atribut-

atribut dengan tipe entity dan relationship.

Bertujuan untuk menghubungkan atribut dengan tipe-

tipe entity atau relationship yang tepat (Connolly dan Begg,

2010, p474). Atribut yang dimiliki setiap entity atau

relationship memiliki identity atau karakteristik yang sesuai

dengan memperhatikan atribut berikut : simple atau

composite attribute, single atau multi-valued attribute dan

derived attribute.

d. Menentukan domain atribut

Domain adalah sekumpulan nilai dimana satu atau

lebih atribut memperoleh nilainya (Connolly dan Begg,

2010, p478). Bertujuan untuk menentukan atribut domain

pada conceptual data model. Contohnya yaitu menentukan

nilai atribut jenis_kelamin pada entity mahasiswa dangan

‘M’atau ‘F’.

27

e. Menentukan atribut-atribut candidate key dan primary

key

Bertujuan untuk mengidentifikasi candidate key pada

setiap entity dan memilih primary key jika ada lebih dari

satu candidate key untuk memilih satu untuk menjadi

primary key dan yang lainnya menjadi alternate

keys.(Connolly dan Begg, 2010, p479).

f. Mempertimbangkan penggunaan enhanced modeling

(optional).

Pada langkah ini bertujuan untuk menentukan

specialization, generalization, aggregation, composition.

Dimana masing-masing pendekatan dapat dilakukan

sesuai dengan kebutuhan yang ada. Specialization dan

generalization adalah proses dalam mengelompokan

beberapa entity dan menghasilkan entity yang baru (Connolly

dan Begg, 2010, p480). Beda dari keduanya adalah cara

prosesnya, dimana spesialisasi menggunakan proses top-

down dan generalisasi menggunakan proses bottom-up.

Aggregation menggambarkan sebuah tipe entity dengan

sebuah tipe relationship dimana suatu relasi hanya akan ada

jika telah ada relationship lainnya.

g. Memeriksa model dari redudancy

28

Bertujuan untuk memeriksa conceptual model

untuk menghindari dari adanya informasi yang redundan.

Yang dilakukan pada langkah ini adalah :

i. Memeriksa kembali one-to-one relationship.

ii. Menghilangkan relasi yang redundansi.

iii. Mempertimbangkan dimensi waktu.

h. Memvalidasi local conceptual model dengan transaksi-

transaksi user

Tujuanya adalah untuk menjamin bahwa conceptual

data model mendukung kebutuhan transaksi (Connolly dan

Begg, 2010, p483). Ada dua pendekatan yang mungkin untuk

mejamin bahwa local conceptual data model mendukung

kebutuhan transaksi yaitu :

i. Mendeskripsikan transaksi

Memeriksa seluruh informasi (entities,

relationship, dan attribute) yang diperlukan pada

setiap transaksi yang disediakan oleh model dengan

mendokumentasikan penggambaran dari tiap kebutuhan

transaksi.

ii. Mengunakan transaksi pathways

Pendekatan kedua, untuk memvalidasi data

model dengan keperluan transaksi yang melibatkan

diagram yang mewakili path ways diambil dari tiap

29

transaksi secara langsung yang terdapat pada ER

diagram.

i. Meninjau kembali local conceptual model dengan

pengguna.

Bertujuan untuk me-review kembali conceptual

model dan memastikan bahwa data model tersebut sudah

benar.

2.1.8.2 Perancangan Basis Data Logikal (Logical Database Design)

2. Membangun data model logical

Adalah untuk menerjemahkan conceptual data model

ke logical data model dan kemudian melakukan validasi model

ini untuk memeriksa bahwa secara struktural benar dan

mampu mendukung transaksi yang diperlukan.

Tujuan utama adalah untuk menerjemahkan conceptual

data model yang dibuat pada langkah pertama ke dalam logical

data model dari persyaratan data perusahaan. Langkah- langkah

yang dilakukan :

a. Menghilangkan fitur yang tidak compatible dengan

model relasional (optional).

Bertujuan untuk menghasilkan model yang

kompatibel dengan model relasional. Yaitu dengan :

30

i. Menghilangkan many-to-many (*:*) binary relationship

types

ii. Menghilangkan many-to-many(*:*) recursive relationship

types

iii. Menghilangkan complex relationship types

iv. Menghilangkan multi-valued attributes

b. Memperoleh relasi untuk local logical data model

Bertujuan untuk membuat hubungan logical model

yang mewakili entity, relationship dan attribute yang telah

didefinisi. Mendeskripsikan komposisi tiap hubungan

memakai Database Definition Language (DBDL) untuk

relasi yang diikuti dengan daftar dari relasi attribute yang

mudah lalu mengidentifikasikan primary key dan foreign key

dari suatu relasi. Untuk memperoleh relasi untuk local data

model, maka diperluka penjelasan untuk mendeskripsikan

struktur yang mungkin dalam data model saat ini.

c. Memvalidasi relasi dengan menggunakan normalisasi

Dengan menggunakan normalisasi, maka model yang

dihasilkan mendekati model dari kebutuhan perusahaan,

konsisten dan memiliki sedikit redundansi dan stabilitas yang

maksimum.

d. Memvalidasi relasi dengan transaksi pengguna

Bertujuan untuk menjamin bahwa relasi dalam model

logikal tersebut mendukung spesifikasi kebutuhan

31

pengguna secara detail. Selain itu juga untuk meyakinkan

bahwa tidak ada kesalahan yang muncul sewaktu membuat

suatu relasi.

e. Memeriksa kendala-kendala integritas (Check Integrity

Constraints)

untuk memeriksa kendala-kendala integritas

dinyatakan dalam model data logis (logical data model).

Terdapat lima tipe integrity constraints yang harus

diperhatikan, yaitu :

i. Required data

Beberapa atribut harus selalu berisi nilai yang benar

(valid), tidak dapat bernilai null. Constraint ini harus

diidentifikasikan pada saat pemilihan atribut domain

untuk data model.

ii. Attribute domain constraints

Setiap atribut memiliki domain, yaitu himpunan nilai

yang dibolehkan. Constraint ini harus diidentifikasikan

pada saat pemilihan atribut domain untuk data model.

iii. Entity integrity

Primary key dari sebuah entity tidak boleh bernilai null.

Constraint ini harus dipertimbangkan pada saat

penentuan primary key bagi setiap tipe entity.

iv. Referential integrity

32

Jika suatu foreign key memiliki nilai, maka nilai tersebut

harus menunjuk ke sebuah baris yang ada pada relasi

‘parent’.

v. Enterprise constraints

Kegiatan update entity dibatasi oleh peraturan atau

kebijakan organisasi yang mengatur transaksi yang

diwakilkan oleh update yang dilakukan.

f. Melihat kembali local logical data model dengan

pengguna

Bertujuan untuk menjamin local logical data model

dan mendukung dokumentasi yang menggambarkan model

yang sudah benar.

g. Menggabungkan local logical data model menjadi

global model

Pada langkah ini, setiap local logical data model

menghasilkan ER diagram, skema relasional, kamus data dan

dokumen pendukung yang mendeskripsikan constraints

dari model. Beberapa tugas yang harus dikerjakan adalah

sebagai berikut :

i. Memeriksa lembali nama dan isi dari entities dari

relationship dan candidate key.

33

ii. Memeriksa kembali nama dan isi dari relationships atau

foreign keys.

iii. Menggabungkan entities atau hubungan dari local data

model.

iv. Mengikutsertakan (tanpa menggabungkan) entities atau

relationships yang unik pada tiap local data model.

v. Menggabungkan relationships atau foreign key dari local

data model.

vi. Mengikutsertakan (tanpa menggabungkan) relationships

atau foreign key unik pada tiap local data model.

vii. Memeriksa untuk entities (hubungan) dan relationships

atau foreign key.

viii. Memeriksa integrity constraints.

ix. Menggambarkan ER diagram.

x. Melakukan update dokumen.

h. Mengecek pertumbuhan yang akan datang

Bertujuan untuk menentukan apakah ada perubahan

yang signifikan seperti keadaan yang tidak terduga dimasa

mendatang dan menilai apakah model logikal tersebut

dapat menampung atau menyesuaikan perubahan yang

terjadi.

2.1.8.3 Perancangan Basis Data Fisikal (Physical Database Design)

34

Suatu proses yang menghasilkan deskripsi implementasi basis

data pada pemyimpanan sekunder. Itu menggambarkan hubungan

dasar, organisasi file, dan indeks yang digunakan untuk arsip akses

yang efisien terhadap data, dan setiap kendala terkait integritas dan

keamanan diukur. Dapat dikatakan juga desain fisikal merupakan

cara pembuatan menuju sistem DBMS tertentu. Tugas-tugas yang

dilakukan dalam langkah ini antara lain :

3. Menerjemahkan model data logikal untuk DBMS yang

ditargetkan. Langkah- langkahnya sebagai berikut :

a. Merancang basis relasional

Dalam memulai merancang physical design,

diperlukan untuk mengumpulkan dan memahami informasi

tentang relasi yang dihasilkan dari logical database design.

Informasi yang penting bisa didapatkan dari kamus data dan

DBDL (Database Design Language).

b. Merancang representasi dari data yang diperoleh

Bertujuan untuk menentukan bagaimana setiap data

yang diperoleh mewakili global logical data model ke dalam

DBMS.

c. Merancang enterprise constraints

bertujuan untuk merancang batasan-batasan umum

yang ada pada perusahaan.

4. Merancang organisasi file dan index

a. Menganalisis transaksi

35

Bertujuan untuk mengerti fungsi dari transaksi yang

dijalankan pada basis data dan menganalisis transaksi yang

penting. Kriteria kemampuan yang harus diidentifikasikan

dalam menganalisis transaksi adalah :

i. Transaksi dapat berjalan secara sering dan akan

mempunyai dampak yang signifikan pada performa.

ii. Transaksi yang kritis pada operasi dan bisnis.

iii. Waktu selama sehari atau seminggu ketika akan ada

permintaan yang tinggi pada saat basis data dibuat.

b. Memilih file organisasi

Untuk menentukan organisasi file yang efisien untuk

setiap hubungan dasar.

c. Memilih indeks

Bertujuan untuk meningkatkan performa dalam suatu

sistem basis data. Salah satu pendekatan untuk memilih

organisasi file yang cocok untuk relasi adalah untuk

menyimpan tuples yang tidak disimpan dan dibuat

sebanyak secondary Indexes sebagaimana diperlukan. Oleh

karena itu, atribut yang digunakan adalah:

i. Atribut yang sering digunakan untuk joint operations

untuk membuat lebih efisien.

ii. Atribut yang sering dipesan untuk mengakses tuples pada

suatu relasi didalam urutan yang menunjukkan atribut.

Terdapat tiga jenis index yaitu :

36

i. Primary Index

Pengindeksan dilakukan pada kolom kunci (key

field), yang diurutkan terlebih dahulu secara sekuensial.

ii. Clustering Index

Pengindeksan dilakukan pada kolom bukan kunci

(non-key field), yang diurutkan terlebih dahulu secara

sekuensial (Connolly dan Begg, 2010, p535).

iii. Secondary Index

Pengindeksan yang dilakukan pada kolom

yang tidak terurut di dalam file data (Connolly dan Begg,

2010, p536).

d. Memperkirakan kebutuhan ruang penyimpanan

Bertujuan untuk memperkirakan jumlah ruang

penyimpanan yang akan diperlukan dalam basis data.

Perkiraannya didasari pada ukuran setiap tabel dalam suatu

relasi. Contohnya dalam lima tahun mendatang berapa

kapasitas hard disk yang dibutuhkan untuk menampung data.

5. Merancang User Views

Bertujuan buntuk merancang pandangan pengguna yang

telah diidentifikasi selama mengumpulkan kebutuhan dan

menganalisis langkah dari relasional Database System

Development Lifecycle.

6. Merancang keamanan

37

Untuk mendesain sebuah mekanisme security untuk basis

data (database) seperti yang di spesifikasikan oleh user pada

tahapan requirement dan collection dari Database System

Development Lifecycle. Perancang database harus menyadari

fasilitas yang ditawarkan oleh DBMS target. DBMSs relasional

umumnya memberikan dua jenis keamanan database :

a. Sistem Keamanan (System Security), mencakup akses dan

penggunaan database di tingkat sistem, seperti user name

dan password.

b. Keamanan Data (Data security), mencakup akses dan

penggunaan objek database (seperti hubungan dan

pandangan) dan tindakan yang dapat dimiliki user pada object

tersebut.

7. Mempertimbangkan pengenalan atasredundansi kontrol

Pada langkah physical database design ini

mempertimbangkan denormalisasi skema relational untuk

meningkatkan performa. Hasil dari normalisasi adalah

perancangan basis data logikal secara struktural, konsisten, dan

menekan jumlah redudansi. Faktor yang perlu dipertimbangkan

adalah :

a. Denormalisasi membuat implementasi lebih kompleks.

b. Denormalisasi selalu mengorbankan fleksibilitas.

c. Denormalisasi akan membuat cepat dalam retrieve data tetapi

lambat dalam meng-update.

38

Ukuran performa dari suatu perancangan basis data dapat

dilihat dari sudut pandang tertentu yaitu melalui pendekatan

efisiensi data(normalisasi) atau pendekatan efisiensi proses

(denormalisasi). Efisiensi data dimaksudkan untuk meminimalkan

kapasitas disk, dan efisiensi proses dimaksudkan untuk

mempercepat proses saat retrieve data daribasis data.

8. Memonitor dan memasang sistemoperasi

Bertujuan untuk memonitor sistem operasi, meningkatkan

performa dan menentukan perancangan sistem yang tepat atau

menggambarkan perubahan kebutuhan.

2.2 Teori Khusus

2.2.1 Proses Bisnis Perusahaan

Proses bisnis merupakan proses yang memberikan pandangan dari

struktur organisasi relatif terhadap suatu proyek tertentu.

2.2.1.1 Penjualan

Proses penjualan dalam perusahaan sangat menentukan

keberhasilan perusahaan tersebut. Kegiatan penjualan meliputi

pengorderan barang kepada customer hingga penerimaan

pembayaran dari customer. Setiap penjualan barang dikerjakan oleh

beberapa orang dalam perusahaan mulai dari sales, gudang, teknisi.

Penjualan barang dapat dipesan langsung oleh customer dan akan

langsung dilayani oleh sales-sales perusahaan.

39

2.2.1.2 Pembelian

Proses pembelian merupakan proses pendukung kegiatan

penjualan, dimana terjadi penambahan barang dan jasa dalam proses

pembelian, sehingga perusahaan memiliki ketersediaan sumber daya

ketika melakukan proses penjualan kepada customer. Semakin kecil

nilai/harga dari sumber daya yang dibeli dan semakin besar kualitas

sumber daya yang dibeli oleh perusahaan maka dapat menekan biaya

produksi sekecil mungkin.

2.2.1.3 Persediaan

Proses persediaan merupakan sejumlah barang yang

disediakan untuk memenuhi permintaan dari pelanggan. Dalam

perusahaan perdagangan pada dasarnya hanya ada satu golongan

inventory (persediaan), yang mempunyai sifat perputaran yang sama

yaitu yang disebut “Merchandise Inventory” (persediaan barang

dagangan). Persediaan ini merupakan persediaan barang yang selalu

dalam perputaran, yang selalu dibeli dan dijual, yang tidak

mengalami proses lebih lanjut didalam perusahaan tersebut yang

mengakibatkan perubahan bentuk dari barang yang bersangkutan.

2.2.2 PHP

Hypertext Preprocessor adalah sebuah bahasa script yang dapat

ditanamkan atau disisipkan ke dalam code HTML. PHP banyak dipakai

dalam pemrograman situs web dinamis. Pada awalnya PHP merupakan

40

singkatan dari Personal Home Page (situs personal). PHP pertama kali dibuat

oleh Rasmus Lerdorf pada tahun 1995. Pada saat itu PHP masih bernama

Form Interpreted (FI), yang wujudnya berupa sekumpulan scrip yang

digunakan untuk mengolah data formulir dari web. Selanjutnya Rasmus

merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI.

Dengan perilisan menjadi sumber terbuka, banyak programmer yang

tertarik untuk ikut mengembangkan PHP. Pada tahun 1997, sebuah

perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih

bersih, lebih baik, dan lebih cepat. Kemudian pada Juni1998, perusahaan

tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut

sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP:

Hypertext Preprocessing.

Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari

interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan

model pemrograman berorientasi objek ke dalam PHP untuk menjawab

perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.

PHP sebagai suatu bahasa scripting open source yang tersedia untuk

sejumlah platform biasanya dihubungkan dengan MySQL atau Postgre SQL,

karena kombinasi dari database yang tersedia (untuk Unix) dan bahasa

scripting yang gratis mampu memberikan sebuah paket lengkap guna

membangun aplikasi web database (Eaglestone, 2001, p 363).

Beberapa kelebihan PHP, yaitu:

1. Bahasa pemrograman PHP adalah sebuah bahasa script

yang tidak melakukan sebuah kompilasi dalam penggunaannya.

41

2. Web Server yang mendukung PHP dapat ditemukan di

mana-mana dari mulai Apache, IIS, Lighttpd, hingga Xitami

dengan konfigurasi yang relatif mudah.

3. Dalam sisi pengembangan lebih mudah, karena banyaknya

milis-milis dan developer yang siap membantu dalam

pengembangan.

4. Dalam sisi pemahaman, PHP adalah bahasa scripting yang

paling mudah karena memiliki referensi yang banyak.

5. PHP adalah bahasa open source yang dapat digunakan

diberbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat

dijalankan secara runtime melalui console serta juga dapat

menjalankan perintah-perintah sistem.

2.2.3 HTML/XHTML (Hypertext/Extensible Markup Language)

XHTML merupakan penerus dari HTML. XHTMLmerupakan

sebuah rekomendasi yang terpisah dari HTML.W3C tetap

merekomendasikan untuk tetap menggunakan XHTML 1.0, XHTML 1.1,

dan HTML 4.01 untuk digunakan dalam web publishing. Perlunya

reformulasi HTML menjadi XHTML disebabkan karena W3C merasa adanya

kebutuhan agar sebuah konten World Wide Web dapat diakses dari

perangkat mobile selain komputer-komputer tradisional karena

kompleksitas sintaks dari HTML yang memerlukan sumber daya dan waktu

yang cukup banyak.

42

2.2.4 CSS (Cascading Stylesheet)

CSS atau Cascading Stylesheet adalah sebuah bahasa stylesheet

berbentuk markup language yang digunakan untuk mendeskripsikan sebuah

representasi tampilan untuk sebuah dokumen. CSS biasanya digunakan untuk

menghias halaman web dalam bentuk HTML atau XHTML.

2.2.5 Java Script

Java Script adalah bahasa yang digunakan untuk membuat program

yang digunakan agar dokumen HTML yang ditampilkan dalam browser

menjadi lebih interaktif, tidak sekedar indah saja. Java Script memberikan

beberapa fungsionalitas ke dalam halaman web, sehingga dapat menjadi

sebuah program yang disajikan dengan menggunakan antarmuka web.

Umumnya program Java Script adalah program yang ditanamkan

(disisipkan) ke dalam halaman web, sehingga halaman (dokumen) web

menjadi sebuah aplikasi yang berjalan di dalam browser web. Beberapa

sistem operasi menggunakan Java Script untuk membuat aplikasi non-web,

seperti sistem operasi MS Windows, yang menggunakan istilah Windows

Scripting Host (WSH) sebagai interpreter Java Script dan VB Script,

sehingga program yang dibuat dengan Java Script dan VB Script dapat

langsung dijalankan di atas sistem operasi, tanpa harus menggunakan

browser web terlebih dahulu.

2.2.6 MySQL

43

MySQL adalah sebuah server database open source yang terkenal

yang digunakan berbagai aplikasi terutama untuk server atau membuat WEB.

MyAQL berfungsi sebagai SQL (Structured Query Language) yang dimiliki

sendiri dan sudah diperluas oleh MySQL umumnya digunakan bersamaan

dengan PHP untuk membuat aplikasi server yang dinamis dan powerfull.

2.2.7 Apache

Server HTTP Apache atau Server Web/WWW Apache adalah server

web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux,

Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna

untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk

melayani fasilitas web/www ini mengunakan HTTP.

Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang

dapat dikonfigurasi, autentikasi berbasis basis data dan lain-lain. Apache juga

didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang

memungkinkan penanganan server menjadi mudah.

Apache merupakan perangkat lunak sumber terbuka dikembangkan

oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah

naungan Apache Software Foundation.