Page 1 Teori Hukum 1 teori HUKUM. • (Suatu Tinjauan Singkat ...
BAB 2 LANDASAN TEORI 2.1 Teori-teori Dasar dan Umum 2.1.1...
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.