BAB 2 LANDASAN TEORI
2.1 Teori Umum 2.1.1 Data Menurut Hariyanto (2004, p3), data adalah rekaman mengenai fenomena atau fakta yang ada atau yang terjadi. Menurut Whitten et al. (2004, p23), data adalah fakta mentah mengenai orang, tempat, kejadian dan hal-hal yang penting dalam organisasi.
2.1.2 Basis Data atau Database Menurut Connolly dan Begg (2005, p15), basis data adalah suatu kumpulan data yang secara logikal berhubungan dan suatu deskripsi dari data yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Menurut Whitten et al. (2004, p518), basis data adalah kumpulan file yang saling terkait. Sedangkan file adalah kumpulan record yang serupa. Record adalah kumpulan field yang disusun dalam format yang telah ditetapkan sebelumnya. Field adalah unit terkecil dari data yang mempunyai arti untuk disimpan pada sebuah file atau basis data. 8
9
2.1.3 Sistem Basis Data Menurut Date (2000, p5), sistem basis data pada dasarnya adalah suatu sistem penyimpanan record terkomputerisasi. Merupakan suatu sistem terkomputerisasi yang sebagian besar tujuannya adalah untuk menyimpan informasi dan memungkinkan user untuk me-retrieve dan meng-update informasi sesuai kebutuhan.
2.1.4 Keuntungan dan Kelemahan Basis Data Menurut Whitten et al. (2004, p519), keuntungan basis data antara lain sebagai berikut: ‐ kemampuan untuk berbagi pemakaian data yang sama di banyak aplikasi dan sistem ‐ keuntungan penyimpanan data dalam format yang fleksibel, lingkup basis data bahkan dapat dikembangkan tanpa mengubah program-program yang menggunakan basis data tersebut ‐ menyediakan skalabilitas superior, basis data dan sistem yang menggunakannya
dapat
ditingkatkan
atau
dikembangkan
menemukan kebutuhan-kebutuhan perubahan pada suatu organisasi. Sedangkan kelemahan basis data antara lain sebagai berikut:
untuk
10
‐ lebih kompleks dan membutuhkan perangkat lunak khusus yang disebut dengan sistem manajemen basis data (DBMS) ‐ membutuhkan investasi yang cukup besar karena biaya pengembangan basis data cukup tinggi ‐ meningkatnya vulnerabilitas yang melekat pada penggunaan data yang berbagi-pakai, oleh karena itu backup dan recovery serta keamanan dan privasi menjadi isu penting pada dunia basis data.
2.1.5 Sistem Manajemen Basis Data atau Database Management System (DBMS) Menurut Hariyanto (2004, p4), sistem manajemen basis data adalah perangkat lunak untuk mendefinisikan, menciptakan, mengelola dan mengendalikan pengaksesan basis data. Menurut Connolly dan Begg (2005, p16), sistem manajemen basis data adalah suatu sistem perangkat lunak yang memungkinkan user untuk mendefinisikan, menciptakan, memelihara dan mengontrol akses ke basis data. DBMS menyediakan beberapa fasilitas sebagai berikut: ‐ memungkinkan user mendefinisikan basis data, biasanya menggunakan Data Definition Language (DDL) untuk menspesifikasikan tipe, struktur dan batasan-batasan data yang akan disimpan dalam basis data
11
‐ memungkinkan user melakukan insert, update, delete dan retrieve data dari basis data, biasanya menggunakan Data Manipulation Language (DML). DML memiliki pusat penyimpanan untuk semua data dan deskripsi data yang memungkinkan DML menyediakan suatu fasilitas umum bagi data yang disebut dengan query language. ‐ menyediakan kontrol akses terhadap basis data, seperti sistem keamanan yang mencegah user yang tidak memiliki otorisasi untuk mengakses basis data dan sistem integritas yang memelihara konsistensi data yang tersimpan. Komponen-komponen utama dalam lingkungan DBMS adalah sebagai berikut: • Perangkat Keras atau Hardware Dibutuhkan untuk menjalankan DBMS dan aplikasi. Perangkat keras dapat berupa personal computer (PC), mainframe atau jaringan komputer. • Perangkat Lunak atau Software Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program aplikasi, bersama dengan sistem operasi, termasuk perangkat lunak jaringan jika DBMS digunakan melalui suatu jaringan. • Data Data mungkin merupakan komponen DBMS yang paling penting. Data berperan sebagai suatu jembatan antara komponen mesin dan orang. • Prosedur Menunjuk pada instruksi-instruksi dan aturan-aturan yang mengatur
12
perancangan dan penggunaan basis data. Pengguna sistem dan staf yang mengatur basis data membutuhkan prosedur terdokumentasi mengenai bagaimana menggunakan atau menjalankan sistem. • Orang Merupakan semua orang yang terlibat dengan sistem seperti Data Administrator (DA), Database Administrator (DBA), database designer, application developer dan pengguna akhir atau end-user. Data Hardware
Software
Procedures
People
Bridge Machine
Human
Gambar 2.1 Komponen DBMS Environment Keuntungan DBMS antara lain sebagai berikut: ‐ Kontrol terhadap redundancy data. Mengeliminasi redundancy dengan mengintegrasi file-file sehingga beberapa salinan dari data yang sama tidak disimpan. ‐ Konsistensi data. Dengan mengeliminasi atau mengontrol redundancy, DBMS mengurangi resiko data yang tidak konsisten. ‐ Berbagi data. Secara khusus, file-file dimiliki oleh orang atau departemen yang menggunakannya. Di sisi lain, basis data dimiliki oleh seluruh organisasi dan dapat dibagi ke semua user yang memiliki hak otorisasi. Dalam hal ini, semakin banyak user membagi lebih banyak data. ‐ Meningkatkan integritas data. Integritas basis data menunjuk pada validitas dan konsistensi data yang tersimpan.
13
‐ Meningkatkan keamanan. Keamanan basis data merupakan perlindungan terhadap basis data dari user yang tidak memiliki otorisasi. ‐ Meningkatkan aksesibilitas dan responsivitas data. Melalui integrasi, data dapat melewati batasan departemental dan secara langsung dapat diakses oleh end-user. ‐ Meningkatkan produktivitas. DBMS menyediakan banyak fungsi standar yang secara normal harus ditulis programmer dalam suatu aplikasi filebased. ‐ Meningkatkan layanan backup dan recovery. DBMS menyediakan fasilitas untuk meminimalisasi jumlah pemrosesan yang hilang karena suatu kegagalan. Kerugian DBMS antara lain sebagai berikut: ‐ Ukuran. Kompleksitas dan luasnya fungsionalitas membuat DBMS menjadi bagian besar dari perangkat lunak yang mengisi sejumlah besar disk space dan membutuhkan sejumlah besar memori agar dapat berjalan secara efisien. ‐ Biaya DBMS dan perangkat keras tambahan. Biaya DBMS berubah secara signifikan bergantung pada lingkungan dan fungsionalitas yang disediakan. Kebutuhan disk storage untuk DBMS dan basis data mungkin mengharuskan pembelian storage space tambahan. Lebih jauh lagi, untuk mencapai performa yang dibutuhkan, mungkin memerlukan pembelian mesin yang lebih besar.
14
‐ Performa. DBMS ditulis untuk menjadi lebih umum untuk memenuhi banyak aplikasi, sehingga beberapa aplikasi mungkin tidak dapat berjalan secepat biasanya.
2.1.6 Database Language Menurut Connolly dan Begg (2005, p40), data sublanguage terdiri dari dua bagian: Data Definition Language (DDL) dan Data Manipulation Language (DML). Kebanyakan data sublanguage menyediakan perintah atau command yang dapat di-input secara langsung dari suatu terminal. 2.1.6.1 Data Definition Language (DDL) Menurut Connolly dan Begg (2005, p39), Data Definition Language (DDL) adalah suatu bahasa yang memungkinkan DBA atau user untuk mendeskripsikan dan memberi nama entity, atribut dan relationship yang dibutuhkan untuk aplikasi juga setiap integrity dan security constraint yang berhubungan. DDL digunakan untuk mendefinisikan skema atau memodifikasi yang sudah ada. DDL tidak dapat digunakan untuk memanipulasi data. Menurut Connolly dan Begg (2005, p164), statement DDL SQL adalah sebagai berikut: • CREATE, untuk membuat obyek basis data seperti skema, domain, tabel, view dan indeks
15
• ALTER, untuk mengubah obyek basis data seperti domain dan tabel • DROP, untuk menghapus obyek basis data seperti skema, domain, tabel, view dan indeks. 2.1.6.2 Data Manipulation Language (DML) Menurut Connolly dan Begg (2005, p39), Data Manipulation Language (DML) adalah suatu bahasa yang menyediakan sekumpulan operasi untuk mendukung operasi dasar manipulasi data dalam basis data. Menurut Connolly dan Begg (2005, p117), statement DML SQL adalah sebagai berikut: • SELECT, untuk menyeleksi data dalam basis data sesuai dengan yang dibutuhkan • INSERT, untuk memasukkan data ke dalam tabel • UPDATE, untuk mengubah data dalam suatu tabel • DELETE, untuk menghapus data dari suatu tabel
2.1.7 Normalisasi Menurut Connolly dan Begg (2005, p388), normalisasi adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan properti yang
16
diinginkan berdasarkan kebutuhan data dari suatu perusahaan. Tujuan normalisasi adalah untuk mengidentifikasi suatu kumpulan relasi yang sesuai yang mendukung kebutuhan data perusahaan. Proses normalisasi adalah sebagai berikut: Unnormalized Form (UNF) UNF adalah suatu tabel yang mengandung satu atau lebih repeating group atau data berulang. First Normal Form (1NF) 1NF adalah suatu relasi dimana perpotongan atau interseksi dari setiap baris dan kolom mengandung satu dan hanya satu nilai. Langkah untuk mentransformasikan UNF menjadi 1NF adalah sebagai berikut: • mengidentifikasi dan membuang repeating group dalam tabel. Repeating group adalah suatu atribut atau kelompok atribut dalam suatu tabel yang memiliki beberapa nilai untuk suatu kejadian tunggal dari atribut nominated key dalam tabel. Terdapat dua pendekatan: ‐ membuang repeating group dengan memasukkan data yang sesuai dalam kolom kosong dari baris yang mengandung data berulang atau memenuhi sel yang kosong dengan menduplikasi nonrepeating data, ketika dibutuhkan. Di sini redundancy dihasilkan, namun kemudian dibuang selama proses normalisasi. ‐ menempatkan data berulang bersamaan dengan suatu salinan dari atribut key asli dalam suatu relasi yang terpisah, primary key diidentifikasikan untuk relasi baru.
17
Second Normal Form (2NF) 2NF adalah suatu relasi yang sudah bentuk normal pertama dan setiap atribut yang bukan primary key secara penuh bergantung fungsional pada primary key. Langkah untuk mentransformasikan 1NF menjadi 2NF adalah sebagai berikut: • membuang ketergantungan parsial, jika terdapat ketergantungan parsial, membuang atribut yang bergantung fungsional dari relasi dengan menempatkannya dalam suatu relasi baru bersamaan dengan suatu
salinan
determinannya.
Full
Functional
Dependency
mengindikasikan jika A dan B adalah atribut dari suatu relasi, B bergantung penuh fungsional pada A jika B bergantung fungsional pada A, tetapi tidak pada setiap subset A. Third Normal Form (3NF) 3NF adalah suatu relasi yang sudah bentuk normal pertama dan kedua dimana tidak ada atribut yang bukan primary key yang bergantung transitif pada primary key. Langkah untuk mentransformasikan 2NF menjadi 3NF adalah sebagai berikut: • membuang ketergantungan transitif, jika terdapat ketergantungan transitif, membuang atribut yang bergantung transitif dari relasi dengan menempatkan atribut dalam suatu relasi baru bersamaan dengan suatu salinan determinan.
18
2.1.8 Siklus Hidup Pengembangan Sistem Basis Data Menurut Connolly dan Begg (2005, p283), siklus hidup pengembangan sistem basis data adalah sebagai berikut: Perencanaan Basis data
Definisi Sistem
Pengumpulan & Analisis Kebutuhan Perancangan Basis data Perancangan Basis data Konseptual Pemilihan DBMS (pilihan)
Perancangan Aplikasi Perancangan Basis data Logikal
Perancangan Basis data Fisikal
Prototyping (pilihan)
Implementasi
Konversi & Loading Data
Pengujian
Pemeliharaan Operasional
Gambar 2.2 Siklus Hidup Pengembangan Sistem Basis Data
19
2.1.8.1 Perencanaan Basis Data Tahap ini merencanakan bagaimana tahap-tahap siklus hidup dapat direalisasikan lebih efisien dan efektif. Langkah penting pertama dalam perencanaan basis data adalah mendefinisikan secara jelas mission statement untuk sistem basis data. Mission statement mendefinisikan
tujuan
utama
dari
sistem basis
data
dan
menyediakan jalur yang lebih jelas dalam membangun sistem basis data yang dibutuhkan secara efisien dan efektif. Kemudian mengidentifikasikan mission objective. Setiap mission objective harus mengidentifikasikan suatu tugas tertentu yang harus didukung oleh sistem basis data. Asumsinya adalah jika sistem basis data mendukung mission objective kemudian mission statement akan terhubung. Perencanaan pengembangan dikumpulkan,
basis
standar
data yang
bagaimana
harus
juga
mengatur
format
harus
menyertakan
bagaimana
data
dispesifikasikan,
dokumentasi apa yang diperlukan dan bagaimana perancangan dan implementasi harus diproses. 2.1.8.2 Definisi Sistem Tahap ini menspesifikasikan ruang lingkup dan batasan aplikasi basis data, user, user view utama dan area aplikasi.
20
Langkahnya adalah mengidentifikasikan user view. User view mendefinisikan apa yang dibutuhkan dari suatu sistem basis data dari perspektif suatu peran kerja tertentu atau area aplikasi perusahaan. 2.1.8.3 Pengumpulan dan Analisis Kebutuhan Tahap ini merupakan proses mengumpulkan dan menganalisis informasi mengenai bagian organisasi yang akan didukung oleh aplikasi basis data dan menggunakan informasi tersebut untuk mengidentifikasikan kebutuhan user dari sistem baru. Informasi dikumpulkan dengan menggunakan teknik fact-finding. Informasi yang dikumpulkan untuk setiap user view utama termasuk: - suatu deskripsi data yang digunakan atau digenerate - detail bagaimana data digunakan atau digenerate - setiap kebutuhan tambahan untuk sistem basis data baru Kebutuhan dideskripsikan dalam dokumen yang disebut dengan spesifikasi kebutuhan. Teknik spesifikasi kebutuhan seperti teknik Structured Analysis and Design (SAD), Data Flow Diagram (DFD) dan grafik Hierarchical Input Proses Output (HIPO) didukung dokumentasi.
21
Terdapat tiga pendekatan utama untuk mengatur kebutuhan dari suatu aplikasi basis data dengan beberapa user view sebagai berikut: • Centralized Approach Kebutuhan untuk setiap user view digabungkan ke dalam suatu set tunggal dari kebutuhan untuk aplikasi basis data baru. • View Integration Approach Kebutuhan untuk setiap user view digunakan untuk membangun suatu model data terpisah untuk merepresentasikan user view tersebut. Hasil dari model data tersebut digabungkan kemudian pada tahap perancangan basis data. • Kombinasi dari kedua pendekatan tersebut 2.1.8.4 Perancangan Basis Data Tahap ini merupakan proses menciptakan suatu rancangan untuk suatu basis data yang akan mendukung operasi dan tujuan perusahaan. Terdapat beberapa pendekatan untuk perancangan suatu basis data sebagai berikut:
22
• Pendekatan Bottom-Up Pendekatan ini dimulai pada tingkat fundamental dari atribut yaitu properti entity dan relationship yang melalui analisis asosiasi antara atribut dikelompokan ke dalam relasi-relasi yang merepresentasikan tipe entity dan relationship antara entitas. Pendekatan ini cocok untuk perancangan basis data sederhana dengan sedikit atribut. Pendekatan ini direpresentasikan dengan proses normalisasi. • Pendekatan Top-Down Pendekatan ini dimulai dengan pengembangan model data yang mengandung sedikit entitas dan relationship high-level dan kemudian mengidentifikasi entitas, relationship lower-level dan atribut
yang
berasosiasi.
Pendekatan
ini
cocok
untuk
perancangan basis data kompleks. Pendekatan ini diilustrasikan menggunakan konsep pemodelan entity-relationship (ER) yang dimulai dengan identifikasi entitas dan relationship antara entity yang menarik bagi organisasi. • Pendekatan Inside-Out Pendekatan ini berkaitan dengan pendekatan bottom-up tetapi berbeda
dengan
pertama-tama
mengidentifikasikan
suatu
kumpulan entitas mayor dan kemudian menyebar untuk
23
mempertimbangkan entitas, relationship dan atribut yang berasosiasi dengan entitas yang telah diidentifikasikan pertama kali. • Pendekatan Mixed Strategy Pendekatan ini menggunakan baik pendekatan bottom-up dan top-down untuk berbagai bagian model sebelum pada akhirnya menyatukan semua bagian bersama. Perancangan basis data juga berkaitan dengan pemodelan data. Tujuan utama dari pemodelan data adalah untuk membantu dalam memahami arti data dan untuk memfasilitasi komunikasi mengenai kebutuhan informasi. Model data dapat digunakan untuk menyampaikan
pemahaman
perancang
terhadap
kebutuhan
informasi perusahaan. Dengan menyediakan kelompok-kelompok yang familiar dengan notasi yang digunakan dalam model, akan mendukung komunikasi antara user dan perancang. Perancangan basis data dibangun dari tiga tahap utama yaitu perancangan basis data konseptual, logikal dan fisikal. 2.1.8.5 Pemilihan DBMS (pilihan) Tahap ini memilih suatu DBMS yang sesuai untuk mendukung aplikasi basis data. Suatu pendekatan sederhana untuk pemilihan
adalah
untuk
memeriksa
fitur
DBMS
terhadap
24
kebutuhan. Selain itu, sistem diharapkan dapat memberikan keuntungan bagi perusahaan. 2.1.8.6 Perancangan Aplikasi Tahap ini merancang user interface dan program aplikasi yang menggunakan dan memproses basis data. Terdapat dua aspek dari perancangan aplikasi sebagai berikut: • Perancangan Transaksi Transaksi adalah suatu aksi atau kumpulan aksi yang dibawa oleh suatu user tunggal atau program aplikasi yang mengakses atau mengubah isi dari basis data. Tujuan dari perancangan
transaksi
adalah
untuk
mendefinisikan
dan
mendokumentasikan karakteristik high-level dari transaksi yang dibutuhkan pada basis data termasuk: ‐ data yang akan digunakan oleh transaksi ‐ karakteristik fungsional dari transaksi ‐ output transaksi ‐ kepentingan user ‐ rata-rata penggunaan yang diperkirakan
25
Terdapat tiga tipe utama transaksi yaitu retrieval transaction, update transaction dan mixed transaction. • Perancangan User Interface Menurut Shneiderman (1992), pedoman dalam merancang form atau report antara lain memfokuskan pada judul yang berarti, pengelompokan dan pengurutan field secara logikal, rancangan yang menarik secara visual, koreksi kesalahan untuk karakter individual dan keseluruhan field, pesan kesalahan untuk nilai yang tidak dapat diterima, tanda penyelesaian dan bagian user interface lainnya. 2.1.8.7 Prototyping (pilihan) Tahap ini membangun suatu model kerja dari suatu aplikasi basis data yang tidak memiliki semua fitur yang dibutuhkan atau tidak menyediakan semua fungsionalitas dari sistem akhir. Tujuan dari pengembangan suatu prototype adalah untuk memungkinkan user menggunakan prototype untuk mengidentifikasikan fitur sistem yang berjalan baik atau kurang lengkap dan jika memungkinkan untuk menyarankan pengembangan atau bahkan fitur baru untuk aplikasi basis data. Terdapat dua strategi prototyping sebagai berikut:
26
• Requirement Prototyping Menggunakan suatu prototype untuk menentukan kebutuhan dari suatu aplikasi basis data yang diusulkan dan ketika kebutuhan sudah lengkap, prototype dibuang. • Evolutionary Prototyping Digunakan untuk tujuan yang sama, perbedaan pentingnya adalah prototype tidak dibuang tetapi dengan pengembangan lebih lanjut menjadi aplikasi basis data. 2.1.8.8 Implementasi Tahap ini merupakan realisasi fisikal dari rancangan basis data dan aplikasi. Implementasi basis data dicapai dengan menggunakan Data Definition Language (DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI). Program aplikasi diimplementasikan dengan menggunakan bahasa pemrograman terpilih. Bagian dari program aplikasi adalah transaksi basis data yang
diimplementasikan
menggunakan
Data
Manipulation
Language (DML) dari DBMS. Kontrol keamanan dan integritas untuk aplikasi juga diimplementasikan.
27
2.1.8.9 Konversi dan Loading Data Tahap ini mentransfer setiap data yang ada ke dalam basis data baru dan mengkonversi setiap aplikasi yang ada untuk dijalankan pada basis data baru. Tahap ini dibutuhkan hanya jika suatu sistem basis data baru menggantikan sistem lama. 2.1.8.10 Pengujian Tahap ini merupakan proses mengeksekusi program aplikasi untuk menemukan kesalahan. Jika pengujian telah dilakukan, akan menunjukkan kesalahan-kesalahan pada program aplikasi dan pada struktur basis data. Pengujian juga mendemonstrasikan bahwa basis data dan program aplikasi bekerja berdasarkan pada spesifikasinya dan kebutuhan performa telah dipenuhi. Tahap pengujian menyediakan suatu ukuran kehandalan dan kualitas perangkat lunak. Sebaiknya user dilibatkan dalam proses pengujian. 2.1.8.11 Pemeliharaan Operasional Tahap ini merupakan proses memonitor dan memelihara sistem setelah instalasi, terdiri dari: ‐ memonitor performa sistem, jika performa berada di bawah tingkat yang dapat diterima, perbaikan atau reorganisasi basis data mungkin dibutuhkan
28
‐ pemeliharaan dan peningkatan aplikasi basis data (ketika dibutuhkan), kebutuhan baru dimasukkan ke dalam aplikasi basis data melalui tahap-tahap siklus hidup sebelumnya.
2.1.9 Perancangan Basis Data Menurut Connolly dan Begg (2005, p437), proses perancangan terbagi menjadi tiga tahap utama yaitu perancangan basis data konseptual, logikal dan fisikal. 2.1.9.1 Perancangan Basis Data Konseptual Tahap ini merupakan proses konstruksi suatu model informasi yang digunakan dalam suatu perusahaan, tidak bergantung pada semua pertimbangan fisikal. Langkah-langkahnya adalah sebagai berikut: 1.
Membangun model data konseptual Tujuannya untuk membangun suatu model data konseptual dari kebutuhan data perusahaan. Setiap model data konseptual lokal terdiri dari tipe entity, tipe relationship, atribut dan domain atribut, primary key dan alternate key, dan integrity constraint. 1.1
Mengidentifikasi tipe entity
1.2
Mengidentifikasi tipe relationship
29
1.3
Mengidentifikasi dan mengasosiasi atribut dengan tipe entity atau relationship
1.4
Menentukan domain atribut
1.5
Menentukan atribut candidate, primary dan alternate key
1.6
Mempertimbangkan
penggunaan
konsep
pemodelan
enhanced (pilihan) 1.7
Memeriksa redundancy pada model
1.8
Memvalidasi model konseptual dengan transaksi user
1.9
Mereview model data konseptual dengan user
2.1.9.2 Perancangan Basis Data Logikal Tahap ini merupakan proses konstruksi suatu model informasi yang digunakan dalam suatu perusahaan berdasarkan pada suatu model data spesifik, tetapi tidak bergantung pada suatu DBMS tertentu dan pertimbangan fisikal lainnya. Langkah-langkahnya adalah sebagai berikut: 2.
Membangun dan memvalidasi model data logikal Tujuannya untuk mentranslasikan model data konseptual ke dalam suatu model data logikal dan kemudian memvalidasi
30
model ini untuk memeriksa bahwa model tersebut benar secara struktural dan dapat mendukung transaksi yang dibutuhkan. 2.1
Menghasilkan relasi untuk model data logikal
2.2
Memvalidasi relasi menggunakan normalisasi
2.3
Memvalidasi relasi terhadap transaksi user
2.4
Memeriksa integrity constraints
2.5
Mereview model data logikal dengan user
2.6
Menggabungkan model data logikal ke dalam model global (pilihan)
2.7
Memeriksa perkembangan jangka panjang
2.1.9.3 Perancangan Basis Data Fisikal Tahap ini merupakan proses menghasilkan suatu deskripsi dari
implementasi
basis
data
pada
secondary
storage,
mendeskripsikan basis relasi, organisasi file dan indeks yang digunakan untuk mencapai akses data yang efisien dan integrity constrains yang berhubungan serta ukuran keamanan. Langkahlangkahnya adalah sebagai berikut:
31
3.
Mentranslasikan model data logikal untuk target DBMS Tujuannya untuk menghasilkan suatu skema basis data relasional
dari
model
data
logikal
yang
dapat
diimplementasikan dalam target DBMS.
4.
3.1
Merancang basis relasi
3.2
Merancang representasi derived data
3.3
Merancang general constraint
Merancang organisasi file dan indeks Tujuannya untuk menentukan organisasi file yang optimal untuk menyimpan basis relasi dan indeks yang dibutuhkan untuk mencapai performa yang dapat diterima, cara dimana relasi dan tuple yang akan berada di secondary storage. 4.1
Menganalisis transaksi
4.2
Memilih organisasi file
4.3
Memilih indeks
4.4
Mengestimasi kebutuhan disk space
32
5.
Merancang user view Tujuannya
untuk
merancang
user
view
yang
telah
diidentifikasikan selama tahap pengumpulan dan analisis kebutuhan dari siklus hidup pengembangan sistem basis data. 6.
Merancang mekanisme keamanan Tujuannya untuk merancang mekanisme keamanan untuk basis data seperti yang telah dispesifikasikan oleh user selama tahap pengumpulan dan analisis kebutuhan dari siklus hidup pengembangan sistem basis data.
7.
Mempertimbangkan pengenalan kontrol redundancy Tujuannya untuk menentukan apakah pengenalan redundancy dalam suatu cara yang terkontrol dengan mengurangi aturan normalisasi akan meningkatkan performa sistem. 7.1
Menggabungkan one-to-one (1:1) relationship
7.2
Menduplikasi atribut non key dalam one-to-many (1:*) relationship untuk mengurangi join
7.3
Menduplikasi atribut foreign key dalam one-to-many (1:*) relationship untuk mengurangi join
7.4
Menduplikasi
atribut
dalam
relationship untuk mengurangi join
many-to-many
(*:*)
33
8.
7.5
Memperkenalkan repeating group
7.6
Membuat tabel ekstrak
7.7
Membagi relasi
Memonitor dan memelihara sistem operasional Tujuannya
untuk
memonitor
sistem
operasional
dan
meningkatkan performa sistem untuk memperbaiki keputusan perancangan yang tidak sesuai atau mempertimbangkan kebutuhan yang berubah.
2.1.10 Diagram Aliran Data atau Data Flow Diagram (DFD) Menurut Whitten et al. (2004, p326), Data Flow Diagram (DFD) adalah model proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem dan tugas atau pengolahan yang dilakukan oleh sistem. Sinonimnya antara lain bagan bubble, grafik transformasi dan model proses. Konsep dasar dari model proses adalah sebagai berikut: • Konsep Proses Proses adalah kerja yang dilakukan oleh sistem sebagai respon terhadap aliran data masuk atau kondisi. Sinonimnya adalah transform. Dekomposisi subkomponen.
proses
adalah
proses
membagi
sistem
menjadi
34
Nama Proses
Nama Proses
Nama Proses
Bentuk Gane dan Sarson
Bentuk DeMarco/Yourdon
Bentuk SSADM/IDEF0
Gambar 2.3 Simbol Proses • Aliran Data atau Data Flow Aliran data adalah data yang menjadi input atau output ke atau dari proses. Nama Aliran Data
Gambar 2.4 Simbol Aliran Data • Agen Eksternal Agen eksternal adalah orang, unit organisasi, sistem atau organisasi luar yang berinteraksi dengan sistem. Disebut juga entitas eksternal. Agen
Agen
Eksternal
Eksternal
Bentuk Gane dan Sarson
Bentuk DeMarco/Yourdon
Gambar 2.5 Simbol Agen Eksternal • Data Store Data store adalah penyimpanan data yang ditujukan untuk penggunaan selanjutnya. Sinonimnya adalah file dan basis data.
35
Data Store
Data Store
Bentuk Gane dan Sarson
Bentuk DeMarco/Yourdon
Gambar 2.6 Simbol Data Store Berikut ini adalah contoh data flow diagram.
Bank
Penarikan atau Transfer
Deposito
Transaksi Rekening
Debet
Rekening Bank
Penarikan Dana dari Rekening
Gambar 2.7 Contoh Data Flow Diagram
2.1.11 State Transition Diagram (STD) Menurut Whitten et al. (2004, p636), State Transition Diagram (STD) adalah diagram yang digunakan untuk menggambarkan urutan dan variasi screen yang dapat terjadi selama satu sesi pengguna. • Screen Screen
Gambar 2.8 Simbol Screen • Aliran Kontrol Aliran kontrol menggerakkan kejadian yang akan menyebabkan screen menjadi aktif atau menerima fokus. Sebuah anak panah yang terpisah,
36
masing-masing memiliki nama, digambar untuk setiap arah karena tindakan yang berbeda akan menggerakkan aliran kontrol dari dan ke screen yang ada. Nama Aliran Kontrol
Gambar 2.9 Simbol Aliran Kontrol Berikut ini adalah contoh state transition diagram.
Otorisasi Keamanan
Login Sukses
Sistem Layanan Anggota
Gambar 2.10 Contoh State Transition Diagram
2.1.12 Pemodelan ER atau Entity Relationship Modelling Menurut Connolly dan Begg (2005, p342), Entity Relationship Modelling adalah pendekatan top-down untuk perancangan basis data yang dimulai dengan mengidentifikasi data penting yang disebut dengan enitity dan relationship antara data yang harus direpresentasikan dalam model. 2.1.12.1 Tipe Entity Menurut Connolly dan Begg (2005, p343), tipe entity adalah kumpulan obyek dengan properti yang sama yang diidentifikasikan oleh perusahaan yang memiliki keberadaan mandiri. Entity Occurrence merupakan suatu obyek yang teridentifikasi secara unik dari setiap tipe entity.
37
Nama Entity
Nama Entity
Gambar 2.11 Simbol Entity 2.1.12.2 Tipe Relationship Menurut Connolly dan Begg (2005, p346), tipe relationship adalah sekumpulan asosiasi di antara tipe entity. Relationship Occurrence adalah suatu asosiasi yang teridentifikasi secara unik, termasuk satu kejadian dari setiap tipe entity yang berpartisipasi. Degree atau tingkat tipe relationship adalah jumlah tipe entity yang berpartisipasi dalam suatu relationship. Menurut Connolly dan Begg (2005, p349), recursive relationship adalah tipe relationship dimana tipe entity yang sama berpartisipasi lebih dari sekali dalam aturan yang berbeda. Nama Relationship Nama Entity
Nama Entity
Gambar 2.12 Simbol Relationship 2.1.12.3 Atribut Menurut Connolly dan Begg (2005, p350), atribut adalah suatu properti dari suatu tipe entity atau relationship. Terdapat beberapa karakteristik umum dari atribut sebagai berikut:
38
• Domain Atribut Menurut Connolly dan Begg (2005, p350), domain atribut adalah kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. • Simple Attribute Menurut Connolly dan Begg (2005, p351), simple attribute adalah suatu atribut yang tersusun dari suatu komponen tunggal dengan suatu keberadaan mandiri. • Composite Attribute Menurut Connolly dan Begg (2005, p351), composite attribute adalah suatu atribut yang tersusun dari beberapa komponen, setiap komponen dengan suatu keberadaan mandiri. • Single-Valued Attribute Menurut Connolly dan Begg (2005, p351), single-valued attribute adalah suatu atribut yang berisi suatu nilai tunggal untuk setiap kejadian dari setiap tipe entity. • Multi-Valued Attribute Menurut Connolly dan Begg (2005, p352), multi-valued attribute adalah suatu atribut yang berisi beberapa nilai untuk setiap kejadian dari setiap tipe entity.
39
• Derived Attribute Menurut Connolly dan Begg (2005, p352), derived attribute adalah suatu atribut yang merepresentasikan suatu nilai yang dihasilkan dari nilai atribut yang berelasi atau kumpulan atribut, tidak perlu berada pada tipe entity yang sama. Nama Entity
Nama Entity
Atribut (PK) Atribut
Atribut (PK) Nama Relationship
Atribut
Atribut
Atribut
Atribut
Atribut
Gambar 2.13 Simbol Atribut 2.1.12.4 Key Menurut Whitten et al. (2004, p282), key adalah atribut atau kelompok atribut yang mengasumsikan nilai unik untuk tiap contoh entitas. Disebut juga identifier. Terdapat beberapa jenis key sebagai berikut: • Candidate Key Menurut Connolly dan Begg (2005, p352), candidate key adalah kumpulan atribut minimum yang secara unik mengidentifikasi setiap kejadian dari tipe entity.
40
• Primary Key Menurut Connolly dan Begg (2005, p353), primary key adalah candidate key yang dipilih untuk secara unik mengidentifikasi setiap kejadian dari setiap tipe entity. • Foreign Key Menurut Connolly dan Begg (2005, p79), foreign key adalah suatu atribut atau kumpulan atribut dalam suatu relasi yang mencocokkan candidate key dari beberapa relasi atau mungkin juga relasi yang sama. • Composite Key Menurut Connolly dan Begg (2005, p353), composite key adalah candidate key yang terdiri dari dua atau lebih atribut. • Alternate Key Menurut Connolly dan Begg (2005, p79), alternate key merupakan candidate key yang tidak terpilih menjadi primary key. Disebut juga dengan secondary key. 2.1.12.5 Strong dan Weak Entity Menurut Connolly dan Begg (2005, p354), tipe entity strong adalah suatu tipe entity yang keberadaannya tidak bergantung pada
41
beberapa tipe entity lainnya. Tipe entity weak adalah suatu tipe entity yang keberadaannya bergantung pada tipe entity lainnya. 2.1.12.6 Structural Constraints Menurut Connolly dan Begg (2005, p356), tipe utama dari constraint
pada
relationship
disebut
dengan
multiplicity.
Multiplicity merupakan jumlah kemungkinan kejadian dari suatu tipe entity yang mungkin berhubungan dengan suatu kejadian tunggal dari suatu tipe entity yang berasosiasi melalui suatu relationship tertentu. • One-to-One (1:1) Relationships Tipe Entity 1
Tipe Relationship
Tipe Entity 2
R1
B1
R2
B2
A1
A2
A3
Gambar 2.14 One-to-One Relationship Nama Relationship Nama Entity
Nama Entity 1..1
0..1
Gambar 2.15 Multiplicity One-to-One Relationship
42
• One-to-Many (1:*) Relationships Tipe Entity 1
Tipe Relationship
Tipe Entity 2
A1
R1
B1
A2
R2
B2 B3 A3
R3
B4
Gambar 2.16 One-to-Many Relationship Nama Relationship Nama Entity
Nama Entity 0..1
0..*
Gambar 2.17 Multiplicity One-to-Many Relationship • Many-to-Many (*:*) Relationships Tipe Entity 1
Tipe Relationship
Tipe Entity 2
A1
R1
B1
R2
B2
R3
B3
R4
B4
A2
A3
Gambar 2.18 Many-to-Many Relationship Nama Relationship Nama Entity
Nama Entity 0..*
1..*
Gambar 2.19 Multiplicity Many-to-Many Relationship
43
• Cardinality dan Participation Constraints Menurut Connolly dan Begg (2005, p362), cardinality mendeskripsikan jumlah maksimum dari kemungkinan kejadian relationship untuk suatu entity yang berpartisipasi dalam suatu tipe relationship yang ada. Cardinality dari binary relationship yaitu one-to-one (1:1), one-to-many (1:*) dan many-to-many (*:*). Participation menentukan apakah semua atau hanya beberapa kejadian entity yang berpartisipasi dalam suatu relationship.
2.2 Teori Khusus 2.2.1 Internet Menurut Eaglestone dan Ridley (2001, p20), internet adalah suatu jaringan yang menghubungkan bersama jaringan-jaringan komputer yang berada di seluruh dunia.
2.2.2 Web Menurut Eaglestone dan Ridley (2001, p20), web adalah suatu aplikasi internet yang memungkinkan suatu wilayah informasi dan layanan yang luas disimpan dan diakses pada internet.
44
Web menyediakan suatu interface seragam yang sederhana ke internet dan menyediakan suatu fasilitas untuk menyimpan dan menerima interlinked
dokumen
hypermedia.
Dokumen
hypermedia
dikodekan
menggunakan suatu mark-up language yang disebut dengan HTML atau turunan darinya dan dialamatkan dengan URL. Program memanggil gateway pada komputer web server yang menyediakan akses ke sumber lain. Gateway diakses menggunakan Common Gateway Interface (CGI). User mengakses sumber web dari komputer client menggunakan program browser. Link-link antara client dan server dibangun menggunakan suatu protokol yang disebut dengan Hypertext Transfer Protocol (HTTP). Aplikasi web antara lain publikasi, e-commerce, dukungan terhadap group activities dan lain-lain.
2.2.3 Sistem Web Database Menurut Eaglestone dan Ridley (2001, p31), sistem web database adalah sistem dimana teknologi web dan basis data digunakan. Sistem ini menyediakan akses yang lebih luas ke sistem basis data, cara mendistribusikan sistem dan layanan lebih melalui integrasi sistem. Menurut Eaglestone dan Ridley (2001, p348), aplikasi berbasis web harus dikonstruksi dalam arsitektur client-server. Suatu sistem basis data web akan melibatkan bagian-bagian berikut:
45
• Sistem Client Menurut www.wikipedia.org, client adalah suatu aplikasi atau sistem yang mengakses suatu kendali layanan pada sistem komputer lain yang dikenal sebagai server melalui suatu jaringan. Menurut Eaglestone dan Ridley (2001, p348), sistem ini menampilkan halaman web yang menyediakan user interface ke sistem basis data web. • Sistem Web Server Menurut www.wikipedia.org, server adalah suatu program komputer yang menghantarkan suatu layanan kepada client-client. Menurut Eaglestone dan Ridley (2001, p348), sistem ini menyimpan dokumen web, script dan program. Dokumen web adalah versi mark-up dari halaman web yang ditampilkan oleh browser dan mungkin juga menyertakan script yang berkaitan dengan aspek dinamis seperti retrieval, manipulasi dan update data dalam basis data. Program-program juga mengimplementasikan aspek dinamis dari sistem. Program mungkin mengimplementasikan sistem basis data atau menyediakan suatu interface ke sistem basis data.
2.2.4 Implementasi Web Database Menurut Eaglestone dan Ridley (2001, p349), terdapat tiga pendekatan dalam mengimplementasikan web database sebagai berikut:
46
• Pendekatan Client-Side Aplikasi dieksekusi dengan sistem web client daripada dengan server. Lebih cocok untuk implementasi fungsionalitas skala kecil seperti validasi dan kalkulasi data. • Pendekatan Server-Side Pendekatan ini mengeksekusi pemrosesan aplikasi pada sistem komputer server daripada dengan client. Sebaiknya digunakan untuk pemrosesan kompleks skala besar. • Pendekatan Client-Side dan Server-Side Aplikasi client-server didistribusikan antara dua sistem komputer yang menyediakan suatu interface (client) dan suatu layanan (server). Aplikasi client-server dalam komputasi memiliki kemampuan untuk mengurangi beban kerja pada suatu server dengan menampilkan sebanyak mungkin fungsi pada suatu mesin client. Sehingga suatu client dapat didedikasikan untuk mengeksekusi aplikasi untuk user tertentu, server harus menyediakan layanan untuk banyak user lain dari client lain.
2.2.5 Perpustakaan Menurut www.wikipedia.org, perpustakaan adalah koleksi dari banyak sumber, sumber daya dan jasa dan struktur yang ditempatkan, yang disusun
47
dan dikelola oleh badan publik, lembaga maupun pribadi atau individu. Dalam pengertian tradisional perpustakaan adalah koleksi dari buku. Selain buku untuk menyimpan informasi, banyak perpustakaan yang telah menyediakan media penyimpanan lain seperti peta, dokumen, CD, DVD dan audio kaset. Perpustakaan juga dapat menyediakan fasilitas umum seperti mengakses basis data dan internet. Dengan demikian perpustakaan modern sering didefinisikan sebagai tempat untuk mendapatkan akses tidak terbatas terhadap informasi dalam berbagai bentuk format dan dari banyak sumber. 2.2.5.1 Jenis Perpustakaan Perpustakaan dapat dibagi menjadi beberapa kategori dengan beberapa metode sebagai berikut: • Berdasarkan Entitas (Lembaga atau Badan Hukum): ‐ Perpustakaan Akademik ‐ Perpustakaan Perusahaan ‐ Perpustakaan Pemerintah, seperti Perpustakaan Nasional ‐ Perpustakaan Pribadi ‐ Perpustakaan Umum ‐ Perpustakaan Sekolah • Berdasarkan Jenis Dokumen atau Bahan-Bahan yang Dipegang: ‐ Perpustakaan Data
48
‐ Perpustakaan Digital ‐ Slide Perpustakaan • Berdasarkan Subyek Dokumen yang Dipegang: ‐ Perpustakaan Arsitektur ‐ Perpustakaan Seni ‐ Perpustakaan Hukum ‐ Perpustakaan Medis • Berdasarkan Pengguna yang Dilayani: ‐ Komunitas Militer ‐ Pengguna yang Buta atau Cacat Fisik • Berdasarkan Pembagian Profesional Tradisional: ‐ Perpustakaan Akademik ‐ Perpustakaan Umum ‐ Perpustakaan Penelitian ‐ Perpustakaan Sekolah ‐ Perpustakaan Khusus 2.2.5.2 Sirkulasi Perpustakaan Sirkulasi mencakup semua bentuk kegiatan pencatatan yang berkaitan dengan pemanfaatan, penggunaan koleksi perpustakaan dengan tepat guna dan tepat waktu untuk kepentingan pengguna jasa perpustakaan.
49
Salah satu kegiatan atau jasa utama perpustakaan adalah peminjaman buku dan materi lainnya. Kegiatan peminjaman ini sering dikenal dengan nama sirkulasi artinya peminjaman. Bagian ini, terutama meja sirkulasi, seringkali dianggap ujung tombak jasa perpustakaan karena bagian inilah yang pertama kali berhubungan dengan pengguna atau pemakai serta paling sering digunakan pemakai, karenanya unjuk kerja staf sirkulasi dapat berpengaruh terhadap citra perpustakaan. 2.2.5.3 Sistem Pelayanan Jenis sistem pelayanan di perpustakaan adalah sebagai berikut: a.
Terbuka (Open Access) Sistem terbuka membebaskan pengunjung ke tempat koleksi perpustakaan dijajakan, dapat melakukan browsing atau membuka, melihat dan mengambil sendiri koleksi yang ada.
b.
Tertutup (Closed Access) Sistem tertutup tidak memperbolehkan pengunjung masuk ke rak-rak koleksi untuk membaca ataupun mengambil sendiri koleksi yang ada. Pengunjung hanya dapat membaca atau meminjam melalui petugas yang akan mengembalikan bahan pustaka untuk para pengunjung.