bab 2 landasan teori

advertisement
BAB 2
LANDASAN TEORI
2.1 Teori Dasar
2.1.1 Database
Menurut Connolly dan Begg (2005: 15), database atau basis data
merupakan sekumpulan data yang berhubungan secara logika, beserta
deskripsi akan data tersebut, yang dirancang untuk memenuhi kebutuhan
informasi yang dibutuhkan oleh organisasi.
Menurut Rainer, Turban dan Potter (2007: 22), basis data merupakan
koleksi dari berbagai file, tabel, dan relasi yang menyimpan data dan
hubungan asosiasi antar data.
Menurut Whitten, Bentley, dan Dittman (2004: 518), basis data merupakan
suatu kumpulan file yang saling terkait dan tidak hanya sekumpulan file
tetapi record pada setiap file yang harus memperbolehkan hubunganhubungan untuk menyimpan file lain.
2.1.2 Database Management System (DMBS)
Menurut Connolly dan Begg (2005: 16), database management system
ialah suatu sistem perangkat lunak yang memungkinkan user mendefinisi,
membentuk, memelihara dan mengendalikan akses suatu basis data.
Menurut Hall (2008: 433), DBMS merupakan perantara antara aplikasi
user dengan basis data fisikal yang bertujuan untuk menyediakan
pengendalian akses basis data. DBMS adalah sistem perangkat lunak
khusus yang diprogram untuk mengetahui elemen data yang dapat diakses
oleh authorized user.
7
8
Menurut Rainer, Turban dan Potter (2007: 105), DBMS adalah program
yang menyediakan pengguna suatu alat untuk menambah, menghapus,
mengakses, dan menganalisis data yang terletak di satu lokasi.
2.1.2.1 Fungsi DBMS
Connolly dan Begg (2005: 48) menyebutkan beberapa fungsi
DBMS, yaitu:
 Data storage, retrieval and update
DBMS harus melengkapi pengguna dengan kemampuan
menyimpan, mengambil, dan mengubah data di dalam basis
data.
 User accessible catalog
DBMS harus menyediakan sebuah katalog dimana deskripsi dari
berbagai data item yang tersimpan dapat diakses oleh user.
 Transaction support
DBMS harus menyediakan suatu mekanisme yang menjamin
bahwa semua kegiatan update sesuai dengan transaksi yang
dilakukan atau tidak sama sekali dilakukan.
 Concurrency control services
DBMS harus menyediakan mekanisme yang menjamin bahwa
basis data di-update dengan benar ketika lebih dari satu user
meng-update basis data secara bersamaan.
 Recovery service
DBMS harus menyediakan mekanisme untuk memperbaiki basis
data disaat mengalami kerusakan dalam berbagai bentuk.
 Authorization services
9
DBMS harus menyediakan mekanisme untuk menjamin bahwa
hanya user yang memiliki hak akses untuk dapat mengakses
basis data.
 Support for data communication
DBMS harus mampu berintegrasi dengan perangkat lunak
komunikasi atau jaringan.
 Integrity services
DBMS harus menyediakan cara untuk menjamin bahwa data
dalam basis data dan perubahan pada data mengikuti aturan
yang telah ditetapkan sebelumnya.
 Service to promote database independence
DBMS harus mencakup fasilitas yang mendukung independensi
suatu program dari struktur aktual basis data.
 Utility service
DBMS harus menyediakan berbagai macam layanan utilitas.
Program utilitas membantu Database Administrator mengelola
basis data secara efektif.
2.1.2.2 Keuntungan dan kekurangan DBMS
Menurut Connolly dan Begg (2005: 26-29), Keuntungan dari
penggunaan DBMS ialah :

Mengendalikan data yang redundan

Mengurangi resiko data yang tidak konsisten

Integrasi dari seluruh data operasional yang memungkinkan
penyaluran informasi secara keseluruhan

Meningkatkan integritas data
10

Meningkatkan keamanan data dari user yang tidak
mempunyai hak akses
Sedangkan kekurangan atau kelemahan dari DBMS menurut
Connolly dan Begg (2005: 29-30) ialah :

Kompleksitas

Biaya yang relatif mahal

Kapasitas yang relatif besar

Penambahan biaya untuk tambahan perangkat keras

Sentralisasi sumber data didalam DBMS dapat menghambat
suatu sistem apabila terdapat komponen yang rusak
2.1.2.3 Komponen dari Lingkungan DBMS
Komponen-komponen dari lingkungan DBMS menurut Connolly
dan Begg (2005: 18-21) meliputi :
Gambar 2.1 Lingkungan DBMS
Sumber: Connoly dan Begg (2005: 19)

Hardware
DBMS dan aplikasi membutuhkan perangkat keras untuk dapat
beroperasi. Perangkat keras dapat berupa komputer personal,
single mainframe, atau jaringan dari berbagai komputer.
Beberapa DBMS membutuhkan spesifikasi perangkat keras
tertentu agar dapat berjalan.

Software
11
Komponen dari perangkat lunak terdiri dari perangkat lunak
DBMS itu sendiri dan program aplikasi, bersamaan dengan
sistem operasi termasuk jaringan perangkat lunak apabila
DBMS digunakan di dalam suatu jaringan. Program aplikasi
biasanya ditulis menggunakan bahasa pemrograman generasi
ke 3 seperti C, C++, Java, Visual Basic dan bahasa
pemrograman generasi ke 4 seperti SQL.

Data
Data merupakan komponen DBMS yang berperan sebagai
penghubung antara komponen mesin dengan manusia. Isi dari
basis data mencakupi data operasional dan data yang
menjelaskan tentang data(metadata).
Pengertian data menurut O’Brien (2004: 38), data merupakan
suatu fakta atau hasil dari sebuah observasi, yang biasanya
berisikan fenomena fisik yang merupakan sebuah pengukuran
terhadap atribut dari suatu entitas.
Sedangkan menurut McLeod dan Schell (2004: 12), data
adalah fakta-fakta yang disimpan didalam basis data yang
terdiri atas fakta-fakta yang umumnya tidak dapat digunakan
karena belum terproses dan tidak memiliki makna atau arti.

Procedures
Prosedur merujuk kepada instruksi dan peraturan yang
mengatur rancangan dan penggunaan basis data. Pengguna
atau karyawan yang bertugas untuk mengatur basis data
12
membutuhkan dokumentasi suatu prosedur dalam penggunaan
sistem basis data.

People
Komponen terakhir dari lingkungan basis data ialah manusia
yang berhubungan dengan sistem. Manusia yang terhubung
dengan sistem dapat dibagi menjadi 4 jenis, yaitu: Data dan
Database Administrator, Database Designers, Application
Developers, End-users.
2.1.2.4 Multi-User DBMS Architectures
Untuk mengimplementasi DBMS dengan pengguna lebih dari satu,
Connolly dan Begg (2005: 56-63) menyebutkan 5 jenis arsitektur,
yaitu :
-
Teleprocessing
Merupakan arsitektur tradisional untuk pengguna lebih dari
satu, dimana proses aplikasi dan DBMS dijalankan di dalam
satu komputer yang sama.
-
File-Server Architecture
Di dalam lingkungan ini, proses didistribusikan melalui
jaringan yang disebut Local Area Network (LAN). Fileserver menyimpan data yang dibutuhkan aplikasi dan
DBMS. Aplikasi dan DBMS berjalan di setiap workstation
yang meminta data di dalam file-server ketika dibutuhkan.
-
Traditional Two-Tier Client-Server Architecture
Arsitektur ini menunjukkan bahwa DBMS terletak pada
server dan aplikasi/suatu proses terletak pada client. Client
13
bertanggung jawab dalam merepresentasikan data kepada
user, dan server bertanggung jawab dalam menyediakan
data yang diminta oleh client.
-
Three-Tier Client-Server Architecture
Arsitektur ini terdiri dari 3 bagian, dimana bagian pertama
ialah client, bagian kedua ialah application server, dan
bagian ketiga ialah database server. Client bertanggung
jawab terhadap user interface yang digunakan user dan
proses logika yang sederhana. Logika bisnis yang terdapat di
dalam aplikasi mempunyai server terpisah yang terhubung
dengan client dan database server melalui jaringan.
-
Transaction Processing Monitors (TPM)
Merupakan program yang mengendalikan pengiriman data
antara clients dan servers dengan tujuan menyediakan
lingkungan
yang
konsisten,
terutama
untuk
online
transaction processing (OLTP). TPM berada di tengah
arsitektur three-tier client-server yang berfungsi untuk
menyediakan berbagai akses manajemen sumber dan
interface untuk programmers dalam membuat aplikasi
transaksi.
14
2.1.3 The Three Level ANSI-SPARC
Gambar 2.2 Arsitektur The Tree Level ANSI-SPARC
Sumber: Connoly dan Begg (2005: 35)
Menurut Connolly dan Begg (2005: 35-37), arsitektur ANSI-SPARC
meliputi 3 tingkatan, yaitu :
1. External Level
Merupakan pandangan pengguna terhadap basis data. Tingkatan
ini menjelaskan suatu bagian dari basis data yang berhubungan
dengan user. Tingkatan ini mencakupi entitas, atribut, dan
hubungan menurut pandangan masing-masing user.
2. Conceptual Level
Merupakan pandangan suatu komunitas terhadap basis data.
Tingkatan ini mendeskripsikan data apa saja yang tersimpan di
dalam basis data dan hubungan antar data. Tingkatan ini
merupakan
pandangan
organisasi
yang
keseluruhan
bersifat
kebutuhan
independen
dari
basis
data
pertimbangan
15
penyimpanan
data
secara
fisik.
Tingkat
konseptual
merepresentasikan keseluruhan entitas, atribut dan hubungannya,
batasan dari data, informasi semantik suatu data, dan informasi
akan keamanan dan integritas.
3. Internal Level
Representasi fisik basis data di dalam komputer. Tingkatan ini
menjelaskan bagaimana cara data disimpan di dalam basis data
meliputi alokasi kapasitas tempat penyimpanan data dan index,
deskripsi record suatu tempat penyimpanan data, penempatan
record, teknik enkripsi dan teknik kompresi.
Tujuan dari arsitektur ini ialah, untuk memisahkan setiap pandangan user
terhadap basis data dengan cara fisik suatu basis data direpresentasikan.
2.1.4 Database Language
Menurut Connolly dan Begg (2005: 39-42), bahasa basis data yang disebut
data sublanguage meliputi dua bagian, yaitu:
 Data Definition Language (DDL)
DDL merupakan bahasa yang mengizinkan database administrator atau
user untuk menjelaskan dan membuat penamaan suatu entitas, atribut,
dan hubungan yang dibutuhkan aplikasi, bersamaan dengan batasan
integritas dan batasan keamanan yang terasosiasi. DDL digunakan
untuk mendefinisikan atau mengubah skema.
Beberapa statement DDL berdasarkan pendapat Connolly dan Begg
(2005: 168-176) adalah :
a. Create Table
16
Untuk membuat tabel dengan mengidentifikasikan tipe data
untuk tiap kolom.
b. Alter Table
Pernyataan untuk mengganti atau mengubah struktur dari tabel
yang sudah dibuat sebelumnya.
c. Drop Table
Untuk membuang atau menghapus tabel beserta semua data
yang terkait didalamnya.
d. Create Index
Untuk membuat index pada suatu table. Index ialah struktur
yang menyediakan kecepatan akses terhadap suatu baris tabel
berdasarkan nilai satu kolom atau lebih.
e. Drop Index
Untuk membuang atau menghapus index yang sudah dibuat
sebelumnya.
 Data Manipulation Language (DML)
DML ialah bahasa yang menyediakan sekumpulan operasi untuk
mendukung kegiatan memanipulasi data yang tersimpan di dalam basis
data. Operasi manipulasi data meliputi pemasukan data baru ke dalam
basis data, modifikasi, pengambilan, dan penghapusan data yang
tersimpan di basis data. DML dibagi menjadi 2 jenis, yaitu :
a. Procedural DML
Bahasa yang mengizinkan user memberitahukan kepada sistem
tentang data yang dibutuhkan dan cara untuk mengambil data.
b. Non-procedural DML
17
Bahasa yang mengizinkan user untuk menentukan kondisi data
yang akan digunakan
Statements DML menurut Connolly dan Begg (2005: 117-118)
mencakupi :
-
SELECT
Pernyataan untuk mengambil dan menampilkan data
dari satu atau banyak tabel.
-
INSERT
Pernyataan untuk menambah baris baru ke dalam tabel.
-
UPDATE
Pernyataan untuk mengubah data yang sudah ada di
dalam tabel.
-
DELETE
Pernyataan untuk menghapus baris data di dalam tabel.
2.1.5 Database System Development Lifecycle
Berdasarkan pendapat Connolly dan Begg (2005: 284-306) Tahapan
Database Application Lifecycle meliputi hal berikut ini :
18
Gambar 2.3 Database System Development Lifecycle
Sumber: Connoly dan Begg (2005: 284)
 Database Planning
Merupakan aktivitas manajemen yang memungkinkan tahapan
database application lifecycle dapat direalisasikan secara efektif dan
efisien.
Perencanaan
basis
data
harus
terintegrasi
dengan
keseluruhan strategi sistem informasi dari organisasi.
Langkah pertama yang paling penting dalam perencanaan basis data
ialah
menentukan
dengan
jelas
mission
statement
untuk
mendefinisikan tujuan utama dari sistem basis data. Mission
statement dapat membantu mengklarifikasikan tujuan dari sistem
basis data juga menyediakan alur yang jelas untuk mencapai
19
efektifitas dan efisiensi pembuatan suatu sistem basis data yang
dibutuhkan.
Langkah kedua setelah menentukan mission statement ialah,
mengidentifikasi mission objectives. Ketika mission statement telah
didefinisikan, maka mission objective didefinisikan. Setiap mission
objective atau tujuan harus mengidentifikasikan tugas khusus yang
harus didukung oleh basis data. Dapat juga disertai dengan beberapa
informasi tambahan yang menspesifikasikan pekerjaan yang harus
diselesaikan, sumber daya yang digunakan dan biaya untuk
membayar kesemuannya itu. Database planning juga harus
menyertakan pengembangan standar yang menentukan:
- Bagaimana data akan dikumpulkan.
- Bagaimana menspesifikasi format atau bentuk data.
- Dokumentasi penting apakah yang akan diperlukan.
- Bagaimana desain dan implementasi harus dilakukan.
 System Definition
Merupakan suatu kegiatan yang menjelaskan batasan-batasan dan
cakupan dari aplikasi basis data dari sudut pandang pengguna (user
view) yang utama. User view mendefinisikan apa yang diwajibkan
dari suatu sistem basis data dari perspektif aturan kerja khusus
(seperti manajer atau supervisor) atau area aplikasi enterprise
(seperti Marketing, Personel, atau Stock Control). Aplikasi basis
data dapat memiliki satu atau lebih user view. Indentifikasi user
view, membantu memastikan bahwa tidak ada user utama dari suatu
basis data yang terlupakan ketika pembuatan aplikasi baru yang
20
dibutuhkan. User view juga membantu dalam pengembangan
aplikasi basis data yang rumit dan memungkinkan permintaanpermintaan dipecah kedalam bagian-bagian yang lebih sederhana.
 Requirement Collections and Analysis
Merupakan suatu proses pengumpulan dan analisis informasi
mengenai bagian organisasi yang didukung oleh sistem basis data,
dan menggunakan informasi tersebut untuk mengidentifikasikan
kebutuhan pengguna akan sistem yang baru. Informasi yang
dikumpulkan untuk setiap user view utama meliputi :
- Deskripsi data yang digunakan atau dihasilkan
- Detail mengenai bagaimana data dihasilkan
- Kebutuhan tambahan untuk sistem basis data yang baru
Dalam tahapan ini, jumlah data yang diperoleh tergantung pada
masalah dan kebijakan perusahaan. Informasi yang terkumpul pada
tahapan ini mungkin tidak terstruktur dan melibatkan beberapa
permintaan informasi yang harus diubah kedalam kebutuhan yang
lebih terstruktur. Terdapat dua pendekatan dalam tahapan ini yaitu:
- Centralized approach
Kebutuhan dari setiap user view digabungkan menjadi satu
perangkat kebutuhan untuk sistem basis data yang baru.
- View integration approach
Kebutuhan dari setiap user view tetap berada di dalam bentuk
list yang terpisah. Model data yang merepresentasikan setiap
user view dibuat, dan nantinya digabungkan di dalam tahap
perancangan desain basis data
21
Untuk sistem basis data yang rumit, kombinasi penggunaan dua
pendekatan tersebut dapat dilakukan untuk mengatur berbagai user
view.
 Database Design
Desain basis data merupakan suatu proses pembuatan perancangan
basis data yang akan mendukung pernyataan misi dan tujuan dan
operasi basis data suatu perusahaan. Terdapat empat pendekatan
dalam mendesain basis data, yaitu:
1. Top-Down
Diawali dengan pembentukan model data yang berisi
beberapa entitas high-level dan relationship, yang kemudian
menggunakan pendekatan top-down secara berturut-turut
untuk mengidentifikasi entitas lower level, relationship dan
atribut lainnya.
2. Bottom-up
Dimulai dari atribut dasar (yaitu, sifat-sifat entitas dan
relationship), dengan analisis dari penggabungan antar
atribut, yang dikelompokan ke dalam suatu relasi yang
merepresentasikan tipe dari entitas dan relationship antar
entitas.
3. Inside-out
Berhubungan dengan pendekatan bottom-up akan tetapi
mempunyai sedikit perbedaan dengan identifikasi awal
entitas utama dan kemudian menyebar kelainnnya seperti
22
entitas, relationship, dan atribut terkait lainnya yang terlebih
dulu diidentifikasi.
Tahap dalam mendesain basis data terdiri dari tiga bagian, yaitu:
- Conceptual Database Design
Merupakan proses pembentukan model data dari data yang
digunakan
perusahaan,
yang
tidak
bergantung
pada
pertimbangan aspek fisik.
- Logical Database Design
Merupakan proses pembentukan model data dari data yang
digunakan perusahaan berdasarkan model data tertentu,
namun tidak bergantung kepada pertimbangan aspek fisik
maupun DBMS.
- Physical Database Design
Merupakan proses dalam menghasilkan deskripsi dari
implementasi suatu basis data di dalam secondary storage
yang menjelaskan dasar suatu relasi, file atau organisasi,
penggunaan index untuk mencapai efisiensi akses terhadap
data, asosiasi
integrity constraints
dan pertimbangan
keamanan.
 DBMS Selection
Pemilihan DBMS dilakukan untuk memilih DBMS yang sesuai untuk
mendukung sistem basis data. Pemilihan DBMS amatlah diperlukan
ketika sebuah perusahaan ingin mengembangkan atau mengganti
sistem yang sudah ada, proses ini digunakan untuk mengevaluasi
produk DBMS. Tujuan dari pemilihan DBMS adalah untuk memilih
23
sebuah sistem yang sesuai dengan kebutuhan saat ini dan yang akan
datang pada perusahaan, menyeimbangkan biaya pembelian produk
DBMS, berbagai software / hardware tambahan yang diperlukan
untuk mendukung sistem basis data, dan biaya yang berhubungan
dengan perubahan dan pelatihan karyawan.
Langkah-langkah utama dalam pemilihan DBMS ialah :
- Menentukan referensi dan kriteria berdasarkan kebutuhan user.
- Membuat perbandingan mengenai dua atau tiga produk DBMS.
- Evaluasi produk-produk DBMS
- Merekomendasikan pemilihan DBMS dan membuat laporan
hasil dari evaluasi produk DBMS tersebut.
 Application Design
Desain aplikasi adalah rancangan dari user interface dan program
aplikasi yang digunakan untuk memproses basis data. Aktifitas
antara database design dengan application design terjadi secara
paralel, namun desain aplikasi tidak dapat dibentuk sampai
perancangan basis data yang dibuat untuk mendukung aplikasi dan
juga alur informasi antara application design dan database design.
Seluruh fungsi yang tercantum dalam spesifikasi kebutuhan
pengguna harus berada di dalam perancangan aplikasi. Perancangan
user interface yang tepat ke dalam sistem basis data menjadi
kebutuhan tambahan agar fungsi yang dibutuhkan dapat tercapai.
Perancangan user interface terkadang tidak diperhatikan atau
ditinggalkan selama tahapan perancangan. Program aplikasi yang
mudah dipelajari, dan juga sederhana dalam penggunaan, maka
24
pengguna cenderung dapat memanfaatkan atau mengolah informasi
dengan baik.
 Prototyping
Prototype adalah pembuatan kerangka kerja dari sistem basis data.
Pada kondisi tertentu kita dapat memilih apakah akan membuat
prototype atau langsung mengimplementasikan sistem basis data.
Prototype merupakan suatu model aplikasi basis data yang
mempunyai semua pola yang diperlukan dan menyediakan semua
kemampuan sistem. Tujuan utama prototype adalah mengizinkan
pada pemakai untuk menggunakan prototype tersebut untuk menguji
apakah fitur-fitur pada sistem telah bekerja sesuai dengan spesifikasi
pengguna. Dengan cara ini, kita dapat memperjelas kebutuhan
pemakai dan pengembangan sistem dan mengevaluasi kelayakan
desain sistem tersebut. Ada 2 cara strategi membuat prototype yaitu
requirements prototyping dan evolutionary prototyping (Connolly
dan Begg, 2005: 304) untuk requirements prototyping digunakan
prototype untuk menentukan kebutuhan suatu aplikasi basis data
yang diusulkan dan ketika kebutuhan dirasakan sudah lengkap maka
prototype tersebut tidak digunakan lagi. Prototype evolusioner
digunakan untuk tujuan yang sama, perbedaannya adalah bahwa
prototype tidaklah dibuang tetapi dikembangkan lebih lanjut
sehingga aplikasi basis data tersebut.
 Implementation
Merupakan perwujudan fisik dari basis data dan desain aplikasi.
Setelah menyelesaikan tahap desain (dengan atau tanpa prototype),
25
kini berada pada tahap implementasi basis data dan program
aplikasi, implementasi basis data dicapai dengan menggunakan DDL
dari DBMS yang telah dipilih atau dengan menggunakan Graphical
User Interface (GUI), masing-masing menyediakan fungsi ketika
menyembunyikan pernyataan DDL tingkat rendah (low-level).
Pernyataan DDL digunakan untuk menciptakan struktur basis data
dan menghilangkan file yang terdapat dalam basis data tersebut.
User view juga diterapkan pada langkah implementasi. Program
aplikasi diimplementasikan dengan menggunakan bahasa generasi ke
3 atau generasi ke 4 yang dipilih. Bagian dari program aplikasi ini
adalah transaksi basis data yang diterapkan dengan menggunakan
Data Manipulation Languange dari DBMS target, yang terdapat
dalam bahasa pemprograman seperti Visual Basic (VB), VB.NET,
Phyton, Delphi, C, C++, C#, Java. Dan juga mengimplementasikan
komponen-komponen yang lain dari desain aplikasi seperti layar
menu, form pengisian data, dan laporan. Pengendalian keamanan
dan integritas untuk aplikasi juga diimplementasikan. Sebagian dari
kendali ini telah diterapkan dengan menggunakan DDL tetapi yang
lain mungkin perlu untuk digambarkan diluar dari DDL sebagai
contoh kegunaan yang disediakan DBMS atau kendali sistem operasi.
 Data Conversion and Loading
Konversi data dan loading ialah proses pemindahan data yang ada
kedalam basis data yang baru dan mengubah aplikasi yang sudah ada
agar dapat digunakan kedalam basis data yang baru. Tahapan ini
dibutuhkan hanya ketika sistem basis data yang baru menggantikan
26
sistem yang lama. Sekarang ini, sudah menjadi hal yang biasa bagi
sebuah DBMS untuk mempunyai utilitas yang dapat memuat
keseluruhan file yang ada kedalam basis data yang baru. Utilitas
biasanya membutuhkan spesifikasi dari sumber dan tujuannya,
sehingga mengubah data sesuai dengan format basis data yang baru.
 Testing
Merupakan suatu proses pelaksanakan program aplikasi dengan
tujuan untuk menemukan kesalahan. Dalam melakukan testing para
pemakai sistem yang baru harus dilibatkan untuk menguji proses
aplikasi dan basisi data tersebut. Situasi yang ideal untuk pengujian
sistem adalah mempunyai suatu pengujian basis data pada suatu
sistem perangkat keras yang terpisah tetapi ini sering tidak tersedia.
Jika data riil diharapkan untuk digunakan maka adalah penting untuk
mempunyai back-up. Setelah pengujuan diselesaikan, maka sistem
aplikasi dan basis data ini telah siap digunakan.
 Operational Maintenance
Pemeliharan operasional adalah sebuah proses pemantauan dan
pemeliharaan sistem berikut instalasi. Setelah melalui tahap-tahap
sebelumnya maka sistem sekarang telah pada tahap pemeliharaan
yang melibatkan aktifitas berikut :
- Mengawasi kinerja dari sistem. Jika performance jauh dibawah
suatu tingkatan yang bisa diterima, penyusuan basis data
mungkin diperlukan.
- Menjaga dan meningkatkan mutu aplikasi basis data. Kebutuhan
baru disatukan kedalam aplikasi basis data yang mengikuti
27
langkah-langkah sebelumnya yang terdapat dalam siklus basis
data.
- Ketika aplikasi basis data sedang beroperasi, perlu dilakukan
monitoring secara dekat untuk memastikan bahwa performance
dalam tingkatan yang bisa diterima.
- Monitoring proses akan terus berlanjut sepanjang seluruh hidup
suatu aplikasi basis data tersebut dan ada waktu tertentu boleh
melakukan reorganisasi basis data untuk mencukupi kebutuhan
dari sistem. Perubahan ini menyediakan informasi pada evolusi
sistem dan sumber daya yang pada masa akan datang mungkin
diperlukan. Hal ini memungkinkan Database Administrator
dapat mengembangkan kegunaan yang diperlukan atau pembeli
peralatan tambahan jika diperlukan.
2.1.6 Fact Finding Techniques
Menurut Connolly dan Begg (2005: 314), teknik-teknik pencarian fakta
ialah, proses formal dalam penggunaan teknik seperti wawancara dan
kuisioner untuk mengetahui fakta suatu sistem, kebutuhan dan preferensi.
Teknik-teknik tersebut digunakan di tahap database lifecycle. Database
developer biasanya menggunakan sebagian teknik di suatu proyek basis
data, Connolly dan Begg (2005: 317-321) menyebutkan lima teknik yang
biasa digunakan, yaitu:
-
Examining documentation
Dengan memeriksa dokumen, formulir, laporan dan files yang
berhubungan dengan sistem, kita dapat memahami suatu proses
sebuah sistem. Contoh dokumen dapat berupa memos, e-mails,
28
keluhan pelanggan atau karyawan, struktur organisasi, kamus
data, invoice, dan sebagainya.
-
Interviewing
Merupakan teknik pengumpulan informasi dengan bertanya
langsung ke individu secara bertatap muka. Terdapat dua jenis
wawancara, yaitu:
- Wawancara tidak terstruktur, dimana yang orang yang
melakukan wawancara bergantung pada jawaban subjek
wawancara untuk membentuk kerangka dan mengarahkan alur
wawancara.
- Wawancara terstruktur, dimana orang yang melakukan
wawancara
mempunyai
pertanyaan
khusus
yang
akan
ditanyakan kepada subjek wawancara. Jenis pertanyaan dapat
berupa pertanyaan terbuka yang membutuhkan klarifikasi atau
ekspansi suatu jawaban dan pertanyaan tertutup merupakan
pertanyaan yang membutuhkan jawaban langsung.
-
Observing the enterprise in operation
Observasi merupakan teknik pengumpulan informasi dengan
berpartisipasi atau melihat langsung ke dalam aktivitas sistem
perusahaan. Teknik ini sangat berguna dalam validasi data yang
dikumpulkan melalui metode lain atau kompleksitas suatu aspek
sulit dideskripsikan dengan jelas oleh pengguna.
-
Research
29
Penelitian
merupakan
teknik
pengumpulan
fakta
dengan
mengidentifikasi penyelesaian suatu masalah yang sama melalui
jurnal, buku referensi, dan internet.
-
Questionnaires
Kuisioner
merupakan
proses
pengumpulan
fakta
untuk
melakukan survey dan pencarian informasi dalam menghadapi
audience dengan jumlah yang banyak. Jenis pertanyaan kuisioner
dibagi menjadi dua, yaitu free-format questions, dimana
responden mempunyai kebebasan dalam mengisi jawaban dan
fixed-format questions yang membutuhkan jawaban spesifik dari
suatu pertanyaan.
2.1.7 Entity Relationship Modelling
Menurut Connolly dan Begg (2005: 342), entity relationship modelling
merupakan pendekatan top-down suatu desain basis data yang memulai
identifikasi data penting yang dinamakan entitas, serta hubungan antar
datanya yang direpresentasikan di dalam model.
Menurut Connolly dan Begg (2005: 343-367), Konsep dari ER model
terdiri dari beberapa bagian, yaitu:

Entity type
Tipe entitas merupakan sekumpulan objek dengan sifat yang sama,
dimana diidentifikasi oleh perusahaan sebagai eksistensi yang
independen. Setiap objek tipe entitas yang diidentifikasi secara unik
dinamakan entity occurrence.
30
Gambar 2.4 Contoh entitas
Sumber: Connoly dan Begg (2005: 345)

Relationship types
Merupakan sekumpulan asosiasi antara satu atau lebih entitas yang
berpartisipasi, dan setiap jenis hubungan diberi nama yang unik untuk
menjelaskan fungsinya. Sedangkan relationship occurrence ialah
asosiasi yang teridentifikasi secara unik, dimana setiap tipe entitas
yang berpartisipasi terlibat satu kejadian.
Gambar 2.5 Relationship type
Sumber: Connoly dan Begg (2005: 347)
Setiap entitas yang terlibat di relationship type tertentu dinamakan
participant, dan jumlah partisipan di dalam relationship type
dinamakan degree di dalam hubungan tersebut. Degree suatu
hubungan terdapat 3 jenis, yaitu binary, ternary, dan quaternary.

Attributes
31
Gambar 2.6 Contoh jenis atribut
Sumber: Connoly dan Begg (2005: 354)
Atribut merupakan suatu properti atau nilai yang menjelaskan setiap
entitas atau relationship type. Setiap atribut yang terasosiasi dengan
berbagai nilai disebut dengan domain. Atribut dapat diklasifikasikan
menjadi :
- Simple attributes
Atribut yang dibentuk dari satu komponen dengan eksistensi
yang independen dan tidak dapat dipecah menjadi komponen
yang lebih kecil.
- Composite attributes
Atribut yang dibentuk dari berbagai komponen, yang setiap
kompononennya memiliki eksistensi yang independen.
- Single-valued attributes
Merupakan atribut yang menyimpan satu nilai dari setiap
kejadian di suatu tipe entitas.
- Multi-valued attributes
Merupakan atribut yang menyimpan beberapa nilai dari setiap
kejadian si suatu tipe entitas.
32
- Derived attributes
Atribut yang merepresentasikan nilai yang dapat diambil dari
suatu atribut yang berhubungan satu sama lain.
- Keys
Keys terdiri dari tiga jenis yaitu candidate keys, primary keys,
dan composite keys. Candidate keys merupakan sekumpulan
kecil
dari
atribut,
dimana
masing-masing
nilai
mengidentifikasi secara unik setiap kejadian entitas. Primary
keys ialah key unik yang dipilih untuk mengidentifikasikan
suatu entitas. Composite keys adalah key yang terdiri dari dua
atau lebih atribut.

Strong and weak entity types
Suatu entitas dapat dikategorikan entitas yang kuat apabila tidak
bergantung dengan entitas lainnya. Sedangkan tipe entitas yang
lemah ialah, entitas yang eksistensinya bergantung pada entitas lain.

Attributes on relationships
Gambar 2.7 Contoh atribut di dalam relasi
Sumber: Connoly dan Begg (2005: 356)
Tipe hubungan yang terasosiasi dengan entitas dapat memiliki atribut.
Namun untuk membedakan atribut relasi dengan atribut entitas, suatu
33
kotak dibuat yang dihubungkan dengan garis putus-putus kemudian
disambungkan diantara hubungan entitas.

Structural constraints
Merupakan batasan yang merefleksikan kejadian sebenarnya dari
setiap entitas. Tipe utama batasan dalam hubungan dinamakan
multiplicity. Multiplicity ialah jumlah angka atau jarak dari setiap
kejadian suatu entitas yang berhubungan dengan kejadian entitas
yang terasosiasi melalui relasi tertentu. Multiplicity dipisah menjadi
dua bagian yang dikenal sebagai cardinality dan participation.
Gambar 2.8 Cardinality dan participation
Sumber: Connoly dan Begg (2005: 363)
Cardinality menunjukkan angka atau jarak maksimal tentang
kemungkinan kejadian hubungan dari entitas yang berpartisipasi
sedangkan participation menentukan jumlah kejadian entitas di
dalam suatu hubungan.
Multiplicity dalam bentuk hubungan pada umumnya, yaitu binary
relationship, terdiri dari tiga jenis:
- One-to-one 1:1 relationship
34
Gambar 2.9 Contoh hubungan 1:1
Sumber: Connoly dan Begg (2005: 358)
- One-to-many 1:* relationship
Gambar 2.10 Contoh hubungan 1:*
Sumber: Connoly dan Begg (2005: 359)
- Many-to-many *:* relationship
Gambar 2.11 Contoh hubungan *:*
Sumber: Connoly dan Begg (2005: 360)

Problems with ER models
Masalah dalam pembuatan ER model terdapat dua bentuk, yaitu :
- Fan traps
35
Merupakan
masalah
dimana
model
merepresentasikan
hubungan dengan entitas, namun jalur entity occurrence-nya
tidak jelas atau ambigu. Masalah ini dapat timbul disaat entitas
yang sama memiliki dua atau lebih hubungan 1:*.
Gambar 2.12 Contoh fan traps
Sumber: Connoly dan Begg (2005: 364)
Masalah ini dapat diselesaikan dengan restrukturisasi asosiasi
antar entitas.
Gambar 2.13 Contoh solusi fan traps
Sumber: Connoly dan Begg (2005: 365)
- Chasm traps
36
Merupakan masalah dimana suatu model menyarankan
hubungan masing-masing entitas, namun tidak terdapat jalur
entity occurrence-nya. Masalah ini dapat timbul ketika
terdapat satu atau lebih multiplicity dengan nilai minimum nol
membentuk bagian di jalur antar entitas.
Gambar 2.14 Contoh chasm trap
Sumber: Connoly dan Begg (2005: 366)
Untuk menyelesaikan masalah ini, kita harus mengidentifikasi
hubungan yang hilang dan membuat hubungan baru untuk
menyambungkan jalur yang hilang tersebut.
37
Gambar 2.15 Contoh solusi chasm trap
Sumber: Connoly dan Begg (2005: 367)
2.1.8 Normalisasi
Berdasarkan Connolly dan Begg (2005: 388), normalisasi adalah teknik
untuk mengorganisasi data kedalam tabel-table untuk memenuhi
kebutuhan pemakai didalam sebuah organisasi. Tujuannya adalah untuk
menghilangkan kerangkapan data, mengurangi kompleksitas, dan
memodifikasi data.
Proses yang terdapat dalam normalisasi berdasarkan Connolly dan Begg
(2005: 403) terbagi menjadi beberapa tahap, yaitu:
1. Unnormalized Form / UNF
UNF adalah sebuah tabel yang mengandung lebih dari satu bagian
yang berulang.
2. First Normal Form / 1NF
Bentuk 1NF adalah hubungan dimana irisan (intersection) dari
setiap baris dan kolom hanya mengandung satu nilai. Untuk
mengubah table UNF ke 1NF harus mengidentifikasi dan
menghilangkan bagian yang berulang pada UNF, antara lain :
a) Pendekatan pertama, hilangkan repetition group dengan
memasukkan data yang berlebihan kedalam kolom dan baris
38
kosong sehingga hasil dari tabel nantinya hanya mengandung
nilai atomik (tunggal).
b) Pedekatan kedua, dengan menempatkan data yang berlebihan,
selanjutnya dengan meng-copy atributnya yang asli dalam
sebuah relasi yang dipisahkan.
Kedua pendekatan ini benar. Tetapi, pendekatan kedua awalnya
menghasilkan relasi yang paling sedikit pada 1NF dengan
mengurangi redudancy. Jika menggunakan pendekatan pertama,
relasi 1NF adalah buruk. Selanjutnya selama langkah normalisasi
berikutnya akan menghasilkan relasi yang sama sehingga
dihasilkan oleh pendekatan kedua. Akan tetapi hasil dari
normalisasi 1NF masih bisa menyebabkan update anomalies,
sehingga diperlukan normalisasi bentuk kedua (2NF).
3. Second Normal Form / 2NF
Second Normal Form / 2NF adalah berdasarkan konsep
ketergantungan fungsional penuh (full function dependency). Full
function dependency dinyatakan dengan jika A dan B adalah
attribute dari suatu relasi, B adalah fungsional ketergantungan
penuh (fully functional dependency) pada A jika B adalah secara
fungsional bergantung pada A tetapi bukan merupakan himpunan
bagian dari A. Jelasnya bentuk 2NF adalah sebuah relasi didalam
1NF dan setiap atribut yang bukan primary key adalah fungsional
tergantung pada primary key. Proses normalisasi dari relasi 1NF ke
2NF melibatkan penghilangan dari bagian ketergantungan.
4. Third Normal Form / 3NF
39
3NF berdasarkan pada konsep peralihan ketergantungan (transitive
dependency). Transitive dependency adalah sebuah kondisi dimana
A, B, dan C adalah atribut dari sebuah relasi bahwa jika A -> B dan
B -> C, maka C secara transitif bergantung pada A melewati B
(menyatakan bahwa A tidak secara fungsional bergantung kepada
B atau C). Pada 3NF, sebuah relasi pada bentuk 1NF dan 2NF tidak
ada non primary key secara transitif bergantung pada primary key.
Proses nomalisasi dari 2NF ke 3NF melibatkan penghilangan dari
transitive dependency. Jika sebuah transitive dependency antara
attribute nya dengan menempatkan attribute tersebut ke dalam
relasi baru, selanjutnya dengan sebuah salinan dari determinannya.
Suatu teknik yang menghasilkan kumpulan relasi dengan property
yang diinginkan berdasarkan suatu kebutuhan data dalam
organisasi atau perusahaan Tujuannya adalah untuk menghilangkan
kerangkapan data, mengurangi kompleksitas, dan memodifikasi
data.
2.1.9
Database Design Methodology
Connolly dan Begg (2005: 438) menyatakan bahwa design methodology
ialah pendekatan terstruktur yang menggunakan prosedur, teknik, alat,
dan dukungan dokumentasi untuk membantu dan memfasilitasi suatu
proses perancangan. Seperti yang sudah disebutkan di dalam database
lifecycle, proses desain mencakupi tiga fase, yaitu: conceptual database
design, logical database design, dan physical database design.
2.1.9.1 Faktor penting dalam database design methodology
40
Suksesnya suatu perancangan basis data ditentukan dari berbagai
faktor berikut ini:
-
Bekerja secara interaktif dengan pengguna
-
Mengikuti struktur metodologi melalui proses data modeling
-
Penerapan pendekatan data-driven
-
Pembentukan konsiderasi struktur dan integritas ke dalam
model data
-
Mengkombinasikan
teknik
validasi
konseptualisasi,
normalisasi, dan transaksi ke dalam metodologi data modeling
-
Menggunakan diagram untuk merepresentasikan data model
-
Menggunakan database design language (DBDL) untuk
merepresentasikan tambahan data semantik yang sukar
direpresentasikan di dalam diagram
-
Membuat kamus data untuk menyediakan diagram model data
dan DBDL
-
Mempunyai kemauan untuk pengulangan langkah
2.1.9.2 Fase Konseptual
Dalam perancangan basis data, fase konseptual menurut Connolly
dan Begg (2005: 440) meliputi hal berikut ini:
o Identifikasi tipe entitas
o Identifikasi tipe hubungan
o Identifikasi dan asosiasi atribut dengan entitas atau tipe
hubungan
o Menentukan domain atribut
o Menentukan atribut candidate, primary, dan alternate key
41
o Pertimbangkan penggunaan konsep enhanced modeling (opsi
tambahan)
o Cek redudansi suatu model
o Validasi model konseptual dengan transaksi pengguna
o Review model data konseptual dengan pengguna
2.1.9.3 Fase logikal untuk model relasional
Dalam perancangan basis data, fase logikal menurut Connolly dan
Begg (2005: 440-441) meliputi hal berikut ini:

Membuat dan validasi model data logikal. Proses ini
mencakupi mengambil relasi dari model data logikal, validasi
relasi menggunakan normalisasi, validasi relasi terhadap
transaksi pengguna, melihat batasan integritas, dan review
model data logikal dengan pengguna.

Menggabungkan model data logikal ke dalam model global
(opsi tambahan)

Cek perkembangan kedepan
2.1.9.4 Fase fisikal untuk basis data relasional
Dalam perancangan basis data, fase fisikal menurut Connolly dan
Begg (2005: 441) meliputi hal berikut ini:
-
Menerjemahkan model data logikal ke DBMS tujuan. Proses
ini mencakupi perancangan relasi dasar, perancangan
representasi dari data yang diambil, perancangan batasanbatasan umum.
42
-
Merancang file organizations dan indexes. Proses ini
mencakupi analisis transaksi, memilih file organization,
memilih index, estimasi kebutuhan tempat penyimpanan.
-
Merancang user view
-
Merancang mekanisme keamanan
-
Mempertimbangkan pengenalan redudansi terkontrol
-
Memantau dan menyesuaikan sistem operasi
2.2 Teori Khusus
2.2.1
Pembelian
Menurut Pooler, Pooler dan Farney (2004: 3), pembelian merupakan
aktifitas rumit dan kompleks yang mempertemukan penjual dengan
pembeli dimana transaksi permintaan terjadi di antara keduanya.
Menurut Warren, Reeve, dan Fess (2005: 223), pembelian merupakan
sejumlah pembayaran kas kepada pemasok, apabila berupa tunai dicatat
di dalam jurnal kas pembayaran.
2.2.2
Penjualan
Menurut Kotler dan Keller (2006: 457), penjualan merupakan proses
dimana kebutuhan pembeli dan kebutuhan penjualan saling terpenuhi
melalui pertukaran informasi dan kepentingan.
Menurut Warren, Reeve, dan Fess (2005: 529), penjualan merupakan
jumlah total yang dibebankan kepada pelanggan atas barang yang terjual,
termasuk penjualan tunai atau kredit.
2.2.3
Service
Mengutip dari Fitzsimmons (2006: 4), servis ialah wujud dari
pengalaman yang dilakukan kepada pelanggan yang berperan sebagai co-
43
producer. Servis merupakan aktifitas antara pelanggan dengan penyedia
servis sebagai solusi atas masalah-masalah pelanggan.
2.2.4
PHP: Hypertext Preprocessor
Menurut Welling dan Thomson (2005: 2-7), PHP ialah bahasa
pemrograman yang didesain untuk pengembangan web dan dieksekusi di
dalam web server yang kemudian ditampilkan di halaman website. PHP
merupakan produk open-source, yang berarti pengguna dapat mengakses
sumber kode dan mendistribusikannya tanpa dikenai biaya.
Keunggulan PHP meliputi hal berikut ini :
-
Performa
Dengan hanya menggunakan server yang relatif murah, PHP dapat
melayani akses sampai berjuta-juta dalam sehari. PHP memberikan
solusi yang efisien dalam menanggapi performa yang dihasilkan.
-
Integrasi basis data
PHP mempunyai variasi koneksi ke berbagai macam basis data
seperti MySQL, postgreSQL, Oracle, Microsoft SQL Server dan
sebagainya.
-
Biaya
Dalam penggunaan PHP, pengguna tidak dikenakan biaya sama
sekali. Dikarenakan PHP dibawah naungan lisensi open-source.
-
Mendukung pemrograman berbasis objek
PHP menyediakan fasilitas atau metode pemrograman berbasis objek
seperti inheritance, methods, constructor, dan sebagainya.
-
Portabilitas
44
PHP dapat dijalankan di berbagai macam sistem operasi, sehingga
pengguna dapat mengakses dari mana saja.
2.2.5
MySQL
Menurut Welling dan Thomson (2005: 2-7), MySQL ialah suatu produk
Relational Database Management System (RDBMS) yang mempunyai
dua tipe lisensi, yaitu lisensi open-source dan lisensi komersial.
Keunggulan MySQL antara lain meliputi hal berikut:
-
Performa
MySQL merupakan salah satu produk RDBMS yang mempunyai
performa yang dapat diandalkan, yang dapat menyaingi DBMS
berbayar seperti Oracle.
-
Biaya
MySQL mempunyai dua tipe lisensi, yaitu open-source dan
komersial. Dimana lisensi open-source, pengguna tidak dikenakan
biaya sama sekali dalam memakainya namun terikat dengan
perjanjian bahwa aplikasi pengguna harus dinyatakan sebagai freesoftware atau pengguna tidak mendistribusikannya. Sedangkan
lisensi komersil, jika pengguna ingin mendapatkan fitur yang lebih
atau pengguna ingin mendistribusikannya.
-
Portabilitas
MySQL dapat dijalankan di berbagai macam sistem operasi.
2.2.6
Asynchronous Javascript and XML (AJAX)
Menurut McClure, Cate, Glavich, dan Shoemaker (2006: 5-7), AJAX
merupakan sekumpulan teknologi yang digunakan untuk client untuk
45
menyediakan komunikasi antara client user interface dengan web server
secara asynchronous atau tidak bersamaan.
Keuntungan dalam menggunakan AJAX antara lain:
-
AJAX menyediakan kemampuan untuk memanggil data tertentu dari
web server secara terpisah. Sehingga dapat mengurangi waktu yang
dibutuhkan client browser untuk mengambil data secara keseluruhan
-
Dengan tidak melakukan pemanggilan data atau mengirim form data
secara keseluruhan ke dalam web server, maka utilisasi jaringan
dapat diminimalisir sehingga tercapai efisiensi.
-
Dikarenakan aplikasi AJAX terletak didalam client, respon yang
diberikan lebih responsif karena hanya mengambil data tertentu
dibanding aplikasi yang diproses di server secara keseluruhan.
-
Dengan melakukan pemanggilan data secara keseluruhan, pengguna
dapat kehilangan konteks lokasi pengguna di halaman website.
Dengan
AJAX,
konteks
user
dapat
dipertahankan
untuk
mengefisiensikan waktu sehingga dapat mengurangi tindakan
berulang-ulang seperti scrolling dari halaman atas ke bawah.
Download