Bab 2 Landasan Teori
2.1 Teori-Teori Umum 2.1.1
Data Menurut Hoffer (2005, p5) data adalah fakta, atau bagian dari fakta yang mengandung arti, yang dihubungkan dengan kenyataan, simbolsimbol, gambar-gambar, kata-kata, angka-angka, huruf-huruf atau simbolsimbol yang menunjukkan suatu ide, obyek, kondisi, atau situasi dan lainlain. Data adalah representasi obyek yang disimpan dan kejadian-kejadian yang memiliki maksud dan penting bagi user. Menurut Turban (2003, hal 2), data adalah fakta-fakta yang belum diolah atau gambaran-gambaran dan transaksi-transaksi yang ditangkap, direkam, atau disimpan, dan diklasifikasikan, tetapi tidak disusun untuk menyampaikan hal khusus lainnya.
2.1.2 Pengertian Basisdata Menurut Connolly dan Begg (2002, hal 14), basisdata adalah kumpulan data yang saling berhubungan secara logis dan merupakan sebuah deskripsi data yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Basisdata pada dasarnya merupakan sistem penyimpanan catatan atau data yang terkomputerisasi (Date C.J, 2000, hal 5). 6
7
2.1.3
Sistem Basisdata Menurut Connolly ( 2002, hal 6) ada 2 sistem basisdata yaitu: a. File-based Systems File-based systems merupakan kumpulan dari aplikasi program yang menjalankan service untuk user seperti laporan penjualan atau pembelian. Masing-masing program menjalankan dan mengatur data mereka masing-masing. Kerugian file-based systems adalah: •
Pembagian dan isolasi data
•
Penduplikasian data
•
Ketergantungan data
•
Ketidak-sesuaian data
•
Query yang statis dari program aplikasi
b. Database Management Systems (DBMS) DBMS merupakan sistem piranti lunak yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengatur akses ke basisdata. Menurut Connolly dan Begg (2002 hal 16), fitur yang disediakan oleh DBMS antara lain: •
Data Definition Language (DDL) DDL memungkinkan pengguna untuk membuat spesifikasi tipe data, mendefinisikan basisdata, struktur data dan constraint data untuk disimpan dalam basisdata. Constraint adalah peraturan konsistensi nilai pada basisdata yang tidak dapat dilanggar.
8
Contoh operasi yang menggunakan DDL adalah: 1) Create Table Perintah create table digunakan untuk membuat tabel dengan mengidentifikasikan tipe data untuk setiap kolom. 2) Alter Table Perintah alter table digunakan untuk menambah atau membuang kolom dan constraint. 3) Drop Table Perintah drop table digunakan untuk membuang atau menghapus tabel beserta semua data yang terdapat di dalamnya. •
Data Manipulation Language (DML) DML memungkinkan pengguna untuk memasukkan (insert), mengubah (update), menghapus (delete), dan mengambil data dari basisdata. DML dibagi menjadi 2 tipe yaitu: 1) Procedural DML Bahasa basisdata yang memungkinkan pengguna untuk mengakses data yang dibutuhkan dan bagaimana cara mengambil data tersebut.
9
2) Non-Procedural DML Bahasa basisdata yang memungkinkan pengguna untuk mengetahui data apa yang dibutuhkan dibandingkan bagaimana cara data tersebut diambil. Beberapa contoh operasi DML antara lain: 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 unutk memodifikasi data yang disimpan dalam basisdata 3) Delete Perintah delete digunakan untuk menghapus sebagian atau seluruh data dalam basisdata 4) Insert Perintah insert digunakan untuk memasukkan data baru ke dalam basisdata. •
Menyediakan kontrol akses ke basisdata: 1) Sistem keamanan (security systems) yang mencegah pengguna yang tidak memiliki hak akses mengakses basisdata.
10
2) Sistem integritas (integrity system), yang memelihara konsistensi dari data yang disimpan. 3) Sistem kontrol pada saat yang bersamaan (concurrency control
system)
yang
memungkinkan
untuk
memperbolehkan shared akses terhadap basisdata 4) Sistem pemulihan (recovery control system) yang mengembalikan basisdata ke dalam keadaan semula jika terjadi kesalahan pada piranti keras (hardware) atau piranti lunak (software). 5) Katalog yang dapat diakses user (user-accessible catalog), yang berisi penjelasan dari data dalam basisdata Komponen DBMS: 1) Piranti keras (hardware) 2) Software 3) Data 4) Prosedur 5) Manusia Menurut Connolly dan Begg (2002, hal 48) beberapa fungsi dari DBMS, sebagai berikut : 1) Data storage, retrieval, and update 2) User-accessible catalog 3) Transaction support
11
4) Concurrency control services 5) Recovery services 6) Authorization services 7) Support for data communication 8) Integrity services 9) Services to promote data independence 10) Utility services
2.1.4
System Development Life Cycle ( SDLC ) Untuk merancang aplikasi sistem basisdata diperlukan beberapa tahapan terstruktur yang dapat diikuti dan dinamakan dengan siklus hidup basisdata (SDLC), Komponen dasar dalam sistem informasi organisasi yang lebih besar dan luas, daur hidup aplikasi basisdata berkembang terhubung dengan daur hidup sistem informasi. Sangatlah penting untuk mengetahui bahwa tahapan daur hidup sistem informasi tidaklah dapat berurutan, tetapi melibatkan beberapa jumlah pengulangan tahap sebelumnya melalui feed-back loops. Berikut ini akan ditunjukkan tahapan daur hidup aplikasi basisdata pada gambar ini:
12
Gambar 2.1 Siklus hidup basisdata
a. Database planning (Perencanaan basisdata) Perencanaan basisdata adalah aktivitas pengaturan yang memungkinkan langkah-langkah aplikasi basisdata lebih efisien dan efektif.
13
b. System definition (Pendefinisian sistem) Tahap ini menjabarkan spesifikasi jangkauan batasan dari aplikasi basisdata, penggunaannya, dan lingkungan tempat aplikasi diimplementasikan. c. Requirements collections and analysis (Pengumpulan dan analisis kebutuhan) Proses mengumpulkan dan menganalisa informasi tentang bagian dari informasi yang nantinya akan didukung oleh aplikasi basisdata, dan kemudian menggunakan informasi ini untuk mengetahui kebutuhan pemakai terhadap sistem yang baru. d. Database design (perancangan basisdata) Perancangan
basisdata
adalah
proses
membuat
perancangan untuk membuat basisdata yang akan membantu operasi perusahaan dan tujuannya. Menurut Connolly (2002, hal 293), perancangan basisdata dibagi dalam 3 tahap yaitu: 1) Conceptual Database Design Merupakan proses membangun sebuah model yang digunakan dalam suatu perusahaan, terlepas dari segala pertimbangan fisiknya. 2) Logical Database Design Merupakan proses membangun sebuah model data yang digunakan dalam suatu perusahaan yang berdasarkan pada
14
model data khusus, tetapi bebas dari DBMS tertentu dan pertimbangan fisik lainnya. 3) Physical Database Design Merupakan proses menghasilkan sebuah gambaran dari basisdata
pada
media
penyimpanan
sekunder,
juga
menggambarkan relasi dasar, organisasi file, dan indeks yang digunakan untuk memperoleh akses yang efisien pada data, dan batasan integritas lainnya dan ukuran keamanan. Fase ini merupakan fase terakhir dimana perancang menentukan bagaimana basisdata tersebut diimplementasikan. e. DBMS selection (Pemilihan DBMS) Pada tahap ini dilakukan pemilihan DBMS yang cocok untuk mendukung aplikasi basisdata. f. Application design (Perancangan aplikasi) Perancangan aplikasi yaitu rancangan dari tampilan layar untuk pengguna dan aplikasi program yang menggunakan dan memproses basisdata. Rancangan aplikasi dibagi dalam 2 aspek yaitu: 1. Rancangan transaksi Menurut Date (2000, hal 17) transaksi merupakan suatu unit logikal dari pekerjaan, yang biasanya melibatkan beberapa operasi basisdata. Sedangkan menurut Connolly (2002, hal 73), transaksi dapat juga diartikan sebagai sebuah
15
atau serangkaian aksi yang dilakukan oleh seorang pengguna atau program aplikasi, yang mengakses atau mengubah isi atau baris data. Terdapat 3 tipe utama transaksi: -
Retrieval Transaction, contohnya tampilan detil data property (data ditampilkan dalam bentuk angka)
-
Update
Transaction,
contohnya
operasi
untuk
memasukkan detil data property ke dalam basisdata -
Mixed Transaction, contohnya operasi untuk mencari detil data property, menampilkan dan meng-update nilainya
2. Rancangan antar muka pengguna (user interface) g. Prototyping Prototyping adalah proses membangun model kerja (working model) dari aplikasi basisdata. Tujuan utama dari membangun
prototype
aplikasi
basisdata
adalah
untuk
memungkinkan pengguna menggunakan prototype tersebut untuk mengidentifikasi fitur dari sistem yang bekerja dengan baik, dan apabila memungkinkan dapat menyarankan improvisasi atau membuat fitur baru ke dalam aplikasi basisdata. h. Implementation (Implementasi) Implementasi merupakan realisasi fisik dari basisdata dan rancangan aplikasi.
16
i. Data conversion and loading (Konversi dan loading data) Tahap ini merupakan tahap pemindahan data yang ada ke dalam basisdata baru dan mengubah aplikasi yang ada untuk beroperasi pada basisdata baru. Tahap ini diperlukan ketika suatu sistem basisdata baru menggantikan sistem lama j. Testing Testing merupakan proses mengeksekusi program aplikasi dengan tujuan menemukan kesalahan. Beberapa keuntungan melakukan testing: •
Menemukan kesalahan program aplikasi dan mungkin juga kesalahan struktur basisdata
•
Testing mendemonstrasikan bahwa basisdata dan program aplikasi dapat berjalan sesuai dengan kebutuhan kinerja dan spesifikasi yang diinginkan atau tidak.
k. Operational Maintenance (Perawatan operasional) Merupakan proses dan merawat sistem setelah dilakukan instalasi. Tahap ini melibatkan beberapa aktivitas: •
Memonitor kinerja sistem, apabila kinerja berada di level bawah, maka dibutuhkan tuning atau re-organisasi basisdata.
•
Memelihara dan meng-update aplikasi basisdata dibutuhkan)
(apabila
17
2.1.5 Tahap-tahap Perancangan Basisdata a. Conceptual database design (Perancangan basisdata konseptual) Merupakan tahap pertama dari perancangan basisdata. Pada rancangan basisdata konseptual, model data dibuat dengan menggunakan
dokumentasi
informasi
dalam
spesifikasi
permintaan user dan terbebas dari segala pertimbangan fisik (Connolly 2005, hal 419).
Ada 9 langkah dalam merancang
basisdata konseptual: I.
Menentukan tipe entitas. Bertujuan untuk mengidentifikasi tipe entitas utama yang dibutuhkan oleh pengguna. Ketika mengidentifikasi jenis suatu entitas, maka entitas tersebut dapat diberi nama yang mengandung arti yang jelas bagi pengguna. Jika sebuah entitas dikenal dengan nama lain, maka nama tersebut dianggap sebagai sinonim atau alias.
II.
Mengidentifikasi tipe relasi. Bertujuan untuk mengidentifikasi relasi yang penting antara tipe entitas yang sudah diidentifikasi. Beberapa hal yang perlu diperhatikan dalam menyusun relasi: • Menggunakan diagram Entity-Relationship (ER) Diagram ER digunakan untuk menampilkan entitas dan memudahkan mereka berhubungan satu dengan yang lain.
18
• Menentukan batasan multiplicity dari tipe relasi Batasan multiplicity digunakan untuk mengecek dan memelihara kualitas data. Batasan ini adalah pengecekan perubahan entitas yang dilakukan ketika basisdata diubah untuk menentukan apakah perubahan yang dilakukan melanggar aturan yang sudah ditetapkan oleh perusahaan. III.
Mengidentifikasi dan menghubungkan atribut dengan tipe entitas atau relasi. Bertujuan untuk menghubungkan atribut dengan tipe entitas atau relasi yang berhubungan. Beberapa point yang penting dalam mengidentifikasi dan menghubungkan atribut dengan tipe entitas atau relasi: • Atribut simple/composite • Atribut dengan single/multi-valued • Derived Attribute • Atribut dokumen
IV.
Menentukan domain atribut. Bertujuan untuk menentukan domain atribut dalam model lokal data konseptual. Contoh mendefinisikan domain atribut:
19
• Atribut domain untuk nomor karyawan (staffNo) adalah 5 digit variabel string, dimana 2 digit pertama adalah huruf dan 3 digit terakhir adalah angka yang berkisar dari 1999 • Nilai yang memungkinkan untuk atribut jenis kelamin(sex) dari entitas karyawan(Staff) adalah antara “M” atau “F”. Domain atribut ini adalah karakter tunggal yang bernilai “M” atau “F”
V.
Menentukan atribut primary key dan candidate key. Bertujuan untuk mengidentifikasi candidate key untuk setiap entitas dan jika ada lebih dari satu candidate key, maka pilih satu untuk menjadi primary key.
VI.
Mempertimbangkan penggunaan konsep enhanced modeling (Langkah pilihan). Bertujuan untuk mempertimbangkan penggunaan konsep enhanced
modeling,
seperti
spesialisasi,
generalisasi,
aggregasi, dan komposisi.
VII.
Mengecek perulangan pada model Bertujuan untuk mengecek apakah terdapat perulangan dalam model. Ada 2 aktivitas dalam langkah ini:
20
1. Mengecek kembali relasi one to one (1:1) 2. Menghilangkan relasi yang berulang
VIII.
Memvalidasi model konseptual lokal dengan transaksi user. Bertujuan untuk memastikan bahwa model konseptual lokal mendukung transaksi yang dibutuhkan user. Ada 2 pendekatan yang dapat digunakan untuk memastikan bahwa model
konseptual
lokal
mendukung
transaksi
yang
dibutuhkan: 1) Menjelaskan transaksi Penulis menjelaskan bahwa semua informasi (entitas, relasi, dan atribut) yang dibutuhkan oleh setiap transaksi
disediakan
oleh
model,
dengan
mendokumentasikan sebuah deskripsi dari kebutuhan setiap transaksi 2) Menggunakan jalur transaksi Cara kedua untuk memvalidasi model data terhadap transaksi yang dibutuhkan adalah secara diagram menunjukkan jalur yang diambil oleh setiap transaksi secara langsung pada diagram ER.
21
IX.
Mengulang konseptual data model dengan user. Memeriksa model data konseptual lokal termasuk ER, jika terjadi ketidak cocokan (anomaly) maka dapat dilakukan perubahan.
b. Logical database design (perancangan basisdata logikal) Merupakan langkah kedua dalam merancang basisdata. Pada perancangan basisdata logikal, dilakukan proses untuk membuat model informasi yang digunakan dalam perusahaan berdasarkan spesifik data model. Langkah-langkah dalam merancang basisdata logikal: I.
Membuat dan memvalidasi model data logikal untuk setiap tampilan 1) Menghilangkan fitur yang tidak cocok dengan model relasi (langkah optional) •
Menghilangkan relasi binary many to many (* : *)
•
Menghilangkan relasi tipe rekursif many to many (* : *)
•
Menghilangkan relasi tipe kompleks
•
Menghilangkan atribut multi-valued
2) Mengelompokkan relasi untuk model data logikal lokal
22
Menentukan relasi untuk model data logikal untuk menggambarkan entitas, relasi, dan atribut yang sudah diidentifikasikan.
3) Memvalidasi
hubungan
dengan
menggunakan
normalisasi Tujuan dari langkah ini adalah untuk memvalidasi relasi dalam model data logikal lokal dengan menggunakan normalisasi. Tujuan dari normalisasi adalah: •
Menghilangkan kumpulan relasi dari inserting, updating, dan delete dependensi yang tidak diharapkan
•
Mengurangi kebutuhan restrukturisasi kumpulan relasi dan meningkatkan life spam program aplikasi
•
Membuat model relasional lebih informatif.
4) Memvalidasi relasi dengan transaksi pengguna Tujuan dari langkah ini adalah untuk memastikan bahwa relasi di dalam model logikal data lokal mendukung transaksi yang dibutuhkan oleh pengguna. 5) Mendefinisikan integritas)
integrity
constraints
(batasan
23
Integrity digunakan
constraints untuk
ketidaklengkapan,
adalah
batasan
yang
melindungi
basisdata
dari
ketidakakuratan,
atau
ketidak
konsistenan . Ada 6 tipe integrity constraints: •
Required data (data atau nilai yang valid)
•
Batasan atribut domain
•
Multiplicity (batasan relasi antar data dalam basisdata)
•
Entity integrity (primary key tidak boleh null)
•
Referential integrity ( foreign key pada suatu entitas dapat sesuai dengan candidate key pada entitas lain)
•
General constraints (update pada entitas)
6) Mengulang model data logikal dengan user lokal Tujuan dari langkah ini adalah untuk membuat dokumentasi yang mendeskripsikan model logikal data lokal sebagai representasi yang sesuai dengan keadaan sebenarnya. II.
Membuat dan memvalidasi model data logikal global 1) Menggabungkan model data logikal lokal menjadi model global Beberapa tugas dari pendekatan ini adalah sebagai berikut:
24
•
Mengulang nama dan isi dari suatu entitas atau relasi dan candidate key
•
Menggabungkan entitas atau relasi dari model logikal data lokal
•
Memasukkan (tanpa menggabungkan) entitas atau relasi untuk setiap model lokal data
•
Memasukkan (tanpa menggabungkan) relasi atau foreign key untuk setiap model lokal data
•
Mengecek entitas, relasi, dan foreign key yang hilang
2) Memvalidasi model data logikal global Tujuan dari langkah ini adalah untuk memvalidasi relasi yang dibuat dari model logikal data global dengan menggunakan teknik dari normalisasi dan juga memastikan bahwa relasi yang dibuat mendukung transaksi 3) Mengecek perkembangan di masa depan Tujuan dari langkah ini adalah untuk menentukan bagian mana yang mungkin akan berubah di masa mendatang dan juga memperhatikan supaya model logikal data global dapat mengakomodasi perubahan tersebut
25
4) Mengulang
model
data
logikal
global
dengan
pengguna Tujuan dari langkah ini adalah untuk memastikan bahwa
model
logikal
data
global
memang
merepresentasikan enterprise yang ada. Hasil akhir dari perancangan basisdata logikal adalah merancang suatu model informasi berdasarkan spesifik model yang ada, tetapi tidak tergantung terhadap suatu DBMS dan perangkat keras lainnya. c. Physical basisdata design Merupakan langkah terakhir dalam merancang basisdata. Langkah-langkah dalam merancang basisdata fisikal: I.
Menterjemahkan model data logikal global untuk DBMS Tujuan dari langkah ini adalah untuk membuat suatu skema relasional basisdata dari model data logikal global yang dapat diimplementasikan ke DBMS yang dipakai 1) Merancang relasi antar basisdata Tujuan dari bagian ini adalah untuk memutuskan bagaimana mempresentasikan relasional dasar yang diidentifikasi dalam model logikal data lokal pada DBMS yang dipakai. 2) Merancang
representasi
dikelompokkan
dari
data
yang
sudah
26
Tujuan dari langkah ini adalah untuk memutuskan bagaimana merepresentasikan suatu data turunan pada model data logikal global pada DBMS yang dipakai. 3) Merancang batasan enterprise Tujuan dari langkah ini adalah untuk merancang batasan
aplikasi
untuk
DBMS
yang
dipakai,
tergantung. II.
Merancang representasi fisikal Tujuan dari langkah ini adalah untuk menentukan organisasi file yang paling optimal untuk menyimpan relasional dasar dan index yang diminta untuk kinerja yang optimal dimana relasional dan data yang disimpan pada secondary storage. 1) Menganalisa transaksi 2) Memilih organisasi file Ada 5 tipe organisasi file: •
Heap
•
Hash
•
Indexed Sequential Office Access Method (ISAM)
•
B - tree
•
Cluster
27
3) Memilih index Biasanya pemilihan suatu atribut untuk indeks adalah sebagai berikut: •
Suatu atribut yang digunakan paling sering untuk operasi
penggabungan,
yang
akan
membuat
penggabungan lebih efektif •
Suatu atribut yang digunakan paling banyak untuk mengakses suatu record dalam relasi yang ada
4) Mengestimasi kapasitas penyimpanan data yang dibutuhkan Tujuan
dari
langkah
ini
adalah
untuk
memperkirakan ukuran kapasitas disk yang dibutuhkan untuk basisdata
III.
Merancang tampilan layar untuk pengguna Tujuan dari langkah ini adalah untuk merancang tampilan
pengguna
yang
diidentifikasi
selama
pengumpulan informasi dan analisis dari siklus hidup basisdata.
IV.
Merancang mekanisme keamanan Tujuan dari langkah ini adalah untuk merancang ukuran
keamanan
untuk
basisdata
yang
telah
28
dispesifikasikan pengguna. Beberapa masalah keamanan yang perlu diperhatikan: •
Pencurian data (Theft and Fraud)
•
Kehilangan
kerahasiaan
suatu
data
(Loss
of
Confidentially)
V.
•
Kehilangan hak pribadi (Loss of Privacy)
•
Kehilangan integritas (Loss of Integrity)
•
Kehilangan ketersediaan data ( Loss of availability)
Pengenalan terhadap redundansi terkontrol Ada 2 tipe partitioning: •
Horizontal partitioning yaitu mendeskripsikan tuple dari relasi melewati sejumlah(lebih kecil) relasi
•
Vertical partitioning yaitu mendidtribusikan relasi melewati sejumlah (lebih kecil) relasi (primary key diduplikasi untuk membiarkan relasi yang original untuk dibangun kembali)
VI.
Mengawasi dan mengatur sistem operasional Tujuan dari langkah ini adalah untuk memperbaiki keputusan rancangan yang tidak sesuai atau merefleksikan perubahan kebutuhan.
29
Faktor-faktor untuk mengukur efisiensi:
2.1.6
•
Throughput transaksi
•
Response time
•
Disk storage
Entity Relationship Modeling (ER Modeling) Berdasarkan pendapat Silberschatz (2002, hal 8), Entity Relationship Data Model didasarkan pada persepsi terhadap dunia nyata yang terdiri dari kumpulan obyek-obyek dasar, yang disebut entitas, dan relasi antar obyek-obyek ini. Sedangkan menurut Connolly (2005, hal 342), ER Modeling adalah pendekatan top-down dalam perancangan basis data yang dimulai dengan mengidentifikasikan data-data penting yang disebut entitas dan relasi antar data-data tersebut dapat dapat direpresentasikan dalam model. Berikut ini akan dijelaskan konsep dasar dari ER Modeling yaitu: 1) Entity Type (Tipe Entitas) Tipe entitas merepresentasikan kumpulan dari obyek yang ada pada “dunia nyata” dengan properti yang sama. Sebuah tipe entitas mempunyai keberadaan independen dan dapat berbentuk obyek dengan keberadaan fisik (nyata) atau obyek yang tidak nyata (abstrak) 2) Relation Type (Tipe Relasi) Menurut Connolly (2005, hal 346), relasi adalah kumpulan hubungan yang mempunyai arti antara tipe-tipe entitas.
30
•
Degree of relationship Type Menyatakan jumlah entitas yang berpartisipasi dalam relasi. Entitas dengan degree dua disebut binary, entitas dengan degree tiga disebut ternary, dan entitas dengan degree empat disebut quarternary.
•
Relasi rekursif Merupakan tipe relasi dimana tipe entitas yang sama berpartisipasi lebih dari satu kali dalam peran yang berbeda. Relasi
rekursif
terkadang
disebut
dengan
unary
(unary
relationship) 3) Attribute (Atribut) Merupakan sifat dari sebuah entitas atau tipe relasi. Atribut mempunyai
nilai
yang
menggambarkan
setiap
entitas
dan
merepresentasikan bagian utama dari data yang akan disimpan dalam basisdata. 4) Strong and weak entity type •
Strong Entity adalah entitas yang keberadaannya tidak tergantung dengan entitas lain, misalnya entitas Staff, Branch. Karakteristik dari strong entity adalah setiap entitas dapat diidentifikasikan dengan primary key dari tipe entitas tersebut
•
Weak Entity adalah entitas yang keberadaannya tergantung dari entitas lain. karakteristik dari weak entity adalah atribut yang
31
terdapat pada entitas tersebut tidak dapat mengidentifikasikan tipe entitas tersebut secara unik. 5) Structural Constraints Menurut Connolly(2005, hal 356), multiplicity merupakan jumlah kemunculan (occurrence) yang mungkin dari sebuah tipe entitas yang mungkin berhubungan dengan kemunculan tunggal dari sebuah tipe entitas yang berhubungan melalui relasi tertentu. Tingkat relasi yang umum antar entitas adalah binary. Berikut ini adalah beberapa hubungan binary antar entitas dalam basisdata: One to one(1:1) relationship
Gambar 2.2 One to one relationship Gambar
2.2
menunjukkan
hubungan
antara
entitas
karyawan(Staff) dan cabang(Branch) yang diwakili oleh entitas Manages (r1 dan r2). Kemudian, berdasarkan analisis pada gambar 2.2, seorang karyawan dapat menangani nol atau satu cabang dan masing-masing cabang ditangani oleh 1 karyawan. Oleh karena terdapat maksimum 1 cabang untuk setiap karyawan
32
dan maksimum 1 karyawan untuk setiap cabang, maka tipe hubungan ini disebut one to one(1:1). Diagrammatic representations of 1:1 relationship
Gambar 2.3 Diagramatic representations of 1:1 Untuk menggambarkan bahwa sebuah karyawan dapat menangani nol atau lebih cabang, maka dituliskan “0..1” di sebelah entitas Branch. Untuk menggambarkan bahwa sebuah cabang pasti mempunyai satu manager, maka dituliskan “1..1” di sebelah entitas Staff. a. One to many (1:*) relationship
Gambar 2.4 One to many relationship
33
Gambar 2.4 menunjukkan hubungan antara entitas karyawan (Staff) dan properti (PropertyForRent) yang diwakili oleh entitas Oversees (r1, r2 dan r3). Kemudian, berdasarkan analisis pada gambar xx.1, seorang karyawan dapat mengawasi nol atau lebih properti dan sebuah properti dapat diawasi oleh 0 atau lebih staff. Oleh karena untuk setiap karyawan, terdapat banyak properti dan untuk setiap properti, terdapat maksimum satu karyawan, maka tipe hubungan ini disebut one to many(1:*). Diagrammatic representations of 1:1 relationship
Gambar 2.5 Diagrammatic representations of 1:1 relationship
Untuk menggambarkan bahwa sebuah karyawan dapat mengawasi nol atau lebih properti, maka dituliskan “0..*” di sebelah entitas PropertyforRent. Untuk menggambarkan bahwa sebuah properti diawasi oleh 0 atau 1 karyawan, maka dituliskan “0..1” di sebelah entitas Staff.
34
b. Many to many (*:*) relationship
Gambar 2.6 Many to many relationship
Gambar 2.6 menunjukkan hubungan antara entitas koran (Newspaper) dan property (PropertyForRent) yang diwakili oleh entitas Advertises (r1, r2, r3 dan r4). Kemudian, berdasarkan analisis pada gambar xx.1, sebuah koran dapat meng-iklankan satu atau lebih properti dan satu properti diiklankan oleh nol atau lebih koran. Oleh karena terdapat banyak properti untuk setiap koran dan banyak koran untuk setiap properti, maka tipe hubungan ini disebut many to many (*:*).
35
Diagrammatic representations of 1:1 relationship
Gambar 2.7 Diagrammatic representations of 1:1 relationship
Untuk
menggambarkan
bahwa
sebuah
koran
dapat
mengiklankan satu atau lebih properti, maka dituliskan “1..*” di sebelah entitas PropertyforRent. Untuk menggambarkan bahwa sebuah properti diiklankan oleh 0 atau lebih koran, maka dituliskan “0..*” di sebelah entitas Newspaper.
2.1.7 Normalisasi Menurut Connolly dan Begg (2002, hal 376) normalisasi adalah sebuah teknik untuk menghasilkan sekumpulan relasi dengan properti yang diinginkan, yang akan memberikan kebutuhan data bagi perusahaan. Tujuan utama dari suatu normalisasi adalah untuk mengurangi terjadinya suatu redundansi data dan mengurangi masalah yang terjadi pada satu relasi atau lebih yang dikenal dengan anomally.
36
Tujuan normalisasi adalah sebagai berikut: •
Menghilangkan kumpulan relasi dari insert, update, dan delete dependency yang tidak diharapkan
•
Membuat model relasional yang lebih informatif
•
Membuat sekecil mungkin terjadinya data rangkap
•
Menghindarkan adanya data yang tidak konsisten terutama bila dilakukan penghapusan atau penambahan data sebagai akibat adanya data rangkap
Menurut Connolly dan Begg (2002, hal 386) proses normalisasi meliputi: 1. First Normal Form (1NF) Bentuk normal pertama biasa dikenakan pada relasi (tabel) yang belum ternormalisasi, yaitu relasi yang memiliki atribut yang berulang. Untuk mentransformasikan suatu relasi yang belum ditransformasikan ke dalam bentuk normal pertama dilakukan dengan cara mengidentifikasikan dan menghilangkan repeating group yang terdapat dalam relasi. Suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya setiap atribut bernilai tunggal untuk setiap baris.
2. Second Normal Form (2NF) Bentuk normal kedua didefinisikan berdasarkan ketergantungan fungsional. Suatu relasi berada dalam bentuk normal kedua jika dan hanya jika :
37
•
Berada dalam bentuk normal pertama, dan
•
Semua atribut non-key memiliki ketergantungan sepenuhnya (full functional dependency) terhadap primary key Atribut non-key adalah atribut yang tidak merupakan bagian
primary key.
3. Third normal Form (3NF) Suatu relasi dikatakan dalam bentuk normal ketiga (3NF) jika: •
Berada dalam bentuk normal kedua, dan
•
Setiap atribut non-key tidak memiliki ketergantungan transitif (transitive dependency) terhadap primary key
2.2
Teori-teori Khusus 2.2.1
Arsitektur three-tier ANSI-SPARC
Gambar 2.8 ANSI-SPARC
38
3 level yang terdapat pada arsitektur 3-level: a. External Level External Level merupakan view basis data yang ada pada pengguna. Setiap kumpulan pengguna mempunyai view masingmasing tergantug kebutuhan informasi dari kumpulan pengguna tersebut b. Conceptual Level Tingkatan ini menggambarkan data apa saja yang disimpan dalam basisdata dan hubungan antara data-data tersebut. c. Internal Level Tingakatan ini merupakan representasi fisik dari basis data yang ada di komputer. Tingkatan ini menggambarkan bagaimana data disimpan dalam basisdata. Ada beberapa alasan kenapa digunakan arsitektur 3 level: •
Masing-masing user dapat mengakses data yang sama, tetapi memiliki tampilan yang berbeda untuk setiap user.
•
User tidak berhadapan langsung dengan penyimpanan physical basisdata,
melainkan
bebas
dari
pertimbangan
tempat
penyimpanan data. •
Basisdata Administrator (DBA) dapat mengganti struktur tempat penyimpanan data tanpa mempengaruhi tampilan pada user
39
•
Struktur internal dari basisdata tidak terpengaruh dari perubahan yang dilakukan pada tempat penyimpanan aspek physical
•
DBA dapat mengganti struktur konseptual dari basisdata tanpa mempengaruhi semua user
2.2.2
Arsitektur multi-user DBMS Client-Server
Gambar 2.9 Client-Server Pada client-server terdapat 2 proses yaitu proses client yang membutuhkan beberapa sumber, dan proses server yang menyediakan sumber. Fungsi dari client: •
Mengatur tampilan pada user
•
Menerima dan mengecek sintaks input dari user
•
Menjalankan logika aplikasi
40
•
Mengecek akses ke basisdata dan melanjutkannya ke server
•
Mengirimkan respons balik ke user Fungsi dari server:
2.2.3
•
Menerima dan memproses akses ke basisdata dari clients
•
Mengecek authentikasi
•
Memastikan tidak ada pelanggaran batasan integritas
•
Menjalankan proses query dan menyampaikan respons ke client
•
Me-maintain sistem katalog
•
Menyediakan akses basisdata concurrent
•
Menyediakan recovery control
PHP PHP merupakan kependekan dari kata Hypertext Preprocessor. PHP tergolong sebagai perangkat lunak open source yang diatur dalam aturan general purpose license (GPL). Pemrograman
PHP
sangat
cocok
dikembangkan
dalam
lingkungan web karena PHP bisa diletakkan pada script HTML atau sebaliknya. PHP dikhususkan untuk pengembangan web dinamis. Maksudnya, PHP mampu menghasilkan website yang secara terus menerus hasilnya bisa berubah-ubah sesuai dengan pola yang diberikan. Hal tersebut bergantung pada permintaan client browser-nya (seperti Opera, Internet Explorer, Mozilla, dan lain-lain). Pada umumnya,
41
pembuatan web dinamis berhubungan erat dengan basisdata sebagai sumber data yang akan ditampilkan. PHP dikatakan sebagai sebuah server-side embedded script language (model bahasa yang dijalankan di server) yang berarti sintakssintaks dan perintah yang diberikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server. Keunggulan PHP dibandingkan bahasa pemrograman lain: •
Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.
•
Web Server yang mendukung PHP dapat ditemukan dimana mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.
•
Dalam sisi pengembangan lebih mudah, karena banyaknya milis milis dan perancang yang siap membantu dalam pengembangan.
•
Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.
•
PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui konsol serta juga dapat menjalankan perintah-perintah sistem
42
2.2.4
Apache Server Merupakan web server yang digunakan oleh PHP, berfungsi menampilkan hasil proses script PHP ke komputer browser dalam bentuk tag HTML.
2.2.5 MySQL MySQL adalah suatu perangkat lunak basisdata relasi (Relational Database Management System atau RDBMS). Merupakan basisdata server yang paling sering digunakan dalam pemrograman PHP. Berfungsi menyimpan data dalam basisdata dan memanipulasi data-data yang diperlukan.
2.2.6
PHPMyAdmin Adalah tempat untuk pengelolaan basisdata yang berbasis web. Dibandingkan dengan tempat yang lain seperti MySQL Console (berbasis teks), dengan menggunakan PHPMyAdmin, pengelolaan atau manipulasi basisdata menjadi lebih mudah. Aplikasi PHPMyAdmin hampir pasti disediakan bagi seluruh penyewa server yang bersifat virtual host.
2.2.7 Hyperlink Hyperlink adalah teks yang jika dipilih/diklik akan menuju ke suatu halaman baru sesuai dengan alamat yang ditunjuk. Hyperlink bisa
43
diberi argument layaknya perintah GET, tetapi tanpa melalui TAG FORM HTML sehingga semua argument akan tampak di url address.
2.2.8
Web Browser Web Browser adalah suatu piranti lunak yang dijalankan pada komputer pengguna, yang meminta informasi dari web server dan menampilkannya sesuai dengan file data itu sendiri.
2.2.9
Teori Pendukung Asuransi 1) Pembayaran premi Menurut Dagun (2000, hal 138), pembayaran adalah memberikan uang pengganti barang yang diterima dari pihak pemberi barang. Menurut Dagun (2000, hal 805), pembayaran tunai (disbursement) adalah pembayaran uang dengan uang tunai. Menurut
Djojosoedarso
(2003,
hal
127),
premi
adalah
pembayaran dari tertanggung kepada penanggung, sebagai imbalan jasa atas pengalihan resiko kepada penanggung. Pembayaran premi dapat diartikan sebagai kegiatan memberikan uang imbalan jasa atas jaminan yang diberikan oleh penanggung kepada tertanggung untuk mengganti kerugian yang mungkin diderita oleh tertanggung.
44
2) Klaim Menurut Badudu-Zain (2001, hal 700), klaim adalah tuntutan atas sesuatu yang dianggap menjadi hak. Jadi, klaim adalah pemberian ganti rugi yang diberikan oleh pihak penanggung kepada pihak tertanggung apabila pihak tertanggung mengalami kerugian.
3) Asuransi Menurut
Djojosoedarso
pertanggungan
merupakan
(2003, suatu
hal
73),
perjanjian,
asuransi dimana
atau
seorang
penanggung mengikatkan diri pada tertanggung dengan menerima suatu premi, untuk member penggantian kepadanya karena suatu kerugian, kerusakan atau kehilangan keuntungan yang diharapkan, yang mungkin akan dideritanya karena suatu peristiwa yang tidak tertentu. Berdasarkan definisi tersebut, maka dalam asuransi terdapat 4 unsur yaitu: 1. Pihak tertanggung (insured) yang berjanji untuk membayar uang premi kepada pihak penanggung 2. Pihak penanggung (insurer) yang berjanji akan membayar sejumlah uang (santunan) kepada pihak tertanggung, apabila terjadi sesuatu yang mengandung unsur tidak tertentu 3. Suatu peristiwa (accident) yang tidak tertentu (tidak diketahui sebelumnya)
45
4. Kepentingan (interest) yang mungkin akan mengalami kerugian karena peristiwa yang tidak tertentu Menurut Prof. Mehr dan Cammack, asuransi merupakan alat sosial untuk mengurangi resiko dengan menggabungkan sejumlah yang memadai unit-unit yang terkena resiko sehingga kerugiankerugian individual mereka secara kolektif dapat diramalkan. Kemudian kerugian yang dapat diramalkan itu dipikul merata oleh mereka yang tergabung. Menurut Prof. Willet asuransi adalah alat sosial untuk mengumpulkan dana guna mengatasi kerugian modal yang tidak tentu, yang dilakukan melalui pemindahan resiko dari banyak individu kepada seseorang atau sekelompok orang. Menurut Prof. Mark.R.Green asuransi adalah suatu lembaga ekonomi
yang
bertujuan
mengurangi
resiko,
dengan
jalan
mengkombinasikan dalam satu pengelolaan sejumlah obyek yang cukup
besar
jumlahnya,
sehingga
kerugian
tersebut
secara
menyeluruh dapat diramalkan dalam batas-batas tertentu.
2.2.10 LAN (Local Area Network) LAN / Jaringan Area Lokal adalah jaringan yang dibatasi oleh area yang relatif kecil, umumnya dibatasi oleh area lingkungan seperti sebuah perkantoran di sebuah gedung, atau sebuah sekolah, dan biasanya tidak jauh dari sekitar 1 km persegi. Beberapa model konfigurasi LAN,
46
satu komputer biasanya dijadikan sebuah file server. Yang mana digunakan untuk menyimpan perangkat lunak (software) yang mengatur aktifitas jaringan, ataupun sebagai perangkat lunak yang dapat digunakan oleh komputer-komputer yang terhubung ke dalam jaringan (network). Komputer-komputer yang terhubung ke dalam jaringan (network) itu biasanya disebut dengan workstation. Biasanya kemampuan workstation lebih di bawah dari file server dan mempunyai aplikasi lain di dalam perangkat kerasnya (hard disk) selain aplikasi untuk jaringan. Saat
ini,
kebanyakan
LAN
menggunakan
media
kabel
untuk
menghubungkan antara satu komputer dengan komputer lainnya. Tapi LAN juga bisa dihubungkan secara nirkabel (wireless), dikenal dengan istilah Wireless LAN. Topologi LAN Pengertian topologi LAN adalah susunan lintasan aliran data didalam jaringan yang secara fisik menghubungkan simpul yang satu dengan simpul lainnya. Terdapat tiga macam topologi jaringan umum digunakan, yaitu Bus, Star dan Ring. Topologi Jaringan Topologi merupakan suatu pola hubungan antara terminal dalam jaringan komputer. Berikut ini adalah beberapa topologi jaringan yang ada dan dipakai hingga saat ini, yaitu:
47
a. Star Network (Jaringan Bintang). Dalam konfigurasi bintang, beberapa peralatan yang ada akan dihubungkan kedalam satu pusat komputer. Kontrol yang ada akan dipusatkan pada satu titik, seperti misalnya mengatur beban kerja serta pengaturan sumber daya yang ada. Semua link
dapat
berhubungan
dengan
pusat
apabila
ingin
menyalurkan data kesimpul lainnya yang dituju. Dalam hal ini, bila pusat mengalami gangguan, maka semua terminal juga akan terganggu. Model jaringan bintang ini relative sangat sederhana, sehingga banyak digunakan oleh pihak perbank-kan yang biasanya mempunyai banyak kantor cabang yang tersebar dipelbagai lokasi. Dengan adanya konfigurasi bintang ini, maka segala macam kegiatan yang ada di-kantor cabang dapatlah dikontrol dan dikoordinasikan dengan baik.
Gambar 2.10 Topologi jaringan Star Network (Jaringan Bintang)
48
b. Ring Networks (Jaringan Cincin) Pada jaringan ini terdapat beberapa peralatan saling dihubungkan satu dengan lainnya dan pada akhirnya akan membentuk bagan seperti halnya sebuah cincin. Jaringan cincin tidak memiliki suatu titik yang bertindak sebagai pusat ataupun pengatur lalu lintas data, semua simpul mempunyai tingkatan yang sama. Data yang dikirim akan berjalan melewati beberapa simpul sehingga sampai pada simpul yang dituju. Sistem ini lebih sesuai digunakan untuk sistem yang tidak
terpusat
(decentralized-system),
dimana
tidak
diperlukan adanya suatu prioritas tertentu.
Gambar 2.11 Ring Networks (Jaringan Cincin)
c. Bus Network Konfigurasi (Jaringan Bus) dikenal dengan istilah bus-network, yang cocok digunakan untuk daerah yang tidak terlalu luas. Setiap komputer (setiap simpul) akan dihubungkan dengan sebuah kabel komunikasi
49
melalui
sebuah
interface.
Setiap
komputer
dapat
berkomunikasi langsung dengan komputer ataupun peralatan lainnya yang terdapat didalam network, dengan kata lain, semua simpul mempunyai kedudukan yang sama. Dalam hal ini, jaringan tidak tergantung kepada komputer yang ada dipusat, sehingga bila salah satu peralatan atau salah satu simpul mengalami kerusakan, sistem tetap dapat beroperasi. Setiap simpul yang ada memiliki alamat atau alam sendiri. Sehingga untuk meng-access data dari salah satu simpul, user atau pemakai cukup menyebutkan alamat dari simpul yang dimaksud.
Gambar 2.12 Topologi Jaringan Bus Network Konfigurasi
d. Tree Network (Jaringan Pohon) Pada jaringan pohon, terdapat beberapa tingkatan simpul (node). Pusat atau simpul yang lebih tinggi tingkatannya, dapat mengatur simpul lain yang lebih rendah tingkatannya.
50
Data yang dikirim perlu melalui simpul pusat terlebih dahulu. Misalnya untuk bergerak dari komputer dengan node-3 ke komputer node-7 seperti halnya pada gambar, data yang ada dapat melewati node-3, 5 dan node-6 sebelum berakhir pada node-7. Keungguluan jaringan model pohon seperti ini adalah, dapat terbentuknya suatu kelompok yang dibutuhkan pada setiap saat. Sebagai contoh, perusahaan dapat membentuk kelompok yang terdiri atas terminal pembukuan, serta pada kelompok lain dibentuk untuk terminal penjualan. Adapun kelemahannya adalah, apabila simpul yang lebih tinggi kemudian tidak berfungsi, maka kelompok lainnya yang berada dibawahnya akhirnya juga menjadi tidak efektif. Cara kerja jaringan pohon ini relatif menjadi lambat.
Gambar 2.13 Topologi Jaringan Tree Network (Jaringan Pohon)
51
e. Point to Point (Titik ke-Titik). Jaringan kerja titik ke titik merupakan jaringan kerja yang paling sederhana tetapi dapat digunakan secara luas. Begitu sederhananya jaringan ini, sehingga seringkali tidak dianggap sebagai suatu jaringan tetapi hanya merupakan komunikasi biasa. Dalam hal ini, kedua simpul mempunyai kedudukan yang setingkat, sehingga simpul manapun dapat memulai dan mengendalikan hubungan dalam jaringan tersebut. Data dikirim dari satu simpul langsung kesimpul lainnya sebagai penerima, misalnya antara terminal dengan CPU. -
2 Jenis model point to point
Gambar 2.14 Topologi jaringan Point to Point (Titik ke-Titik)
Gambar 2.15 Topologi jaringan Point to Point (Titik ke-Titik)