BAB 2 LANDASAN TEORI 2.1.
Teori Umum 2.1.1.
Pengertian Sistem Basis Data (Database) Database adalah komputerisasi sistem penyimpanan data yang
bertujuan untuk menyimpan informasi dan menyediakan informasi pada saat dibutuhkan (Date, 1990, p.4). Database merupakan sekumpulan data yang terus-menerus dapat di-share dan saling berhubungan (M annino, 2001, p.45). Database terdiri dari kumpulan informasi, tabel, dan objek lainnya yang terorganisasi dan dirancang untuk memenuhi kebutuhan tertentu, seperti menambah,
menghapus,
mengedit,
mencari,
mengurutkan,
dan
menggabungkan data. Database disimpan dalam bentuk file, sama seperti data file yang merupakan tempat untuk penyimpanan data. Database tidak akan menyediakan informasi langsung kepada pemakai, tetapi pemakai harus menjalankan
aplikasi
untuk
mengakses
data
dari
database
dan
menampilkannya dalam bentuk yang dapat dimengerti oleh pemakai. Sistem database dapat diterapkan pada semua jenis komputer, mulai dari komputer mikro seperti Personal Computer (PC) sampai ke mainframe. 2.1.2.
Pengertian
Sistem
Manajemen
Basis
Data
(Database
Management System / DBMS) DBM S adalah sistem piranti lunak yang memperbolehkan pengguna untuk menentukan, menciptakan, merawat, dan mengontrol database.
8
9 DBMS juga merupakan sebuah tempat penyimpanan dan kumpulan file data yang terkomputerisasi yang memungkinkan satu atau lebih pemakai melakukan berbagai jenis operasi pada file tersebut, termasuk mengambil, menambah, mengubah, memperbaharui, dan menghasilkan laporan. Sedangkan sistem yang mengorganisasikan data ke dalam tabel relasional adalah RDBMS (Relational Database Management System}. Relational
database
merupakan
salah
satu
cara
untuk
mengorganisasikan data dalam database. Sistem relational database menggunakan
teori
himpunan
dalam
matematika
untuk
mengorganisasikan data secara efektif ke dalam tabel. Untuk menyimpan dan mengambil data atau informasi dari database relasional tidaklah perlu mengetahui
bagaimana
data
dipresentasikan
di
dalam
media
penyimpanan. Bahasa standar yang digunakan untuk bekerja dengan database adalah Structured Query Language (SQL).
2.2. Teori Penunjang 2.2.1.
Sejarah Sistem Basis Data (Database) Menurut Thomas Connolly dan Carolyn Begg (Database
Systems, 2002, p.xxxv), sejarah penelitian database telah dilakukan sejak 30 tahun yang lalu yang merupakan salah satu dari produktifitas yang luar biasa yang telah membawa sistem database menjadi sesuatu yang dapat diperdebatkan dalam pengembangan software. Database sekarang ini telah mendasari kerangka kerja dari suatu sistem informasi. Faktanya, pengembangan
dalam
teknologi
ini
telah
bertahun-tahun
telah
10 menghasilkan sistem yang semakin tangguh dan semakin mudah penggunaannya. Oleh karena itu semakin bertambah pula penggunanya dari berbagai kalangan. Sayangnya dengan sederhananya sistem seperti ini telah mendorong pengguna untuk membuat database dan aplikasinya tanpa disertai dengan pengetahuan untuk menghasilkan suatu database yang efektif dan efisiensi bagi sistem.
2.2.2.
Perbedaan File-Base Approach dan Database Approach File-Based Approach adalah sekumpulan aplikasi program yang
melakukan layanan untuk pengguna akhir seperti pembuatan laporan. Setiap program mendefinisikan dan mengatur datanya sendiri. Batasan-batasan dari File-Base Approach : a. Pemisahan dan Isolasi Data Ketika data dipisahkan pada beberapa file yang berbeda sulit untuk mengakses data yang harusnya sudah tersedia. b. Ketergantungan Data Karena struktur fisikal dan
media penyimpanan data
didefinisikan pada kode program aplikasi maka perubahan pada data memerlukan sebuah program lain untuk mengubah data tersebut menjadi format yang diinginkan. c. Format file yang tidak sesuai Karena struktur dari file dimasukkan dalam aplikasi program maka struktur tersebut tergantung pada bahasa pemrograman tertentu.
11 Database Approach merupakan penyempurnaan dari File-Base Approach dimana pendefinisian data digabungkan dalam aplikasi program daripada disimpan terpisah dan mandiri. Pada Database Approach tidak dapat dilakukan pengaksesan dan pemanipulasian data selain ditentukan oleh aplikasi program.
2.2.3.
Structured Query Language (SQL) SQL berasal dari model relasional database yang diciptakan
oleh Dr. E.F. Codd. SQL merupakan bahasa dalam database yang digunakan untuk mengambil data (query), mengupdate data, dan mengatur relational database. Bahasa ini dikembangkan dari sebuah proyek penelitian di IBM pada tahun 1970-an yang menghasilkan Stuctured English Query Language (SEQUEL), pada pengembangan versi berikutnya SEQUEL diubah menjadi Structured Query Language (SQL). SQL merupakan standar yang diterima dalam produk-produk database. Walaupun SQL bukan merupakan bahasa pemrograman seperti C atau Pascal, SQL juga bisa digunakan untuk memformulasikan query interaktif atau untuk digabungkan (embed) dalam aplikasi sebagai perintah untuk membangun data. Dalam standar SQL terdapat dua jenis statement utama untuk mendefinisikan (Data Defintion Language), dan memanipulasikan (Data Manipulation Language) database.
12 2.2.4.
Perancangan Database 2.2.4.1.
Database Planning
Merupakan aktivitas-aktivitas perencanaan yang memungkinkan tahapan-tahapan aplikasi basis data untuk direalisasikan seefisien dan seefektif mungkin. Langkah penting pertama dalam perancangan basis data ialah harus dengan jelas mendefinisikan mission statement untuk proyek basis data. Mission statement menetapkan tujuan utama dari aplikasi basis data. Mission statement membantu dalam menjelaskan tujuan dari proyek basis data dan menyediakan jalur yang lebih jelas ke arah yang efisien dan efektif dari aplikasi basis data yang dibutuhkan. Setelah mission statement ditetapkan maka langkah selanjutnya adalah menentukan mission objective. Setiap mission objective harus mengidentifikasikan tugas-tugas khusus yang didukung oleh database.
Diasumsikan
bahwa
mission
statement tercapai kalau database mendukung mission objective.
2.2.4.2.
System Definition
Menjelaskan jangkauan dan batasan dari aplikasi basis data dan sudut pandang utama pengguna (User View). Sebelum merancang aplikasi basis data, hal yang utama dilakukan adalah mengidentifikasi dahulu batasan sistem yang akan diteliti dan bagaimana hubungannya dengan bagian lain dari sistem informasi organisasi. Batasan dari sistem yang dibuat tidak hanya untuk pengguna dan aplikasi yang sekarang, melainkan juga pengguna dan aplikasi-aplikasi mendatang.
13 2.2.4.3.
Requirements Collection and Analysis
Merupakan proses mengumpulkan dan menganalisis informasi tentang bagian-bagian dari perusahaan yang perlu didukung oleh aplikasi basis data dan menggunakan informasi tersebut untuk mengidentifikasi kebutuhan pengguna pada sistem yang baru. Ada banyak teknik untuk mengumpulkan informasi, yang biasa disebut fact-finding techniques, yang meliputi : a. Penjelasan dari data yang digunakan atau dihasilkan. b. Detail bagaimana data akan digunakan atau dihasilkan. c. Kebutuhan tambahan lainnya untuk aplikasi basis data yang baru. Informasi ini kemudian dianalisa untuk menentukan kebutuhan yang akan disertakan dalam aplikasi basis data yang baru. Tahapan ini merupakan persiapan menuju perancangan basis data. Jumlah data yang dikumpulkan bergantung pada lingkup permasalahan dan kebijaksanaan perusahaan.
2.2.4.4.
Database Design
Merupakan proses menciptakan sebuah rancangan untuk sebuah basis data yang akan mendukung operasi dan tujuan perusahaan. Perancangan basis data terdiri atas tiga tahapan utama yang dinamakan conceptual, logical dan physical.
14 2.2.4.5.
Conceptual Database Design
Menurut Thomas Connolly dan Carolyn Begg (2002, p.422) langkah-langkah dalam membuat conceptual database design ialah: Langkah 1. Membangun Model Konsepsual Data Lokal untuk setiap view, view di sini adalah sesuatu yang dilihat oleh pengguna. 1.1.Identifikasi tipe-tipe entiti Langkah
pertama
dalam
membangun
model
data
konsepsual lokal adalah mendefinisikan objek-objek utama (entiti) yang dibutuhkan oleh pengguna. Salah satu metode dalam mengidentifikasi entiti-entiti adalah memeriksa spesifikasi kebutuhan pengguna. Dari spesifikasi ini, diidentifikasi susunan yang akan dipakai .Diperhatikan juga objek utama seperti people, places, atau concepts of interest. Sebagai contoh kumpulan dari nomor karyawan dan nama karyawan dengan sebuah objek atau entiti yang disebut pegawai dan kumpulan dari nomor order penjualan, tanggal order penjualan, kode pelanggan, dan kode barang dengan sebuah entiti yang disebut order penjualan. 1.2.Identifikasi tipe-tipe hubungan / relationship Setelah entiti-entiti diidentifikasi, langkah selanjutnya ialah mengidentifikasi seluruh relationship yang ada di antara entiti. Relationship adalah asosiasi atau kaitan antara dua entiti. Ketika mengidentifikasi entiti, salah satu
15 metode adalah untuk mencari kata benda / nouns dalam kebutuhan pengguna. Dengan kebutuhan spesifikasi dari bahasa tersebut maka barulah dapat mengidentifikasi relationship. Secara khusus, relationship diindikasikan dengan pernyataan verb atau verbal. Diagram ER digunakan untuk memperlihatkan seluruh entiti dan bagaimana membuat relasi satu dengan lainnya menjadi lebih mudah. Setelah relationship diidentifikasi, selanjutnya
adalah
menentukan
masing-masing
relationship yang beragam. 1.3.Identifikasi dan menghubungkan atribut-atribut dengan entiti atau tipe relationship Dalam mengidentifikasi entiti-entiti, haruslah diperhatikan kata benda atau frase kata benda dalam kebutuhan pengguna. Atribut dapat diidentifikasi dimana kata benda atau frase kata benda adalah property, quality, identifier, atau characteristic dari salah satu entiti atau relationship. 1.4.Menetapkan domain atribut Sasaran dari tahapan ini adalah untuk menetapkan domain untuk seluruh atribut dalam model. Domain adalah kumpulan nilai dari satu atau
lebih atribut yang
menggambarkan nilai mereka. Setelah atribut domain diidentifikasi, catat nama dan karakteristiknya dalam kamus data. Update masukan atribut kamus data untuk
16 merekam domain dalam suatu tipe data dan panjang informasi. 1.5.Menetapkan candidate dan primary key dari atribut Pada tahap ini dikhususkan pada identifikasi candidate key untuk sebuah entiti dan memilih salah satu yang menjadi primary key. Candidate key adalah set yang minimal dari suatu atribut yang mengidentifikasikan secara unik suatu kejadian atau peristiwa dari tipe entiti. Candidate key dapat diidentifikasi lebih dari satu dimana harus dipilih satu untuk menjadi primary key. Primary Key adalah Candidate Key yang dipilih untuk mengidentifikasikan secara unik setiap kejadian atau peristiwa dari tipe entiti. Sisa dari candidate key yang tidak terpilih menjadi Primary Key disebut alternate key. 1.6.Mempertimbangkan penggunaan
dari konsep
model
tingkat tinggi (optional step) Pada tahap ini terdapat pilihan untuk melanjutkan pengembangan dari model ER yang menggunakan konsep modeling tingkat lanjut yang dinamakan specialization atau generalization, aggregation, dan composition. Kalau memilih pendekatan specialization, maka diusahakan untuk membedakan entiti dengan mendefinisikan satu atau lebih subclass dari superclass entiti. Kalau memilih pendekatan
generalization,
mengidentifikasi
fitur
umum
diusahakan
untuk
antara
untuk
entiti
17 menentukan generalising superclass entiti. Aggregation digunakan untuk menampilkan hubungan has-a atau ispart-of antara tipe entiti, dimana yang satu menampilkan seluruhnya dan yang lainnya cuma sebagian saja. Composition digunakan untuk menampilkan kerjasama antara tipe entiti dimana terdapat hubungan kepunyaan yang kuat dan selamanya antara whole dan part (Booch et al.,1998). 1.7.Memeriksa apakah dalam model data ada yang berlebih Pada tahap ini, local conceptual data model diperiksa dengan identifikasi objek yang spesifik, yaitu untuk memeriksa
apakah
terdapat
suatu
kelebihan
dan
membuang yang tidak diperlukan. Ada dua aktifitas dalam tahapan ini antara lain mengecek ulang hubungan one-toone (1:1), dimana dua entiti ditunjukkan dalam objek yang sama dalam perusahaan. Yang kedua ialah membuang relationship yang berlebih. Sebuah relationship dikatakan berlebih kalau informasi yang sama diperoleh dari relationship yang lain. 1.8.Validasi model konsepsual local dengan user transactions Sasaran dari tahap ini adalah untuk mengecek model untuk menjamin bahwa model mendukung transaksi yang dibutuhkan.
Dengan
menggunakan
model,
operasi
berusaha ditampilkan secara manual. Kalau seluruh transaksi dapat diselesaikan dengan cara ini, maka model
18 data konsepsual telah diperiksa bahwa ia mendukung transaksi yang dibutuhkan. Tetapi kalau tidak dapat menampilkan transaksi secara manual, pasti ada masalah dengan model data, dimana harus diselesaikan. Ada dua pendekatan yang menjamin local conceptual data model mendukung
transaksi
yang
dibutuhkan
antara
lain
menggambarkan sebuah transaksi, dan menggunakan transaction pathway. 1.9.Meninjau kembali local conceptual data model dengan pengguna. Sebelum langkah pertama ini selesai, local conceptual data model harus ditinjau kembali dengan user. Model konsepsual data meliputi diagram ER dan dokumentasi yang mendukung dalam penjelasan model data. Apabila terdapat keganjilan yang ditunjukkan dalam model data, maka harus melakukan perubahan yang tepat, yang mungkin
dibutuhkan
pengulangan
dari
langkah
sebelumnya. Proses ini diulang sampai pengguna siap untuk mengakhiri model sebagai representasi sebenarnya dari bagian perusahaan yang dibuat modelnya.
19
Gambar 2.1 Contoh Diagram ER pada Conceptual Database Design
2.2.4.6.
Logical Database Design
Menurut Thomas Connolly dan Carolyn Begg (2002, p.441) langkah-langkah dalam membuat logical database design ialah: Langkah 2. Membangun dan memvalidasikan model data logikal untuk setiap view. 2.1.Membuang fitur yang tidak sesuai dengan model relasional (optional step) Sasaran dari tahapan ini adalah: • Membuang many to many (*:*) binary relationshpis • Membuang many to many (*:*) recursive relationship • Membuang complex relationships • Membuang multi-valued attributes
20 2.2.Menghasilkan relasi-relasi untuk model data logikal lokal Pada tahap ini, diturunkan relasi-relasi untuk local logical data model untuk menampilkan entiti, relationship, dan atribut yang didefinisikan dalam view. Dengan memakai DBDL pertama kali harus menspesifikasikan dahulu nama dari relasi yang diikuti oleh urutan hubungan atribut yang sederhana yang disertakan di dalam tanda kurung. Lalu baru tentukan primary key dan alternate key atau foreign key yang lain. 2.3.Memeriksa relasi-relasi menggunakan normalisasi Normalisasi digunakan untuk meningkatkan model dari berbagai batasan untuk menghindari duplikasi data yang tidak dibutuhkan. Normalisasi menjamin model yang dihasilkan adalah model terdekat dari perusahaan yang ditampilkan, konsisten, redudancy yang minimal dan kestabilan yang maksimal. 2.4.Memeriksa relasi terhadap user transactions Sasaran pada tahap ini adalah untuk mengecek local logical data model untuk menjamin model mendukung transaksi
yang
dibutuhkan
pengguna.
Dengan
menggunakan relasi, hubungan dari primary atau foreign key yang ditampilkan dalam relasi, diagram ER, dan kamus data, dilakukan transaksi secara manual. Kalau seluruh transaksi dapat diselesaikan dengan cara ini, maka pengecekan terhadap local logical data model telah
21 selesai. Tetapi, kalau tidak dapat diselesaikan dengan manual, pasti ada masalah dengan model datanya, dimana harus ditangani. 2.5.Mengidentifikasi integrity constraint Integrity constraint adalah batasan yang melindungi database dari kondisi yang tidak konsisten. Tahap ini difokuskan pada perancangan tingkat tinggi, menentukan spesifikasi dari intergrity constraint dibutuhkan. Setelah mengidentifikasi integrity constraint, akan didapat local logical data model yang lengkap dan ditampilkan secara akurat. 2.6.Meninjau kembali local logical data model dengan pengguna Local logical data model sekarang sudah lengkap dan sudah
didokumentasikan
dengan
lengkap.
Untuk
menyelesaikan tahap ini, harus ditinjau kembali model logikal dan dokumentasi yang mendukung pengguna.
Langkah 3. Membangun dan memeriksa global logical data model. 3.1.Menggabungkan local logical data model ke model global Pada tahap ini, untuk setiap local logical data model telah dihasilkan sebuah diagram ER, skema relasi, kamus data, dan dokumen yang mendukung. Untuk aplikasi database yang sederhana dengan pengguna yang sedikit, secara
22 relatif mudah menggabungkan
untuk
membandingkan
bersama,
dan
model
menangani
lokal,
berbagai
perbedaan yang ada. Tetapi,dalam sistem yang besar, pendekatan secara sistematis diperlukan. Pendekatan ini antara lain: a. Meninjau kembali nama dan isi dari entiti atau relasi dan candidate key-nya. b. Meninjau kembali nama dan isi dari relationship atau foreign key. c. Menggabungkan entiti atau relasi dari model data lokal. d. Memasukkan entiti atau relasi yang unik ke masingmasing model data lokal. e. Menggabungkan relationship atau foreign key dari model data lokal. f. Memasukkan relationship atau foreign key yang unik ke masing-masing model data lokal. g. Memeriksa entiti atau relasi dan relationship atau foreign key yang hilang. h. Memeriksa foreign keys. i. Memeriksa integrity constraints . j. Menggambar diagram relasi ER global. k. Meng-update dokumentasi.
23 3.2.Memvalidasikan global logical data model. Tahap ini sama dengan tahap 2.3 dan 2.4, dimana memvalidasikan masing-masing local logical data model. Tetapi, ini hanya diperlukan untuk mengecek area dari model yang menghasilkan perubahan selama proses penggabungan. Pada sistem yang besar, ini akan sangat berarti dalam mengurangi jumlah pengecekan yang harus dilakukan. 3.3.Mengantisipasi perkembangan lebih lanjut, Jika model hanya dapat menopang kebutuhan yang sekarang ini, maka hidup dari model tersebut mungkin pendek dan pekerjaan ulang mungkin diperlukan untuk kebutuhan baru dengan efek yang minimal pada pengguna yang ada. Akan menjadi sulit kalau perusahaan tidak mau tahu apa yang harus dilakukan di masa mendatang. 3.4.Meninjau kembali global logical data model dengan pengguna. Global logical data model untuk perusahaan sekarang sudah lengkap dan akurat. Model dan dokumentasi yang menjelaskan model harus ditinjau oleh pengguna untuk menjamin kalau itu adalah representation perusahaan yang sebenarnya.
24
Gambar 2.2. Contoh Diagram ER pada Logical Database Design
2.2.4.7.
Physical Database Design
Menurut Thomas Connolly dan Carolyn Begg (2002, p.282) langkah-langkah dalam membuat physical database design ialah: Langkah 4. Menterjemahkan global logical data model bagi DBMS. 4.1.Merancang relasi-relasi dasar. Untuk memulai proses perancangan fisikal, pertama harus menyusun
dan
memahami
informasi
tentang
cara
menghasilkan relasi selama perancangan database logikal.
25 Informasi yang dibutuhkan dapat diperoleh dari kamus data dan definisi dari relasi yang dijelaskan menggunakan DBDL. Untuk masing-masing relasi yang diidentifikasi dalam global logical data model, harus terdiri dari: a. Nama dari relasi b. Kumpulan dari atribut-atribut turunan dan bagaimana cara mengaturnya c. Primary key, alternate key dan foreign key d. Identifikasi foreign
key dari referensi integrity
constraint 4.2.Merancang representasi dari data yang diperoleh Atribut
dimana
nilainya
dapat
ditemukan
dengan
memeriksa nilai dari atribut lain dikenal sebagai derived atau calculated atrributes. Sebagai contoh, berikut adalah contoh dari derived attributes: a. Jumlah karyawan yang bekerja pada kantor cabang b. Total gaji dari seluruh karyawan c. Jumlah transaksi yang ditangani oleh sekelompok karyawan Seringkali, derived attributes tidak muncul dalam model data logikal tapi didokumentasikan dalam kamus data. Dari sudut pandang perancangan database fisikal, derived attributes disimpan dalam database dan dikalkulasikan setiap waktu dibutuhkan.
26
4.3.Merancang batasan perusahaan Meng-update
relasi
mungkin
dibatasi
oleh
aturan
perusahaan. Rancangan dari batasan itu tergantung pada pilihan DBMS. Beberapa sistem DBMS menyediakan banyak fasilitas untuk mendefinisikan batasan perusahaan.
Langkah 5. Representasi Perancangan Secara Fisik. Tujuannya adalah untuk menentukan cara organisasi file yang paling optimal untuk menyimpan base relation dan indeks-indeks yang diperlukan untuk mencapai performa yang dapat diterima, yaitu cara-cara dimana relations dan tabel disimpan dalam penyimpanan sekunder. Ada beberapa faktor yang digunakan untuk mengukur efisiensi database : 1. Transaction Throughput : Banyaknya transaksi yang dapat diproses pada interval waktu yang diberikan. Pada beberapa
sistem,
seperti
reservasi
penerbangan,
transaction throughput yang tinggi sangat penting bagi kesuksesan sistem secara keseluruhan. 2. Waktu
Respon
:
Waktu
yang
dibutuhkan
untuk
menyelesaikan sebuah transaksi. Bagaimanapun, ada beberapa faktor yang mempengaruhi waktu respon, dimana si perancang pun tidak dapat mengendalikannya, seperti system loading, dan banyaknya komunikasi.
27
3. Media Penyimpanan
: Banyaknya kapasitas media
penyimpanan yang diperlukan untuk menyimpan file-file database. Diusahakan untuk memperkecil jumlah media penyimpanan yang digunakan. Untuk meningkatkan performa,
perancang database fisik
harus mengetahui bagaimana empat komponen perangkat keras berinteraksi dan mempengaruhi performa sistem. 1. Memori Utama
: Memori utama diakses lebih cepat
daripada media penyimpanan sekunder. Pada umumnya makin banyak memori utama tersedia, makin cepat aplikasi database berjalan. 2. CPU (Central Processing Unit) : CPU mengkontrol tugastugas dari sumber daya sistem yang lain dan mengeksekusi proses-proses pengguna. Tujuan utama pada komponen ini adalah mencegah perebutan penggunaan CPU oleh prosesproses lain yang menunggu akses akan CPU. 3. Disk I/O (Input/Outpu ) : Pada DBMS besar mana saja, ada sejumlah Disk I/O yang penting dalam menyimpan dan mengambil data. Cara-cara data diatur dalam media penyimpanan dapat berpengaruh besar pada performa media penyimpanan secara keseluruhan. Disarankan untuk membagi media
penyimpanan
beberapa
yang
media
tersedia
secara untuk
merata
pada
mengurangi
kemungkinan terjadinya masalah performansi. Prinsip-
28 prinsip dasar dalam mendistribusikan data pada media penyimpanan : a. Sistem Operasi dipisahkan dari file-file database. b. File-file database utama harus dipisahkan dari file indeks. c. File log recovery harus dipisahkan dari akhir database. 4. Jaringan : Ketika jumlah traffic dalam jaringan sangat besar atau ketika jumlah ‘tabrakan’ dalam jaringan besar, kemacetan jaringan terjadi. 5.1.Menganalisa Transaksi Tujuannya adalah untuk memahami fungsi-fungsi dari transaksi yang akan berjalan dalam database dan menganalisa transaksi-transaksi penting. Ketika menganalisa transaksi-transaksi, diusahakan untuk mengidentifikasikan kriteria performasi : 1. Transaksi- transaksi yang sering dilakukan dan mempunyai pengaruh yang besar pada performansi. 2. Transaksi- transaksi yang sangat penting bagi jalannya operasi bisnis 3. Waktu ketika akan ada permintaan besar yang dibuat pada database ( peak load) Pada banyak kasus, tidak mungkin untuk menganalisa semua transaksi. Setidaknya harus menganalisa salah satu yang ‘penting’. Untuk itu maka digunakan aturan 80/20
29 (20 persen query pengguna yang paling aktif dianggap mewakili 80 persen dari jumlah keseluruhan akses data) untuk menganalisanya. Ketika fokus pada daerah yang mungkin bermasalah , satu cara untuk mengujinya, yaitu: 1. Memetakan semua jalur-jalur transaksi pada relations. 2. Menentukan relations mana yang paling sering diakses oleh transaksi. 3. Menganalisa pemakaian data dari transaksi yang dipilih yang berhubungan dengan relations. 5.2.Memilih Organisasi File. Tujuannya adalah untuk menentukan sebuah organisasi file yang paling efisien untuk setiap base relation. Salah satu tujuan utama dari perancangan physical database adalah untuk menyimpan data dalam cara yang efisien. Pada banyak kasus, sebuah DBMS relasional mengkin memberikan sedikit atau tidak ada pilihan sekali dalam memilih cara organisasi file. Sebagai bantuan untuk memahami organisasi file dan indeks, ada beberapa cara untuk memilih organisasi file didasarkan pada file-file berikut : 1. Heap. 2. Hash. 3. Indexed Sequential Access Method (ISAM). 4. B-Tree.
30 5. Clusters. 5.3.Memilih Indeks Tujuannya
untuk
menentukan
bahwa
dengan
menambahkan indeks akan meningkatkan performansi. 5.4.Memperkirakan Kapasitas Media Penyimpanan Tujuannya adalah untuk memperkirakan jumlah kapasitas media penyimpanan yang akan diperlukan oleh database. Pada umumnya perkiraan didasarkan pada ukuran tiap tabel, dan banyaknya tabel dalam relasi. Pada akhirnya perkiraan harus menjadi sebuah ukuran maksimum, tetapi perlu juga mempertimbangkan bagaimana relasi akan berkembang
dan
mengubah
hasil
ukuran
media
penyimpanan dengan dasar faktor pertambahan untuk memperkirakan seberapa besar database-nya yang akan datang. Elmasri& Navathe (2000, p.180) menjelaskan bahwa disk space requirements dapat dihitung dengan menggunakan rumus-rumus sebagai berikut :
B bfr = R
r b = bfr
B = Block (1024 Byte) R = Record Length r = record number bfr = banyaknya record per block b = banyaknya block per tabel
dimana :
31 Langkah 6. Merancang User Views. Tujuannya
adalah
untuk
merancang user
view yang
diidentifikasikan selama requirement collection dan analisis terhadap tahap relational database application lifecycle. Pada sebuah DBMS yang berdiri sendiri pada sebuah PC, user
view didefinisikan
untuk
menyederhanakan
permintaan
database. Sedangkan DBMS yang mempunyai banyak pengguna, user view menjalankan peranan yang sangat penting dalam mendefinisikan struktur database dan menjalankan keamanan.
Langkah 7. Merancang Langkah-Langkah Pengamanan. Tujuannya
adalah
untuk
merancang
langkah-langkah
pengamanan untuk database sesuai dengan spesifikasi pengguna. Sebuah database merepresentasikan sebuah sumber daya perusahaan yang penting sehingga keamanan daripada sumber daya ini sangat penting. Beberapa sistem menawarkan fasilitas keamanan yang berbeda dibandingkan yang lainnya. Seorang perancang database harus mengetahui fasilitas-fasilitas yang ditawarkan oleh DBMS.
32 Pada umumnya DBMS relasional menyediakan dua tipe keamanana database : 1. Keamanan Sistem Melingkupi hak akses dan penggunaan database pada level sistem, seperti nama pengguna dan kata kunci (password). 2. Keamanan Data Melingkupi hak akses dan penggunaan obyek database seperti relations dan views.
2.2.4.8.
DBMS Selection
Merupakan pemilihan dari DBMS untuk mendukung aplkasi basis data. Langkah-langkah utama dalan pemilihan DBMS ialah: a. Mendefinisikan hubungan dari pedoman pembelajaran. b. Daftar pendek dari dua atau tiga produk. c. Evaluasi produk. d. Merekomendasikan pilihan dan menghasilkan laporan.
2.2.4.9.
Application Design
Merupakan perancangan antarmuka pengguna dan program aplikasi yang digunakan dan memproses database. Dari gambar tahapan dari database application lifecycle dapat dilihat bahwa antara database
design dengan application design terjadi aktivitas secara pararel. Dalam banyak hal, tidak mungkin untuk menyelesaikan perancangan aplikasi sampai perancangan dari database itu sendiri. Dalam hal ini, database
33 hadir untuk mendukung aplikasi dan harus ada aliran informasi antara
application design dan database design. Seluruh
fungsi-fungsi yang
tercantum dalam spesifikasi
kebutuhan pengguna harus ada dalam perancangan aplikasi untuk aplikasi
database . Ini meliputi perancangan program aplikasi yang mengakses database dan melakukan transaksi. Sebagai tambahan agar fungsi yang dibutuhkan tercapai, maka harus dirancang user interface yang tepat ke dalam aplikasi database. Perancangan user interface kadang-kadang tidak diperhatikan
atau
ditinggalkan
selama
tahapan
perancangan.
Bagaimanapun, ini menunjukkan kalau user interface adalah salah satu komponen penting dari sistem. Kalau mudah untuk dipelajari, sederhana dalam
penggunaan,
maka
pengguna
cenderung
untuk
dapat
memanfaatkan dengan baik.
2.2.4.10. Prototyping Tujuan utama dalam pengembangan bentuk dasar dari aplikasi basis data ialah untuk mengijinkan pengguna menggunakan prototype untuk mengidentifikasi fitur sistem yang berjalan lancar dan kalau mungkin untuk menambahkannya dengan fitur baru ke dalam aplikasi basis data.
2.2.4.11. Implementation Program aplikasi diterapkan menggunakan bahasa tingkat tiga atau empat. Bagian dari program aplikasi ini adalah transaksi basis data, yang diterapkan menggunakan DML yang mungkin dapat dijalankan pada
34 sekumpulan bahasa pemrograman, seperti Visual Basic, Delphi, C, C++,
Java, COBOL, Fortran, Ada atau Pascal. Digunakan juga komponen lain dari perancangan aplikasi seperti menu layar, form masukkan data dan laporan-laporan. Keamanan dan integritas dalam aplikasi juga diterapkan.
2.2.4.12. Data Conversion and Loading Tahapan ini dibutuhkan hanya ketika sistem database yang baru menggantikan sistem yang lama. Sekarang ini, sudah menjadi hal yang biasa bagi sebuah DBMS untuk mempunyai utility yang dapat memuat keseluruhan file yang ada ke dalam database yang baru. Utility biasanya membutuhkan spesifikasi dari sumber dan tujuannya dan secara otomatis mengubah data sesuai dengan format database yang baru.
2.2.4.13. Testing Merupakan proses dari eksekusi program aplikasi dengan maksud untuk menemukan kesalahan. Pengguna dari sistem yang baru harus ikut serta dalam proses pengetesan. Situasi yang ideal dalam uji coba sistem adalah mengetes database pada sistem perangkat keras yang terpisah, tapi sering diabaikan. Kalau data asli digunakan, maka perlu dilakukan backup untuk menghindari dari kesalahan. Setelah uji coba selesai, sistem aplikasi siap untuk digunakan.
2.2.4.14. Operational Maintenance Dalam tahapan sebelumnya, aplikasi database telah sepenuhnya diterapkan dan diuji coba. Sistem sekarang berada pada tahap pemeliharaan, dimana meliputi aktivitas berikut:
35 a. Memantau kinerja sistem. Kalau performanya turun, maka perbaikan diperlukan. b. Perawatan dan upgrade dari aplikasi basis data (jika diperlukan). Kebutuhan baru digabungkan ke dalam aplikasi basis data berdasarkan tahapan lifecycle .
2.2.5.
Metodologi Metodologi yang digunakan untuk mendukung penyusunan skripsi ini antara lain: 2.2.5.1. Metode
Analisis,
yaitu
dengan
menganalisis
kebutuhan user dan lingkungan sistem yang akan dibangun. Metode ini menggunakan Fact Finding
Techniques analisis ini meliputi kegiatan sebagai berikut: a. Mempelajari dokumen. Dokumentasi dapat menyediakan informasi yang tentang
masalah
perusahaan.
yang
sedang
Jika problem atau
dialami oleh masalah
itu
berhubungan dengan sistem yang sedang berjalan di perusahaan itu, pasti ada dokumen yang berhubungan
dengan
sistem
itu.
Dengan
mempelajari dokumen, formulir, dan laporan yang berhubungan
dengan
sistem itu, maka bisa
diketahui masalah yang sedang dihadapi oleh sistem yang sedang berjalan.
36 b. Interview. Metode interview bisa dilakukan langsung dengan pengguna
sistem
yang
sedang
berlangsung.
Beberapa keuntungan dari penggunaan metode interview : b.1 Dapat membuat orang yang diinterview bisa secara terbuka dan bebas dalam menjawab pertanyaan yang diajukan. b.2 Dapat membuat orang yang diinterview dapat merasa sebagai bagian dalam proyek yang sedang dikerjakan. b.3 Dapat membuat orang yang menginterview bisa
mengetahui keinginan
orang
yang
diinterview. c. Observasi di dalam perusahaan. Dengan teknik ini, memungkinkan untuk ikut atau melihat kegiatan yang sedang dilakukan di dalam perusahaan untuk mengetahui lebih lanjut tentang sistem yang sedang berjalan. d. Penelitian. Metode
penelitian
digunakan
untuk
meneliti
aplikasi dan masalah yang sedang dihadapi oleh perusahaan.
37 e. Kuisioner. Metode kuisioner yaitu dengan membuat dan membagikan sejumlah pertanyaan yang telah dibuat dan disebarkan, untuk mengetahui yang sedang terjadi dalam sistem.
2.2.5.2. Metode Studi Pustaka, yaitu dengan mengumpulkan berbagai sumber informasi yang mendukung penulisan skripsi ini, baik dari buku-buku, skripsi terdahulu, literatur,
maupun
artikel
yang
diperoleh
di
perpustakaan dan toko buku..
2.2.5.3. Metode Perancangan, yang meliputi : 2.2.5.3.1. Database Application Lifecycle Ketika
sebuah
sistem
basis
data
telah
merupakan komponen dasar dari organisasi besar yang padat akan informasi, database application lifecycle secara
tidak
langsung
terkait
dengan
system
information lifecycle. Sangatlah penting untuk mengetahui bahwa tahapan dari database application lifecycle yang tidaklah harus berurutan, tetapi meliputi pengulangan dari tahapan- tahapan sebelumnya. Sebagai contoh, masalah-masalah yang ditemui selama perancangan
38 basis
data
mungkin
mengharuskan
penambahan
kebutuhan dan analisis. Untuk sebuah aplikasi basis data kecil, dengan jumlah pengguna
yang sedikit,
maka
database
application lifecycle tidak perlu sangat kompleks. Bagaimanapun, ketika merancang aplikasi basis data menengah sampai besar dengan puluhan sampai ratusan pengguna, siklus hidup dari database akan menjadi sangat kompleks. Untuk lebih jelasnya berikut adalah tahapan dari database application lifecycle .
a. Database Planning Merencanakan bagaimana tahapan-tahapan dari siklus hidup aplikasi database dapat dilaksanakan sehingga lebih efektif dan efisien.
b. System Definition Memperjelas bidang dan batasan dari aplikasi basis data, penggunanya dan area aplikasinya.
c. Requirements Collection And Analysis Kumpulan dan analisis dari kebutuhan pengguna dan area aplikasinya.
d. Database Design Perencanaan secara konseptual, logikal dan fisik dari basis data.
39
e. DBMS Selection Pemilihan DBMS yang sesuai dengan aplikasi basis data.
f. Application Design Merancang user interface dan program aplikasi yang digunakan untuk memproses basis data.
g. Prototyping (optional) Membangun model aplikasi basis data yang sedang berjalan,
memperbolehkan
pengguna
untuk
melihat
perancang dan
atau
mengevaluasi
bagaimana sistem akhir terlihat dan berfungsi.
h. Implementation Membuat defenisi basis data external, conceptual,
internal dan program aplikasinya. i. Data Conversion And Loading Memuat data dari sistem yang lama ke sistem yang baru.
j. Testing Aplikasi basis data di tes dari kesalahan dan disesuaikan
dengan
kebutuhan
yang diminta
pengguna.
k. Operational Maintenance Aplikasi basis data telah diterapkan seluruhnya. Sistem
secara
terus-menerus
dimonitor
dan
dipelihara. Ketika dibutuhkan, kebutuhan yang
40 baru digabungkan dengan aplikasi basis data melalui tahapan siklus dari basis data yang sedang berjalan.
41
Gambar 2.3. T ahapan dari Database Application Lifecycle
42 2.2.5.3.2. Metode Waterfall. a. System engineering and analysis Pada
tahap
ini
bertujuan
menganalisa
dan
menentukan kebutuhan dari sistem perusahaan. b. Software requirement analysis Pada
tahap
ini
bertujuan
mengumpulkan
kebutuhan-kebutuhan dari software seperti fungsifungsi, performa, dan interface dari software yang ingin dibangun. Kemudian kebutuhan dari sistem dan software didokumentasikan dan dibahas ulang dengan pihak perusahaan.
c. Design Pada tahap ini bertujuan melakukan empat tahap berbeda, yaitu struktur data, arsitektur software, detil procedural dan karakteristik interface.
d. Coding Pada tahap ini bertujuan menerjemahkan hasil pada tahap design ke bentuk yang dipahami mesin (ke dalam bahasa pemrograman).
e. Testing Pada tahap ini bertujuan menguji program apakah sudah dapat dijalankan diinginkan.
sesuai dengan
yang
43
f. Maintenance Pada tahap ini merupakan tahap berjaga-jaga atas kemungkinan terjadinya perubahan pada program yang diserahkan perusahaan, seperti terjadinya perubahan OS, hardware dan penambahan fungsifungsi.
Gambar 2.4. Tahapan dari Model Waterfall
2.3. Pokok Pikiran Penyelesaian Masalah Dewasa ini, sudah sepantasnya sebuah perusahaan dituntut untuk menjaga hubungan baik dan memberikan kepuasan yang maksimal kepada pelanggan sebagai akibat dari perkembangan persaingan usaha dan perubahan ekonomi dan pasar yang cepat serta perkembangan pesat
44 teknologi informasi yang menjadi tulang punggung hampir seluruh proses bisnis. Untuk tetap dapat bersaing, sebuah perusahaan harus dapat mengolah
informasi
dengan
cepat
dan
akurat
sehingga
kecil
kemungkinannya terjadi kesalahan yang mengakibatkan berulangnya suatu proses yang ada di dalam perusahaan. Hal ini juga mengakibatkan kepuasan pelanggan dapat berkurang. Kenyataannya, banyak perusahaan yang tetap menggunakan metode manual dalam mendokumentasikan suatu transaksi yang sangat rentan terhadap kesalahan yang kebanyakan dibuat oleh manusia itu sendiri. Untuk mengatasi hal tersebut, maka dibuatlah suatu sistem basis data informasi pembelian pada PT. Multicom Intermitra agar masalahmasalah yang sedang terjadi bisa teratasi Untuk membangun suatu sistem basis data diperlukan tahap-tahap yang disebut Database Life Cycle di mana tahap-tahap tersebut, seperti yang telah dibahas pada adalah
a. Database Planning b. System Definition c. Requirements Collection And Analysis d. Database Design e. DBMS Selection f. Application Design g. Prototyping (optional) h. Implementation
45
i. Data Conversion And Loading j. Testing k. Operational Maintenance Dan
untuk
membangun
sebuah
user
interface
yang
menghubungkan antara user dan sistem basis data, ditempuh beberapa tahap yang terdapat dalam metode Waterfall: g. System engineering and analysis h. Software requirement analysis
i. Design j. Coding k. Testing l. Maintenance