BAB 2 LANDASAN TEORI 2.1 Teori Umum - …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00154-IF...
Transcript of BAB 2 LANDASAN TEORI 2.1 Teori Umum - …library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00154-IF...
5
BAB 2
LANDASAN TEORI
2.1 Teori Umum
Teori umum akan menjelaskan teori-teori yang berhubungan dengan database,
seperti : data, database, entity, database management system (DBMS), normalisasi, dan
sebagainya.
2.1.1 Data
Menurut Atzeni, et.al (2003, p2), data adalah informasi mentah yang terekam
yang dapat menyediakan informasi-informasi lainnya. Dikatakan juga, sebuah data yang
berupa informasi mentah bisa sangat tidak berarti, namun menjadi berarti jika data-data
itu digabungkan.
Menurut Connoly & Begg (2005, p20), data adalah jembatan yang
menghubungkan antara komponen manusia dengan komponen mesin.
2.1.2 Database
Menurut Connolly & Begg (2005, p15), database adalah kumpulan data logical
yang saling berhubungan dan deskripsi dari data, didesain untuk memenuhi kebutuhan
informasi sebuah organisasi.
Menurut Roman (2002, p11), database adalah kumpulan data yang persisten.
Syarat data yang persisten adalah sesuatu yang kurang jelas, tetapi dirancang untuk
menyiratkan data lebih atau kurang bebas keberadaannya atau semi permanen.
6
Database adalah sebuah tempat penyimpanan data yang bisa digunakan oleh
banyak departemen dan pengguna. Database mengintegrasikan data-data dan
meminimalkan jumlah duplikasi data. Sebuah database tidak hanya mengandung data
operasional organisasi melainkan juga deskripsi dari data tersebut. Database juga
merepresentasikan entitas-entitas, atribut-atribut, dan relasi logis antara entitas yang
satu dengan entitas yang lainnya. Secara singkat database dapat didefinisikan sebagai
koleksi bersama dari data-data yang berelasi secara logis, dan sebuah deskripsi dari data
tersebut yang dirancang untuk memenuhi kebutuhan informasi sebuah organisasi.
2.1.3 Bahasa-Bahasa dalam Database
Sebuah sub-bahasa data terdiri dari 2 bagian yaitu: Data Definition
Language(DDL) dan Data Manipulation Language(DML).
- Data Definition Language (DDL)
Data Definition Language adalah sebuah bahasa yang
mengizinkan Database Administrator atau pengguna untuk
menjelaskan dan memberi nama ke entitas-entitas, atribut-atribut, dan
relasi yang diperlukan untuk aplikasi, bersama pula dengan kendala
keamanan dan integritas yang berhubungan.
- Data Manipulation Language (DML)
Data Manipulation Language (DML) adalah sebuah bahasa yang
menyediakan operasi-operasi untuk mendukung operasi
7
pemanipulasian data pada data yang berada di database diantaranya
adalah:
- Melakukan penambahan data baru ke database
- Melakukan perbaharuan terhadap data yang disimpan
pada database
- Mengambil kembali data yang berada pada database
- Menghapus data dari database
Terdapat dua tipe DML yaitu: procedural dan non-
procedural. Secara garis besar perbedaan diantara dua tipe Data
Manipulation Language tersebut adalah, DML procedural
menspesifikasikan bagaimana hasil dari sebuah pernyataan DML
diperoleh, sedangkan DML non-procedural hanya menjelaskan
apa hasil yang akan diperoleh.
2.1.4 Relational Data Model
Sebuah Relational Data Model terdiri dari beberapa elemen diantaranya yaitu:
Relational Data Structure dan Relational Keys
2.1.4.1 Relational Data Structure
Suatu Relational Data Model terdiri dari relasi, atribut, domain, tuple, degree,
dan kardinalitas.
8
2.1.4.1.1 Relasi
Menurut Connolly & Begg (2005, p346), Relasi adalah suatu hubungan antar
satu atau lebih tipe entitas.
Gambar 2.1 Relasi Pada Tabel Branch
Didalam suatu relationship terdapat batasan-batasan yang kita sebut dengan
multiplicity. Multiplicity adalah nilai atau jangkauan nilai dari suatu kejadian tipe entitas
yang mungkin berhubungan dengan kejadian tipe entitas lain melalui hubungan yang
bersangkutan. Jenis batasan multiplicity terdiri dari:
• One-to-one(1 : 1) relationship
• One-to-many(1 : *) relationship
• Many-to-many(* : *) relationship
2.1.4.1.2 Atribut
Atribut adalah nama dari sebuah kolom pada suatu relasi. Pada relational model,
relasi digunakan untuk menampung informasi mengenai obyek yang akan
direpresentasikan di database. Sebuah relasi di representasikan dalam bentuk tabel dua
9
dimensi, dimana baris dari tabel tersebut berkorespondensi dengan record masing-
masing dan kolom dari tabel tersebut berkorespondensi ke atribut.
Gambar 2.2 Atribut Pada Tabel Branch
Macam-macam atribut:
1. Simple Attribute yaitu atribut yang terdiri dari suatu komponen tunggal
dengan keberadaan yang independent dan tidak dapat dibagi menjadi lebih
kecil lagi. Dikenal juga dengan nama atomic attribute.
2. Composite attribute yaitu atribut yang terdiri dari beberapa komponen,
dimana masing-masing komponen memiliki keberadaan yang independen.
Misalkan atribut address dapat terdiri dari street, city, postcode.
3. Single-Valued Attribute, yaitu atribut yang mempunyai nilai tunggal untuk
setiap kejadian. Misalnya entitas Branch memiliki satu nilai untuk atribut
BranchNo pada setia kejadian.
4. Multi-valued attribute, yaitu atribut yang mempunyai beberapa nilai utnuk
setiap kejadian. Misal 1 karyawan memiliki lebih dari 1 notelp.
5. Derived-attribute yaitu atribut yang memiliki nilai yang dihasilkan dari satu
atau beberapa atribut2 lainnya, dan tidak harus berasal dari satu entitas.
10
2.1.4.1.3 Domain
Domain adalah sebuah set dari nilai yang diperbolehkan untuk satu atau lebih
atribut. Setiap atribut dalam sebuah relasi didefinisikan pada oleh sebuah domain.
Domain bisa saja berbeda untuk setiap atribut, atau 2 atau lebih atribut boleh
didefinisikan dalam domain yang sama. Konsep untuk domain digolongkan sebagai
penting dikarenakan mengizinkan pengguna untuk mendefinisikan di suatu tempat yang
tersentralisasi mengenai nilai dan sumber dari nilai yang atribut-atribut bisa pegang.
Sebagai hasilnya, lebih banyak informasi yang tersedia pada saat sistem melakukan
operasi relasional, dan operasi yang secara semantik tidak benar bisa dihindari.
Gambar 2.3 Domain Pada Tabel Branch
2.1.4.1.4 Tuple
Tuple adalah sebuah baris dalam suatu tabel relasi.
Gambar 2.4 Tuple Pada Tabel Branch
11
2.1.4.1.5 Derajat
Derajat dari sebuah relasi adalah jumlah atribut-atribut dalam suatu tabel. Pada
gambar 2.5 memiliki derajat empat.
Gambar 2.5 Derajat Pada Tabel Branch
2.1.4.1.6 Kardinalitas
Kardinalitas dari sebuah relasi adalah jumlah tuple-tuple dalam suatu tabel. Pada
gambar 2.6 berkardinalitas lima.
Gambar 2.6 Kardinalitas Pada Tabel Branch
2.1.4.2 Relational Keys
Dalam sebuah relasi tidak terdapat duplikat dari sebuah tuple, maka dengan itu
dibutuhkan sebuah key untuk mengidentifikasi secara unik setiap tuple dalam sebuah
relasi. Key-key tersebut diantaranya adalah superkey, candidate key, composite key,
primary key, alternate key, dan foreign key.
12
2.1.4.2.a Super Key
Sebuah superkey mengidentifikasi secara unik setiap tuple dalam sebuah relasi.
Meski begitu, sebuah superkey bisa mengandung atribut-atribut tambahan yang tidak
dibutuhkan untuk mengidentifikasi secara unik.
2.1.4.2.b Candidate Key
Candidate Key adalah key yang bisa terpilih untuk menjadi primary key.
Sebuah candidate key memiliki dua ciri-ciri yaitu:
- Keunikan yaitu di setiap tuple R, nilai dari K secara unik mengidentifikasi
tuple tersebut.
- Tidak bisa di reduksikan yaitu tidak ada subset yang tepat dari K mempunyai
ciri-ciri keunikan.
2.1.4.2.c Composite Key
Composite key adalah candidate key yang terdiri dari dua atribut atau lebih.
2.1.4.2.d Primary Key
Primary key adalah atribut unik yang mengidentifikasi setiap row dalam table
atau candidate key yang terpilih untuk mengidentifikasi secara unik suatu entitas.
13
Gambar 2.7 Primary Key Pada Tabel Branch
2.1.4.2.e Alternate Key
Alternate key adalah candidate key yang tidak dipilih untuk menjadi primary
key.
2.1.4.2.f Foreign Key
Foreign key adalah sebuah atribut atau set dari atribut, yang berada dalam suatu
relasi yang serasi dengan candidate key dari relasi yang lain. Atribut sebuah tabel yang
menggabungkan diri ke tabel lain.
Gambar 2.8 Foreign Key Pada Tabel Branch
14
2.1.5 Database Management System (DBMS)
Menurut Connolly & Begg (2005, p16), DBMS adalah sebuah piranti lunak yang
memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengontrol
akses ke database.
Secara khusus, sebuah DBMS menyediakan fasilitas sebagai berikut:
- Mengizinkan pengguna untuk mendefinisikan diatabase melalui Data Definition
Language (DDL).
- Mengizinkan pengguna untuk melakukan penambahan, memperbaharui,
menghapus, dan mengambil kembali data dari database melalui Data
Manipulation Language(DML).
- Menyediakan akses yang terkontrol ke database
Secara singkat DBMS dapat didefinisikan sebagai sebuah perangkat lunak yang
mengizinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol
akses ke database.
2.1.5.1 Fungsi-fungsi pada Database Management System(DBMS)
Sebuah DBMS diharuskan memiliki fungsi-fungsi sebagai berikut:
- Sebuah DBMS harus menyediakan pengguna dengan kemampuan untuk
menyimpan, mengambil kembali data, dan memperbaharui data pada database.
- Sebuah DBMS harus menyediakan sebuah katalog dimana deskripsi-deskripsi
dari data-data disimpan dan bisa diakses oleh pengguna.
15
- Sebuah DBMS harus menyediakan sebuah mekanisme dimana perbaharuan yang
dilakukan oleh sebuah transaksi harus dilakukan sampai selesai atau transaksi
tersebut tidak dilakukan sama sekali, yang berarti jikalau terjadi kegagalan pada
suatu transaksi sebelum transaksi tersebut benar-benar berakhir, maka kondisi
database akan dikembalikan ke sebelum transaksi tersebut dilakukan.
- Sebuah DBMS harus menyediakan sebuah mekanisme untuk menjamin bahwa
database diperbaharui dengan benar pada saat banyak pengguna memperbaharui
suatu database secara bersamaan.
- Sebuah DBMS harus menyediakan sebuah mekanisme untuk memulihkan
database pada saat database rusak oleh sesuatu.
- Sebuah DBMS harus menyediakan sebuah mekanisme untuk menjamin bahwa
hanya orang yang terotorisasi yang dapat melakukan akses ke database.
- Sebuah DBMS harus bisa melakukan integrasi dengan perangkat lunak
komunikasi.
Sebuah DBMS harus menyediakan sebuah cara untuk menjamin bahwa data
yang berada dalam database dan perubahan yang dilakukan terhadap data dalam
database mengikuti peraturan-peraturan tertentu untuk menjamin integritas dari
data yang disimpan pada database.
16
2.1.5.2 Komponen –komponen dalam Database Management System
Gambar 2.9 Komponen-Komponen dalam DBMS
Sebuah DBMS dibagi-bagi ke dalam beberapa komponen-komponen perangkat
lunak atau modul, dimana setiap modul melakukan operasi-operasi tertentu. Berikut
adalah komponen-komponen tersebut:
- Query Processor yang berfungsi untuk mengubah query-query menjadi sebuah
rentetan dari instruksi tingkat rendah yang ditujukan kepada Database Manager.
- Database Manager yang menerima query-query dan memeriksa skema eksternal
dan konseptual untuk menentukan catatan-catatan konseptual yang diperlukan
17
untuk memenuhi permintaan. Kemudian Database Manager memberikan
perintah kepada File Manager untuk melaksanakan permintaan tersebut.
- File Manager yang berfungsi untuk memanipulasi penyimpanan data dan
mengatur alokasi dari tempat penyimpanan pada disk.
- DML preprocessor yang berfungsi untuk melakukan konversi pernyataan-
pernyataan DML.
- DDL compiler yang berfungsi untuk melakukan konversi dari pernyataan-
pernyataan DDL.
- Catalog Manager yang berfungsi untuk mengatur akses ke katalog dan
memelihara katalog sistem.
2.1.5.3 Komponen – komponen dalam Lingkungan Database Management System.
Gambar 2.10 Lingkungan dalam DBMS
2.1.5.3.1 Perangkat Keras ( Hardware )
DBMS membutuhkan perangkat keras untuk berjalan. Perangkat keras tersebut
dapat berkisar dari sebuah komputer pribadi, hingga ke sebuah mainframe, hingga ke
jaringan dari komputer-komputer. Perangkat keras yang digunakan bergantung pada
kebutuhan dari organisasi dan DBMS yang digunakan. Beberapa DBMS hanya berjalan
pada perangkat keras atau sistem operasi tertentu sedangkan DBMS-DBMS yang lainnya
18
dapat berjalan pada bermacam-macam perangkat keras dan bermacam-macam sistem
operasi.
2.1.5.3.2 Perangkat Lunak ( Software )
Komponen perangkat lunak dalam lingkungan DBMS termasuk perangkat lunak
DBMS itu sendiri beserta program-program aplikasinya, serta sistem operasi, dan
termasuk juga perangkat lunak jaringan jikalau DBMS tersebut digunakan oleh sebuah
jaringan.
2.1.5.3.3 Data dalam DBMS
Data merupakan sebuah komponen dalam lingkungan DBMS, data merupakan
sebuah jembatan antara komponen-komponen mesin dan komponen-komponen
manusia.
2.1.5.3.4 Prosedur-Prosedur
Prosedur-prosedur mengacu pada instruksi-instruksi dan peraturan-peraturan
yang mengendalikan rancangan dan pengunaan dari database.
2.1.5.3.5 Orang
Orang-orang yang terlibat dengan sistem seperti pemilik sistem, stakeholder,
database administrator, dan sebagainya.
19
2.1.6 Arsitektur File-Server untuk DBMS
Pada arsitektur ini, pemrosesan dibagikan ke jaringan. file-server menyimpan
file-file yang dibutuhkan oleh aplikasi-aplikasi dan DBMS. Tetapi, aplikasi-aplikasi dan
DBMS berjalan pada masing-masing workstation, meminta file-file dari file-server jika
dibutuhkan.
2.1.6.1 Arsitektur Two-Tier Client-Server
Gambar 2.11 Arsitektur Two Tier Client Server
Aliran data yang berjalan arsitektur Two Tier Client Server adalah sebagai
berikut: Pertama-tama client menerima permintaan dari pengguna, mengecek sintaks-
sintaks dan menghasilkan permintaan database dengan bahasa yang sesuai dengan
application logic. Setelah itu mentransmisikan perintah tersebut ke server. Server
menerima dan memproses permintaan, lalu mentransmisikan hasilnya ke client. Lalu
client mengatur respon yang diberikan oleh server sesuai dengan format untuk
pengguna.
20
2.1.6.2 Arsitektur Three-Tier Client-Server
Gambar 2.12 Arsitektur Three Tier Client Server
Aliran data yang berjalan arsitektur Three Tier Client Server adalah sebagai
berikut: Pertama-tama client menerima permintaan dari pengguna, lalu mengirimkan
permintaan tersebut kepada Application Server yang akan mengecek sintaks-sintaks dan
menghasilkan permintaan database dengan bahasa yang sesuai dengan application
logic. Setelah itu mentransmisikan perintah tersebut ke server. Server menerima dan
memproses permintaan, lalu mentransmisikan hasilnya ke application server dan
kemudian ke client. Lalu client mengatur respon yang diberikan oleh server sesuai
dengan format untuk pengguna.
21
2.1.7 Database Lifecycle
Untuk merancang aplikasi sistem database diperlukan tahapan terstruktur yang
harus diikuti yang dinamakan dengan siklus hidup aplikasi database (database
Lifecycle) atau yang disingkat dengan DBLC. Perlu diingat bahwa tahapan dalam
DBLC tidak harus berurutan, namun juga melibatkan beberapa pengulangan ke tahapan
sebelumnya melalui putaran balik (feedback loop).
22
Gambar 2.13 Database Lifecycle
Requirements collection and analysis
System definition
Database Planning
Conceptual database design
Logical database design
Physical database design
Implementation
Data conversion and loading
Testing
Operational Maintenance
Prototyping (optional)
DBMS selection (optional)
Application design
Database Design
23
2.1.7.1 Database Planning
Menurut Connolly & Begg (2005, p285) Database Planning adalah kegiatan
manajemen atau pengendalian yang memungkinkan tahapan dalam aplikasi database
untuk direalisasikan seefisien dan seefektif mungkin.
Sebuah langkah penting dalam database planning adalah secara jelas
mendefinisikan pernyataan misi dari sistem database. Pernyataan misi ini
mendefinisikan apa tujuan-tujuan dari sistem database. Sebuah pernyataan misi
membantu untuk mengklarifikasikan maksud dari sistem database dan menyediakan
sebuah jalan yang jelas untuk penggunaan yang efisien dan efektif dari sistem database
yang dibutuhkan. Setelah pernyataan misi didefinisikan, baru selanjutnya adalah misi
tujiuan. Setiap misi tujuan harus mengidentikasi setiap tugas yang sistem database akan
dukung.
2.1.7.2 System Definition
Menurut Connolly & Begg (2005, p286) System Definition mendeskripsikan
ruang lingkup dan batasan dari aplikasi database dan sudut pandang pengguna yang
utama.
2.1.7.3 Requirement Collection and Analysis
Menurut Connolly & Begg (2005, p288) Requirement collection and Analysis
adalah proses mengumpulkan dan menganalisis informasi mengenai bagian dari
perusahaan yang akan didukung oleh aplikasi database, serta menggunakan informasi
24
tersebut untuk mengidentifikasi kebutuhan-kebutuhan pengguna untuk sistem yang
baru.
2.1.7.4 Database Design
Menurut Connolly & Begg (2005, p291) Database Design adalah proses
membuat rancangan database yang akan mendukung kegiatan dan tujuan perusahaan.
2.1.7.4.1 Conceptual Database Design
Conceptual database design adalah sebuah proses meng-konstruksi sebuah
model dari data yang digunakan dalam organisasi, independen dari semua
pertimbangan-pertimbangan fisikal.
2.1.7.4.2 Logical Database Design
Logical database design adalah sebuah proses meng-konstruksi sebuah model
dari data yang digunakan dalam organisasi berdasarlan model data yang spesifik, tetapi
independen dari DBMS tertentu dan pertimbangan-pertimbangan fisikal yang lain.
2.1.7.4.3 Physical Database Design
Physical database design adalah sebuah proses memproduksi deskripsi-deskripsi
dari implementasi dari database pada tempat penyimpanan sekunder; physical database
design menjelaskan mengenai basis relasi, organisasi file, dan indeks-indeks yang
25
digunakan untuk mencapai akses yang efisien ke data, dan kendala integritas yang
berhubungan serta langkah langkah keamanan.
2.1.7.5 DBMS Selection
Menurut Connolly & Begg (2005, p295) pada tahap ini melakukan pemilihan
database yang tepat untuk mendukung aplikasi database. Tahap-tahap utama dalam
pemilihan DBMS adalah:
- Mendefinisikan syarat-syarat dari yang dibutuhkan ada pada DBMS
- Membuat catatan pendek mengenai dua atau tiga produk.
- Mengevaluasi produk-produk.
- Merekomendasikan pilihan dan membuat laporan.
2.1.7.6 Apllication Design
Menurut Connolly & Begg (2005, p299) pada tahap ini melakukan perancangan
antar muka pemakai dan program aplikasi yang menggunakan dan memproses
database.
2.1.7.7 Prototyping
Menurut Connolly & Begg (2005, p303) pada tahap ini membangun suatu model
kerja dari sistem database. Tujuan dari prototyping adalah untuk mengizinkan
pengguna untuk mengindentifikasi fitur-fitur sistem yang berjalan dengan baik, atau
26
tidak cukup, dan menyarankan perbaikan-perbaikan atau menyarankan fitur-fitur baru
ke sistem database yang dibuat.
2.1.7.8 Implementation
Menurut Connolly & Begg (2005, p304) Implementation adalah realisasi fisik
dari database dan desain aplikasi.
2.1.7.9 Data Conversion and Loading
Menurut Connolly & Begg (2005, p305) Data conversion dan loading adalah
pemindahan data yang ada kedalam database yang baru dan mengkonversikan aplikasi
yang ada agar dapat digunakan pada database yang baru. Tahap ini hanya dibutuhkan
jika sistem database yang baru akan mengganti sistem yang lama.
2.1.7.10 Testing
Menurut Connolly & Begg (2005, p305) Testing adalah suatu proses eksekusi
program aplikasi dengan tujuan untuk menemukan kesalahan.
2.1.7.11 Operational Maintenance
Menurut Connolly & Begg (2005, p306) Operational Maintenance adalah suatu
proses pengawasan dan pemeliharaan sistem database setelan instalasi. Pada tahap ini
sistem dipantau performanya, jikalau performa dari sistem turun dibawah level yang
bisa diterima, maka tuning dan organisasi ulang dari database mungkin dibutuhkan.
27
2.1.8 Normalisasi
Normalisasi adalah sebuah teknik untuk mengidentifikasi sebuah set relasi-relasi
dengan properti-properti yang di inginkan sesuai dengan kebutuhan data organisasi. Set
relasi-relasi yang cocok untuk sebuah organisasi adalah:
‐ Jumlah atribut minimal yang dibutuhkan untuk mendukung kebutuhan data dari
perusahaan.
‐ Atribut-atribut yang memiliki ketergantungan fungsional ditemukan dalam
realasi yang sama.
‐ Redudansi yang minimal dengan setiap atribut hanya direpresentasikan sekali
dengan pengecualian yang merupakan atau bagian dari foreign key, yang penting
untuk melakukan joining terhadap relasi yang berhubungan.
2.1.8.1 Proses Normalisasi
Normalisasi biasanya dieksekusi tahap demi tahap,mulai dari 1NF, 2NF, 3NF,
BCNF, 4NF, hingga 5NF.
28
2.1.8.1.1 First Normal Form (1NF)
First Normal Form adalah tahapan pertama dalam normalisasi, First Normal Form
mengubah UNF (Unormalized Form) yang merupakan tabel yang mengandung satu
atau lebih grup pengulangan menjadi bentuk 1NF yaitu sebuah bentuk dimana sebuah
relasi pada setiap perpotongan dari setiap baris dan kolom hanya mengandung satu dan
hanya satu nilai. Terdapat 2 pendekatan untuk menghilangkan grup pengulangan dari
tabel yang belum di normalisasikan atau UNF yaitu:
Gambar 2.14 Client Rental sebelum di normalisasi (UNF)
Gambar 2.14a Client Rental pada 1NF
29
‐ Dengan memasukkan data yang sesuai pada baris yang kosong pada kolom yang
mengandung data berulang. Pendekatan ini dikenal dengan mendatarkan tabel
‐ Dengan menaruh data yang berulang, bersama dengan kopi dari atribut kunci
yang semula, ke relasi yang berbeda.
2.1.8.1.2 Second Normal Form (2NF)
Second Normal Form adalah sebuah relasi yang berada dalam First Normal
Form dan setiap key yang bukan merupakan atribut primary key bergantung penuh
secara fungsional kepada primary key. Second Normal Form diaplikasikan pada relasi
dengan composite key yaitu relasi dengan primary key terdiri dari dua atau lebih atribut.
Sebuah relasi dengan satu atribut primary key secara otomatis sudah berada paling
sedikit pada 2NF. Normalisasi dari relasi 1NF ke 2NF melibatkan penghapusan dari
Gambar 2.15 Client Rental pada 2NF
30
ketergantungan parsial. Jika terdapat sebuah ketergantungan parsial , maka atribut yang
dependen secara parsial dihilangkan dari relasi dengan menaruh nya pada relasi yang
baru bersama dengan copy dari determinant nya.
2.1.8.1.3 Third Normal Form (3NF)
Third Normal Form adalah sebuah relasi yang berada pada First Normal Form
dan Second Normal Form dan dimana tidak terdapat atribut yang bukan merupakan
primary key memiliki ketergantungan transitif pada primary key. Jika terdapat sebuah
ketergantungan transitif, maka atribut yang memiliki ketergantungan transitif tersebut
dihilangkan dari relasi dengan menaruh atribut-atribut pada relasi baru bersama dengan
copy dari determinant nya.
Gambar 2.16 Tabel Client Rental pada 3NF
31
2.1.8.1.4 Boyce-Codd Normal Form (BCNF)
Sebuah relasi berada dalam bentuk BCNF, jika dan hanya jika setiap
determinant merupakan sebuah candidate key.
2.1.8.1.5 Fourth Normal Form (4NF)
Fourth normal form adalah sebuah relasi yang berada dalam bentuk Boyce-Codd
normal form dan tidak mengandung ketergantungan multi-valued non-trivial.
2.1.8.1.6 Fifth Normal Form (5NF)
Fifth normal form adalah sebuah relasi yang tidak mempunyai ketergantungan
join.
2.2 Teori Khusus
Teori khusus ini akan menjelaskan tentang teori-teori pendukung yang
mendukung pembangunan database. Seperti analisis dan perancangan sistem,
penjualan, pembelian, persediaan, DFD, web, php dan MySQL.
2.2.1 Analisa dan Perancangan Sistem
2.2.1.1 Analisa Sistem
Menurut McLeod (2001, p190), analisis sistem adalah penelitian atas sistem
yang telah ada yang bertujuan untuk merancang sistem baru atau diperbaharui.
32
2.2.1.2 Perancangan Sistem
Menurut McLeod (2001, p238), perancangan sistem adalah penentuan proses
dan data yang diperlukan oleh sistem baru, jika sistem itu berbasis komputer,
perancangan dapat menyatakan spesifikasi peralatan yang akan digunakan.
2.2.2 Penjualan
Menurut Mulyadi (2001, p202), kegiatan penjualan terdiri dari transaksi
penjualan barang atau jasa baik secara kredit maupun tunai. Penjualan menurut cara
bayarnya dapat dibedakan sebagai berikut:
1. Penjualan tunai, yaitu penjualan yang dilaksanakan oleh perusahaan dengan cara
mewajibkan pembeli dengan melakukan pembayaran terlebih dahulu sebelum
barang diserahkan kepada pembeli.
2. Penjualan kredit, yaitu penjualan yang dilakukan dengan cara memenuhi order
dari pelanggan dengan mengirimkan barang atau menyerahkan jasa dan untuk
jangka waktu tertentu perusahaan memiliki piutang kepada pelanggannya.
Jaringan prosedur yang membentuk sistem penjualan :
1. Prosedur order penjualan
Fungsi penjualan menerima order dari pembeli dan menambahkan informasi
penting pada surat order dari pembeli, kemudian membuat surat order
pengiriman dan mengirimkannya kepada berbagai fungsi yang lain.
33
2. Prosedur pengiriman
Prosedur pengiriman mengirimkan barang kepada pembeli sesuai dengan
informasi yang tercantum dalam surat order pengiriman yang diterima dari
fungsi pengiriman.
3. Prosedur penagihan
Fungsi penagihan membuat faktur penjualan dan mengirimkannya kepada
pembeli.
4. Prosedur pencatatan piutang
Fungsi akutansi mencatat tembusan faktur penjualan ke dalam kartu piutang.
5. Prosedur distribusi penjualan
Fungsi akutansi mendistribusikan data penjualan menurut informasi yang
diperlukan oleh manajemen.
2.2.3 Persediaan
Menurut Nasution (2003, p103), persediaan adalah sumber daya yang
menganggur yang menunggu proses lebih lanjut. Proses lebih lanjut terserbut berupa
kegiatan produksi pada sistem manufaktur, kegiatan pemasaran pada sistem distribusi
ataupun kegiatan konsumsi pangan pada sistem rumah tangga.
34
Menurut Render & Heizer (2001, p314), ada 6 penggunaan persediaan, yaitu:
1. Untuk memberikan suatu stok barang-barang agar dapat memenuhi
permintaan yang diantisipasi akan timbul dari customer.
2. Untuk memasangkan produksi dengan distribusi.
3. Untuk mengambil keuntungan dari potongan jumlah.
4. Untuk melakukan hedging terhadap inflasi dan perubahan harga.
5. Untuk menghindari dari kekurangan stok yang dapat terjadi karena cuaca,
kekurangan pasokan, masalah mutu, atau pengiriman yang tidak tepat.
6. Untuk menjaga agar operasi dapat berlangsung dengan baik dengan
menggunakan “barang-dalam-proses” dalam persediaannya.
Menurut Horngren (2002, p759), persediaan terdiri dari beberapa jenis, antara lain :
• Persediaan bahan mentah
Persediaan bahan-bahan mentah yang digunakan dalam proses manufaktur.
• Persediaan barang dalam proses
Persediaan barang-barang yang telah melalui beberapa tahap pada proses
manufaktur, tapi masih perlu diolah lagi.
• Persediaan barang jadi
Persediaan barang-barang yang telah selesai diproses dan siap untuk dijual.
35
2.2.3.1 Stok Minimum
Stok minimum adalah sebuah tingkat pada persediaan, ditetapkan dengan tujuan
untuk mengontrol barang, dimana stok barang tersebut tidak boleh jatuh dibawah
jumlah yang telah ditetapkan.
2.2.4 Pembelian
Menurut Mulyadi (2001, p209), pembelian adalah suatu usaha yang digunakan
dalam perusahaan untuk pengadaan barang yang diperlukan oleh perusahaan. Secara
umum definisi pembelian adalah 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, dalam proses pembelian yang
ada, agar kegiatan pembelian dapat dilakukan dengan benar.
2.2.5 Data Flow Diagram (DFD)
Menurut Whitten, et.al (2004, hal 334), “Data Flow Diagram (DFD) is a tool
that depicts the flow of data through a system and the work or processing performed by
that system” , dapat diartikan sebagai DFD adalah sebuah alat yang menggambarkan
aliran data sampai sebuah sistem selesai dan kerja atau proses dan dilakukan dalam
sistem tersebut.
36
2.2.5.1 Empat Komponen DFD
1. External agent
Menurut Whitten, et.al (2004, 363), “External agents define a person, an
organization unit, another system or another organization that lies outside to
scope of the project but that interacts with the system being studied”, dapat
diartikan sebagai external agent mendefinisikan orang, sebuah unit organisasi,
sistem lain atau organisasi lain yang berada di luar sistem projek tetapi yang
mempengaruhi kerja sistem.
2. Process
Menurut Whitten, et.al (2004, 347), proses adalah penyelenggaraan kerja
atau jawaban, datangnya aliran data atau kondisinya.
Menurut Whitten, et.al (2004, 347) ada beberapa bentuk proses diantaranya :
a. Bentuk Gane dan Sarson
b. Bentuk DeMarco/Yourdon
c. Bentuk SSADM/IDEFO
3. Data stores
Data stores adalah tempat penyimpanan data.
Menurut Whitten, et.al (2004, hal 366) ada beberapa bentuk data stores
diantaranya:
37
a. Bentuk Gane dan Sarson
b. Bentuk DeMarco/Yourdon
c. Bentuk SSADM/IDEFO
4. Data flow
Data flow dapat diartikan sebagai merepresentasikan sebuah input ke
dalam sebuah proses atau output dari data (atau informasi) dari sebuah proses.
2.2.5.2 Jenis-jenis DFD
1. Level 0 (Diagram konteks)
Level ini terdapat sebuah proses yang berada di posisi pusat.
2. Level 1 (Diagram Nol)
Level ini merupakan sebuah proses yang terdapat di level nol yang
dipacahkan menjadi beberapa proses lainnya.
3. Level 2 (Diagram Rinci)
Pada level ini merupakan diagram yang merincikan diagram dari level 1.
o Tanda ‘*’ digunakan hanya jika proses tersebut tidak bisa dirincikan lagi.
Contoh : 2.0*, artinya proses level rendah tidak bisa ririncikan lagi.
o Penomoran yang dilakukan berdasarkan urutan proses.
38
2.2.6 Web
Menurut Williams & Sawyer (2004, p6) tentang World Wide Web (www), biasa
disebut dengan web, adalah sistem yang saling berhubungan pada komputer
internet(disebut juga server) yang mana mendukung dokumen dengan format spesial
dalam bentuk multimedia.
2.2.7 PHP dan MySQL
Menurut Rainer, et.al (2003, p168), PHP adalah server-side scripting language
dan didesain spesifik untuk web.
Menurut Welling & Thomson (2001,p3), MySQL adalah relation database
management system (RDBMS). Sebuah database memungkinkan untuk menyimpan
sesuatu secara efisien, dapat dicari, disorting, dan diambil kembali datanya. MySQL
server mengontrol segala akses terhadap data agar banyak user dapat bekerjan dalam
satu waktu dan menyediakan akses yang lebih cepat dan meyakinkan bahwa hanya user
tertentu yang dapat diberikan akses.