BAB 2 LANDAS AN TEORI
2.1
Teori-Teori Umum 2.1.1
Pengertian Data M enurut Turban ( 2003, p2), data adalah fakta – fakta yang belum diolah atau gambaran – gambaran lebih lanjut dari benda – benda, kejadian – kejadian, kegiatan – kegiatan, dan transaksi – transaksi yang ditangkap, direkam, disimpan, dan diklasifikasikan, tetapi tidak disusun untuk menyampaikan arti khusus lainnya.
2.1.2
Pengertian Sistem Sistem adalah kumpulan dari komponen yang terorganisasi, yang digunakan untuk menyelesaikan satu atau beberapa fungsi dan tugas spesifikasi tertentu (Sumber : www.ichnet.org). M enurut pendapat M annino (2001, p192), sistem adalah kumpulan dari komponen-komponen yang berhubungan dan bekerja bersama-sama untuk menghasilkan suatu tujuan tertentu. Tujuan tersebut dicapai dengan interaksi dengan lingkungan dan fungsi tertentu.
2.1.3
Pengertian Basis data M enurut pendapat Post (2005, p2), basis data adalah sebuah kumpulan dari data yang disimpan dalam suatu format yang sudah 7
8 distandarisasi, yang didesain agar dapat digunakan oleh banyak pengguna (multi user). M enurut pendapat M cFadden, Prescott, dan Hoffer (2005,p27), basis data adalah sebuah kumpulan terorganisir dari data-data yang berhubungan secara logika, yang biasanya dirancang untuk memenuhi kebutuhan-kebutuhan informasi dari banyak pengguna (multi user) dalam sebuah organisasi. M enurut pendapat Ramakrishnan dan Gehrke (2003, p4), basis data adalah kumpulan data yang biasanya menggambarkan aktifitas dari satu atau lebih organisasi yang berhubungan.
2.1.4
Karakteristik Basis data M enurut M annino (2001, pp4-5), basis data mempunyai beberapa karakteristik yaitu : 1. Persistent Data berada dalam salah satu bagian dari tempat penyimpanan yang stabil, misalnya magnetic disk, sebagai contoh sebuah organisasi memerlukan data tentang konsumen, supplier dan inventori dalam suatu penyimpanan yang stabil karena data-data ini sering digunakan berulang-ulang. Sebuah variabel dalam program komputer tidak akan ada terus-menerus (persistent) karena berada dalam memori utama dan akan hilang setelah program dimatikan. Persistent tidak berarti bahwa
9 data akan ada selamanya, ketika data tidak diperlukan atau tidak relevan lagi maka data dapat dihilangkan atau tetap disimpan. 2. Shared Basis data dapat digunakan oleh banyak pengguna (multi user). Sebuah basis data menyediakan memori yang umum untuk banyak fungsi dalam organisasi. M isalnya, basis data dapat mendukung perhitungan gaji, evaluasi kinerja, menyediakan laporan-laporan dan sebagainya. 3. Interrelated Data yang disimpan dalam unit-unit yang terpisah dapat dihubungkan untuk mendapatkan suatu gambaran secara keseluruhan. M isalnya basis data konsumen menghubungkan dengan data order untuk memfasilitasi proses order (pemesanan).
2.1.5
Kelebihan Basis data M enurut M cFadden, Prescott, dan Hoffer (2005, pp23-25), Basis data mempunyai beberapa keuntungan antara lain : 1. Program Data Independence Dengan adanya basis data, maka deskripsi data disimpan dalam lokasi pusat yang disebut repository. Properti sistem basis data ini memungkinkan data organisasi untuk diubah dan dikembangan tanpa mengubah aplikasi program yang memproses data. 2. Minimal Data Redudancy
10 Tujuan dari basis data adalah mengintegrasikan data yang dulunya tersebar menjadi satu struktur logikal. Basis data tidak menghilangkan semua redudansi tetapi membantu desainer untuk mengontrol tipe dan jumlah redudansi itu secara hati-hati. 3. Improved Data Consistency Dengan mengontrol atau menghilangkan redudansi data, maka akan mengurangi kemungkinan inconsistency data (meningkatkan konsistensi antar data). M isalnya jika alamat konsumen hanya disimpan dalam satu tempat maka alamat tersebut tidak dapat diragukan lagi kebenarannya. 4. Improved Data Sharing Sebuah basis data didesain untuk digunakan sebagai sumber informasi perusahaan yang dapat digunakan oleh semua orang. User terotorisasi internal maupun eksternal dapat menggunakan basis data ini tetapi dengan kemampuan yang berbeda dalam menggunakan fasilitas basis data ini. 5. Increased Productivity of Application Development Keuntungan utama dari basis data adalah dapat mengurangi waktu dan biaya untuk pengembangan aplikasi bisnis baru. 6. Enforcement of Standards Ketika basis data diimplementasikan dengan dukungan penuh dari manajemen maka administrator basis data seharusnya akan berfungsi sebagai orang yang bertanggung jawab untuk menghasilkan suatu standarisasi data untuk organisasi.
11 7. Imroved Data Quality Dengan adanya database maka dapat diberikan batasanbatasan (integrity constraints) sehingga kualitas data dapat terjamin. 8. Improved Data Accessibility and Responsiveness Dengan relational database, end users yang tidak mempunyai kemampuan dan menampilkan data bahkan melewati batasan departemen. 9. Reduced Program Maintenance Untuk mengurangi kegiatan maintenance program maka data yang disimpan harus dapat sering diubah untuk beberapa alasan, misalnya adanya tambahan data yang baru, format data berubah dan sebagainya.
2.1.6
Sistem Manajemen Basis data Silberschatz (2002, p1) mengungkapkan, Sistem M anajemen Basis Data adalah kumpulan data yang saling berhubungan dan kumpulan program untuk mengakses data-data tersebut. Kumpulan data biasanya merujuk kepada basis data, mengandung informasi yang relevan dengan enterprise. Tujuan utama DBM S adalah untuk menyediakan dan memperoleh informasi basis data yang nyaman (convenient) dan efisien. Sistem basis data didesain untuk mengatur sejumlah besar informasi, manajemen data termasuk menjelaskan struktur untuk penyimpanan informasi dan menyediakan mekanisme untuk manipulasi informasi.
12 M enurut Ramakrishnan (2003, p4), sistem manajemen basis data adalah suatu perangkat lunak yang didesain untuk mendukung dalam memelihara dan menggunakan koleksi data yang besar. Sebuah DBM S terdiri dari sebuah kumpulan dari data-data yang saling berhubungan dan kumpulan program-program untuk mengakses data tersebut (Silberschatz, et.al, 2002, p21).
2.1.7
Komponen dalam Ruang Lingkup Database Management S ystem (DBMS ) M enurut Connolly dan Begg (2002, p18), ada lima komponen utama dalam ruang lingkup DBM S : perangkat keras, perangkat lunak, data, prosedur dan orang.
2.1.8
Data Definition Language (DDL) M enurut Connolly dan Begg (2002, p40), DDL adalah bahasa yang memungkinkan seorang administrator basis data atau user untuk mendeskripsikan dan menentukan entiti, atribut dan relasi yang dibutuhkan aplikasi, bersama dengan batasan-batasan integritas dan keamanan (integrity and security constraints). Hasil dari kompilasi statement DDL adalah kumpulan dari tabel yang disimpna di file khusus yang disebut sistem katalog. Sementara istilah data dictionary dan data directory digunakan untuk mendeskripsikan sistem katalog.
13 M enurut Post (2005, p146), DDL adalah sekumpulan perintah yang digunakan untuk mendefinisikan data tabel dan fitur-fitur laein dalam basis data.
2.1.9
Data Manipulation Language (DML) M enurut Connolly dan Begg (2002, p41), DM L adalah bahasa yang menyediakan sekumpulan operasi untuk mendukung operasi manipulasi data yang tersimpan pada basis data. Secara umum operasi DM L mencakup : 1. select Perintah select digunakan untuk menampilkan sebagian atau seluruh isi dari suatu tabel dan menampilkan kombinasi isi dari beberapa tabel. 2. update Perintah update digunakan untuk memodifikasi data yang disimpan dalam basis data. 3. delete Perintah delete digunakan untuk menghapus sebagian atau seluruh data dari basis data. 4. insert Perintah insert digunakan untuk memasukkan data baru ke dalam basis data M enurut Post (2005, p146), DM L adalah sekumpulan perintah untuk memodifikasikan data.
14 2.1.10 Entity Relationship Modelling (ER Modelling) M enurut Connolly dan Begg (2002, p330), salah satu aspek yang paling sulit dalam perancangan basis data adalah kenyataan bahwa perancang, programmer, dan end user cenderung melihat data dan penggunaannya dengan cara yang berbeda. Entity Relationship Diagram (ERD) digunakan untuk menggambarkan struktur logical database dalam bentuk diagram. ERD menyediakan cara yang sederhana dan mudah untuk memahami berbagai komponen dalam desain basis data.
2.1.11 Normalisasi Tujuan dari normalisasi adalah sebagai berikut : 1. M enghilangkan kumpulan relasi dari ketergantungan yang tidak diharapkan atas kegiatan penambahan,peng-editan dan penghapusan data. 2. M engurangi
kebutuhan
restrukturisasi
kumpulan
relasi
dan
meningkatkan file spam program aplikasi. 3. M embuat model relasional lebih informatif. Adapun beberapa dari tahapan Normalisasi : 4. Normalisasi
pertama
(1NF)
menghilangkan
repeating
group/pengulangan. 5. Normalisasi kedua (2NF) bentuk ini mempunyai syarat yaitu data harus memenuhi kriteria 1NF dan setiap data item yang bukan kunci harus functional dependency pada kunci utamanya. 6. Normalisasi ketiga (3NF) menghilangkan transitive dependency.
15 7. Normalisasi keempat (BCNF). Suatu relasi dikatakan BCNF bila didalamnya berisi atribut yang berfungsi sebagai candidate key sehingga salah satu dari candidate key tersebut menjadi kunci utama.
2.1.12 4th GL (Generation Language) M enurut Connolly dan Begg (2002, p42), jika dibandingkan dengan 3rd GL yang procedural, 4th GL adalah bahasa yang nonprosedural karena user mendefinisikan apa yang akan dikerjakan, bukan bagaimana cara mengerjakan. 4th GL mencakup : 1. Bahasa penyajian/presentasi seperti query language dan report generator. 2. Bahasa khusus seperti spreadsheet dan database language. 3. Aplikasi generator yang mendefinisikan, menambah, mengedit dan mengambil data dari basis data untuk membangun aplikasi. 4. Bahasa tingkat tinggi yang digunakan untuk men-generate application code.
2.1.13 Siklus Hidup Aplikasi Database M enurut Connolly dan Begg (2002, p272), siklus hidup sebuah aplikasi basis data digambarkan sebagai berikut:
16 Database planning
System definition
Requirement collection and analysis
Database design Conceptual database design DBMS selection (optional)
Application design Logical database design
Physical database design
Prototyping (optional)
Implementation
Data conversion & loading
T esting
Maintenance
Gambar 2.1 Tahapan Siklus Hidup Aplikasi Basis data (Sumber Connolly dan Begg, 2002, p272)
17 Suatu sistem basis data adalah suatu komponen dasar dari organisasi dengan sistem informasi yang besar, siklus hidup aplikasi basis dapat berasosiasi dan merupakan turunan dari siklus hidup sistem informasi. Sangatlah penting untuk diperhatikan bahwa struktur dari siklus hidup aplikasi basis data tidaklah harus benar-benar sekuensial tetapi terlibat dalam suatu pengulangan dari bagian-bagian yang sebelumnya melalui umpan balik. Adapun langkah-langkah dari Siklus Hidup Aplikasi Basis data : 1.
Perencanaan basis data Kegiatan utamanya adalah merencanakan bagaimana tahapan dari siklus hidup dapat direalisasi secara efisien dan efektif. Dalam perencanaan basis data terdapat dua hal yang perlu diperhatikan secara seksama antara lain :
2.
8.
Fasilitas yang didukung basis data
9.
Tujuan pembuatan basis data
Definisi sistem M enentukan ruang lingkup dan batasan dari aplikasi basis data, penggunanya dan juga cakupan aplikasi tersebut.
3.
Pengumpulan dan analisa kebutuhan M engumpulkan dan menganalisa kebutuhan dari pengguna dan area ruang lingkup aplikasi.
4.
Perancangan basis data Konseptual, logikal dan fisikal perancangan basis data.
18 5.
Pemilihan DBM S M emilih DBM S yang cocok untuk aplikasi.
6.
Perancangan aplikasi M erancang
user
interface
dan
program
aplikasi
yang
menggunakan dan memproses basis data. 7.
M embuat prototype M embangun model kerja dari aplikasi basis data yang mana menyediakan perancang atau pengguna untuk menvisualisasikan dan mengevaluasi bagaimana gambaran sistem secara keseluruhan dan fungsi-fungsinya.
8.
Implementasi M embuat eksternal, konseptual dan internal definisi basis data dan program aplikasi.
9.
Konversi data dan pengisian data M emindahkan data dari sistem lama ke sistem baru.
10.
Pengujian Aplikasi basis data diuji untuk melihat apakah ada error dan divalidasi dengan kebutuhan yang ditentukan pengguna.
11.
Pemeliharaan operasional Sistem secara berlanjut
diamati dan
dipelihara.
Apabila
diperlukan suatu permintaan atau fungsi akan dimasukkan kedalam aplikasi basis data melalui tahapan-tahapan proses yang ada dalam siklus hidup.
19 2.1.14 Perancangan Basis data Pada basis data dikenal adanya metodologi perancangan. M etodologi
perancangan
adalah
pendekatan
struktural
dimana
menggunakan prosedur, teknik, alat-alat dan perlengkapan dokumentasi untuk mendukung dan memfasilitasi proses perancangan. M etodologi perancangan terdiri dari fase-fase yang tiap fase terdiri
sejumlah
langkah-langkah
yang
memandu
perancang
menggunakan teknik yang tepat pada tiap tahap dari proyek. M etodologi perancangan juga membantu perancang untuk merencanakan, mengelola, mengontrol dan mengevaluasi proyek dari pengembangan basis data.
A. Perancangan Konseptual Basis data Langkah 1 : Membangun data konseptual lokal untuk setiap View Tujuan dari langkah ini adalah untuk membangun model data konseptual lokal dari perusahaan untuk setiap View yang spesifik. Untuk setiap model data konseptual lokal terdiri dari : 1.
Entitas
2.
Hubungan relasi antar entitas
3.
Atribut dan attribut domain
4.
Primary key dan alternate key
5.
Batasan integritas
20 Oleh karena itu untuk menghasilkan model data konseptual lokal ini, kita perlu sublangkah dari langkah 1 yang terdiri atas : 1.1 Mengidentifikasi entitas Tujuan : M engidentifikasi entitas utama yang diperlukan oleh setiap View. Salah satu metode untuk mengidentifikasi tipe entitas yang utama adalah memeriksa spesifikasi dari kebutuhan user. Dari spesifikasi ini, kita mengidentifikasikan kata benda atau frase kata benda yang telah disebutkan dalam kebutuhan user. Cara lainnya adalah dengan melihat pada objek melalui keberadaannya dalam perusahaan atau sistem. 1.2 Mengidentifikasi tipe relasi Tujuan dari langkah ini adalah untuk mengidentifikasikan relasi yang penting antara
berbagai
entitas
yang telah
diidentifikasikan. Biasanya relasi diidentifikasi dengan mengurai kata kerja atau frase kata kerja dari user requirement. Langkah-langkah dalam mengidentifikasi tipe relasi : - Gunakan ER-Diagram 6. Tentukan pembatas multiplicity dari tipe relasi 7. M emeriksa Fan dan chasm trap 8. M emeriksa setiap entitas yang mempunyai relasi minimal satu 1.3 Mengidentifikasi dan mengasosiasikan atribut dengan entitas atau tipe relasi Tujuan : mengasosiasikan atribut dengan entitas atau tipe relasi yang tepat.
21 Langkah selanjutnya adalah mengidentifikasi tipe-tipe dari fakta-fakta tentang entitas dan relasi yang telah dipilih untuk direpresentasikan dalam basis data. Atribut dapat diidentifikasikan dengan melihat kata benda atau frase kata benda dari user requirement dimana kata benda tersebut adalah sifat, mutu, identifier, atau karakteristik dari entitas atau tipe relasi ini. Hal-hal yang harus diperhatikan dalam mengidentifikasi attribut : 1. Apakah atribut merupakan simple atau composite attribut 2. Apakah atribut tersebut single atau multi-value attribut 3. Apakah atriut tersebut merupakan derived-attribut 4. Problem-problem yang potensial Ketika kita mengidentifikasi entitas, relasi dan atribut untuk view, tidaklah aneh bila satu atau lebih entitas, relasi, dan atribut dihilangkan dari bagian awal. Jika hal tersebut terjadi maka kembali ke langkah sebelumnya, yaitu dokumentasikan entitas, relasi, atau atribut baru dan menguji kembali relasi asosiasi lainnya.
1.4 Menentukan attribut domain Tujuan : menentukan domain dari atribut di dalam model data konseptual lokal. Domain adalah sekelompok nilai dari satu atau lebih atribut yang menggambarkan nilai mereka.
22 1.5 Menentukan candidate key dan primary key Tujuan : mengidentifikasi candidate key untuk tiap entitas dan jika ada lebih dari satu candidate key, pilih satu untuk primary key. Sisa dari candidate key dinamakan alternate key. 1.6 Mempertimbangkan penggunaan dari konsep enhanced modelling Tujuan: mempertimbangkan penggunaan dari konsep enhanced modelling seperti spesialisasi, generalisasi, aggregrasi atau composition. 1.7 Memeriksa model dari redundansi Tujuan : memeriksa setiap kehadiran dari redundansi di dalam model dan menghilangkan redundansi jika ada. Dua kegiatan utama dalam tahap ini antara lain : 1. M emeriksa ulang relasi one to one 2. M enghilangkan relasi yang redundan 1.8 Validasi model konseptual lokal dengan transaksi yang dilakukan user Tujuan : untuk meyakinkan bahwa model konseptual lokal mendukung transaksi yang dibutuhkan oleh view. Pengujian dilakukan dengan : 1. M enggambarkan transaksi. M emeriksa semua informasi yang dibutuhkan setiap transaksi
yang
disediakan
mendokumentasikannya.
oleh
model,
kemudian
23 2. M enggunakan jalur transaksi. M emvalidasi model data terhadap transaksi yang dibutuhkan mencakup diagram yang menggambarkan jalur yang diambil setiap transaksi secara langsung dari diagram ER. 1.9 Mereview model data konseptual lokal dengan user Tujuan : mereview model data konseptual lokal dengan user untuk memastikan bahwa model adalah representasi yang benar dari view. M odel data konseptual terdiri dari ER diagram dan mendukung dokumentasi yang menjelaskan data model.
B. Perancangan Logikal Basis data Rancangan logikal basis data adalah proses membangun sebuah model dari informasi yang digunakan dalam perusahaan berdasarkan sebuah model data yang khusus, tetapi lepas dari DBM S khusus dan pertimbangan fisikal lainnya. Langkah 2 : Membangun dan memvalidasi model data logikal lokal untuk setiap view Tujuan : untuk membangun model data logikal lokal dari suatu model data konseptual lokal yang menampilkan view yang khusus dari perusahaan dan kemudian memvalidasi model ini untuk meyakinkan
bahwa
model
tersebut
secara
stuktur
benar
(menggunakan teknik normalisasi) dan mendukung transaksi yang dibutuhkan.
24 Aktivitas dalam langkah ini adalah : 2.1 Menghilangkan bagian yang tidak sesuai dengan model relasional Tujuan : memperbaiki model data konseptual lokal dengan menghilangkan bagian yang tidak kompatibel dengan model relasional. Tujuan dari langkah ini adalah : 1. M enghilangkan tipe hubungan binary many-to many (*:*) 2. M enghilangkan tipe hubungan rekursif many-to many(*:*) 3. M enghilangkan tipe hubungan yang kompleks 4. M enghilangkan atribut yang multi value 2.2 Menganalisa relasi untuk model data logikal lokal Tujuan : membuat relasi untuk model data logikal lokal dengan menggambarkan entitas, hubungan, dan atribut yang telah diidentifikasi. Dalam langkah ini, kita memiliki hubungan untuk model data logikal lokal dalam menggambarkan entitas, hubungan dan atribut yang dijelaskan pada view. Kita menjelaskan komposisi dari setiap relasi menggunakan DBDL (Database Definition Language) untuk basis data relasional. Cara relasi didapatkan dari struktur yang mungkin ditunjukkan dalam model data : 1. Tipe entitas kuat 2. Tipe entitas lemah
25 3. Tipe hubungan binary one-to-many (1:*) 4. Tipe hubungan binary one-to-one (1:1) 5. Hubungan rekursif one-to-one (1:1) 6. Tipe hubungan superclass/subclass 7. Tipe hubungan binary many-to-many (*:*) 8. Tipe hubungan rumit 9. Atribut multi nilai 2.3 Validasi relasi menggunakan normalisasi Tujuan dari normalisasi adalah sebagai berikut : 1. M enghilangkan kumpulan relasi dari ketergantungan yang tidak diharapkan atas kegiatan penambahan, peng-editan dan penghapusan data. 2. M engurangi kebutuhan restrukturisasi kumpulan relasi dan meningkatkan file spam program aplikasi. 3. M embuat model relasional lebih informatif. 2.4 Validasi relasi dengan transaksi user Tujuan : meyakinkan bahwa relasi dalam model data logikal lokal mendukung transaksi yang dibutuhkan user. Jika dapat menjalankan semua transaksi dengan cara manual, kita telah memvalidasi model data logikal lokal dengan transaksi. Tetapi, jika tidak dapat menjalankan transaksi secara manual, maka terdapat masalah dengan model data.
26 2.5 Mengecek integritas basis data (integrity constraints) Tujuan : mendefinisikan ruang lingkup integritas yang diperlihatkan kepada user. Setelah mengidentifikasi ruang lingkup integritas, akan didapatkan model data logikal lokal yang lengkap dan gambaran akurat dari sebuah view. Terdapat lima tipe dari pembatas integritas : 1. Data yang dibutuhkan 2. Batasan domain atribut 3. Integritas entiti 4. Integritas referensi 5. Pembatas perusahaan 2.6 Mereview model data logikal lokal dengan user Tujuan : meyakinkan model data logikal lokal dan membuat dokumentasi yang menjelaskan model tersebut sebagai gambaran yang sesuai dengan keadaan sebenarnya. 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. Aturan yang mengontrol antara dua teknik tersebut, antara lain : 1. Setiap penyimpanan seharusnya merepresentasikan suatu tipe entiti. 2. Atribut dalam data flow seharusnya merupakan bagian dari tipe entiti.
27 Langkah 3 : Membangun dan memvalidasi model data logikal global Tujuan : mengkombinasikan model data logikal lokal yang individual ke dalam model data logikal global yang menggambarkan perusahaan. Aktivitas dalam langkah ini mencakup : 3.1 Menggabungkan model data logikal lokal menjadi model global Tujuan : menggabungkan model data logikal lokal yang individual ke dalam model data logikal global tunggal
dari
perusahaan. Sampai pada tahap ini, untuk setiap model data logikal lokal telah dihasilkan sebuah diagram ER, skema relasional, kamus data, dan dokumentasi pendukung. Beberapa pekerjaan umum dalam pendekatan ini adalah : a. M ereview nama dan isi dari entitas/relasi dan kunci kandidatnya. b. M ereview nama dan isi dari hubungan/foreign key c. M enggabungan entitas/relasi dari model data lokal d. M emasukkan entitas/relasi unik ke setiap model data lokal e. M enggabungkan relasi/foreign key dari model data lokal f. M emasukkan relasi /foreign key unik ke setiap model data lokal g. M emeriksa entitas, relasi foreign key yang hilang
28 h. M emeriksa foreign key i. M emeriksa pembatas integritas j. M enggambar diagram ER/relasi global k. M engupdate dokumentasi 3.2 Memvalidasi model data logikal global Tujuan : memvalidasi relasi yang dibuat dari model data logikal global menggunakan teknik normalisasi dan memastikan bahwa dapat mendukung transaksi yang dibutuhkan. 3.3 Memeriksa untuk pertumbuhan yang akan datang Tujuan : menentukan apakah terdapat perubahan penting yang kemungkinan dapat diduga untuk masa yang akan datang dan untuk menaksir apakah model data logikal global dapat menyesuaikan dengan perubahan. 3.4 Mereview model data logikal global dengan user Tujuan : memastikan model data logikal global merupakan representasi yang benar dari perusahaan. M odel data logikal global untuk perusahaan seharusnya sudah selesai dan akurat. M odel dan dokumentasi yang menjelaskan model harus ditinjau dengan user untuk menjamin hal itu merupakan representasi yang benar dari perusahaan. Hasil akhir dari Perancangan Logikal Basis Data adalah merancang suatu model informasi berdasarkan spesifik model yang ada (seperti model relasional), tetapi tidak tergantung terhadap suatu DBM S dan perangkat keras lainnya. Logikal basis
29 data mendesign suatu map untuk setiap lokal konseptual. Jika terdapat lebih dari satu pandangan user, maka lokal logikal data model akan dikombinasikan menjadi suatu global logikal data model yang merepresentasikan semua pandangan user dari suatu perusahaan.
C. Perancangan Fisikal Basis data Tujuan
dari
perancangan
fisikal
basis
data
adalah
mendeskripsikan implementasi dari basis data pada penyimpanan secondary. Ini menjelaskan relation, organisasi file dan index yang digunakan untuk mencapai keefisienan data, integritas serta ukuran keamanan. Langkah 4 : Menterjemah model data logikal global sesuai DBMS yang dipakai Tujuan : M enghasilkan skema basis data relasional dari model data logikal global yang dapat diimplementasikan ke dalam DBM S yang dipakai. Tiga kegiatan utama dari langkah ini antara lain : 4.1 Merancang basis relational Tujuan : menentukan bagaimana menggambarkan relasi dasar yang diidentifikasi didalam model data logikal global pada DBM S yang dipakai. Untuk tiap relasi yang diidentifikasi didalam model data logikal global, dapat didefinisikan sebagai berikut :
30 a. Nama dari relasional. b. List untuk attribut simple yang ada. c. Primary key dan dimana menyediakan alternate key dan foreign key. d. Daftar dari derived attribut dan bagaimana mereka harus dihitung. e. Referensial batasan integritas untuk setiap foreign key yang diidentifikasi. Dari kamus data, setiap atributnya dapat diketahui : a. Domainnya terdiri dari tipe data, panjang dan berbagai keterangan atribut. b. Nilai default yang optional untuk atribut-atribut. c. Apakah atribut dapat diisi nilai NULL 4.2 Merancang representasi dari derived data Tujuan : menentukan bagaimana menggambarkan suatu data turunan pada model data logikal global pada DBM S yang dipakai. Attribut dimana nilainya dapat ditemukan dengan menguji nilai dari atribut lain dinamakan atribut turunan atau atribut kalkulasi. Sering kali derived atribut tidak muncul dalam data model logikal tetapi didokumentasikan didalam kamus data. Contoh : 1. Jumlah banyaknya staff yang bekerja pada suatu kantor. 2. Total gaji yang dibayarkan ke seluruh staff.
31 4.3 Merancang batasan aplikasi Tujuan : M erancang batasan aplikasi pada DBM S yang dipakai. Pembaharuan terhadap relasi yang mungkin dibatasi oleh aturan perusahaan yang sesuai dengan transaksi sebenarnya. Rancangan akan batasan seperti ini tergantung pada pemilihan DBM S. Langkah 5 : Merancang representasi fisikal Tujuan : M enentukan organisasi file yang paling optimal untuk menyimpan relasional dasar dan index yang diminta untuk kinerja yang optimal, dimana relasional dan data yang ada disimpan pada secondary storage. Beberapa faktor yang dapat digunakan untuk mengukur efisiensi : 1. Transaction throughput : merupakan jumlah transaksi yang bisa diproses dalam interval waktu yang diberikan. 2. Response time : merupakan waktu yang dibutuhkan untuk menyelesaikan suatu transaksi tunggal. 3. Disk storage : merupakan jumlah space disk yang dibutuhkan untuk menyimpan file basis data. Bagaimanapun, tidak ada satu faktor yang selalu benar. Biasanya, perancang harus saling menukar satu faktor dengan yang lainnya agar mencapai suatu keseimbangan. Untuk meningkatkan kinerja, perancang fisikal basis data harus mengetahui bagaimana 4 komponen dasar hardware saling
32 berinteraksi dan mempengaruhi kinerja sistem yaitu main memory, CPU, Disk I/O, Jaringan. Aktivitas dalam langkah ini adalah : 5.1 Menganalisis transaksi Tujuan : memahami fungsi dari suatu transaksi yang akan dijalankan pada basis data dan menganalisis transaksi yang penting. M elaksanakan perancangan fisikal basis data secara efektif, diperlukan pengetahuan akan transaksi atau query yang akan menjalankan basis data. Hal ini mencakup baik informasi kualitatif maupun kuantitatif. Dalam menganalisa transaksi diidentifikasikan kriteria kinerja sebagai berikut : 1. Transaksi yang sering digunakan dan akan memiliki dampak yang penting dalam kinerja keseluruhan. 2. Transaksi yang merupakan transaksi bisnis yang kritis. 3. Durasi waktu harian atau mingguan yang akan mendapatkan banyak permintaan pada basis data. Kita menggunakan informasi ini untuk mengidentifikasi bagian dari basis data yang dapat mengakibatkan masalah kinerja. Dalam waktu yang sama,
kita perlu untuk mengidentifikasi
kegunaan tingkat tinggi dari transaksi dan memilih file organisasi dan indeks yang tepat.
33 5.2 Memilih organisasi file Tujuan : menentukan organisasi file yang efisien untuk setiap relasi dasar. Salah satu tujuan utama dari perancangan fisikal basis data adalah memilih organisasi file yang optimal untuk setiap relasi, jika target DBM S mengizinkan. Organisasi file berdasarkan tipe file, yaitu : 1. Heap (tumpukkan) 2. Hash 3. Indexed Sequential Access M ethod (ISAM ) 4. B+ -tree 5. Clusters 5.3 Memilih indeks Tujuan : menentukan apakah dengan menambah indeks akan meningkatkan kinerja dari sistem. Salah satu pendekatan untuk memilih organisasi file yang sesuai untuk relasi adalah menjaga tuple tidak berurutan dan membuat indeks sekunder sebanyak yang diperlukan. Pendekatan lainnya adalah mengurutkan tuple di dalam relasi dengan menetapkan sebuah indeks utama atau cluster. M emilih atribut untuk pengurutan atau pengelompokkan tuple seperti : 1. Atribut yang paling sering digunakan untuk operasi bersama, yang akan membuat penggabungan tersebut lebih efektif, atau
34 2. Atribut yang paling sering digunakan untuk mengakses record dalam sebuah relasi ada. 5.4 Mengestimasikan kapasitas disk Tujuan : memperkirakan jumlah disk space yang mungkin dibutuhkan oleh basis data. Tujuan dari langkah ini adalah memperkirakan jumlah disk space yang dibutuhkan untuk mendukung implementasi basis data pada penyimpanan sekunder. M emperkirakan penggunaan disk sangat bergantung pada target DBM S dan hardware yang digunakan untuk mendukung basis data. Langkah 6 : Merancang user view Tujuan : merancang tampilan user yang diidentifikasi sewaktu pengumpulan kebutuhan dan tahap analisis dari siklus hidup aplikasi basis data relasional Dalam multiuser DBM S, user view memainkan peran penting dalam mendefinisikan struktur dari basis data dan menjalankan keamanan. Langkah 7 : Merancang mekanisme keamanan Tujuan : merancang pengukuran keamanan untuk basis data yang telah dispesifikasikan oleh user. Suatu basis data merupakan sumber daya perusahaan yang essential yang perlu dilindungi dengan menggunakan kontrol yang memadai. Beberapa masalah keamanan basis data yang perlu diperhatikan :
35 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) Secara umum, relasional DBM S memberikan dua tipe
keamanan basis data yaitu : 1. Keamanan sistem meliputi akses dan penggunaan basis data pada level sistem seperti username dan password 2. Keamanan data meliputi akses dan penggunaan dari objek basis data(seperti relation dan view) dan tindakan yang user dapat lakukan pada objek. Langkah 8 : Mempertimbangkan pengenalan dari redundansi yang terkontrol Tujuan : menentukan apakah dengan mengenalkan redundansi dalam sebuah cara pengendalian dapat mengendurkan aturan normalisasi dan meningkatkan kinerja dari sistem. Normalisasi merupakan suatu prosedur untuk menentukan atribut mana yang mestinya bersama dalam sebuah relasi, oleh karena itu normalisasi tidak boleh ditiadakan karena normalisasi merupakan faktor yang terpenting dalam menentukan suksesnya sistem secara keseluruhan.. Hasil dari normalisasi adalah rancangan logikal basis data yang secara struktural konsisten dan redundansi yang minimal. Sebagai tambahan, faktor berikut harus dipertimbangkan :
36 1.
Denormalisasi membuat implementasi menjadi semakin rumit.
2.
Denormalisasi biasanya mengorbankan fleksibilitas.
3.
Denormalisasi
mungin
mempercepat
pemanggilan
tetapi
memperlambat update. Secara umum, istilah denormalisasi mengarah pada perbaikan terhadap skema relasional seperti derajat dari normalisasi untuk relasi yang diubah lebih sedikit dari derajat setidaknya satu dari relasi asli. Tidak terdapat suatu aturan pasti yang menentukan kapan relasi di denormalisasi. Tetapi secara khusus, denormalisasi dipertimbangkan dalam keadaan terutama untuk mempercepat transaksi yang sering dilakukan dan bersifat penting. Langkah 9 : Memantau dan memperbaiki sistem operasional Tujuan : memantau sistem operasional dan meningkatkan kinerja dari sistem untuk memperbaiki keputusan rancangan yang tidak sesuai atau menggambarkan kebutuhan akan perubahan. Permulaan dari rancangan fisikal basis data tidak boleh dianggap statik tapi harus dipertimbangkan sebagai sebuah perkiraan dari kinerja
operasional.
Sekali
permulaan
rancangan
telah
diimplementasi, sangatlah diperlukan untuk memantau sistem dan memperbaiki sebagai hasil dari pemantauan kinerja dan syarat perubahan. Beberapa keuntungan dari perbaikan basis data yaitu : 1. Dapat menghindari kebutuhan hardware tambahan 2. Kemungkinan menurunkan konfigurasi hardware
37 3. Sistem yang diperbaiki dengan baik menghasilkan response time yang lebih cepat dan throughput ynag lebih baik, dimana sebagai hasilnya membuat user dan organisasi lebih produktif 4. M eningkatkan response times dapat menambah semangat staff 5. M eningkatkan response times dapat meningkatkan kepuasan pelanggan. Perbaikan merupakan hal yang tidak pernah selesai. Selama hidup dari sistem, perlu untuk memantau kinerja terutama untuk mempertanggung-jawabkan perubahan terhadap lingkungan dan kebutuhan user. M embuat perubahan dalam sebuah area dari sistem operasional untuk meningkatkan kinerja dapat merugikan area lain. Oleh karena itu, jika dimungkinkan, menguji perubahan di saat sistem tidak digunakan.
2.2
Teori-teori Khusus 2.2.1
Asuransi M enurut M ark R. Green (Principle of Insurance), Asuransi adalah suatu
unit
ekonomi
yang
menanggulangi
resiko
dengan
cara
menggabungkan berbagai pihak yang memiliki situasi yang sama, dalam menghadapi sautu kerugian keuangan, yang timbul secara tidak diduga ke dalam suatu pengelolaan (economics sense) Asuransi adalah suatu perjanjian antara penanggung dan tertanggung, di mana penanggung dengan suatu imbalan (consideration =
38 premi) akan mengambil alih beban kerugian keuangan yang dialami oleh tertanggung, yang timbul secara tidak terduga (legal sense) M enurut Robert M ehr (Principles of Insurance), asuransi merupakan suatu alat untuk mengurangi resiko keuangan, dengan cara pengumpulan unit-unit exposure dalam jumlah yang memadai, untuk membuat agar kerugian individu dapat diperkirakan Dalam KUH Dagang, asuransi atau pertanggungan adalah suatu perjanjian dengan mana seorang penanggung mengikatkan diri kepada tertanggung, dengan menerima premi, untuk memberikan penggantian kerugian keuangan
kepadanya atas suatu kerusakan, kehilangan
keuntungan yang diharapkan, yang mungkin akan dideritanya karena suatu peristiwa yang tidak tentu Dalam Undang-Undang Nomor 2 tahun 1992, asuransi atau pertanggungan adalah perjanjian antara dua pihak atau lebih, dengan mana pihak penanggung mengikatkan diri kepada tertanggung, dengan menerima premi asuransi, untuk memberikan penggantian kerugian keuangan tertanggung karena kerugian, kerusakan atau kehilangan keuntungan yang diharapkan, atau tanggung jawab hukum, ayng timbul dari suatu peristiwa yang tidak pasti; atau Untuk melakukan pembayaran sejumlah uang yang didasarkan atas meninggal atau hidupnya seseorang yang dipertanggungkan
39 2.2.2
Fungsi Asuransi Fungsi asuransi dapat digolongkan dalam 3 fungsi, yaitu primary function, subsidiary function dan other related function 1. Primary function (fungsi primer) a. Risk Transfer Asuransi adalah mekanisme pengalihan resiko, di mana perorangan atau badan usaha dapat mengalihkan sesuatu yang tidak pasti kepada pihak lain, dengan sejumlah premi yang relatif kecil dibandingkan dengan kemungkinan kerugian, ketidakpastian kerugian itu diahlihkan kepada asuransi. b. Common Pool Pada awal timbulnya marine insurance, para pedagang waktu itu bersepakat untuk memberikan kontribusi terhadap kerugian (karena resiko laut) yang dialami oleh seseorang di antara mereka. Praktek demikian tidak sepenuhnya mengalihkan resiko tetapi hanya mengurangi resiko. Dalam perkembangannya kontribusi itu ditetapkan pada awal sebelum timbul kerugian, sehingga masing-masing sudah bisa mengetahui pasti beban kontribusi, yaitu membayar apa yang disebut premi. Premi tersebut diterima dan dikumpulkan dalam suatu fund atau pool serta dikembangkan untuk menanggulangi klaim yang terjadi c. Equitable premiums
40 Dengan asumsi bahwa pengalihan resiko telah dilakukan melalui common pool, fungsi utama yang ketiga adalah kontribusi yang harus dibayar oleh masing-masing peserta harus fair. Tingkat resiko yang dialami oleh setiap peserta bisa berbeda, misalnya untuk bangunan yang terbuat dari kayu memiliki tingkat resiko yang lebih tinggi dibandingkan dengan bangunan dari batu. Pengemudi yang berumur 18 tahun lebih tinggi resikonya dibandingkan dengan pengemudi yang berumur 50 tahun. Demikian juga nilai barang yang dipertanggungkan tidak selalu sama. Perbedaan mengenai tingkat hazard dan nilai itu akan membawa konsekuensi besarnya kontribusi (premi)
yang
dibebankan. Hal-hal semacam ini yang sekarang menjadi dasar para underwriter dalam menetapkan tingkat premi. 2. Subsidiary function (fungsi subsider) a. Stimulus to business enterprise Fungsi sebagai pendorong usaha tergambar
dalam
kegiatan asuransi melakukan investasi yang berasal dari dana asuransi. Selain itu dengan asuransi dapat memberikan keberanian para investor untuk membangun usaha baru atau mengembangkan usahanya. b. Loss prevention Tenaga surveyor asuransi banyak memperoleh pelatihan dan pengalaman dalam melakukan identifikasi suatu resiko
41 menjadikan dirinya memiliki kemampuan untuk memberikan saran pencegahan kerugian. Fungsi sebagai loss prevention tergambar dalam saran yang direkomendir oleh surveyor asuransi untuk melakukan halhal yang dapat mencegah terjadinya kerugian. Surveyor asuransi pencurian dapat memberikan saran adanya pemasangan alat detektor yang dapat mencegah atau menghambat pencuri. Surveyor asuransi liability (liaiblity insurance) dapat memberikan saran dalam pencegahan tuntutan publik akibat kondisi kerja atau produksi c. Loss control Rekomendasi dari surveyor asuransi bukan saja terbatas pada pencegahan kerugian tetapi juga memberikan rekomendasi cara untuk mengurangi kerugian. Saran pemasangan
memenuhi sprinkler,
persyaratan alarm,
konstruksi
merupakan
bangunan,
upaya
untuk
mengendalikan kerugian apabila resiko terjadi. Surveyor tidak mungkin dapat mencegah pencuri masuk, tetapi
surveyor
membatasi,
dapat
menyarankan
sesuatu
yang
dapat
mempersulit, menghambat, atau memperlambat
langkah pencuri.
42 d. M anfaat social (social benefits) Klaim yang dibayarkan oleh asuransi memungkinkan pengusaha dapat membangun kembali pabrik/usahanya, sehingga dapat menghindari adanya pemutusan hubungan kerja akibat pabrik terbakar. Kegiatan asuransi itu sendiri menciptakan lapangan kerja. M elalui asuransi, dapat disediakan dana untuk mengatasi masalah sosial, misalnya satuanan orang cacat, janda, yatim. e. Tabungan (savings) Dalam produk asuransi jiwa khususnya endowment insurance menjamin pembayaran baik meninggal atau hidup di akhir kontrak, pembayaran yang diterima tertanggung pada akhir kontrak pada dasarnya merupakan akumulasi premi ditambah dengan bunga. 3. Other related function a. Dana investasi (investment of funds) Himpunan dana asuransi (premi) yang disediakan untuk membayar klaim, merupakan sumber dana investasi yang menimbulkan kegiatan investasi dalam pasar uang dan pasar modal. b. Pendapatan jasa (invisible earnings) Transaksi asuransi dan reasuransi terjadi dalam jangkauan yang luas antar negara.
43 Suatu negara yang banyak menerima pendapatan premi dari negara lain merupakan penghasilan negara yang bersangkutan dari perdagangan jasa. Di Indonesia yang terjadi adalah sebaliknya. Perusahaan asuransi di Indonesia banyak yang menempatkan reasuransi di luar negeri, sehingga neraca perdagangan kita defisit karena pembayaran premi merupakan penerimaan bagi luar negeri dan pengeluaran bagi Indonesia. Sebabnya antara lain: 1. Kurangnya ilmu pengetahuan dan teknologi 2. Tidak adanya integritas pengusaha asuransi Perusahaan asuransi di Indonesia membayar klaim dari hasil reasuransi di luar negeri sehingga fungsi perusahaan asuransi hanya sebagai agen/broker saja. Konsumen masih luar negeri minded (lack of nationalism), sehingga memilih perusahaan asuransi luar negeri.
2.2.3
Klaim Klaim adalah suatu tindakan legal untuk memperoleh uang, tanah atau tuntutan hak terhadap suatu pihak. (sumber : www.wikipedia.org).
44 2.2.4
Prosedur Klaim
1. Kewajiban Tertanggung Dalam hal terjadi kerugian yang dapat menimbulkan klaim pada polis, ada beberapa kewajiban (duties) yang harus dilakukan tertanggung. Kewajiban itu ada yang tidak tertulis dalam polis atau yang disebut “implied duties”, dan ada juga kewajiban yang dinyatakan secara tegas atau tertulis dalam polis atau yang disebut “express duties” a. Implied duties M enurut hukum, dalam hal terjadi suatu kerugian, tertanggung harus bertindak
seolah-olah
ia tidak
mengasuransikan
objek
yang
mengalami kerugian itu dan ia berkewajiban mengambil langkahlangkah yang pantas untuk memperkecil kerugian tersebut. Jadi, jika polisi atau satuan pemadam kebakaran dilibatkan dalam kerugian tersebut, tertanggung tidak boleh menghalang-halangi kegiatan pihakpihak tersebut berkenaan dengna kejadian itu. Kewajiban seperti itu, meskipun tidak tertulis dalam polis, harus dilakukan. b. Express duties 1. Setiap kejadian yang kemungkinan dapat menimbulkan klaim pada polis harus segera diberitahukan kepada penanggung dan bahwa keterangan lengkap tentang kerugian itu harus disampaikan kepada penanggung dalam suatu periode tertentu yang ditetapkan dalam polis, misalnya 14 hari atau 30 hari setelah tertanggung mengetahui kejadian tersebut.
45 2. Pemberitahuan sesegera mungkin diperlukan agar investigasi atas kejadian dapat segera dilakukan. Kalau tidak, beberapa bukti tentang kejadian itu kemungkinan tidak bisa diperoleh atau ingatan para saksi kemungkinan tidak penuh lagi. 3. Dalam banyak hal, pihak tertanggung memerlukan bantuan staff klaim pihak penanggung atau loss adjusters untuk membantunya dalam mencegah kerugian lebih lanjut dan dalam mempercepat dimulainya perbaikan. 4. Setelah
mendapat
pemberitahuan,
penanggung
biasanya
mengirimkan formulir klaim kepada tertanggung untuk diisi. Formulir ini utuk mendapatkan informasi tentang tertanggung, tempat kerugian, sifat kerugian, waktu terjadinya kerugian, rincian harta benda yang mengalami kerugian berikut nilainilainya, dan asuransi atau polis lain yang menutup kepentingan yang sama. Jawaban yang diberikan dicocokkan dengan proposal form. 5. Kewajiban-kewajiban lain dari tertanggung yang biasanya juga ditegaskan dalam polis dalam hal terjadi kejadian yang dapat menimbulkan klaim pada polis adalah: a. Tertanggung tidak boleh bertindak curang untuk sengaja mendapatkan suatu keuntungan dari adanya kerugian itu; dan b. Tertanggung, jika diminta,
harus mengizinkan penanggung
untuk melakukan hak subrogasi dan tertanggung tidak boleh
46 melakukan hal-hal yang dapat merugikan hak subrogasi tersebut. c. Proof of loss Dalam hal terjadi suatu kerugian, tertanggung berkewajiban untuk membuktikan: 6. bahwa ia (tertanggung) telah mengalami kerugian karena suatu kejadian atau peristiwa yang dijamin dalam polis 7. nilai atau jumlah kerugian itu Tapi jika penanggung berpendapat bahwa kerugian itu disebabkan oleh suatu bahaya yang dikecualikan oleh polis, pihak penanggunglah yang wajib membuktikan hal itu.
2. Hak Tertanggung Hak tertanggung adalah bahwa setelah ia memenuhi semua kewajibannya, ia berhak untuk mendapatkan penyelesaian ganti rugi berdasarkan syarat-syarat polis. Penyelesaian ganti rugi tersebut tidak boleh ditahan oleh penanggung hanya dengan alasan masih menunggu recovery dari hasil penggunaan hak subrogasi atau hak kontribusi.
3. Kewajiban Penanggung Setelah
tertanggung
memenuhi
kewajiban-kewajibannya
berkenaan dengan kerugian tersebut, penanggung berkewajiban untuk memenuhi hak tertanggung seperti di atas.
47
4. Hak Penanggung Setelah mendapat pemberitahuan tentang suatu kejadian kerugian, penanggung berhak untuk bersama-sama dengan pihak tertanggung mengamankan pokok pertanggungan yang mengalami kerugian itu. Hak ini biasanya dilakukan oleh penanggung dengan menggunakan jasa loss adjusters. Dalam polis-polis tertentu, penanggung diberi hak untuk memasuki lokasi kejadian dan mengamankan harta benda tanpa mengakui tanggung jawab (liability) atas klaim yang bersangkutan. Dengan hak seperti ini, penanggung akan dapat melakukan investigasi atas kejadian/kerugian itu secepat mungkin.
2.2.5
AS P.NET ASP.NET adalah aplikasi framework berbasis web yang dikembangkan dan dipasarkan oleh M icrosoft, untuk memungkinkan programer membangun dynamic website, aplikasi web, dan web services. Pertama kali diluncurkan pada tahun 2002 dengan versi 1.0 dari framework .NET, dan merupakan kunci sukses dari teknologi M icrosoft Active Server Pages (ASP). ASP.NET dibangun pada Common Language Runtime (CLR) yang memungkinkan programer untuk menulis code ASP.NET dengan menggunakan bahasa yang mendukung .NET.
48
2.2.6
Internet Information Services (IIS ) Internet Information Services yang sebelumnya disebut Internet Information Server adalah serangkaian servis yang berbasis internet sebagai server yang dibuat oleh M icrosoft untuk digunakan dengan M icrosoft Windows. IIS merupakan web server terpopuler ke-2 setelah server Apache HTTP. Server ini sekarang memuat FTP, SMTP, NNTP, dan HTTP/HTTPS.