BAB 2 LANDASAN TEORI 2.1 Teori-teori Dasar dan Umum 2.1.1...

38
7 BAB 2 LANDASAN TEORI 2.1 Teori-teori Dasar dan Umum 2.1.1 Analisis Menurut Dwi Prastowo Darminto dan Rifka Julianty (2002, p52) kata analisis diartikan sebagai: “Penguraian suatu pokok atas berbagai bagiannya dan penelaahan bagian itu sendiri, serta hubungan antar bagian untuk memperoleh pengertian yang tepat dan pemahaman arti keseluruhan.”, sedangkan menurut Syahrul dan Mohammad Afdi Nizar (2000, p48) yang dimaksud menganalisis adalah: “Melakukan evaluasi terhadap kondisi dari pos-pos atau ayat-ayat yang berkatikan dengan akuntansi dan alasan-alasan yang memungkinkan tentang perbedaan yang muncul.” 2.1.2 Data, Informasi dan Basis Data Menurut Turban et al. (2003, p15), dikemukakan bahwa data adalah fakta atau gambaran dasar benda, kejadian, aktivitas dan transaksi yang ditangkap, dicatat, disimpan dan dikelompokkan, tetapi tidak diatur untuk menyampaikan suatu arti khusus, sedangkan informasi adalah suatu kumpulan fakta (data) yang telah diatur sedemikian rupa sehingga memiliki arti bagi pengguna. Database merupakan kumpulan data yang berelasi secara logika dan didesain untuk mendapatkan informasi yang dibutuhkan oleh

Transcript of BAB 2 LANDASAN TEORI 2.1 Teori-teori Dasar dan Umum 2.1.1...

7

BAB 2

LANDASAN TEORI

2.1 Teori-teori Dasar dan Umum

2.1.1 Analisis

Menurut Dwi Prastowo Darminto dan Rifka Julianty (2002, p52)

kata analisis diartikan sebagai: “Penguraian suatu pokok atas berbagai

bagiannya dan penelaahan bagian itu sendiri, serta hubungan antar bagian

untuk memperoleh pengertian yang tepat dan pemahaman arti

keseluruhan.”, sedangkan menurut Syahrul dan Mohammad Afdi Nizar

(2000, p48) yang dimaksud menganalisis adalah: “Melakukan evaluasi

terhadap kondisi dari pos-pos atau ayat-ayat yang berkatikan dengan

akuntansi dan alasan-alasan yang memungkinkan tentang perbedaan yang

muncul.”

2.1.2 Data, Informasi dan Basis Data

Menurut Turban et al. (2003, p15), dikemukakan bahwa data

adalah fakta atau gambaran dasar benda, kejadian, aktivitas dan transaksi

yang ditangkap, dicatat, disimpan dan dikelompokkan, tetapi tidak diatur

untuk menyampaikan suatu arti khusus, sedangkan informasi adalah suatu

kumpulan fakta (data) yang telah diatur sedemikian rupa sehingga

memiliki arti bagi pengguna.

Database merupakan kumpulan data yang berelasi secara logika

dan didesain untuk mendapatkan informasi yang dibutuhkan oleh

8

organisasi. Ketika menganalisa informasi yang dibutuhkan oleh

perusahaan, harus diidentifikasi entity, atribut, dan relationshipnya

menurut Connolly (2005, p15), sedangkan menurut Gerald V.Post,

database adalah kumpulan data yang tersimpan dalam format yang

standar, didesain untuk dibagikan oleh banyak user dan digunakan untuk

mewakili informasi yang menarik suatu sistem informasi. Sistem

Informasi adalah sebuah sistem yang mengumpulkan, mengolah,

menyimpan, menganalisa, dan menyebarkan informasi untuk sebuah

tujuan tertentu.

Menurut Hoffer, George, dan Jeffrey (1996, p12), database

adalah koleksi dari data yang berhubungan secara logical dan diatur

sedemikian rupa sehingga dapat memfasilitasi penyimpanan (storage)

beserta penarikan data (retrieval) untuk user yang banyak dalam sebuah

organisasi.

2.1.3 Database Management System (DBMS)

Menurut Connolly (2005, p16), DBMS merupakan software

sistem yang memungkinkan user untuk mendefinisi, membuat, menjaga,

dan mengontrol akses ke database. Fasilitas yang disediakan oleh DBMS

adalah :

1. Data Definition Language (DDL), sebuah bahasa yang

memperbolehkan user untuk menspesifikasi tipe data, menamai

entitas, attribute, struktur, dan constraint data untuk disimpan di

database. Beberapa statement DDL:

9

a. Create Table untuk membuat tabel dengan mengidentifikasikan

tipe data tiap kolom.

b. Alter Table untuk membuang atau menambah kolom dan

constraint.

c. Drop Table untuk menghapus table beserta semua data yang terkait

didalamnya.

d. Create Index untuk membuat index pada suatu tabel.

e. Drop Index untuk membuang atau menghapus index yang telah

dibuat sebelumnya.

2. Data Manipulation Language (DML), yang memperbolehkan user

untuk insert, update, delete, dan mengambil data dari database.

Operasi data manipulasi biasanya menyediakan:

a. Insert data baru ke dalam database

b. Modifikasi data store yang disimpan dalam database

c. Pemanggilan data yang ada dalam basis data

d. Penghapusan data dari basis data

3. Akses kontrol ke database yang menyediakan:

a. Sistem keamanan, mencegah user yang tidak memiliki hak akses

database.

b. Sistem integritas, menjaga konsistensi daya yang disimpan.

c. Konkurensi sistem kontrol, memperbolehkan akses ke database.

d. Pemulihan sistem kontrol, menyimpan ulang database.

e. Katalog pengaksesan user, terdiri dari deskripsi data dalam

database.

10

Komponen DBMS :

1. Hardware, berupa PC, mainframe, jaringan-jaringan komputer.

2. Software, yaitu DBMS, berupa C, C++, Java, COBOL, dan lain

lain.

3. Data, berperan sebagai penghubung antara komponen mesin dan

manusia.

4. Prosedur, yaitu instruksi dan aturan pada desain dan kegunaan

database.

5. People, tipe-tipenya :

a. Data Administrator

Data administrator bertanggung jawab pada manajemen

sumber data meliputi perencanaan database, standar

pemeliharaan dan pembangunan, kebijakan dan prosedur,

desain database konseptual atau logikal.

b. Database Administrator

Database administrator bertanggung jawab pada realisasi fisik

dari database, meliputi implementasi dan desain database

fisikal, kontrol keamanan dan integritas, pemeliharaan sistem

operasi.

c. Desainer Database (Logikal dan Fisikal)

d. Pengembang Aplikasi

Pengembang aplikasi bertanggung jawab dalam

mengimplementasi program aplikasi.

11

e. End User ada 2 jenis:

1. Naïve user : user yang tidak perlu tahu segalanya tentang

database atau DBMS.

2. Sophisticated user : user yang familiar dengan struktur

database dan fasilitas yang ditawarkan oleh DBMS.

2.1.4 Siklus Basis Data

Database Planning

Conceptual Database Design

Requirements Collection and Analysis

System Definition

Application Design

Physical Database Design

Logical Database Design

DBMS Selection

Prototyping Implementation

Data Conversion and Loading

Testing

Operational Maintenance

Database Design

Gambar 2.1 Siklus Basis Data

12

1. Perencanaan Database (Database Planning)

Merupakan aktivitas manajemen yang memungkinkan

langkah-langkah aplikasi perencanaan database untuk direalisasikan

se-efektif dan se-efisien mungkin. Perencanaan database harus

terintegrasi dengan keseluruhan strategi sistem informasi organisasi.

Ada 3 hal pokok yang berkaitan dengan strategi sistem informasi:

a. Identifikasi rencana dan tujuan perusahaan dengan menentukan

kebutuhan sistem informasi yang berikutnya.

b. Evaluasi sistem informasi yang ada untuk menentukan kelemahan

dan kekuatan yang ada.

c. Penaksiran peluang TI yang mungkin menghasilkan keuntungan

kompetitif.

2. Definisi Sistem (System Definition)

Menjelaskan batasan-batasan dan lingkup aplikasi database,

dan sudut pandang pengguna yang utama. User view mendefinisikan

apa yang diperlukan dari suatu aplikasi database dari perspektif peran

job tertentu atau area aplikasi perusahaan.

3. Analisis dan Pengumpulan (Requirement collecton and analysis)

Proses mengumpulkan dan menganalisa informasi tentang

organisasi yang akan didukung oleh aplikasi database, dan

menggunakan informasi ini untuk mengidentifikasi kebutuhan

pemakai sistem yang baru. Informasi dikumpulkan untuk masing-

masing view pemakai utama meliputi:

a. Deskripsi data yang digunakan atau dihasilkan

13

b. Rincian bagaimana data digunakan atau dihasilkan

c. Kebutuhan tambahan untuk aplikasi database yang baru

4. Desain Database (Database design)

Proses menciptakan sebuah desain untuk suatu database yang akan

mendukung tujuan dan operasi perusahaan, independen dari aspek

fisik. 3 fase desain database:

a. Desain Database Konseptual

Proses membangun sebuah model dari informasi yang digunakan

dalam sebuah perusahaan.

Langkah 1: Buatlah data model local yang konseptual untuk setiap

sudut pandang pengguna.

1. Identifikasi tipe-tipe entitas

2. Identifikasi tipe relationship

3. Identifikasi dan hubungan atribut dengan tipe entitas atau

relationship

4. Tentukan domain atribut

5. Tentukan atribut candidate, primary, dan alternate key

6. Pertimbangkan kegunaan konsep permodelan

7. Periksa model untuk redudansi

8. Validasikan model konseptual terhadap transaksi user

9. Tinjau kembali data model konseptual dengan user

14

b. Desain Database Logikal

Proses membangun sebuah model dari informasi yang digunakan

pada perusahaan berdasarkan data model yang spesifik, tetapi

tidak bergantung pada DBMS dan aspek lainnya.

Langkah 2 : Buat dan validasikan data model logikal untuk setiap

sudut pandang.

1. Hilangkan relasi untuk data model logikal

2. Validasikan hubungan dengan menggunakan normalisasi

3. Validasikan hubungan terhadap transaksi user

4. Tentukan batasan integritas

5. Tinjau kembali data model logikal dengan user

6. Gabungkan data model logikal ke dalam model global

7. Tentukan pertumbuhan masa depan

c. Desain Database Fisikal

Proses yang menghasilkan deskripsi dari implementasi database

pada penyimpanan sekunder.

Langkah 3 : Terjemahkan data model logikal untuk target DBMS

1. Desain base relation

2. Desain representasi dari derived data

3. Desain batasan umum

Langkah 4 : Desain file organisasi dan indeks

1. Analisis transaksi

2. Pilih file organisasi

3. Pilih indeks

15

4. Perkirakan kebutuhan tempat penyimpanan

Langkah 5 : Desain sudut pandang pengguna

Langkah 6 : Desain mekanisme keamanan

Langkah 7 : Pertimbangkan pengenalan dari redudansi yang

terkontrol

Langkah 8 : Awasi dan atur sistem operasional

5. Pemilihan DBMS (DBMS selection)

Pemilihan DBMS harus sesuai untuk mendukung aplikasi database.

6. Desain aplikasi (Application design)

Desain interface user dan program aplikasi yang menggunakan proses

database.

7. Prototyping

Membuat model kerja suatu aplikasi database. Tujuan utama

mengembangkan aplikasi database prototype adalah untuk

mengijinkan para pemakai menggunakan prototype untuk

mengidentifikasi sistem yang bekerja dengan baik.

8. Implementasi (Implementation)

Realisasi fisik dari database dan desain aplikasi.

9. Pengubahan dan pemuatan data (Data conversion and loading)

Pemindahan data yang ada ke dalam database yang baru dan

mengubah aplikasi yang ada untuk menjalankan database baru.

10. Uji testing (Testing)

Proses eksekusi program aplikasi dengan tujuan untuk menemukan

kesalahan.

16

11. Pemeliharaan operasional (Operational maintenance)

Proses pengawasan dan pemeliharaan sistem setelah instalasi,

meliputi :

-pengawasan performa sistem

-pemeliharaan dan peningkatan mutu aplikasi database.

2.1.5 Data Flow Diagram

Menurut Yourdon (1989, p139), diagram aliran data adalah model

atau alat yang digunakan untuk menggambarkan sistem sebagai jaringan

dari sekumpulan proses fungsional, yang dihubungkan satu dengan

lainnya oleh suatu aliran data dan meneruskannya menjadi data.

Ada 3 tingkatan dalam diagram aliran data, yaitu :

1. Diagram konteks

Merupakan tingkatan yang paling pertama, yang menggambarkan

ruang lingkup sistem dari sistem yang digunakan. Diagram ini hanya

memiliki satu proses yang menggambarkan sistem secara

keseluruhan dan hubungan antara sistem dengan unit-unit di luar

sistem tersebut.

2. Diagram Nol

Diagram yang menggambarkan proses-proses dan aliran data yang

terjadi di dalam suatu sistem. Proses-proses ini dapat dipecah menjadi

proses-proses dan aliran data yang lebih terperinci.

17

3. Diagram Rinci

Diagram yang menggambarkan rincian proses-proses yang ada pada

diagram nol dan rincian proses-proses ini dapat dipecah lagi menjadi

proses-proses yang lebih rinci.

Berdasarkan McLeod (2001, p316). DFD memiliki 4 macam simbol,

yaitu:

a. Proses (Bubble atau function atau transformation)

Proses menggambarkan bagian apa yang dilakukan oleh sistem.

Berfungsi mentransformasikan satu atau beberapa data masukan

menjadi satu atau beberapa data keluaran sesuai dengan

spesifikasi yang diinginkan.

Gambar 2.2 Simbol proses dalam DFD

b. Aliran (flow)

Menggambarkan aliran data dari suatu entity lainnya. Aliran data

terdiri dari:

1) Antara 2 proses yang berurutan

2) Dari data store ke proses dan sebaliknya

3) Dari sumber ke proses

4) Dari proses ke sink

18

Gambar 2.3 Simbol aliran data dalam DFD

c. Data Store

Tempat penyimpanan data. Proses dapat mengambil data dari atau

memberikan data ke data store.

Gambar 2.4 Simbol Data Store dalam DFD

d. Terminator atau External Entity

Entitas yang berada di luar sistem yang memberikan data kepada

sistem (source) atau yang menerima informasi dari sistem (sink).

Dapat berupa orang, kelompok, atau organisasi yang berhubungan

dengan sistem.

Gambar 2.5 Simbol Terminator dalam DFD

2.1.6 Permodelan Entitas dan Relasi (ERD)

Menurut Connolly dan Begg (2002,p30), salah satu aspek yang

paling sulit dalam perancangan database adalah kenyataannya bahwa

19

perancang, programmer, dan pemakai akhir cenderung melihat data

dengan cara yang berbeda.

2.1.6.1 Tipe Entiti

Tipe entiti adalah suatu kelompok objek dengan properti

yang sama, yang diidentifikasi oleh perusahaan mempunyai

eksistensi yang independen. Entiti occurance adalah

pengidentifikasian objek yang unik dari sebuah tipe entiti.

2.1.6.2 Tipe Relasi

Tipe relasi adalah gugus asosiasi yang mempunyai arti

antar tipe entiti. Relationship occurance adalah asosiasi yang

bisa diidentifikasi, meliputi satu kejadian dari masing-masing

yang mengambil bagian tipe entiti. Derajat relationship adalah

jumlah dari partisipasi tipe entiti dalam sebuah tipe relationship

tertentu.

Sebuah relationship berderajat dua disebut binary, sedangkan

relationship berderajat tiga disebut ternary, dan relationship

berderajat empat disebut quaternary.

20

2.1.6.3 Atribut

Atribut adalah sifat-sifat dari suatu entiti atau sebuah tipe

relasi. Atribut domain adalah satuan nilai-nilai untuk satu atau

beberapa atribut.

Jenis-jenis atribut antara lain:

1. Simple atribut

Simple atribut adalah atribut yang terdiri dari komponen

tunggal, masing-masing dengan keberadaan independen dan

tidak dapat dibagi menjadi bagian lebih kecil lagi, bisa juga

disebut atribut atomic.

2. Composite atribut

Composite atribut adalah atribut yang terdiri dari berbagai

komponen, masing-masing dengan keberadaan independen

dan dapat dibagi lagi menjadi bagian yang lebih kecil.

3. Single value dan multi value atribut

Single value atribut adalah atribut yang mempunyai nilai

tunggal untuk masing-masing kejadian dari suatu jenis entiti.

Multi value atribut adalah atribut yang mempunyai beberapa

nilai untuk masing-masing kejadian dari suatu jenis entiti.

4. Derived atribut

Derived atribut adalah atribut yang memiliki sebuah nilai

yang diturunkan dari nilai suatu atribut terkait, yang tidak

harus berasal dari satu entitas.

21

2.1.6.4 Keys

Jenis-jenis key antara lain :

1. Candidate key

Candidate key adalah atribut unik yang mengidentifikasi

setiap kejadian dari tipe entiti.

2. Primary key

Primary key adalah candidate key yang terpilih dengan

uniknya mengidentifikasi setiap kejadian dari suatu tipe entiti.

3. Composite key

Composite key adalah candidate key yang terdiri dari dua atau

lebih atribut.

2.1.6.5 Tipe Entiti Lemah dan Kuat

Tipe entiti kuat adalah entiti yang keberadaannya tidak

bergantung pada entiti yang lain. Tipe entiti lemah adalah entiti

yang keberadaannya bergantung pada entiti yang lain.

2.1.6.6 Batasan Struktural

Multiplicity adalah jumlah kejadian suatu tipe entity yang

mungkin yang berkaitan dengan suatu kejadian tipe entity yang

berasosiasi melalui hubungan tertentu.

Multiplicity biasanya terdiri dari dua batasan terpisah, yaitu:

• Cardinality: Mendeskripsikan jumlah maksimum dari

kemungkinan kejadian-kejadian yang saling berhubungan

22

untuk sebuah partisipasi entity dalam proses penentuan tipe

relationship.

• Participation : Menentukan apakah semua kejadian-kejadian

entity akan ikut berpartisipasi dalam sebuah relationship atau

hanya beberapa saja yang ikut berpartisipasi.

Jenis-jenis multiplicity menurut Connolly dan Begg (2002, p345)

adalah :

1. One-to-One (1:1) Relationships

Gambar 2.6 One-to-One Relationships

Pada gambar diatas dapat dilihat bahwa A hanya terhubung

One-to-One (1:1) dengan C, dan B hanya terhubung One-to-

One (1:1) dengan D. Jadi dari gambar tersebut dapat ditulis

notasi multiplicity-nya dengan gambar di bawah ini.

Gambar 2.7 Multiplicity One-to-One

23

2. One-to-Many (1:*) Relationships

Gambar 2.8 One-to-Many Relationships

Pada gambar diatas bisa dilihat bahwa B terhubung One-to-

Many (1 : *) dengan D dan E. Jadi dari gambar tersebut dapat

ditulis notasi multiplicity-nya dengan gambar dibawah ini.

Gambar 2.9 Multiplicity One-to-Many

24

3. Many-to-Many (* : *) Relationships

Gambar 2.10 Many-to-Many Relationships

Pada gambar diatas bisa dilihat bahwa A terhubung One-to-

Many (1 : *) dengan D dan E. Sedangkan E terhubung One-to-

Many (1 : *) dengan A dan B. Jadi dari entity Group 1 (value-

nya A dari gambar) dan Group (value-nya E dari gambar)

terhubung Many-to-Many (* : *). Dari gambar tersebut dapat

ditulis notasi multiplicity-nya dengan gambar dibawah ini.

Gambar 2.11 Multiplicity Many-to-Many

Masalah yang dapat timbul dari Entity Types Model adalah :

• Fan traps, terjadi ketika sebuah model merepresentasikan

sebuah relasi antara tipe-tipe dari entity, tetapi jalur yang

25

terdapat diantara kejadian-kejadian entity tertentu masih

ambigu.

• Chasm traps, terjadi ketika sebuah model menganjurkan

keberadaan sebuah relasi diantara tipe-tipe dari entity,

tetapi tidak terdapat jalur diantara kejadian-kejadian entity

tersebut.

2.1.7 Flowchart Diagram

Flowchart adalah serangkaian bagan-bagan yang menggambarkan

alir program. Flowchart atau diagram alir memiliki bagan-bagan yang

melambangkan fungsi tertentu. Bagan, nama dan fungsinya seperti yang

disajikan pada tabel berikut:

Gambar 2.12 Bagan Flowchart

26

Flowchart selalu diawali dan diakhiri oleh bagan terminator.

Aliran selalu dari atas ke bawah, satu demi satu langkah. Tidak ada

proses yang dikerjakan bersamaan, semua dikerjakan satu persatu.

Proses yang dilakukan komputer sebenarnya hanya ada 3 proses:

input, proses data dan output. Dengan demikian, ketika ada suatu masalah

yang akan diselesaikan dengan suatu software, maka hal yang perlu

diidentifikasi adalah input, proses data dan output.

2.1.8 Normalisasi

Menurut Connoly dan Begg (2005, p388), normalisasi merupakan

sebuah teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat

properties yang diinginkan berdasarkan kebutuhan data dari sebuah

perusahaan. Normalisasi mendukung perancangan basis data dengan

menyajikan serangkaian pengujian, yang digunakan untuk menguji relasi

secara individual sehingga sebuah relational schema dapat

dinormalisasikan ke dalam bentuk yang lebih spesifik untuk mencegah

kemungkinan terjadinya update anomalies.

2.1.8.1 Data Redundancy dan Update Anomalies

Tujuan utama dari desain database relasional adalah untuk

mengelompokkan atribut ke dalam relasi sehingga

meminimalisasi redudansi data. Update Anomalies adalah

masalah yang timbul dari relasi-relasi yang mempunyai data yang

redundant.

27

Update Anomalies akan diilustrasikan dengan menggunakan relasi

StaffBranch yang berisi keterangan dari Staff dan Branch dan

mempunyai primary key StaffNo. Update Anomalies dapat

dikelompokkan menjadi:

1. Insertion Anomalies

Merupakan anomali yang terjadi pada saat insert data. Insert

anomalies terdiri dari dua jenis, contohnya:

a) Pada relasi StaffBranch, bila ingin dilakukan insert data

Staff baru, data Branch tempat Staff bekerja juga harus

dimasukkan. Data Branch yang ingin dimasukkan, bila

sudah pernah ada juga harus sesuai dengan data Branch

yang sama yang sudah ada. Bila tidak hal ini akan

menyebabkan inkonsistensi pada basis data.

b) Pada relasi StaffBranch, bila ingin melakukan insert data

Branch baru yang belum memiliki Staff, nilai null untuk

Staff harus dimasukkan. Tetapi karena StaffNo merupakan

primary key dari relasi StaffBranch maka insert tidak

dapat dilakukan.

2. Delete Anomalies

Merupakan anomaly yang terjadi pada saat delete data.

Contoh:

Pada relasi StaffBranch, bila delete data dilakukan pada Staff

terakhir dari sebuah Branch, maka informasi dari Branch juga

akan ikut hilang.

28

3. Modification Anomalies

Merupakan anomaly yang terjadi pada saat update data.

Contoh:

Pada relasi StaffBranch, bila ingin dilakukan update data

Branch, semua baris dari relasi yang berisi Branch tersebut

harus di-update. Bila tidak, basis data akan menjadi

inkonsisten.

2.1.8.2 Functional Dependencies

Functional Dependency (ketergantungan fungsional)

menguraikan hubungan antara atribut-atribut dalam sebuah relasi.

Sebagai contoh, jika A dan B adalah relasi R, B adalah secara

fungsional bergantung kepada A (A B), jika setiap nilai dari A

diasosiasikan dengan tepat satu nilai dari B. (A dan B masing-

masing boleh dari satu atau lebih atribut).

2.1.8.3 Proses Normalisasi

Proses normalisasi adalah sebuah metode formal yang

mengenali relasi berdasarkan primary atau candidate key dan

ketergantungan fungsional di antara atribut-atribut. Menurut

Connoly dan Begg (2005, p401-409), proses dari Normalisasi

adalah sebagai berikut:

1. Unnormalized Form (UNF)

29

Sebuah tabel yang tediri atas satu atau lebih kelompok yang

berulang (repeating group).

2. First Normal Form (1NF)

Sebuah relasi di mana titik temu dari setiap baris dan kolom

terdiri dari satu dan hanya satu nilai.

Untuk mengubah tabel unnormalized ke dalam 1NF, perlu

dilakukan penghilangan kelompok yang berulang pada tabel

dan mengenali primary key yang ada pada tabel tersebut.

Langkah-langkahnya:

a. Tentukan sebuah atribut sebagai kunci untuk tabel yang

unnormalized.

b. Identifikasi repeating group pada tabel unnormalized.

c. Hapus repeating group dengan cara:

1) Masukkan data pada kolom kosong baris yang

berisikan data berulang.

2) Menggantikan data yang berulang dengan copy dari

kunci atribut original, dalam relasi yang terpisah.

3. Second Normal Form (2NF)

Sebuah relasi yang ada dalam 1NF dan setiap atribut non-

primary-key adalah tergantung secara fungsional (Full

Functional Depedency) secara penuh pada primary key.

Ketergantungan fungsional penuh menunjukkan bahwa jika A

dan B adalah atribut dari sebuah relasi, B dikatakan

tergantung secara fungsional secara penuh pada A jika B

30

memiliki ketergantungan fungsional pada A, tetapi bukan

bagian dari A. Sebuah ketergantungan fungsional A B

adalah bersifat penuh jika penghapusan sembarang atribut dari

A akan mengakibatkan ketergantungan tersebut menjadi tidak

bisa berlanjut. Sebuah ketergantungan fungsional A B

adalah bersifat penuh jika penghapusan sembarang atribut dari

A mengakibatkan ketergantungan tersebut tetap bisa bertahan.

Langkah-langkahnya:

a. Identifikasi primary key untuk relasi 1NF.

b. Hilangkan partial dependencies (ketergantungan non-

primary-key terhadap primary key).

4. Third Normal Form (3NF)

Sebuah relasi yang ada dalam 1NF dan 2NF, dan di mana

setiap atribut non-primary-key tergantung secara transitif pada

primary key. 3NF berdasarkan pada ketergantungan transitif.

Ketergantungan transitif adalah sebuah kondisi dimana A, B,

C adalah atribut dari sebuah relasi, dan jika A B dan B

C, maka C adalah tergantung secara transitif terhadap A

melalui B. Langkah-langkahnya:

a. Identifikasi primary key untuk relasi 2NF.

b. Hilangkan transitive dependencies (ketergantungan non-

primary-key terhadap non-primary-key).

31

2.2 Teori-teori Khusus

2.2.1 Web Database System

Web database system adalah sistem dimana teknologi web dan

database digunakan secara bersamaan. Web database system

menyediakan akses yang lebih luas ke sistem basis data, cara

mendistribusikan sistem dan pelayanan yang lebih melalui sistem

integrasi (Barry Eaglestone and Mick Ridley, 2001, p38).

2.2.2 Internet

Internet berasal dari kata Interconnection Networking yang

memiliki arti hubungan berbagai komputer dengan berbagai tipe yang

membentuk suatu sistem jaringan yang mencakup seluruh dunia (jaringan

komputer global) dengan melalui jalur telekomunikasi seperti telepon.

Jaringan internet terbentuk melalui berjuta-juta komputer yang

berintegrasi yang letaknya tersebar di seluruh dunia.

Menurut Mac Graw Hill, internet adalah kumpulan jaringan-

jaringan yang saling berkomunikasi dengan protokol yang sama,

sedangkan menurut Barry Eaglestone dan Mick Ridley (Web Database

Systems, 2001), internet merupakan sebuah integrasi dari jaringan-

jaringan dengan menggunakan standart protokol komunikasi dimana

protokol ini mampu menghubungkan jaringan-jaringan yang ada.

32

2.2.3 Teknologi pada Web

1. Browsers

Menurut Barry Eaglestone dan Mick Ridley (2001, p198),

pengertian browser adalah alat khusus yang digunakan untuk

menampilkan dokumen web dan mengikuti link yang memiliki hak

akses ke web dokumen yang lain atau untuk berpindah antara bagian

web dokumen yang berbeda. Beberapa contoh web browser yang

banyak digunakan antara lain adalah Microsoft Internet Explorer dan

Mozilla Firefox.

2. WWW (World Wide Web)

World Wide Web ("WWW", atau singkatnya "Web") adalah

suatu ruang informasi yang dipakai oleh pengenal global yang disebut

Uniform Resource Identifier (URI) untuk mengidentifikasi sumber-

sumber daya yang berguna. Web juga dapat diartikan sebagai salah

satu dari banyak aplikasi pada internet dimana aplikasi ini melibatkan

banyak komputer dengan menggunakan internet sebagai mekanisme

dasar dari penghubungnya. Web dijalankan dengan program pada

server dan menerima respon dari klien. Dari hubungan tersebut maka

beberapa komputer menjadi Web Server, yakni komputer yang

menyediakan informasi dan dapat diakses melalui web oleh komputer

klien. Aplikasi-aplikasi web antara lain:

1. Publikasi Web

2. E-commerce

3. Group activites

33

4. Embedded

WWW terdiri dari 2 komponen dasar yaitu:

1. Web Server

Sebuah komputer dan perangkat lunak yang menyimpan dan

mendistribusikan data ke komputer lainnya melalui internet.

2. Web Browser

Perangkat lunak yang dijalankan pada komputer pengguna (client)

yang meminta informasi dari web server dan menampilkannya

sesuai dengan file data itu sendiri.

3. Universal Resource Locator (URL)

Setiap web mempunyai alamat akses yang unik yaitu

Universal Resource Locator (URL). URL juga digunakan dalam

dokumen web untuk mengaitkan link, baik antara dokumen-dokumen

maupun antara situs-situs web. Format umum URL adalah sebagai

berikut:

Protokol_transfer://nama_host/path/nama_file

Contoh: http://www.amazon.com/buku/index.html

4. HTTP (Hypertext Transfer Protocol)

HTTP (Hypertext Transfer Protocol, lebih sering terlihat

sebagai http) adalah protokol yang dipergunakan untuk mentransfer

dokumen dalam World Wide Web (WWW). Protokol ini adalah

protokol ringan, tidak berstatus dan generik yang dapat dipergunakan

berbagai macam tipe dokumen. HTTP juga merupakan suatu protocol

request antara client dan server. Client membuat suatu HTTP request

34

seperti web browser sedangkan server berguna untuk menyimpan dan

membuat resources seperti file dan gambar pada HTML.

5. HTML (Hypertext Markup Language)

HTML adalah sebuah bahasa markup yang digunakan untuk

membuat halaman web dan menampilkan berbagai informasi di dalam

sebuah browser Internet. HTML berupa kode-kode tag yang

menginstruksikan browser untuk menghasilkan tampilan sesuai

dengan yang diinginkan. Dokumen HTML dapat dibuat

menggunakan editor teks standar, walaupun akan lebih mudah jika

menggunakan editor yang dirancang untuk pembuatan dokumen

HTML seperti FrontPage.

2.2.4 Client dan Server Side Scripting

Server side scripting merupakan sebuah teknologi scripting atau

pemograman web di mana script di kompilasi atau di terjemahkan di

server yang memungkinkan untuk menghasilkan halaman web yang

dinamis.

Beberapa contoh server side scripting :

a. ASP

b. ColdFusion

c. Java Server Pages

d. PERL

e. Phyton

f. PHP

35

Client Side Scripting merupakan jenis script yang pengolahannya

dilakukan di sisi client. Pengolahan disini berarti “di terjemahkan /

interpretasi” yang memiliki tugas untuk menterjemahkan script jenis ini

disisi client adalah web browser. Agar semua script yang masuk kategori

ini dapat diterjemahkan oleh web browser maka didalam web browser

terdapat sebuah komponen/ modul/ “engine” yang memiliki daftar

pustaka (library) yang mampu mengenali semua perintah-perintah yang

terdapat pada kategori client side scripting. Berikut contoh web browser

yang populer digunakan: internet explorer, mozilla firefox, opera,

safari(macintosh).

Berikut adalah contoh client side scripting: javascript, vbscript, activeX,

dll. Client side scripting merupakan script yang digunakan untuk

membantu standard static HTML menjadi lebih dinamis.

Karakteristik client–side scripting :

1. Kode program didownload bersama dengan halaman web

2. Bersifat interpreter dan diterjemahkan oleh browser

3. Model eksekusinya simple dan script dapat dijadikan satu dengan

HTML

Karakteristik server side programming :

1. Ada client yang meminta request

2. Eksekusi program dilakukan di server

3. Mengirimkan hasil ke client

36

Keuntungan server side programming :

Cross platform : tidak tergantung dengan browser tertentu

1. Optimasi dan pemeliharaan dilakukan di browser

2. Dapat mengakses database dan tidak tergantung dengan keamanan

3. Menambah kekuatan server

4. Kode program aman

Aplikasi yang sering digunakan oleh server side programming

1. Search engines

2. Database access

3. Chat & bulletin board service

2.2.5 PHP

PHP (PHP Hypertext Preprocessor) adalah bahasa pemrograman

server side yang digunakan secara luas untuk penanganan pembuatan dan

pengembangan sebuah web yang bersifat dinamis dan bisa digunakan

pada HTML. Web yang dinamis adalah sebuah halaman yang dapat

berinteraksi dengan pengguna sehingga setiap pengguna yang

mengunjungi halaman tersebut melihat informasi yang telah disesuaikan

untuk pengguna tersebut. PHP ditempatkan dalam server dan diproses di

server, hasilnya yang dikirimkan ke client, tempat pemakai menggunakan

browser, dengan sintaks-sintaks yang mudah digunakan dan modul-

modul library yang banyak dan kuat. Cara kerja halaman yang

menggunakan PHP: (Castagnetto, 2000, p60) ketika sebuah

permintaan/request untuk sebuah halaman web dari browser, maka web

37

server akan melakukan langkah-langkah sebagai berikut:

1. Membaca permintaan/request dari browser

2. Mencari halaman pada server

3. Melakukan instruksi-instruksi yang disediakan dalam PHP

4. Mengirimkan kembali halaman web ke browser melalui internet atau

intranet

Beberapa keunggulan penting PHP dibandingkan dengan bahasa scripting

lainnya adalah sebagai berikut:

1. PHP mendukung banyak sistem basis data, seperti MySQL,

PostgreSQL, Oracle, Informix, Interbase, dan lain-lain.

2. PHP bersifat cross platform, artinya dapat dipakai di hampir semua

web server seperti Apache, AOL Server, dan Microsoft Internet

Information Service. Selain itu, PHP juga dapat dijalankan pada

berbagai sistem operasi, seperti LINUX, UNIX, maupun di berbagai

versi dari Microsoft Windows.

3. PHP adalah program yang bersifar open source sehingga siapapun

dapat mengubah maupun menambahkan fungsi-fungsi baru secara

bebas. Oleh karena itu, PHP memiliki siklus hidup yang sangat

singkat (selalu up to date) mengikuti perkembangan teknologi

internet.

2.2.6 MYSQL Enterprise Server

MySQL Enterprise Server adalah software yang paling dapat

diandalkan, aman dan diperbarui oleh MySQL dalam memberikan e-

38

commerce, pemrosesan transaksi online (OLTP) dan penyimpanan data

aplikasi dari beberapa terabyte. Ini adalah transaksi yang terintegrasi,

ACID-kompatibel basis data dengan commit penuh, rollback, crash

recovery dan baris penguncian tingkat kemampuan. MySQL menawarkan

kemudahan dalam penggunaan, skalabilitas dan kinerja MySQL database

yang lebih populer.

Beberapa fitur tambahan MySQL Enterprise adalah:

a. Partisi

b. ACID transaksi

c. Event Planner

d. Penuh Teks Search Engine

e. File berbasis hibrida replikasi baris

f. File penyimpanan mesin

Terdapat dua jenis Enterprise Server, Advanced dan Pro. Pro

Enterprise adalah database open source paling populer yang

menyediakan kinerja tinggi dan skala aplikasi proses transaksi online.

Advanced Enterprise adalah versi MySQL yang lebih kompleks.

Advanced Enterprise memiliki semua fitur indeks Pro tetapi

menambah partisi dan horisontal deposit. MySQL Enterprise tersedia

dalam empat tingkatan yang berbeda: Basic, Silver, Gold dan

Platinum.

39

2.2.7 Asynchronous JavaScript and XML (AJAX)

Asynchronous JavaScript and XMLHTTP (AJAX) adalah suatu

teknik pemrograman berbasis web untuk menciptakan aplikasi web

interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaksi

pada computer web server, melakukan pertukaran data dengan server di

belakang layar, sehingga halaman web tidak harus dibaca ulang secara

keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini

akan meningkatkan interaktivitas, kecepatan, dan usability. Ajax

merupakan kombinasi dari:

1. DOM yang diakses dengan client side scripting language, seperti

VBScript dan implementasi ECMAScript seperti JavaScript dan

JScript, untuk menampilkan secara dinamis dan berinteraksi dengan

informasi yang ditampilkan.

2. Objek XMLHTTP dari Microsoft atau XMLHttpRequest yang lebih

umum diimplementasikan pada beberapa browser. Obyek ini berguna

sebagai kendaraan pertukaran data asynchronous dengan web server.

Pada beberapa framework AJAX, elemen HTML IFrame lebih dipilih

daripada XMLHTTP atau XMLHttpRequest untuk melakukan

pertukaran data dengan web server.

3. XML umumnya digunakan sebagai dokumen transfer, walaupun

format lain juga memungkinkan, seperti HTML, plain text, XML

dianjurkan dalam pemakaian teknik AJAX karena kemudahan akses

penanganannya dengan memakai DOM.

40

4. JSON dapat menjadi pilihan alternative sebagai dokumen transfer,

mengingat JSON adalah JavaScript itu sendiri sehingga

penanganannya lebih mudah.

2.2.8 JavaScript

Javascript digunakan untuk halaman aktif yang tidak berisi kode

yang besar atau kompleks. Daripada meng-compile sebuah applet ke

dalam presentasi byte code, javascript menyediakan sebuah bahasa script,

dan mengaturnya pada browser untuk membaca dan

menginterprestasinya dalam form sumber (source form). Lebih

pentingnya, javascript dapat berintergrasi dengan HTML. Sebuah

halaman HTML dapat berisi kode atau fungsi-fungsi javascript yang

menyediakan interaksi sederhana dengan user. Sebagai contoh, sebuah

fungsi javascript dapat meminta user untuk memasukkan informasi dan

kemudian mem-verifikasinya atau mengecek kevalidannya dari informasi

tersebut dan memasukkannya dalam form yang dapat diterima sebelum

user dapat berkomunikasi langsung dengan server. Fungsi javascript juga

dapat menampilkan sebuah aksi seperti memainkan sebuah file audio.

Bahasa javascript mempunyai kelebihan dan kekurangan.

Kelebihannya adalah kesederhanaan dan kemudahan penggunaannya.

Sebuah script kecil dapat diintergrasikan ke dalam halaman web. Seperti

halaman web pada umumnya, script dapat di uji cobakan atau di tes

langsung pada browser, tanpa menggunakan compiler tambahan.

Kelemahan javascript adalah kecepatan dan kemampuan skalanya

41

(scalability), karena representasi sumbernya lebih kecil kepadatannya

daripada representasi bytecode, menjalankan source program memakan

waktu lebih lama. Lebih jauh lagi, sebuah script memakan waktu lebih

lama untuk diinterpretasikan daripada sebuah program yang telah

diterjemahkan ke dalam representasi bytecode (Comer, 2004, p580).

2.2.9 Stored Procedure

Stored procedure adalah sebuah program yang tersimpan di dalam

database yang melakukan query atau memperbarui database.

Stored procedure bersifat portable. Apabila stored procedure ditulis

dalam SQL, tetap bisa dijalankan pada setiap platform dimana MySQL

dijalankan.

Keunggulan stored procedure ditinjau dari berbagai aspek seperti :

1. Kinerja

a. Execution plan pada stored procedure sudah dibuat pada saat

procedure itu dikompilasi jadi hanya terjadi 1 kali.

b. Stored procedure dapat ditandai di memori.

c. Stored procedure dapat digunakan untuk membatasi jumlah

record yang dikirim ke client.

d. Stored procedure terletak di DBMS sehingga untuk proses yang

membutuhkan data banyak, round trip untuk permintaan data

sampai data itu diterima dapat ditiadakan.

42

2. Keamanan

e. Stored procedure mencegah terjadinya SQL injection (sebuah aksi

hacking yang dilakukan di aplikasi client dengan cara

memodifikasi perintah SQL yang ada di memori aplikasi client.)

f. Hak akses stored procedure terhadap data di database bergantung

pada hak akses pembuatnya bukan bergantung pada hak akses

pengguna stored procedure.

g. Penggunaan stored procedure mendukung penggunaan aplication

role.

h. Perlindungan hak cipta. Stored procedure dapat dienkript

sehingga proses tidak dapat dibajak orang dengan mudah.

3. Fleksibilitas terhadap perubahan proses bisnis

Stored procedure tersimpan di server sehingga modifikasi mudah

dilakukan dengan cepat.

4. Ekonomi

Stored procedure menyediakan 1 pintu masuk untuk proses data entri.

Aplikasi client tinggal mengaksesnya. Stored procedure dibuat 1 kali,

dapat diakses oleh aplikasi client yang berbeda-beda, efisien dan

murah.

2.2.10 Deployment Website

Langkah-langkah yang digunakan untuk deployment website

adalah :

1. Harus mempunyai domain terlebih dahulu

43

2. Pada router, semua koneksi dari luar yang menunjuk ke port 80

(website) harus diteruskan ke host dimana webserver itu berjalan

3. Import database kita ke server hosting

4. Buat folder sesuai dengan nama domain di root web server masukin

seluruh file yang sudah dibuat

5. Jika web dan database server menjadi satu koneksi database tidak

perlu diganti, jika berbeda koneksi database harus diahlikan ke alamat

database server tersebut.

2.2.11 Penjualan

Penjualan adalah suatu usaha yang terpadu untuk

mengembangkan rencana-rencana strategis yang diarahkan pada usaha

pemuasan kebutuhan dan keinginan pembeli, guna mendapatkan

penjualan yang menghasilkan laba (Warwan, 1986). Penjualan dapat

dilakukan dengan berbagai cara, ada penjualan yang dilakukan secara

tunai dan ada yang dilakukan secara kredit. Penjualan tunai dilakukan

apabila barang yang diberikan oleh penjual langsung saat bareng tersebut

diterima dan ini sudah umum dilakukan juga dianggap sebagai penjualan

yang lazim, dan penjualan yang dilakukan secara kredit adalah

merupakan hal tagihan yang timbul dari transaksi penjualan barang atau

jasa, dan merupakan komponen besar dalam aktiva lancar. Piutang

dagang memiliki kecairan nomor dua setelah kas/bank.

44

2.2.12 Kredit

Menurut UU Perbankan No.7 tahun 1992, kredit adalah

penyediaan uang atau tagihan yang dapat dipersamakan dengan itu,

berdasarkan persetujuan atau kesepakatan pinjam meminjam antara suatu

perusahaan dengan pihak lain yang mewajibkan pihak peminjam untuk

melunasi hutangnya setelah jangka waktu tertentu dengan jumlah uang,

imbalan atau pembagian hasil keuntungan.

Kredit juga dapat diartikan sebagai kemampuan untuk melaksanakan

suatu pemberian atau mengadakan suatu pinjaman dengan suatu janji

pembayarannya akan dilakukan pada suatu jangka waktu yang disepakati.

Unsur-unsur kredit menurut Veithzal Rivai dan Andria Permata Veithzal

( 2006:5 ) adalah sebagai berikut :

1. Adanya dua pihak, yaitu pemberi kredit (kreditor) dan penerima

kredit (nasabah).

2. Adanya kepercayaan pemberi kredit kepada penerima kredit.

3. Adanya persetujuan, berupa kesepakatan pihak bank dengan pihak

lainnya yang berjanji membayar dari penerima kredit kepada pemberi

kredit.

4. Adanya penyerahan barang, jasa, atau uang dari pemberi kredit

kepada penerima kredit.

5. Adanya unsur waktu

6. Adanya unsur risiko baik di pihak pemberi kredit maupun di pihak

penerima kredit.

7. Adanya unsur bunga sebagai kompensasi kepada pemberi kredit.