bab 2 landasasan teori - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00407-mnsi_bab...
TRANSCRIPT
BAB 2
LANDASAN TEORI
2.1 Konsep Hotel, Ticketing, dan Tour
2.1.1 Hotel
Hotel adalah suatu usaha yang menggunakan suatu bangunan atau bagian dari
bangunan daripadanya yang khusus disediakan, dimana setiap orang dapat menginap
dan makan serta memperoleh pelayanan dan fasilitas lainnya dengan pembayaran
(mempunyai restoran yang berada di bawah manajemen hotel tersebut). Apabila
tidak memenuhi persyaratan seperti tersebut di atas dikategorikan sebagai
"penginapan". (www.petra.ac.id)
Hotel berbintang memiliki persyaratan sebagai berikut:
1. Fisik, meliputi lokasi, kondisi, dsb
2. Bentuk pelayanan (service)
3. Kualifikasi tenaga kerja, pendidikan, kesejahteraan
4. Fasilitas olah raga dan fasilitas lainnya
5. Jumlah kamar yang tersedia:
10 - 14 kamar untuk bintang 1
15 - 29 kamar untuk bintang 2
30 - 49 kamar untuk bintang 3
50 - 99 kamar untuk bintang 4
Di atas 99 kamar untuk bintang 5
9
2.1.2 Ticketing
Transportasi udara sudah menjadi kebutuhan utama bagi sebagian orang.
Dengan menggunakan transportasi udara, daerah yang jauh bisa terjangkau dalam
waktu yang relatif singkat. Tak heran jika industri penerbangan pun ikut
berkembang dengan pesat seiring dengan mobilisasi manusia yang kian tinggi,
didukung pula dengan berkembangnya dunia pariwisata di dunia. Dulu, untuk
memperoleh tiket pesawat, Anda harus berhubungan langsung dengan perusahaan
penerbangan. Kalau pun menggunakan jasa travel agent, mereka pun harus
menelepon ke perusahaan penerbangan untuk mengetahui ketersediaan tiket yang
diinginkan. Dapat dibayangkan betapa repotnya proses tersebut dan juga akan
memakan waktu yang cukup lama. Sekarang, meski Anda menggunakan jasa travel
agent, Anda dapat mengetahui ketersediaan tiket yang ada inginkan seketika itu juga.
Tidak hanya untuk tiket domestik dan menggunakan perusahaan penerbangan
nasional, tapi juga tiket internasional dan penerbangan asing. Hal ini dimungkinkan
karena saat ini travel agent sudah tidak bisa terlepas dari solusi TI, kini travel agent
sudah menggunakan sistem online atau yang disebut dengan Global Distribution
System (GDS). Sistem yang merupakan jembatan penghubung antara konsumen,
travel agent, dan perusahaan penerbangan. Saat ini, didunia terdapat lima GDS
besar yang awalnya daerah operasinya dibagi berdasarkan teritori, yaitu Abacus di
Asia Pasifik, Amadeus di Eropa, Cyber, World Stan dan Galileo di Amerika dan
Afrika. Di Indonesia, pemain utamanya adalah PT Abacus Distributions System
Indonesia (ADSI) (www.lintasarta.net)
10
2.1.3 Tour dan Pariwisata
Untuk meningkatkan penjualannya, suatu travel agent akan menyediakan
pilihan paket tur yang menarik, yang banyak diminati oleh konsumen, seperti antara
lain tur ke Bali, Singapura, dan lain-lain. Hal tersebut dimasukkan ke dalam paket
untuk memudahkan bagi konsumen yang ingin menikmati keindahan panorama
maupun tempat wisata di daerah tertentu. Biasanya suatu paket tur yang disusun
akan berubah sesuai dengan kebutuhan dan keinginan dari para konsumennya. Hal
tersebut dilakukan untuk mencipatakan image yang baik di mata konsumen sehingga
bisa terus memperluas pasarnya.
Pariwisata adalah kegiatan melakukan perjalanan dengan tujuan mendapatkan
kenikmatan, mencari kepuasan, mengetahui sesuatu, memperbaiki kesehatan,
menikmati olahraga atau istirahat, menunaikan tugas, dan berziarah. Wisatawan
adalah orang yang bepergian dari tempat tinggalnya untuk berkunjung ke tempat
lain dengan menikmati perjalanan dari kunjungannya itu. Pariwisata dibagi atas
enam jenis khusus, yaitu :
• pariwisata untuk menikmati perjalanan, dilakukan untuk berlibur, mencari
udara segar, memenuhi keingintahuan, mengendorkan ketegangan saraf,
melihat sesuatu yang baru, menikmati keindahan alam, dan mendapatkan
kedamaian
• pariwisata untuk rekreasi, dilakukan sebagai pemanfaatan hari-hari libur
untuk beristirahat, memulihkan kesegaran jasmani dan rohani dan
menyegarkan keletihan
11
• pariwisata untuk kebudayaan, ditandai serangkaian motivasi seperti
keinginan belajar di pusat riset, mempelajari adat-istiadat, mengunjungi
monumen bersejarah dan peninggalan purbakala dan ikut festival seni musik
• pariwisata untuk olahraga, dibagi menjadi dua kategori, yakni pariwisata
olahraga besar seperti Olimpiade, Asian Games, dan SEA Games serta buat
mereka yang ingin berlatih atau mempraktikkan sendiri, seperti mendaki
gunung, panjat tebing, berkuda, berburu, rafting, dan memancing.
• pariwisata untuk urusan usaha dagang, umumnya dilakukan para pengusaha
atau industrialis antara lain mencakup kunjungan ke pameran dan instalasi
teknis
• Pariwisata untuk berkonvensi berhubungan dengan konferensi, simposium,
sidang dan seminar internasional (www.sinarharapan.co.id)
2.2 Strengths, Weaknesses, Opportunities, dan Threats (SWOT)
Analisis SWOT menurut Rangkuti (2004, p18), adalah identifikasi berbagai
faktor secara sistematis untuk merumuskan strategi perusahaan. Analisis ini
didasarkan pada logika yang dapat memaksimalkan trength (kekuatan) dan
opportunity (peluang), namun secara bersamaan dapat meminimalkan weakness
(kelemahan) dan threat (ancaman). Penelitian menunjukkan bahwa kinerja
perusahaan dapat ditentukan oleh kombinasi faktor internal dan eksternal. Kedua
faktor tersebut harus dipertimbangkan dalam analisis SWOT.
Secara lebih mendalam, Pearce dan Robinson (1997,p.230) menguraikan
analisis SWOT sebagai berikut :
• Strength (kekuatan) adalah sumber daya, ketrampilan, atau keunggulan-
keunggulan lain relatif terhadap pesaing dan bagaimana perusahaan
12
menyediakan apa yangmenjadi kebutuhan pasar. Kekuatan adalah
kompetensi khusus yang memberikan keunggulan komparatif bagi
perusahaan di pasar.
• Weakness (kelemahan) adalah keterbatasan atau kekurangan dalam sumber
daya, penampilan, dan kapabilitas yang secara serius menghambat kinerja
efektif perusahaan.
• Opportunity (peluang) adalah suatu daerah kebutuhan pembeli dimana
perusahaan dapat beroperasi secara menguntungkan, atau dengan kata lain
merupakan situasi yang menguntungkan dalam lingkungan perusahaan
• Threat (ancaman) adalah tantangan akibat kecenderungan atau
perkembangan yang kurang menguntungkan, yang akan mengurangi
penjualan dan laba jika tidak dilakukan tindakan pemasaran atau dapat juga
dikatakan sebagai situasi yang tidak menguntungkan dalam lingkungan
perusahaan
2.3 Instrumen Pengukuran
Instrumen pengukuran digunakan untuk mengukur faktor internal yang meliputi
kekuatan dan kelemahan serta faktor eksternal yang meliputi peluang dan ancaman.
Adapun angka untuk pemberian bobot baik untuk factor internal maupun faktor
eksternal adalah sebagai berikut:
3 : Pengaruhnya paling atau sangat besar
2.: Pengaruhnya sedang
1 : Pengaruhnya kecil
13
Pemberian skor nilai pada faktor internal adalah :
4 : Kekuatan utama
3 : Kekuatan kecil
2 : Kelemahan kecil
1 : Kelemahan utama
Sedangkan pemberian skor nilai pada faktor eksternal adalah :
4 : peluang utama
3 : peluang kecil
2 : ancaman kecil
1 : ancama utama
2.4 Teknik Analisis Data
Proses penyusunan perencanaan strategis melewati 3 tahap analisis (lihat tabel
2.1), yaitu :
1. Tahap pengumpulan data
2. Tahap analisis
3. Tahap pengambilan keputusan
14
Tabel 2.1 Kerangka Formulasi Strategis
1. TAHAP PENGUMPULAN DATA
Evaluasi Faktor Eksternal Evaluasi Faktor Internal
2. TAHAP ANALISIS
Diagram SWOT Matriks SWOT Matriks Internal-
Eksternal Matriks Grand
Strategy
3. TAHAP PENGAMBILAN KEPUTUSAN
Matriks Perencanaan Strategis Kuantitatif
Sumber : Rangkuti, Freddy. 2004. Analisis SWOT Teknik Membedah Kasus Bisnis
Jakarta : PT. Gamedia Pustaka Utama. p.21
2.4.1 Tahap Pengumpulan Data
2.4.1.1 Matriks Faktor Strategi Internal
Setelah faktor-faktor strategis internal suatu perusahaan diidentifikasi, tahap
berikutnya adalah memanfaatkan semua informasi tersebut ke dalam tabel IFAS
(Internal Factor Analysis Summary, lihat tabel 2.2) Langkah-langkahnya adalah :
a) Tentukan faktor-faktor kekuatan dan kelemahan perusahaan dalam
kolom 1
b) Beri bobot masing-masing faktor tersebut dengan menggunakan teknik
perbandingan berpasangan. Konsep dari teknik ini adalah
membandingkan 2 alternatif dari faktor internal yang telah ditetapkan
sebelumnya berdasarkan suatu kriteria dan memilih salah satu
diantaranya. Adapun bobot yang diberikan adalah :
3 : Pengaruhnya paling atau sangat besar
15
2 : Pengaruhnya sedang
1 : Pengaruhnya kecil
Pemberian bobot tersebut dapat dijelaskan sebagai berikut :
Jika akternatif I lebih dipilih dibanding alternatif II dan bobotnya adalah
3, maka alternatif I berbobot 3, sedangkan alternatif II berbobot 1/3. Jika
alternatif II lebih dipilih dibanding alternatif III dan diberi bobot sebesar
2, maka alternatif II berbobot 2, sedangkan alternatif III berbobot ½.
Demikian pula halnya dengan pemberian bobot sebesar 1. Setelah
diperoleh masing-masing bobot, langkah selanjutnya adalah
menjumlahkan bobot-bobot tersebut berdasarkan kolomnya, kemudian
nilai pada masing-masing kolom dibagi dengan hasil penjumlahan kolom
tersebut. Hasilnya kemudian dinormalisasi. Langkah terakhir adalah
merata-ratakan nilai pada masing-masing baris. Kemudian bobot yang
didapat dari perhitungan diatas dimasukkan dalam kolom 2.
c) Hitung rating (dalam kolom 3) untuk masing-masing faktor dengan
memberikan skala mulai dari 4 (kekuatan utama), 3 (kekuatan kecil), 2
(kelemahan kecil), dan 1 (kelemahan utama), berdasarkan pengaruh
faktor tersebut terhadap kondisi perusahaan yang bersangkutan.
d) Kalikan bobot pada kolom 2 dengan rating pada kolom 3 untuk
memperoleh faktor pembobotan pada kolom 4
e) Jumlahkan skor pembobotan (dalam kolom 4), untuk memperoleh total
skor pembobotan bagi perusahaan yang bersangkutan. Nilai total ini
menunjukkan bagaimana perusahaan tertentu bereaksi terhadap faktor-
faktor strategis internalnya. Skor total ini dapat digunakan untuk
16
membandingkan perusahaan ini dengan perusahaan lainnya dalam
kelompok industri yang sama.
Tabel 2.2 Matriks IFAS
Faktor-faktor
strategi internal
Bobot Rating Bobot x Rating
Kekuatan :
Kelemahan :
Total :
Sumber : Rangkuti, Freddy. 2004. Analisis SWOT Teknik Membedah Kasus Bisnis.
Jakarta : PT. Gamedia Pustaka Utama. p.25
2.4.1.2 Matriks Faktor Strategi Eksternal
Setelah faktor-faktor strategis internal suatu perusahaan diidentifikasi, tahap
berikutnya adalah memanfaatkan semua informasi tersebut ke dalam tabel EFAS
(External Factor Analysis Summary, lihat tabel 2.3). Langkah-langkahnya adalah :
a). Tentukan faktor-faktor peluang dan ancaman perusahaan dalam kolom 1
b). Beri bobot masing-masing faktor tersebut dengan dengan menggunakan
teknik perbandingan berpasangan. Konsep dari teknik ini adalah
membandingkan 2 alternatif dari faktor internal yang telah ditetapkan
sebelumnya berdasarkan suatu kriteria dan memilih salah satu
diantaranya. Adapun bobot yang diberikan adalah :
3 : Pengaruhnya paling atau sangat besar
2 : Pengaruhnya sedang
17
1 : Pengaruhnya kecil
Pemberian bobot tersebut dapat dijelaskan sebagai berikut :
Jika akternatif I lebih dipilih dibanding alternatif II dan bobotnya adalah
3, maka alternatif I berbobot 3, sedangkan alternatif II berbobot 1/3. Jika
alternatif II lebih dipilih dibanding alternatif III dan diberi bobot sebesar
2, maka alternatif II berbobot 2, sedangkan alternatif III berbobot ½.
Demikian pula halnya dengan pemberian bobot sebesar 1. Setelah
diperoleh masing-masing bobot, langkah selanjutnya adalah
menjumlahkan bobot-bobot tersebut berdasarkan kolomnya, kemudian
nilai pada masing-masing kolom dibagi dengan hasil penjumlahan kolom
tersebut. Hasilnya kemudian dinormalisasi. Langkah terakhir adalah
merata-ratakan nilai pada masing-masing baris. Kemudian bobot yang
didapat dari perhitungan diatas dimasukkan dalam kolom 2.
c). Hitung rating (dalam kolom 3) untuk masing-masing faktor dengan
memberikan skala mulai dari 4 (peluang utama), 3 (peluang kecil), 2
(ancaman kecil), dan 1 (ancaman utama), berdasarkan pengaruh faktor
tersebut terhadap kondisi perusahaan yang bersangkutan.
d). Kalikan bobot pada kolom 2 dengan rating pada kolom 3 untuk
memperoleh faktor pembobotan pada kolom 4
e). Jumlahkan skor pembobotan (dalam kolom 4), untuk memperoleh total
skor pembobotan bagi perusahaan yang bersangkutan. Nilai total ini
menunjukkan bagaimana perusahaan tertentu bereaksi terhadap faktor-
faktor strategis eksternalnya. Skor total ini dapat digunakan untuk
membandingkan perusahaan ini dengan perusahaan lainnya dalam
kelompok industri yang sama
18
Tabel 2.3 Matriks EFAS
Faktor-faktor
strategi internal
Bobot Rating Bobot x Rating
Peluang :
Ancaman :
Total :
Sumber : Rangkuti, Freddy. 2004. Analisis SWOT Teknik Membedah Kasus Bisnis.
Jakarta : PT. Gamedia Pustaka Utama. p.24
2.4.2 Tahap Analisis
Setelah melakukan perhitungan pada tahap pertama maka dilanjutkan dengan
tahap dua yang disebut dengan tahap analisis. Pada tahap ini, penelitian dilakukan
dengan menggunakan Diagram SWOT, Matriks SWOT, Matriks Internal-Eksternal,
dan Matriks Grand Strategy.
2.4.2.1 Diagram SWOT
Angka yang didapat dari perhitungan IFAS dan EFAS kemudian
dimasukkan ke dalam diagram analisis SWOT ini (lihat gambar 2.1)
19
DIAGRAM ANALISIS SWOT
BERBAGAI PELUANG
Sumber : Rangkuti, Freddy. 2004. Analisis SWOT Teknik Membedah Kasus Bisnis.
Jakarta : PT. Gamedia Pustaka Utama. p.19
Gambar 2.1 Diagram Analisis SWOT
Kuadran 1 : Mendukung Strategi Agresif
Ini merupakan situasi yang sangat menguntungkan. Perusahaan tersebut memiliki
peluang dan kekuatan sehingga dapat memanfaatkan peluang yang ada. Strategi
yang harus diterapkan dalam kondisi ini adalah mendukung kebijakan pertumbuhan
yang agresif (Growth Oriented Strategy)
3. Mendukung Strategi
Turn Around
1. Mendukung Strategi
Agresif
KELEMAHAN
INTERNAL
KEKUATAN
INTERNAL
2. Mendukung Strategi
Diversivikasi 4. Mendukung strategi
Defensif
BERBAGAI
ANCAMAN
20
Kuadran 2 : Mendukung strategi diversivikasi
Meskipun menghadapi berbagai ancaman, perusahaan ini masih memiliki kekuatan
dari segi internal. Strategi yang harus diterapkan adalah menggunakan kekuatan
untuk memanfaatkan peluang jangka panjang dengan cara strategi diversifikasi
(produk / pasar).
Kuadran 3 : Mendukung strategi turn around
Perusahaan menghadapi peluang pasar yang sangat besar, tetapi dilain pihak ia
menghadapi beberapa kendala atau kelemahan internal. Fokus strategi perusahaan
ini adalah meminimalkan masalah-masalah internal perusahaan sehingga dapat
merebut peluang pasar yang lebih besar.
Kuadran 4 : Mendukung strategi defensif
Ini merupakan situasi yang sangat tidak menguntungkan, perusahaan tersebut
menghadapi berbagai ancaman dan kelemahan internal.
2.4.2.2 Matriks SWOT
Menurut Rangkuti (2000, p31) alat yang dipakai untuk menyusun faktor-
faktor strategis perusahaan adalah matriks SWOT. Matriks ini dapat
menggambarkan secara jelas bagaimana peluang dan ancaman eksternal yang
dihadapi perusahaan dapat disesuaikan dengan kekuatan dan kelemahan yang
dimilikinya. Matriks ini dapat menghasilkan empat set kemungkinan alternatif
strategis (lihat tabel 2.4)
21
Tabel 2.4 Matriks SWOT
Strengths (S)
Tentukan 5-10 faktor yang
menjadi kekuatan
Weaknesses (W)
Tentukan 5-10 faktor yang
menjadi kelemahan
Opportunities (O)
Tentukan 5-10 hal
yang menjadi peluang
Strategi SO
Ciptakan strategi yang
menggunakan kekuatan untuk
memanfaatkan peluang
Strategi WO
Ciptakan strategi yang
meminimalkan kelemahan
untuk memanfaatkan
peluang
Threats (T)
Tentukan 5-10 hal
yang menjadi
ancaman
Strategi ST
Ciptakan strategi yang
menggunakan kekuatan untuk
mengatasi ancaman
Strategi WT
Ciptakan strategi yang
meminimalkan kelemahan
dan menghindari ancaman
Sumber : Rangkuti, Freddy. 2004.Analisis SWOT Teknik Membedah Kasus Bisnis.
Jakarta : PT. Gamedia Pustaka Utama. p.31
a. Strategi SO
Strategi ini dibuat berdasarkan jalan pikiran perusahaan, yaitu dengan
memanfaatkan seluruh kekuatan untuk merebut dan memanfaatkan peluang
sebesar-besarnya
b. Strategi ST
Strategi ini adalah strategi dalam menggunakan kekuatan yang dimiliki
perusahaan untuk mengatasi ancaman
c. Strategi WO
Strategi ini diterapkan berdasarkan pemanfaatan peluang yang ada dengan
cara meminimalkan kelemahan yang ada
d. Strategi WT
Strategi ini didasarkan pada kegiatan yang besifat defensif dan berusaha
meminimalkan kelemahan yang ada serta menghindari ancaman
22
2.5 Kelemahan SWOT
Analisis SWOT merupakan cara yang cukup bernilai, merupakan proses
langsung dan sederhana, tetapi mungkin menghadapi permasalahan dalam
pengembangannya. Salah satu alasannya menurut Steiner & Miner (1997, p121)
adalah di situ tidak ada ukuran standar untuk menentukan apakah peluang, ancaman,
kelemahan, ataupun kekuatan benar-benar ada. Kalaupun memang ada, tidak ada
ukuran untuk menentukan seberapa besar pengaruhnya. Serangkaian ukuran bisa
saja diaplikasikan, mulai dari data kuantitatif hingga penilaian perorangan. Dalam
situasi demikian, kata sepakat bisa sulit diperoleh. Disamping itu, perbedaan
pendapat bisa terjadi, karena manajer dari tingkat yang berbeda mungkin
memberikan kesimpulan yang berbeda, walaupun ukuran yang sama telah
digunakan. Sebagai contoh, seorang manajer divisi mungkin melihat adanya peluang
yang menguntungkan dari produk ABC. Tetapi pimpinan perusahaan mungkin
merasa produk tersebut kurang begitu bernilai jika biaya produksinya memerlukan
alokasi modal yang barangkali lebih menguntungkan jika ditanamkan pada produk
lain, di divisi lain.
Bentuk kelemahan lain dari teknik analisis SWOT ini adalah :
- analisis SWOT ini hanya merupakan suatu langkah awal saja
dalam menetapkan strategi pemasaran yang tepat bagi
perusahaan.
- analisis SWOT tidak memberikan solusi yang optimum karena
hanya bersifat menggambarkan kondisi bisnis perusahaan.
23
2.6 Pendekatan Basisdata
2.6.1 Pengertian Basisdata
Perancangan basisdata adalah proses menciptakan desain untuk basisdata yang
mendukung kegiatan operasional dalam suatu perusahaan .
Pengertian basisdata menurut beberapa pakar yaitu:
Menurut Connolly (2002,p14), basisdata adalah suatu kumpulan data logikal yang
terhubung satu sama lain dan deskripsi dari data yang dirancang sebagai informasi
yang dibutuhkan oleh organisasi.
Menurut Subekti (1997, p8), basisdata adalah kumpulan terintegrasi dari data atau
tabel yang merupakan representasi data dari suatu model perusahaan.
Menurut Date (2000,p5), Suatu sistem basisdata adalah suatu sistem yang pada
dasarnya menyimpan record – record di dalam suatu sistem yang dilakukan secara
komputerisasi yang tujuannya secara keseluruhan adalah untuk memelihara
informasi dan untuk membuat informasi tersebut tersedia berdasarkan permintaan.
2.6.2 Database Management System (DBMS)
Menurut Connolly (2002,p16), sistem manajemen basisdata adalah suatu
sistem perangkat lunak yang bisa mendefinisikan, membuat, memelihara dan
mengontrol akses ke basisdata.
Sistem manajemen basisdata memiliki beberapa fasilitas,diantaranya yaitu :
Terdapat fasilitas yang memperbolehkan pemakai untuk menambah,
mengedit, menghapus data, dan mendapatkan data kembali dengan
menggunakan suatu bahasa manipulasi data. Biasanya ada suatu fasilitas
24
untuk melayani pengaksesan data yang disebut sebagai bahasa Query.
Bahasa query yang paling diakui adalah Structured Query Language
(SQL) yang secara de facto merupakan standard bagi DBMS
Sistem manajemen basisdata menyediakan akses kontrol ke basisdata ,
misalnya :
• Penyediaan sistem keamanan untuk mencegah pemakai yang tidak
berkepentingan mengakses basisdata.
• Penyediaan sistem integritas yang mengatur kekonsistenan penyimpanan
data.
• Kontrol sistem yang bekerja secara bersamaan yang memungkinkan akses
data yang dibagi.
• Kontrol sistem yang ditemukan kembali yang menyimpan basisdata ke
bagian sebelumnya mengikuti kegagalan perangkat keras dan perangkat
lunak .
• Katalog akses bagi pemakai yang berisi deskripsi data yang terdapat pada
basisdata
2.6.2.1 Komponen Basisdata
Sistem basisdata terdiri dari empat komponen penting :
1. Data
Dilihat dari konfigurasi sistemnya, maka data dalam basisdata dapat
merupakan data yang single-user (hanya satu pengguna yang
beroperasi terhadap basisdata) atau multi-pemakai dimana satu atau
lebih pemakai beroperasi secara bersama ke dalam sistem basisdata.
Sehingga, data dalam basisdata terutama untuk sistem yang besar harus
25
terintegrasi (integrated) dan dapat dipakai bersama (shared).
Pengertian terintegrasi dalam basisdata dapat dipandang sebagai
kumpulan berbagai file yang saling terhubung dan dengan sebagian
atau seluruh redudansi yang diantaranya dihilangkan.
Sedangkan pengertian penggunaan bersama adalah setiap bagian data
yang ada didalam basisdata dapat dipakai oleh lebih dari satu pengguna
untuk penggunaan yang mungkin berbeda.
2. Hardware
Piranti keras yang dibutuhkan untuk manajemen basisdata biasanya
masih berupa mesin standar yang ada dalam arti tidak ada kekhususan
tertentu. Akan tetapi karena sifatnya dalam akses yang lebih sangat
bervariasi maka suatu manajemen basisdata akan lebih banyak
membutuhkan media penyimpanan hard disk.
Hardware terdiri dari :
• Penyimpanan secondary (magnetic disk), I/O device
seperti disk drives), device Controller, I/O Channels, dan
lainnya.
• Hardware processor dan main memory, digunakan untuk
mendukung saat eksekusi sistem software basisdata.
3. Software
Antara fisik basisdata (tempat dimana sesungguhnya suatu basisdata
tersimpan dalam media) dengan pengguna terdapat suatu piranti lunak
yang disebut sistem manajemen basisdata (DBMS) atau DB manajer.
26
Semua kebutuhan akses oleh pengguna seperti pembentukan file
(create), penambahan data (insert), penghapusan (delete atau drop), dan
lain-lain, semua dilaksanakan oleh DBMS. Satu hal lagi, bahwa DBMS
juga berfungsi untuk memberikan satu batas agar pengguna basisdata
tidak perlu memikirkan barbagai hal yang berkaitan dengan detil pada
level piranti keras (misalnya metode akses).
Software bisa berupa DBMS, sistem operasi, software jaringan (jika
diperlukan) dan program aplikasi pendukung lainnya.
4. Pengguna (pemakai)
Terdapat empat kelas pengguna basisdata yaitu :
• Application Programmers,bertanggungjawab untuk
membuat aplikasi basisdata dengan menggunakan bahasa
pemrograman yang ada, seperti : C++, Java, Visual Basic
dan lainnya.
• End User, orang yang menggunakan data didalam
basisdata untuk kebutuhan tugas atau fungsinya.
Pengguna ini dapat mengakses basisdata secara on-line
dengan memanfaatkan bahasa query (seperti SQL)
maupun proses batch menggunakan program aplikasi
yang sudah dipersiapkan oleh programmer, atau pula
menggunakan program utility yang telah disediakan
dalam DBMS.
27
• DA (Data Administrator), seseorang yang berwenang
untuk membuat keputusan stategis dan kebijakan
mengenai data yang ada, DBA (Basisdata Administrator),
menyediakan dukungan teknis untuk implementasi
keputusan tersebut, dan bertanggungjawab atas
keseluruhan kontrol sistem pada level teknis.
• Perancang basisdata , seseorang yang berwenang untuk
merancang sistem basisdata sampai akhirnya pemakai bisa
menggunakan basisdata tersebut dan
mengimplementasikannya di perusahaan.
2.6.2.2 Keuntungan dan Kerugian DBMS
Keuntungan DBMS menurut Connolly dan Begg (2002, p25) sebagai
berikut :
• Data dapat digunakan bersama
• Redudansi Data bisa dikurangi
• Ketidakkonsistenan Data dapat dihindari
• Integritas Data dapat terpelihara
• Keamanannya Terjamin
• Kebutuhan Pemakai Yang Kompleks Dapat Teratasi
• Pelaksanaan Standarisasi
• Produktivitas meningkat
• Layanan Back up dan Recovery yang Semakin Baik
28
Kerugian DBMS menurut Connolly dan Begg (2002, p29) sebagai
berikut :
• Rumit
Karena penetapan fungsi dari DBMS yang baik,
menyebabkan DBMS menjadi software yang cukup rumit.
Seluruh pemakai harus mengetahui fungsi-fungsi yang ada
dengan baik, sehingga dapat memperoleh manfaatnya.
• Ukuran
Kerumitan dan banyaknya fungsi yang ada menyebabkan
DBMS memerlukan banyak software pendukung yang
mengakibatkan penambahan tempat penyimpanan dan
memory.
• Biaya dari DBMS
• Biaya penambahan Hardware
• Biaya untuk Konversi
• Kinerja
Pada dasarnya DBMS dibuat untuk menyediakan banyak
aplikasi, akibatnya mungkin beberapa aplikasi akan berjalan
tidak seperti biasanya.
• Akibat yang lebih besar dari suatu kesalahan
Karena sistem yang terpusat, jika seluruh pemakai dan
aplikasi terakses dari DBMS maka kerusakan pada bagian
manapun dari sistem, akan menyebabkan operasi terhenti.
29
2.6.3 Data Defenition Language (DDL)
Definisi dari Data Definition Language (DDL) menurut Connolly (2002,
p40) yaitu merupakan suatu bahasa yang memperbolehkan Data Administrator
(DBA) atau pemakai untuk mendeskripsikan nama dari suatu entity, atribut, dan
relasi data yang diminta oleh aplikasi, bersamaan dengan integritas data dan batasan
keamanan datanya.
2.6.4 Data manipulation Language (DML)
Definisi dari Data Manipulation Language (DML) menurut Connolly
(2002, p41) adalah suatu bahasa yang memberikan fasilitas pengoperasian data yang
ada di dalam basisdata.
Pengoperasian data yang akan dimanipulasi biasanya meliputi :
o Perubahan data baru ke dalam basisdata.
o Modifikasi data yang disimpan ke dalam basisdata.
o Pengembalian data yang terdapat dalam basisdata.
o Penghapusan data dari basisdata.
Sedangkan definisi procedural DML menurut Connolly (2002, p41) adalah
suatu bahasa yang memperbolehkan pemakai untuk mendeskripsikan ke sistem data
apa yang dibutuhkan dan bagaimana mendapatkan data tersebut secara persis.
2.6.5 4th GL (Generation Language)
Sekarang ini terdapat suatu bahasa yang disebut 4th GL, yang merupakan
bahasa pemrograman yang diminimalisasi. Suatu operasi di dalam bahasa
pemrograman 3rd GL, seperti COBOL, yang biasanya memerlukan ratusan baris
maka di dalam 4th GL hanya membutuhkan baris pemrograman yang lebih sedikit.
30
Keuntungan 4th GL adalah dapat menambah produktivitas berkali – kali lipat,
penanganan masalah yang lebih banyak.
Menurut Connolly (2002, p42), 4th GL mempunyai kemampuan sebagai
berikut :
• Bahasa presentasi seperti Query Language dan Report Generator.
• Bahasa spesialis seperti spreadsheets dan bahasa basisdata
• Aplikasi generator seperti mendefinisikan, menambah, mengedit dan
mengembalikan data dari basisdata untuk membangun aplikasi.
• Bahasa pemrograman yang dapat menggenerate application codes.
2.6.6 Database Application Lifecycle
Menurut Connolly dan Begg (2002, p271), sistem basisdata merupakan
bagian penting bagi sistem informasi perusahaan, dengan demikian daur pembuatan
(lifecycle) dalam aplikasi basisdata sering dihubungkan dengan lifecycle dalam
sistem informasi.
Tahapan dalam basisdata application lifecycle adalah tidak sepenuhnya harus
berurutan, namun dapat berulang kembali ke tahapan sebelumnya, contohnya adalah
ketika sudah memulai masuk ke tahapan mendesain basisdata namun ada keterangan
yang kurang, sehingga harus dilakukan kembali tahapan analisa kebutuhan.
Jadi dapat dikatakan bahwa basisdata application lifecycle adalah tahapan
dalam mengembangkan sistem aplikasi basisdata. Lifecycle dalam aplikasi basisdata
akan menjadi kompleks jika aplikasi sistem basisdata yang akan dibuat mempunyai
skala menengah atau besar, karena sistem harus dapat mengatasi berbagai kebutuhan
pemakai yang banyak, ratusan query, dan banyaknya program aplikasi, yang
membutuhkan berbagai proses pengulangan dalam lifecycle untuk menganalisa,
31
mengenali kebutuhan pemakai, merancang kembali, dan banyak lagi. Namun untuk
aplikasi sistem basisdata yang kecil, prosesnya diharapkan untuk tidak terlalu rumit.
Berikut adalah gambar skema tahapan basisdata application lifecycle beserta
penjelasannya: (lihat gambar 2.2)
Perencanaan Basisdata
Definisi Sistem
Analisa Kebutuhan
Perancangan Konseptual
Perancangan Logikal
Perancangan Fisikal
Implementasi
Konversi dan Memasukan Data
Testing
Perawatan Operasional
Prototyping (optional)
Pemilihan DBMS
(optional)
Desain Aplikasi
Perancangan Basisdata
Sumber : Connolly, 2002, p272 Gambar 2.2
Repro Skema Siklus Hidup Aplikasi Basisdata
32
2.6.6.1 Perencanaan Basisdata
Perencanaan basisdata adalah aktivitas pengaturan yang memungkinkan
langkah-langkah aplikasi basisdata lebih efisien dan efektif. Perencanaan basisdata
harus terintegrasi dengan keseluruhan strategi sistem informasi dari organisasi.
Terdapat tiga hal pokok yang bersangkutan dalam merumuskan strategi sistim
informasi, yaitu:
Identifikasi rencana perusahaan dan tujuannya dengan
ketetapan selanjutnya dari kebutuhan sistem informasi
Evaluasi dari sistem informasi sekarang untuk menentukan
kelebihan dan kekurangan yang ada
Penilaian kesempatan teknologi informasi yang mungkin
dapat memegang keuntungan kompetitif.
Tahap pertama yang penting dalam perencanaan basisdata adalah dengan
jelas mendefinisikan pernyataan misi dari proyek basisdata. Pernyataan misi
mendefinisikan tujuan utama dari aplikasi basisdata. Biasanya yang mendefinisikan
pernyataan tersebut adalah yang mengendalikan proyek basisdata dalam organisasi.
Pernyataan misi membantu mengklarifikasi tujuan proyek basisdata dan
menyediakan jalan yang jelas dalam pembuatan aplikasi basisdata yang dibutuhkan
dengan lebih efisien dan efektif. Setelah itu, aktivitas berikutnya melibatkan
identifikasi sasaran misi. Masing-masing sasaran misi harus mengidentifikasi tugas
tertentu yang menopang basisdata. Bila basisdata dapat memenuhi sasaran misi,
maka pernyataan misi seharusnya terpenuhi.
Perencanaan basisdata juga termasuk pengembangan standar yang meliputi
bagaimana cara data akan dikumpulkan, bagaimana cara menspesifikasi formatnya,
33
dokumentasi apa saja yang dibutuhkan, dan bagaimana perancangan dan
implementasi seharusnya diteruskan. Standarisasi akan memakan waktu yang
banyak untuk pengembangan dan pemeliharaannya, membutuhkan sumber-sumber
yang berkaitan dalam menyusun pada awalnya, dan untuk terus menerus
memeliharanya. Akan tetapi, standarisasi yang terancang dengan baik menyediakan
dasar untuk melatih staff dan mengukur pengendalian mutu, dan dapat memastikan
bahwa kerja sesuai dengan pola, sesuai dengan pengalaman dan keahlian masing-
masing staff.
2.6.6.2 Definisi Sistem
Definisi sistem menjelaskan tentang cakupan dan batasan dari aplikasi
basisdata, dan menggambarkan kebutuhan pemakai akan aplikasi basisdata secara
umum.
Suatu aplikasi basisdata dapat mempunyai satu atau lebih sudut pandang
pemakai (lihat gambar 2.3). Mengidentifikasi sudut pandang pemakai adalah aspek
penting pengembangan suatu aplikasi basisdata. Identifikasi ini dapat membantu
untuk memastikan tidak ada pemakai basisdata utama yang terlupakan ketika
mengembangkan kebutuhan untuk aplikasi yang baru. Pandangan pemakai juga
sangat membantu pada pengembangan basisdata yang kompleks dengan membuat
kebutuhan – kebutuhan tersebut dipecah secara beraturan.
34
Database application
Database
User view 6
User view 5
User view 4
User view 1
User view 2
User view 3
Sumber : Connolly-Begg, 2002, p275
Gambar 2.3 : Representasi dari sebuah aplikasi basis data dengan banyak user
view : user view (1, 2, dan 3) dan (5 dan 6) mempunyai
kebutuhan yang saling melengkapi (seperti ditunjukkan dengan
daerah yang diarsir), sementara user view 4 mempunyai
kebutuhan yang berbeda
2.6.6.3 Analisis dan Pengumpulan Kebutuhan Data
Proses mengumpulkan dan menganalisa informasi tentang bagian dari
organisasi yang nantinya akan didukung oleh aplikasi basisdata, dan kemudian
menggunakan informasi ini untuk mengetahui kebutuhan pemakai terhadap sistem
yang baru.
Pada tahap ini melibatkan kumpulan dan analisis informasi tentang bagian
dari perusahaan yang akan dilayani oleh basisdata. Informasi yang dikumpulkan
untuk masing-masing sudut pandang pemakai utama termasuk :
Deskripsi data yang digunakan atau dihasilkan
Keterangan data yang digunakan atau dihasilkan
35
Kebutuhan tambahan apapun untuk aplikasi basisdata yang
baru
Informasi ini kemudian dianalisa untuk diidentifikasi data dan
kebutuhannya untuk dimasukkan ke dalam aplikasi basisdata yang baru. Semua ini
dijelaskan dalam dokumen yang dikenal secara spesifik sebagai spesifikasi
kebutuhan untuk tiap aplikasi basisdata yang baru.
Pengumpulan data dan analisis adalah tahap persiapan untuk merancang
basisdata. Jumlah data yang terkumpul tergantung dari sumber permasalahan dan
ketentuan perusahaannya.
Informasi yang telah terkumpul pada tahap ini bisa jadi terstruktur dengan
tidak baik dan terdapat permintaan tidak resmi. Maka dari itu, perlu diubah ke dalam
pernyataan kebutuhan yang lebih terstruktur. Identifikasi fungsionalitas yang
dibutuhkan untuk aplikasi basisdata adalah aktivitas yang kritikal, karena fungsi
yang tidak mencukupi dapat menggangu pemakainya sehingga akan berakhir pada
penolakan sistem dan sistem menjadi tidak berguna.
2.6.6.4 Perancangan Basisdata
Perancangan basisdata adalah proses membuat perancangan untuk
basisdata yang akan membantu operasi perusahaan dan tujuannya.
Terdapat dua pendekatan utama dalam merancang suatu basisdata, yaitu
bottom-up dan top-down. Pedekatan bottom-up dimulai pada atribut tingkatan pokok
(seperti, properti dari kesatuan dan hubungan), dimana melalui analisa dari asosiasi
antar atribut, dikelompokkan ke dalam hubungan yang melambangkan jenis – jenis
kesatuan dan hubungan antar kesatuan. Pendekatan ini sesuai untuk rancangan
basisdata yang sederhana dengan atribut yang relatif sedikit.
36
Strategi yang sesuai untuk rancangan basisdata yang lebih kompleks
dibutuhkan pendekatan top-down. Pendekatan ini dimulai dengan pengembangan
model data yang mengandung sedikit kesatuan dan hubungan tingkat tinggi.
Kemudian menggunakan perbaikan top-down yang telah sukses untuk
mengidentifikasi kesatuan tingkat rendah dan hubungan serta atribut yang
bersangkutan. Ilustrasi pendekatan top-down menggunakan konsep model Entity-
Relationship (ER). Mulai dari identifikasi kesatuan dan hubungan antar kesatuan,
yang menjadi perhatian organisasi.
Ada pendekatan lain selain pendekatan utama di atas, yaitu pendekatan
inside-out dan pendekatan mixed-strategy. Pendekatan inside-out berhubungan
dengan pendekatan bottom-up tetapi berbeda pada saat mengidentifikasi beberapa
kesatuan utama dan kemudian menyebar keluar untuk mempertimbangkan kesatuan
lain, hubungan, dan atribut yang teridentifikasi pertama kali. Pendekatan mixed-
strategy menggunakan kedua pendekatan bottom-up dan top-down untuk bagian-
bagian model yang berbeda-beda sebelum pada akhirnya menyatukan semua bagian
bersama.
Tujuan utama dari pemodelan data adalah untuk membantu memahami arti
dari data dan untuk memudahkan komunikasi tentang kebutuhan informasi.
Pembuatan model data membutuhkan pertanyaan tentang kesatuan, hubungan, dan
atribut. Dengan demikian, perancang menemukan arti dari data perusahaan.
Pemodelan data memudahkan dalam mengartikan data, dan maka dari itu pemodelan
data sebagai jaminan agar dapat memahami:
Masing-masing sudut pandang pemakai pada data;
Sifat dari data itu sendiri, berdiri sendiri pada gambaran
fisiknya
37
Penggunaan data sesuai pandangan pemakai.
Sedangkan perancangan dibagi menjadi tiga tahap yaitu konseptual, logikal,
dan fisikal. Menurut Connolly (2002, p281), perancangan konseptual adalah untuk
proses pembuatan suatu model dari informasi yang akan digunakan di dalam suatu
organisasi, yang independensinya tidak tergantung dengan apapun. Menurut
Connolly (2002, p281), perancangan logikal adalah proses pembuatan suatu model
informasi yang digunakan di dalam suatu organisasi berdasarkan model data yang
spesifik, tetapi tidak tergantung pada suatu DBMS dan perangkat keras lainnya.
Menurut Conolly (2002, p282), perancangan fisikal adalah proses mendeskripsikan
pengimplementasian dari suatu basisdata pada media penyimpanan secondary; itu
juga akan mendiskripsikn dasar dari suatu relasi, file organisasi, dan juga index yang
digunakan untuk mencapai suatu keefisienan data, integritas, serta ukuran keamanan.
2.6.6.5 Seleksi DBMS
Seleksi DBMS merupakan seleksi dari DBMS yang pantas untuk
menopang aplikasi basisdata. Bila tidak ada DBMS, maka bagian dari daur
kehidupan basisdata untuk membuat seleksi adalah antara fase konseptual dan
logikal basisdata. Akan tetapi, seleksi dapat dilakukan sewaktu-waktu berhubung
dengan perancangan logikal menyediakan informasi yang ada cukup sesuai dengan
kebutuhan sistem seperti penampilan, kemudahan penyusunan, sekuritas, dan
batasan integritas.
Pada saat perusahaan ingin lebih berkembang atau terdapat pergantian
sistem, terkadang menjadi hal yang penting untuk mengevaluasi produk DBMS
yang baru. Pada hal semacam ini tujuannya adalah memilih sistem yang memenuhi
38
kebutuhan saat ini dan masa depan perusahaan. Pendekatan sederhana dalam
memilih DBMS adalah dengan memeriksa fitur-fitur yang ada dengan kebutuhannya.
Perusahaan membutuhkan sistem yang benar-benar memberikan keuntungan.
Pada berikut ini adalah langkah-langkah utama dalam penyeleksian
DBMS :
• Menetapkan syarat-syarat keterangan pembelajaran.
• Membuat daftar pendek dua atau tiga produk
• Evaluasi produk
• Rekomendasi seleksi dan hasil produksi
Dengan langkah terakhir pada seleksi DBMS ini untuk
mendokumentasikan proses dan menyediakan sebuah pernyataan dari penemuan dan
rekomendasi produk DBMS tertentu.
2.6.6.6 Perancangan Aplikasi
Perancangan aplikasi yaitu rancangan dari tampilan layar untuk pemakai
dan aplikasi program yang menggunakan dan memproses basisdata. Pada
kebanyakan kasus, tidaklah mustahil untuk menyelesaikan rancangan aplikasi
sampai rancangan basisdata itu sendiri mengambil alih. Sebaliknya, basisdata ada
untuk membantu aplikasi, dan maka dari itu harus ada arus informasi antara
rancangan aplikasi dan rancangan basisdata.
Perlu dipastikan bahwa semua fungsionalitas yang disebutkan dalam
spesifikasi kebutuhan pemakai ada pada rancangan aplikasi untuk aplikasi basisdata.
Hal ini melibatkan perancangan program aplikasi yang mengakses basisdata dan
membuat rancangan transaksi. Selain merancang bagaimana cara untuk mencapai
fungsionalitas yang dibutuhkan, perlu juga merancang interface pemakai yang
39
sesuai untuk aplikasi basisdata. Interface ini harus merepresentasikan informasi
yang dibutuhkan dengan cara yang ’user-friendly’. Sebuah aplikasi haruslah mudah
untuk dipelajari, sederhana digunakan, dan langsung ke sasaran tujuan pemakai.
2.6.6.7 Prototyping
Pembuatan model yang bekerja pada aplikasi basisdata ini tidaklah secara
umum mempunyai semua fitur - fitur yang diperlukan atau menyediakan semua
fungsi pada sistem final nantinya.
Tujuan utama dari pengembangan prototype aplikasi basisdata adalah
untuk memperbolehkan pemakai menggunakan prototype untuk mengidentifikasi
fitur – fitur sistem yang bekerja dengan baik, atau tidak tercukupi, dan juga bila
memungkinkan memberikan pendapat agar dapat lebih mengembangkan dan
menambah fitur – fitur baru ke dalam aplikasi basisdata. Dengan cara ini, maka
pemakai dan pengembang dapat mengetahui kebutuhan – kebutuhan pemakai pada
sistem dan mengevaluasi kemungkinan rancangan sistem tertentu.
Terdapat dua strategi prototyping secara umum, yaitu prototyping
kebutuhan dan prototyping evolusioner. Prototyping kebutuhan menggunakan
sebuah prototype untuk menentukan kebutuhan dari aplikasi basisdata yang
diusulkan dan ketika kebutuhan telah terpenuhi maka prototype tersebut akan
dibuang. Sedangkan prototype evolusioner juga digunakan untuk tujuan yang sama,
namun perbedaannya adalah prototype ini tidak dibuang, dengan pengembangan
lebih lanjut menjadi aplikasi basisdata yang bekerja.
40
2.6.6.8 Implementasi
Tahap yang merupakan realisasi fisikal dari basisdata dan rancangan
aplikasi. Setelah menyelesaikan tahapan perancangan, barulah basisdata dan
program aplikasi dapat diimplementasikan. Implementasi basisdata dapat dicapai
dengan menggunakan Data Definition Language (DDL) dari DBMS yang dipilih
atau sebuah Graphical User Interface (GUI). Pernyataan DDL digunakan untuk
membuat truktur basisdata dan arsip basisdata kosong.
Aplikasi program yang digunakan diimplementasikan menggunakan
bahasa generasi ketiga atau ke-empat (3GL atau 4GL). Sebagian dari program
aplikasi ini adalah transaksi basisdata yang diimplementasikan menggunakan Data
Manipulation Language (DML) dari DBMS yang dituju, seperti Visual Basic,
Delphi, C, C++, Java, COBOL, Fortran, Ada, atau Pascal.
Keamanan dan pengendalian integritas untuk aplikasi juga
diimplementasikan. Beberapa dari kendali ini diimplementasikan dengan
menggunakan DDL, tetapi yang lain mungkin butuh didefinisikan diluar DDL yang
digunakan, seperti contoh keperluan persediaan DBMS atau pengendali sistem
operasi.
2.6.6.9 Konversi Data dan Loading
Pada tahap ini dilakukan perpindahan data yang telah ada ke dalam
basisdata yang baru dan mengubah aplikasi yang telah ada agar dapat jalan pada
basisdata yang baru.
Tahap ini diperlukan hanya ketika sistem basisdata yang baru
menggantikan sistem lama. Dewasa ini, sudah umum bagi DBMS mempunyai
fasilitas untuk mengambil arsip yang sudah ada ke basisdata yang baru. Biasanya
41
kegunaan tersebut membutuhkan spesifikasi dari arsip awal dan basisdata yang
dituju, dan kemudian mengubah data ke format yang dibutuhkan pada arsip
basisdata yang baru. Kapanpun perubahan dan pengisian diperlukan, proses haruslah
direncakan dengan baik untuk memastikan transisi yang lancar agar beroperasi
secara penuh.
2.6.6.10 Testing
Testing adalah proses menjalankan program aplikasi dengan tujuan untuk
menemukan kesalahan atau kegagalan program.
Sebelum suatu aplikasi program basisdata dijalankan, perlu diadakan
pengujian. Hal ini dilakukan dengan menggunakan strategi pengujian dan realitas
data dengan hati-hati agar proses pengujian seluruhnya berjalan sesuai metode dan
teliti. Bila pengujian berjalan dengan sukses, maka akan menampakkan beberapa
kegagalan yang ada pada program aplikasi dan mungkin juga pada struktur basisdata.
Keuntungan kedua terletak pada saat demonstrasi pengujian, bahwa basisdata dan
aplikasi program terlihat berjalan sesuai dengan spesifikasi pemakai dan kebutuhan
tampilan tampak memuaskan. Tentunya pemakai sistem yang baru ini harus ikut
dilibatkan dalam proses pengujian. Pengujian sistem harus mempunyai basisdata
pengujian pada sistem piranti keras yang berbeda, walau pada kenyataannya hal ini
sering tidak tersedia. Bila data asli digunakan, perlu membuat backup data apabila
terjadi kemungkinan kegagalan. Setelah pengujian selesai, sistem aplikasi siap untuk
diserahkan kepada pemakai.
42
2.6.6.11 Perawatan Operasional
Perawatan operasional adalah proses mengawasi dan memelihara sistem
berikut instalasinya. Pada tahap sebelumnya, aplikasi basisdata telah diimplementasi
dan diuji secara lengkap. Saat ini sistem pindah ke tahap pemeliharaan, dimana
melibatkan aktivitas berikut :
1. Mengawasi pelaksanaan sistem. Bila pelaksanaannya berada
dibawah tingkat yang dapat diterima, maka perlu
mengorganisasikan kembali basisdata yang diperlukan.
2. Memelihara dan meningkatkan aplikasi basisdata ketika
dibutuhkan.
Ketika basisdata telah bekerja secara penuh, pengawasan secara ketat
diperlukan untuk memastikan pelaksanaan tetap berada pada tingkat yang dapat
diterima. Sebuah DBMS biasa menyediakan keperluan yang bermacam-macam
untuk membantu administrasi basisdata termasuk kegunaan untuk pengisian data ke
basisdata dan pengawasan sistem. Administrator basisdata (Database Administrator
- DBA) dapat menggunakan informasi ini untuk menyetel sistem agar tampil lebih
baik, seperti dengan cara membuat indeks tambahan agar queries lebih cepat,
dengan mengubah struktur penyimpanan, atau dengan menggabungkan atau
memisahkan tabel.
Proses pengawasan terus berlanjut melewati daur hidup aplikasi basisdata
dan pada saatnya waktu akan mengantarkan pengorganisasian kembali pada
basisdata untuk memuaskan kebutuhan sistem yang berubah atau berkembang.
43
2.6.7 Tahap-tahap Perancangan Basisdata
2.6.7.1 Perancangan Konseptual
Tujuan dari design konseptual basisdata menurut Connolly (2002, p281)
adalah untuk memproses pembuatan suatu model dari informasi yang akan
digunakan di dalam suatu organisasi, yang independensinya tidak tergantung dengan
apapun. Langkah-langkah dalam pembuatan model konseptual basisdata adalah :
Langkah 1: Membangun model data konseptual lokal untuk setiap
bagian
Langkah 1.1: Mengidentifikasi tipe entiti
Tujuan dari langkah ini adalah untuk mengidentifikasi entiti
utama yang diminta oleh pemakai.
Langkah pertama yang diperlukan dalam membangun suatu
lokal konseptual data model adalah untuk mendefinisikan objek utama atau
entiti dimana pemakai memang membutuhkannya. Salah satu metode untuk
mengidentifikasi tipe entiti yang utama adalah dengan mengidentifikasi kata
benda atau frase kata benda yang telah disebutkan oleh pemakai.. (lihat
gambar 2.4)
Staf Cabang
nama entity
Sumber : Connolly-Begg, 2002, p333
Gambar 2.4 : Representasi diagram dari entity type Staf dan Cabang
44
Langkah 1.2: Mengidentifikasi tipe relasi
Tujuan dari langkah ini adalah untuk mengidentifikasi relasi
yang penting antara berbagai tipe entiti yang telah diidentifikasikan.
Biasanya relasi diidentifikasi dengan menggunakan kata kerja atau frase kata
kerja.
Relasi yang paling umum adalah relasi binari. Yang artinya
relasi antar entiti yang persis antara dua entiti saja. Bagaimanapun, relasi
kompleks yang melibatkan lebih dari dua entiti dan relasi rekursif yang
hanya melibatkan satu entiti harus diperhatikan.
Adapun langkah-langkah dalam mengidentifikasi tipe relasi
adalah sebagai berikut :
1. Gunakan Entity Relationship Diagram (ERD)
Hal yang sering terjadi adalah pengguna akan lebih cepat
mengerti suatu perancangan basisdata dengan cara
divisualisasikan dibanding dengan perancangan basisdata
yang dituliskan dalam bentuk tekstual. Dalam hal ini, ERD
digunakan untuk merepresentasikan entiti dan bagaimana
relasi antar entiti. Sangat disarankan menggunakan ERD
untuk membantu anda dalam membuat gambaran umum
dari perancangan basisdata yang sedang dikembangkan.
2. Tentukan pembatas multiplicity dari tipe relasi
Setelah mendapat relasi antar entiti, maka langkah
berikutnya adalah menentukan multiplicity setiap relasi. Jika
memang ada suatu nilai yang spesifik dari suatu multiplicity
maka akan lebih baik apabila didokumentasikan.
45
3. Setiap entiti mempunyai minimal sebuah relasi
Pada pembuatan ERD, pastikan setiap entiti mempunyai
minimal satu relasi dengan entiti yang lain (lihat gambar
2.5). Jika memang setiap entity sudah memiliki minimal
satu relasi dengan entiti yang lain, maka langkah berikutnya
adalah memperhatikan kamus data.
Staf Cabang
nama relationship
Mempunyai
'Cabang mempunyai staf' Sumber : Connolly-Begg, 2002, p335
Gambar 2.5 : Representasi diagram dari relationship type Cabang mempunyai Staf
Langkah 1.3: Mengidentifikasi dan mengasosiasikan atribut suatu entiti
atau tipe relasi.
Tujuan dari langkah ini adalah untuk mengidentifikasi dan
mengasosiasikan atribut dari entiti atau tipe relasi.
Simple atau Composite Atribut
Perlu diperhatikan apakah suatu atribut tertentu itu simple atau
composite. Composite atribut adalah atribut yang membangun dari simple
atribut. Sebagai contoh, atribut alamat bisa saja dibuat simple dan
menyimpan beberapa detail dari alamat sebagai suatu nilai. Contoh : Jln.
Jendral Sudirman 25, Jakarta, 12345. Bagaimanapun juga atribut alamat
dapat merepresentasikan sebuah composite atribut, yang terdiri dari beberapa
46
detail yang mempunyai nilai tepisah dalam atribut nama jalan (“Jln. Jendral
Sudirman 25”), kota (“Jakarta”), dan kodepos (“12345”). Atribut alamat
dapat dijadikan simple atribut atau composite atribut tergantung dengan
kebutuhan pemakai.
Jika pemakai tidak membutuhkan detail dari atribut alamat seperti
nama jalan, kota, kodepos dan sebagainya maka sebaiknya atribut alamat itu
tetap dibuat sebagai simple atribut. Sedangkan jika pemakai membutuhkan
detail dari atribut alamat, maka sebaiknya atribut alamat tersebut dibuat
sebagai composite atribut.
Single atau Multi value Atribut
Suatu atribut juga dapat mempunyai satu atau lebih nilai, contoh,
atribut nomor telepon. Seseorang bisa saja mempunyai nomor telepon lebih
dari satu, keadaan seperti itu dapat disebut multi value atribut. Tetapi apabila
atribut tertentu hanya mempunyai satu nilai maka disebut single atribut.
Derived Atribut
Derived atribut adalah atribut yang nilainya tergantung dengan nilai
atribut yang lain. Contoh, umur seorang staff, banyaknya properti yang
diatur oleh seorang staff.
Langkah 1.4: Mengidentifikasi domain atribut
Tujuan dari langkah ini adalah untuk menentukan domain dari
atribut yang ada di dalam lokal konseptual data model.
Contoh :
47
1. Atribut dari nomor staff. Terdiri dari 5 karakter string
dimana karakter utama merupakan huruf, sedangkan 3
karakter sisa berupa angka.
2. Nilai yang mungkin untuk atribut sex adalah M atau F. Ini
merupakan domain dari atribut yag menggunakan karakter
tunggal.
Langkah 1.5: Mengidentifikasi candidate dan primary key
Tujuan dari langkah ini adalah untuk mengidentifikasi
candidate key dari setiap entiti, dan jika memang terdapat lebih dari satu
candidate key, pilihlah salah satunya untuk menjadi primary key. Pada saat
pemilihan primary key diantara banyak candidate key, gunakan petunjuk
berikut untuk membantu seleksi :
1. Merupakan candidate key dengan jumlah set paling
sedikit
2. Merupakan candidate key yang nilainya jarang sekali
berubah
3. Merupakan candidate key dengan jumlah karakter paling
sedikit
4. Merupakan candidate key paling sedikit dari nilai
maksimalnya (untuk tipe atribut dengan tipe numeric)
5. Merupakan candidate key yang paling mudah digunakan
dari sudut pandang pemakai.
48
Langkah 1.6: Menggunakan enhanced modeling konsep (langkah
optional)
Tujuan dari langkah ini adalah untuk mempertimbangkan
penggunaan enhanced modeling concepts, seperti specialization,
generalization, aggregation dan compotion.
Jika pendekatan pemakai merupakan specialization, maka
perhatikan perbedaan yang dilihat secara maksimal antara satu entiti atau
banyak subclass dari superclass entiti. Jika anda menggunakan pendekatan
generalization, maka anda akan mengidentifikasikan persamaan antara entiti
yang ada untuk membentuk superclass.
Langkah 1.7: Mencek redundancy
Tujuan dari langkah ini adalah untuk mencek apakah ada
redundansi dalam model basisdata.
Pada langkah ini, dilakukan pengujian model konseptual data
lokal dengan penglihatan secara spesifik. Apabila terdapat redundansi, maka
dapat dihilangkan dengan 2 cara :
1. Menguji kembali hubungan one-to-one
2. Menghilangkan relasi redundansi
Langkah 1.8: Validasi model konseptual lokal dengan transaksi
pemakai
Tujuan dari langkah ini adalah untuk memastikan bahwa
model konseptual lokal mendukung permintaan transaksi oleh pemakai.
49
Pengujian dilakukan dengan dua kemungkinan pendekatan yang mendukung
permintaan transaksi :
1. Deskripsikan transaksi
2. Gunakan alur transaksi
Langkah 1.9: Mereview model konseptual data lokal dengan pemakai
Tujuan dari langkah ini adalah untuk mereview model
konseptual data lokal bersama pemakai guna memastikan bahwa model yang
ada sudah sesuai dengan yang diminta.
Hasil akhir dari perancangan konseptual basisdata adalah
memproses pembuatan suatu model dari informasi yang akan digunakan di
dalam suatu organisasi, yang independensinya tidak tergantung pada apapun.
2.6.7.2 Perancangan Logikal
Adapun tujuan dari model logikal data menurut Connolly (2002, p281)
adalah untuk memproses pembuatan suatu model informasi yang digunakan di
dalam suatu organisasi berdasarkan model data yang spesifik, tetapi tidak tergantung
pada suatu DBMS dan perangkat keras lainnya.
Tahapan utama dalam fase ini adalah membangun sebuah suatu model data
logikal lokal dari sebuah model data konseptual lokal yang merepresentasikan view
tertentu dari perusahaan dan kemudian memvalidasi model ini untuk meyakinkan
bahwa model tersebut secara struktural benar dan model tersebut mendukung semua
transaksi yang dibutuhkan. Sehingga pada akhir tahap ini akan dihasilkan hanya satu
model data logikal lokal yang sekaligus menjadi model data logikal global.
50
Langkah 1: Membuat dan menvalidasi model logikal data lokal untuk
setiap bagian
Tujuan dari langkah ini adalah untuk membangun suatu model
logikal data lokal dari suatu model konseptual data lokal yang
merepresentasikan perusahaan dan kemudian menvalidasi model ini untuk
memastikan strukturnya benar dan bahwa model tersebut mendukung
transaksi yang diminta.
Langkah 1.1: Menghilangkan bagian yang tidak sesuai dengan model
relasi (langkah optional)
Tujuan dari langkah ini adalah untuk memperbaiki model
konseptual lokal data dengan menghilangkan feature-feature yang tidak
kompetibel dengan model relasi. Bagian yang akan dibahas pada langkah ini
antara lain :
1. Menghilangkan many-to-many (*.*) tipe relasi binary.
2. Menghilangkan many-to-many (*.*)tipe relasi
rekursif.
3. Menghilangkan tipe relasi komplek
4. Menghilangkan multi value atribut
Langkah 1.2: Menganalisis relasi untuk model logikal data lokal
Tujuan dari langkah ini adalah untuk membuat suatu relasi
untuk model logikal data lokal yang merepresentasikan suatu entiti, relasinya
dan juga atribut yang telah diidentifikasi. Adapun pendeskripsian bagaimana
51
relasi dapat diturunkan dari struktur data model yang ada sekarang, antara
lain :
1. Tipe entiti kuat
2. Tipe entiti lemah
3. One-to-many (1.*) tipe relasi binari
4. One-to-one (1.1) tipe relasi binari
5. One-to-one (1.1) relasi rekursif
6. Superclass atau subclass tipe relasi
7. Many-to-many tipe relasi binari
8. Tipe relasi komplek
9. Atribut multi value
Langkah 1.3: Menvalidasi relasi dengan normalisasi
Tujuan dari langkah ini adalah untuk menvalidasi relasi dalam
model logikal data lokal dengan menggunakan teknik dari normalisasi.
Tujuan dari normalisasi adalah sebagai berikut :
a. Menghilangkan kumpulan relasi dari inserting,
updating dan delete dependensi yang tidak diharapkan.
b. Mengurangi kebutuhan restrukturisasi kumpulan relasi
dan meningkatkan life spam program aplikasi.
c. Membuat model relasional lebih informative.
Tahap-tahap dalam normalisasi :
1. Menurut Connolly-Begg (2002,p388), first normal form (1NF) adalah
sebuah relasi di mana irisan dari setiap baris dan kolom mengandung
satu dan hanya satu nilai.
52
Dimulai proses normalisasi dengan pertama-tama mengubah data dari
sumbernya ke dalam bentuk tabel dengan baris dan kolom. Dalam format
ini, tabel dalam unnormalized form (UNF) dan diartikan sebagai tabel
yang tidak normal. Unnormalized form (UNF) adalah sebuah tabel yang
mengandung satu atau lebih group yang berulang (repeating group).
Untuk mentransformasi dari tabel yang tidak normal ke dalam 1NF,
harus mengidentifikasi dan menghilangkan repeating group dalam tabel
tersebut. Sebuah repeating group adalah sebuah atau sekumpulan atribut
dalam sebuah tabel yang memiliki banyak nilai untuk sebuah kejadian
tunggal dari atribut kunci yang dianjurkan untuk tabel tersebut.
Ada dua pendekatan umum untuk menghilangkan repeating group dari
tabel tidak normal. Pertama, menghilangkan repeating group dengan
memasukkan data yang sesuai dalam kolom yang kosong dari baris yang
mengandung data yang berulang. Kedua, menghilangkan repeating
group dengan menempatkan data yang berulang dengan salinan dari
atribut kunci yang sesungguhnya ke dalam relasi yang terpisah.
2. Menurut Connolly-Begg (2002,p392), second normal form (2NF) adalah
sebuah relasi yang merupakan first normal form dan setiap atribut yang
bukan primary key tergantung fungsional secara penuh terhadap primary
key.
Second normal form (2NF) didasarkan pada konsep ketergantungan
fungsional secara penuh (fully functionally dependency), yang
mengindikasikan bahwa jika A dan B adalah atribut dari sebuah relasi,
maka B tergantung fungsional secara penuh pada A jika dan hanya jika B
tergantung fungsional pada A, tetapi bukan pada himpunan bagian dari A.
53
Sebuah ketergantungan fungsional A->B disebut tergantung sebagian
(partially dependent) jika ada beberapa atribut yang dapat dihilangkan
dari A dan ketergantungannya masih ada.
Proses normalisasi dari relasi 1NF ke 2NF mencakup penghapusan
ketergantungan sebagian (partial dependency). Jika sebuah partial
dependency masih ada, maka menghilangkan atribut dari relasi yang
tergantung fungsional dengan menempatkannya ke dalam sebuah relasi
baru dengan salinan dari determinannya.
3. Menurut Connolly-Begg (2002,p394), third normal form (3NF) adalah
sebuah relasi yang merupakan first normal form dan second normal form,
dan tidak ada atribut yang bukan primary key tergantung secara transitif
pada primary key.
Proses normalisasi dari relasi 2NF ke 3NF mencakup proses
penghapusan ketergantungan transitif (transitive dependency). Transitive
dependency adalah suatu kondisi dimana A, B, dan C adalah atribut-
atribut dari sebuah relasi sehingga jika A -> B (A tergantung fungsional
pada B) dan B-> C (B tergantung fungsional pada C), maka C tergantung
secara transitif pada A melalui B. Jika sebuah transitive dependency
masih ada, maka menghilangkan atribut-atribut dari relasi yang
tergantung secara transitif tersebut dengan menempatkannya dalam
sebuah relasi baru dengan salinan dari determinannya.
Langkah 1.4: Menvalidasi relasi dengan transaksi user
Tujuan dari langkah ini adalah untuk memastikan bahwa
relasi di dalam model logikal data lokal mendukung transaksi yang diminta
54
user. Pada langkah ini, pengecekan bahwa relasi yang dibuat di langkah
sebelumnya juga mendukung transaksi ini benar dan pastikan juga bahwa
tidak ada kesalahan dalam relasi yang telah dibuat.
Langkah 1.5: Mencek integritas database
Tujuan dari langkah ini adalah untuk mendefinisikan ruang
lingkup integritas yang diperlihatkan kepada pemakai. Dalam hal ini ada 5
tipe ruang lingkup integritas, antara lain :
Data yang diminta
Domain pembatas atribut
Integritas entiti
Yang mendefinisikan suatu entiti mempunyai
integritas ialah tidak adanya primary key yang kosong
(null). Suatu primary key merupakan suatu atribut
yang mendefinisikan bahwa setiap record / tuple itu
unik satu sama lain.
Integritas referensi
Jika terdapat suatu foreign key dalam suatu relasi,
maka nilainya harus sesuai dengan nilai candidate key
suatu record dimana foreign key tersebut ada atau
sepenuhnya kosong (null).
Pembatas enterprise
Merupakan aturan tambahan yang dibuat oleh
pemakai atau seorang administrator basisdata dari
basisdata tersebut.
55
Langkah 1.6: Mereview model logikal data lokal dengan user
Tujuan dari langkah ini adalah untuk membuat dokumentasi
yang mendeskripsikan model logikal data lokal sebagai representasi yang
sesuai dengan keadaan sebenarnya.
Hubungan antara Logikal Data Model dan Data Flow Diagram
Suatu model logikal data merefleksikan struktur dari dalam suatu
enterprise. Sebuah data flow diagram (DFD) menunjukan aliran data suatu
enterprise dan disimpan di dalam penyimpanan data. Semua atribut
seharusnya berada di dalam suatu tipe entiti. Jika memang ditangani di
dalam enterprise dan kemungkinan akan dilihat mengalir di sekitar
enterprise sebagai aliran data. Ada aturan yang mengontrol antara dua teknik
tersebut, antara lain:
• Setiap penyimpanan seharusnya merepresentasikan
suatu tipe entity.
• Atribut dalam data flow seharusnya merupakan bagian
dari tipe entity
Langkah 2: Membangun dan menvalidasi model logikal data global
Tujuan dari langkah ini adalah untuk mengkombinasi suatu
individual model logikal data lokal ke dalam suatu model yang
menggambarkan suatu enterprise.
Langkah 2.1: Menggabungkan model lokal logikal data menjadi model
global
Beberapa tugas dari pendekatan ini adalah sebagai berikut :
56
1. Mereview nama dan isi dari suatu entity atau relasi dan candidate key.
2. Mereview nama dan isi dari suatu relasi dan foreign key.
3. Menggabungkan entity atau relasi dari model logikal data lokal.
4. Memasukkan (tanpa penggabungan) entity atau relasi untuk setiap
model lokal data.
5. Menggabungkan relasi atau foreign key dari model lokal data.
6. Memasukkan (tanpa penggabungan) relasi atau foreign key pada
setiap model lokal data.
7. Mencek untuk entiti, relasi, dan foreign key yang hilang.
8. Mencek untuk foreign key.
9. Mencek untuk bahasa integritas
10. Membuat global ERD atau relasi diagram
11. Mengupdate dokumentasi
Langkah 2.2: Menvalidasi model logikal data global
Tujuan dari langkah ini adalah untuk menvalidasi relasi yang
dibuat dari model logikal data global dengan menggunakan teknik dari
normalisasi dan juga memastikan bahwa relasi yang dibuat mendukung
transaksi.
Langkah 2.3: Mencek kemungkinan pengembangan di masa depan
Tujuan dari langkah ini adalah untuk menentukan bagian
mana yang kelihatannya akan berubah ke masa depannya dan juga
memperhatikan supaya model logikal data global dapat mengakomodasi
perubahan tersebut.
57
Langkah 2.4: Mereview model logikal data global dengan user
Tujuan dari langkah ini adalah untuk memastikan bahwa
model logikal data global itu memang merepresentasikan enterprise yang
ada.
Hasil akhir dari perancangan basisdata logikal adalah
merancang suatu model informasi berdasarkan spesifik model yang ada
(seperti model relasional), tetapi tidak tergantung terhadap suatu DBMS dan
perangkat keras lainnya. Logikal basisdata merancang suatu map untuk
setiap lokal konseptual data. Jika terdapat lebih dari satu pandangan pemakai,
maka model logikal data lokal akan dikombinasikan menjadi suatu model
logikal data global yang merepresentasikan semua pandangan user dari suatu
perusahaan.
2.6.7.3 Perancangan Fisikal
Tujuan dari langkah ini menurut Connolly (2002, p282) adalah untuk
mendeskripsikan pengimplementasian dari suatu basisdata pada media
penyimpanan secondary; itu juga akan mendeskripsikan dasar dari suatu relasi, file
organisasi, dan juga index yang digunakan untuk mencapai suatu keefisienan data,
integritas, serta ukuran keamanan.
Langkah 1: Menerjemahkan model logikal data global sesuai DBMS
yang dipakai
Tujuan dari langkah ini adalah untuk membuat suatu skema
relasional basisdata dari model data logikal global yang dapat
diimplementasikan ke DBMS yang dipakai
58
Langkah 1.1: Merancang basis rasional
Tujuan dari bagian ini adalah untuk memutuskan bagaimana
merepresentasikn relasional dasar yang diidentifikasi dalam model logikal
data lokal pada DBMS yang dipakai.
Untuk memulai proses perancangan fisikal basisdata,
pertama-tama anda dapat mengumpulkan dan meminimalisasikan suatu
informasi tentang relational yang dirancang selama perancangan logikal
basisdata. Informasi yang diperlukan bisa berasal dari kamus data dan
definisi data rasional yang didefinisikan menggunakan DDL. Untuk setiap
relasional yang diidentifikasi pada model data logikal global, dapat
diidentifikasikan salah satu basisdata :
• Nama dari relational yang ada
• Suatu list untuk atribut yang simple
• Primary key, alternative key, dan foreign key
• Suatu daftar dari atribut turunan dan bagaimana
pembuatannya
• Batasan integrasi untuk setiap foreign key yang
diidentifikasi
Dari kamus data, dari setiap atributnya dapat diketahui :
• Domain atribut tersebut yang terdiri dari tipe data,
panjang, dan berbagai keterangan atribut tersebut
• Suatu optional nilai default untuk atribut
• Apakah atribut dapat diisi nilai null
59
Langkah 1.2: Merancang representasi data turunan
Tujuan dari langkah ini adalah untuk memutuskan bagaimana
merepresentasikan suatu data turunan pada model data logikal global pada
DBMS yag dipakai.
Atribut yang nilainya didapatkan dengan mengevaluasi atribut
lain dikenal sebagai atribut turunan atau kalkulasi. Sebagai contoh :
• Jumlah banyaknya staff yang bekerja pada suatu
kantor
• Jumlah nasabah yang melakukan transaksi kredit
• Jenis kredit yang diingini oleh nasabah
Langkah 1.3: Merancang batasan aplikasi
Tujuan dari langkah ini adalah untuk merancang batasan
aplikasi untuk DBMS yang dipakai.
Mengupdate suatu relasi yang mungkin dibatasi oleh aturan
perusahaan sesuai dengan transaksi yang sebenarnya bisa diupdate.
Perancangan batasan tersebut sekali lagi tergantung pada DBMS yang
digunakan, fasilitas yang dipunyai oleh sistem dibandingkan dengan DBMS
yang lain. Pada awalnya, jika sistem tersebut mempunyai aturan sesuai
aturan standar SQL, beberapa batasan dapat diterapkan.
Langkah 2: Merancang representasi fisik
Tujuan dari langkah ini adalah untuk menentukan organisasi
file yg paling optimal untuk menyimpan relasional dasar dan index yang
60
diminta untuk performansi yang optimal yang mana relational dan data yang
ada disimpan pada secondary storage.
Langkah 2.1: Menganalisis transaksi
Tujuan dari langkah ini adalah untuk mengerti fungsi dari
suatu transaksi dimana akan dijalankan pada basisdata untuk menganalisis
transaksi yang penting.
Untuk membuat perancangan fisikal basisdata yang efektif
perlu untuk mempunyai pengetahuan mengenai transaksi atau query yang
akan dijalankan di dalam basisdata. Ini termasuk kuantitatif atau kualitatif
informasi. Dalam menganalisis transaksi, dapat diidentifikasikan kriteria
performansi sebagai berikut :
• Transaksi yang sering digunakan, dan akan
berdampak besar terhadap performansi keseluruhan.
• Transaksi yang merupakan transaksi bisnis yang kritis.
• Durasi waktu dalam harian atau mingguan yang akan
mendapatkan banyak permintaan pada basisdata.
Langkah 2.2: Memilih organisasi file
Tujuan dari langkah ini adalah untuk menentukan organisasi
file yang efektif untuk setiap relasional data.
Dalam banyak kasus yang ada, suatu relasional DBMS akan
memberikan sedikit bahkan tanpa pilihan dalam memilih organisasi file,
walaupun beberapa akan mempunyai indeks yang spesifik. Beberapa
organisasi file yang ada adalah sebagai berikut :
• Heap
61
• Hash
• Indexed Sequential Access Method (ISAM)
• B*three
• Clusters
Langkah 2.3: Memilih index
Tujuan dari langkah ini adalah untuk menentukan
penambahan indeks yang akan meningkatkan performansi dari suatu sistem.
Biasanya pemilihan suatu atribut untuk indeks adalah sebagai berikut :
• Suatu atribut yang digunakan paling sering untuk
operasi penggabungan, yang akan membuat
penggabungan itu lebih efektif.
• Suatu atribut yang digunakan paling banyak untuk
mengakses suatu record di dalam relasi yang ada.
Langkah 2.4: Mengestimasi kapasitas penyimpanan yang dibutuhkan
Tujuan dari langkah ini adalah untuk mengestimasi ukuran
kapasitas disk yang diperlukan untuk basisdata. Cara menghitung kapasitas
penyimpanan SQL Server 2000 adalah sebagai berikut :
a. Menghitung ukuran tabel
- Jumlah baris pada tabel : Num_Rows
- Jumlah kolom : Num_Cols
- Jumlah byte pada kolom yang panjangnya tetap :
Fixed_Data_Size
62
- Jumlah kolom yang panjangnya tidak tetap :
Num_Variabel_Cols
- Ukuran maksimum dari semua kolom yang
panjangnya tidak tetap : Max_Var_Size
- Null_Bitmap = 2 + ((Num_Cols +7) / 8)
- Variabel_Data_Size = 2 + (Num_Variabel_Cols x 2 )
+ Max_Var_Size
- Row_Size = Fixed_Data_Size + Variabel_Data_Size
+ Null_Bitmap + 4
- Rows_Per_Page = 8096 / (Row_Size + 2 )
- Free_ Rows_Per_Page = 8096 x ((100-Fill_Factor) /
100) / (Row_Size + 2 )
- Num_Pages = Num_Rows / Rows_Per_Page - Free_
Rows_Per_Page)
- Table_Size = 8192 x Num_Pages
b. Menghitung Clustered Index
- Jumlah kolom pada kunci index : Num_CKey_Cols
- Jumlah bytes dari kolom kunci yang panjangnya
tetap : Fixed_CKey_Size
- Jumlah kolom variabel pada kunci index :
Num_Variabel_Ckey_Cols
- Ukuran maksimum dari semua kolom kunci yang
panjangnya variabel : Max_Var_Ckey_Size
- CIndex_Null_Bitmap = 2 +((Num_CKey_Cols +7)/ 8)
63
- Variable_Ckey_Size = 2 +
(Num_Variabel_Ckey_Cols x 2 ) +
Max_Var_Ckey_Size
- CIndex_Row_Size = Fixed_CKey_Size +
Variable_Ckey_Size + CIndex_Null_Bitmap + 1 + 8
- CIndex_Rows_Per_Page = 8096 / (CIndex_Row_Size
+ 2)
- Num_Pages_Clevel_0 = (Data_Spaced_Used / 8192 )
/ CIndex_Rows_Per_Page
- Num_Pages_Clevel_1 = Num_Pages_Clevel_0 /
CIndex_Rows_Per_Page
- Clustered index size (Bytes) = 8192 x
Num_CIndex_Pages
c. Menghitung Non Clustered Index
- Jumlah kolom pada kunci index : Num_Key_Cols
- Jumlah bytes dari kolom kunci yang panjangnya
tetap : Fixed_Key_Size
- Jumlah kolom variabel pada kunci index :
Num_Variabel_Key_Cols
- Ukuran maksimum dari semua kolom kunci yang
panjangnya variabel : Max_Var_Key_Size
- Index_Null_Bitmap = 2 +((Num_Key_Cols +7)/ 8)
- Variable_Key_Size = 2 + (Num_Variabel_Key_Cols
x 2 ) + Max_Var_Key_Size
64
- NL_Index_Row_Size = Fixed_Key_Size +
Variable_Key_Size + Index_Null_Bitmap + 1 + 8
- NL_Index_Rows_Per_Page = 8096 /
(NL_Index_Row_Size + 2)
- Index_Row_Size = Cindex_Row_Size +
Fixed_Key_Size + Variable_Key_Size +
Index_Null_Bitmap + 1
- Index_Rows_Per_Page = 8096 / (Index_Row_Size
+2)
- Free_ Index_Rows_Per_Page = 8096 x ((100-
Fill_Factor) / 100) / Index_Row_Size
- Num_Pages_Level_0 = Num_Rows /
(Index_Rows_Per_Page - Free_
Index_Rows_Per_Page)
- Num_Pages_Level_1 = Num_Pages_Level_0 /
NL_Index_Rows_Per_Page
- Num_Index_Pages = Num_Pages_Level_0 +
Num_Pages_Level_1
- NonClustered index size (Bytes) = 8192 x
Num_Index_Pages
Langkah 3 : Merancang tampilan layar untuk user
Tujuan dari langkah ini adalah untuk merancang tampilan
pemakai yang diidentifikasi selama pengumpulan informasi dan analisis dari
siklus hidup aplikasi basisdata.
65
Langkah 4 : Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang ukuran
keamanan untuk basisdata yang telah dispesifikasikan pemakai.
Definisi dari keamanan basisdata adalah suatu mekanisme yang
memproteksi basisdata dari suatu kejadian yang disengaja maupun yang
tidak disengaja. Suatu basisdata merupakan sumber dari perusahaan yang
essential yang perlu dilindungi dengan menggunakan suatu kontrol yang
memadai.
Beberapa issue keamanan yang perlu diperhatikan :
1.Pencurian data (Theft and Fraud)
2.Kehilangan kerahasiaan suatu data (Loss of Confidentially)
3.Kehilangan hak pribadi (Loss of Privacy)
4.Kehilangan integritas (Loss of integrity)
5.Kehilangan ketersediaan data (Loss of availability)
Hasil akhir perancangan fisikal basisdata adalah suatu proses
yang mendeskripsikan suatu implementasi dari suatu basisdata pada media
penyimpanan. Ini mendeskripsikan suatu relational dan struktur
penyimpanan dan metodologi pengaksesan data oleh pemakai yang efisien,
selama batasan integritas dan pengukuran keamanan.
2.6.8 ER Modeling
Menurut Connolly dan Begg (2002, p330), salah satu aspek yang sulit dalam
perancangan basisdata adalah bahwa perancang, programmer, dan end-user
cenderung melihat data dengan cara yang berbeda. Oleh karena itu untuk
memastikan pemahaman secara alamiah dari data dan bagaimana data digunakan
66
oleh perusahaan dibutuhkan sebuah komunikasi yang non-teknis dan bebas dari
kebingungan.
2.6.8.1 Tipe Entity
Tipe Entity (entity type) adalah sebuah kumpulan (group) dari objek
dengan sifat (properties) yang sama, dan keberadaannya tidak tergantung
(independent existence). Sebuah tipe entity memiliki keberadaannya yang bebas dan
bisa menjadi objek dengan fisik (atau ‘real’) atau menjadi objek dengan keberadaan
konseptual (atau ‘abstrak‘). Artinya perancang yang berbeda mungkin
mengindentifikasikan entity yang berbeda pula. Sebuah basisdata biasanya berisi
banyak tipe entity yang berbeda. Dalam UML, huruf pertama dari nama entity
diawali dengan huruf kapital.
Entity occurrence adalah sebuah objek unik yang dapat di indentifikasikan
dari sebuah tipe entity. (lihat gambar 2.6)
Sumber : Connoly dan Begg, 2002, p333
Gambar 2.6 Contoh tipe entity
2.6.8.2 Tipe Relasi
Adalah sejumlah hubungan yang berarti antara tipe entity yang satu dengan
tipe entity yang lainnya, dimana setiap tipe relationship diberi nama yang
menggambarkan fungsi yang berbeda.
Derajat dari relationship adalah jumlah dari partisipasi tipe entity dalam
sebuah tipe relationship tertentu. Entity yang berkaitan dalam sebuah tipe
67
relationship disebut participant dan jumlah participant dalam relationship disebut
sebagai derajat relasi. Untuk sebuah relationship berderajat dua disebut binary (lihat
gambar 2.7), relationship berderajat tiga disebut dengan tenary (lihat gambar 2.8),
dan relationship berderajat empat disebut quartenary (lihat gambar 2.9)
Sumber : Connolly dan Begg, 2002, p335
Gambar 2.7 Contoh Binary Relationship
Sumber : Connolly dan Begg, 2002, p335
Gambar 2.8 Contoh Tenary Relationship
Sumber : Connolly dan Begg, 2002, p335
Gambar 2.9 Contoh Quartenary Relationship
2.6.8.3 Atribut
Atribut adalah sifat dari sebuah entity atau tipe relationship. Sifat tertentu
inilah yang disebut sebagai atribut. Atribut menyimpan nilai dari setiap entity
occurrence dan merupakan bagian utama dari data yang disimpan dalam basisdata.
68
Attribute Domain adalah sejumlah nilai yang diperkenankan oleh satu atau
lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah nilai disebut domain.
Simple Attribute atau disebut sebagai atomic attribute adalah sebuah susunan
atribut dari komponen tunggal (single component) yang keberadaannya bebas
(independent existence). Simple attribute tidak bisa lagi dipecah kedalam komponen
yang lebih kecil lagi misalnya posisi dan gaji dari entity pegawai.
Single Value Attribute (atribut nilai tunggal) adalah attribute yang hanya
menyimpan nilai tunggal untuk suatu sifat dari entity. Multi-valued attribute adalah
atribut yang bisa menyimpan nilai lebih dari satu untuk suatu sifat dari entity.
Contoh atribut telepon pada entity kantor cabang (branch) yang bisa memiliki lebih
dari satu nomor telepon.
Derived Attribute (atribut turunan) adalah nilai suatu atribut diperoleh dari
atribut yang saling berhubungan atau kumpulan atribut yang saling berhubungan.
2.6.8.4 Key
Primary key adalah candidate key yang digunakan untuk mengenali secara
unik setiap occurrence dari sebuah tipe entity. Entity tipe mungkin memiliki lebih
dari satu candidate key. Pemilihan primary key berdasarkan pada pertimbangan
panjang atribut (attribute length), jumlah minimal dari kebutuhan atribut dan
seterusnya keunikannya. Candidate key yang tidak terpilih sebagai primary key
disebut alternate key.
Foreign key adalah attribute pada satu relasi yang cocok pada candidate key
dari beberapa relasi. (lihat gambar 2.10)
69
Sumber : Connoly dan Begg, 2002, p342
Gambar 2.10 Contoh Representasi Atribut
2.6.8.5 Struktural Constraints
Constraint harus mencerminkan pembatasan (testricion) pada relationship
sebagai perkalian (perceived) didalam kenyataan (real-world). Tipe utama dari
constraint di dalam relationship disebut multiplicity.
Multiplicity adalah jumlah (disebut juga jangkauan atau range) kemungkinan
occurrence dari sebuah entity yang bisa menghubungkan suatu occurrence tunggal
dari hubungan entity melalui relationship tertentu. Multiplicity constraint adalah
jalan dimana entity dihubungkan. Ini adalah sebuah representasi dari aturan bisnis
(business rules) yang ditetapkan perusahaan. Seperti yang telah disebutkan
sebelumnya bahwa relasi berderajat dua disebut binary, umumnya binary
relationship bisa ditunjukan sebagai hubungan one to one (1 : 1), one to many (1 : *),
atau many to many (* : *).
Multiplicity mengandung dua constraint yang dipisahkan, yang dikenal
sebagai cardinality dan participation. Cardinality menggambarkan jumlah
maksimum kemungkinan relationship occurrence untuk sebuah entity pengikut-
sertaan (entity participation) dalam relationship yang diberikan.
70
Participation adalah menetapkan semua atau beberapa occurrence yang
diikut sertakan dalam sebuah tipe relationship. Sebuah participation constraint yang
menunjukan semua entity occurrence terkait dalam relationship tertentu disebut
sebagai mandatory participation. Sedangkan yang hanya menunjukan beberapa
disebut optional participation. (lihat gambar 2.11 – 2.14)
Sumber : Connoly dan Begg, 2002, p346
Gambar 2.11 Contoh one to one (1:1) Relationship
Sumber : Connolly dan Begg, 2002, p347
Gambar 2.12 Contoh One to Many (1 : *) Representasi
Sumber : Connolly dan Begg, 2002, p348
Gambar 2.13 Contoh Many to Many (* : *)Representasi
71
Sumber : Connolly dan Begg, 2002, p351
Gambar 2.14 Contoh Multiplicity yang ditunjuk dengan
Cardinality Constraint dan Participation Constraint
Tabel 2.5 Tabel multiplicity constraint
Cara alternatif menggambar
multiplicity constraint
Arti
0..1 Nol atau satu entity occurrence
1..1 ( atau 1) Tepatnya hanya satu entity
occurrence
0..* (atau *) Nol atau banyak entity occurrence
1..* satu atau banyak entity occurrence
5..10 Minimum 5 dan maksimum 10 entity
occurrence
0,3,6-8 Nol atau tiga atau enam,tujuh atau
delapan entity occurrence
Sumber : Connolly dan Begg, 2002, p351
72
2.6.9 Normalisasi
Normalisasi adalah suatu teknik untuk menghasilkan himpunan relasi dengan
properti yang diinginkan berdasarkan kebutuhan-kebutuhan data suatu organisasi
(Conolly, 2002, p376).
Proses normalisasi dimulai dengan memindahkan data sumber ke bentuk
tabel dengan format baris dan kolom. Tabel ini berbentuk tidak normal dan disebut
dengan unnormalized table (Conolly, 2002, p388).
Unnormalized form (UNF) adalah tabel yang terdiri dari satu atau lebih
kelompok yang berulang (repeating group) (Conolly, 2002, p387). Repeating group
adalah sebuah atribut atau himpunan atribut di dalam tabel yang memiliki lebih dari
satu nilai (multiple value) untuk sebuah primary key pada tabel tersebut (Conolly,
2002, p388).
Tingkatan normalisasi yang digunakan sebagai landasan skripsi adalah :
1. First Normal Form (1NF)
Suatu data dikatakan unnormalized, jika di dalamnya tidak
mengandung kelompok berulang (repeating group), sehingga untuk
membentuk normalisasi pertama (1NF) repeating group harus
dihilangkan. Untuk menjadi 1NF maka group yang berulang
dihilangkan dengan mengisi pada bagian yang kosong dengan data
yang seharusnya pada suatu bentuk record.
2. SecondNormal Form (2NF)
Dapat dihasilkan dengan melihat apakah ada atribut atau bukan
primary key yang merupakan fungsi dari sebagian primary key
(partial dependence). Dalam normalisasi kedua (2NF) setiap atribut
yang tergantung parsial ini harus dipisahkan dengan mengikut
73
sertakan determinannya. Bentuk normal diperoleh bila setiap
atribut bukan bagian primary key dari suatu tabel sepenuhnya
merupakan fungsi (functional dependence) dari primary key
tersebut.
3. Third Normal Form (3NF)
Pengujian terhadap 3rd NF dilakukan dengan cara melihat
apakah terdapat atribut bukan key tergantung fungsional terhadap
atribut bukan key yang lain (disebut ketergantungan transitif atau
transitive dependence). Dengan cara yang sama, maka setiap
ketergantungan trasitif dipisahkan. 3rd NF sudah cukup bagus
dalam arti bahwa anomaly yang dikandungnya sudah sedemikian
minimum (hampir tidak ada).