7 2.1 Teori Umum
2.1.1 Pengertian Data
Menurut Turban (2003, p2) data merupakan fakta-fakta yang belum diolah oleh gambar-gambarannya yang mewakili kejadian yang terjadi serta kegiatan dan transaksi-transaksi yang ditangkap, diekam, disimpan, dan diklasifikasikan tetapi tidak disusun untuk menyimpan arti khusus lainnya.
2.1.2 Pengertian Database
Menurut Thomas Connolly dan Carolyn Begg (2005, p14), Database merupakan suatu kumpulan data yang berhubungan dengan logika dan dirancang untuk memenuhi kebutuhan informasi di dalam organisasi.
Menurut Date (2000, p10), database adalah kumpulan data yang digunakan oleh sistem aplikasi dalam perusahaan.
Jadi database dapat dikatakan merupakan kumpulan data yang saling berhubungan dan disimpan untuk memenuhi kebutuhan informasi suatu organisasi yang tersusun dengan rapih dan diterapkan secara sistematis.
2.1.3 Arsitektur Database
Menurut Thomas Connolly (2002, p34), terdapat 3 (tiga) level arsitektur database (Three-Level ANSI-SPARC Architecture) yaitu : • External Level
External level merupakan view database yang ada pada user. • Conceptual Level
Level ini adalah level yang menggambarkan data yang disimpan dalam database dan terhubung antara data-data tersebut.
• Internal Level
Internal level merupakan representatif fisik dari database yang ada di komputer. Mengggambarkan bagaimana data disimpan suatu database.
Tujuan utama dari 3 level ini adalah untuk mendapatkan database yang indenpendence, sehingga tanpa mempengaruhi aplikasi yang terkait dalam database tersebut.
2.1.4 Keuntungan Database
Menurut Date (2000, p15), keuntungan dari penggunaan database :
1. Compactness : mengurangi penggunaan kertas.
2. Speed : dapat mengambil dan mengubah data lebih cepat. 3. Less drudgery : mengurangi penulisan dengan tangan.
4. Currency : database lebih akurat dan uptodate.
2.1.5 Database Management System (DBMS)
Menurut Thomas Connolly dan Carolyn Begg (2005, p16), Database Managemen System (DBMS) merupakan sistem software yang memungkinkan user untuk mendefinisikan, membuat, merawat, dan mengontrol akses di dalam database.
Menurut Thomas Connolly dan Carolyn Begg (2005, p18), komponen DBMS terdapat 5 komponen penting, yaitu :
1. Hardware
Dibutuhkan untuk menjalankan DBMS dan aplikasi-aplikasinya. Hardware meliputi dari PC, mainframe, dan jaringan komputer.
2. Software
Meliputi software aplikasi, software DBMS, sistem operasi dan juga sistem jaringan jika dalam penggunaannya menggunakan jaringan. 3. Data
Merupakan komponen yang terpenting dan juga merupakan penghubung antara komponen mesin (Hardware dan Software) dan komponen human (Procedures dan People)
4. Prosedur
Prosedur merupakan instruksi dan aturan yang mengatur perancangan dan penggunaan database.
5. People
Komponen ini meliputi database administrator, database designers, application developers, dan end users.
2.1.6 Fungsi-fungsi DBMS
Menurut Thomas Connolly dan Carolyn Begg (2005, p48), DBMS memiliki sepuluh fungsi, yaitu :
a. Data Storage, retrieval, and update
DBMS dapat memungkinkan user untuk menyimpan, mengambil dan merubah data.
b. A user-accessible catalog
DBMS harus memiliki katalog yang berisikan deskripsi data item dan dapat diakses oleh user.
c. Transaction support
DBMS memiliki sebuah mekanisme yang menjamin seluruh perubahan yang berhubungan dengan sebuah transaksi dapat dilakukan ataupun tidak dapat dilakukan.
d. Concurrency control services
DBMS harus memiliki sebuah mekanisme untuk menjamin database dapat di-update ketika banyak user meng-update database secara bersamaan.
e. Recovery services
DBMS harus memiliki sebuah mekanisme untuk pemulihan database apabila terjadi kesalahan.
f. Authorization services
DBMS harus memiliki mekanisme yang menjamin bahwa hanya user yang memiliki otorisasi yang dapat mengakses database.
g. Support for data communication
DBMS harus dapat terintegrritasi dengan piranti lunak komunikasi dan mendapat akses database dari lokasi yang jauh.
h. Integrity services
DBMS diharuskan memiliki sarana yang menjamin data di dalam database maupun perubahan terhadap data dan mengikuti aturan-aturan tertentu (constraint).
i. Services to promote data independent
DBMS harus mempunyai fasilitas-fasilitas untuk mendukung ketidaktergantungan piranti lunak terhadap struktur aktual dari database.
j. Utility services
DBMS harus menyediakan serangkaian layanan seperti program analisis statistic, pengawasan fasilitas, fasilitas reorganisasi indeks, dan lain-lain.
Beberapa fasilitas yang disediakan dalam DBMS, yaitu :
o DBMS memungkinkan user untuk menentukan suatu database, biasanya menggunakan Data Definition Language (DDL). DDL memungkinkan user untuk menspesifikasikan tipe dan struktur data serta batasan–batasan data yang akan disimpan dalam database. o DBMS memungkinkan user untuk melakukan insert, update, delete
dan retrieve terhadap data-data yang ada di dalam database melalui Data Manipulation Language (DML). DML menyediakan suatu fasilitas umum bagi data yang disebut query language.
o DBMS menyediakan control terhadap pengaksesan suatu database, misalnya sebuah sistem keamanan mencegah user yang tidak berkepentingan dapat mengakses database.
Keuntungan dari penggunaan DBMS, diantaranya : a. Mengurangi redundansi data.
b. Mengurangi inkonsistensi. Redundansi berkurang sehingga dapat update data yang sama hanya perlu dilakukan pada satu tebel saja. c. Pengaksesan data terhadap beberapa user pada waktu yang
bersamaan.
d. Integritas yakni data disimpan secara akurat.
e. Jaminan keamanaan yang mengatur beberapa user terhadap hak akses. f. Standarisasi
g. Meningkatkan acsessibility. User dapat memperoleh data yang diinginkan berdasarkan query.
h. Meningkatkan produksifitas
i. Meningkatkan pemeliharaan melalui indenpendency data. j. Meningkatkan konkuerensi.
k. Menignkatkan fasilitas back up dan recovery data
2.1.7 Siklus Database
Menurut Thomas Connolly & Carolyn Begg (2002, p272), waktu basis data dianalisis dan dirancang berdasarkan siklus hidup seperti tergambar pada gambar berikut :
a. Database planning
Dalam tahap ini dilakukan perencanaan bagaimana tahapan – tahapan perancangan berikutnya dapat direalisasikan secara efektif dan efisien. b. System Definition
Tahap ini menjabarkan spesifikasi jangkauan dan batasan dari aplikasi basis data, penggunaannya dan lingkungan tempat aplikasi diimplementasikan.
c. Requirement Collection dan Analysis
Pada tahap ini dilakukan pengumpulan dan analisis kebutuhan pengguna dan lingkungan aplikasi.
d. Database Design
Pada tahap ini dilakukan perancangan basis data secara konseptual, logikal dan fisikal.
e. DBMS Selection (optional)
DBMS yang paling cocok dipilih dengan aplikasi basis data. f. Application Design
Tahap ini dilakukan untuk merancang interface bagi pengguna dan program aplikasi yang menggunakan dan memproses basis data. g. Prototyping (optional)
Tahap ini ditujukan unktuk membangun prototype dari aplikasi basis data. Hasil prototype ini memungkinkan perancang atau pengguna untuk menvisualisasikan dan mengevaluasi bagaimana bentuk fungsionalitas sistem akhir.
h. Implementation
Dalam tahap ini diloakukan pembuatan definisi basis data eksternal, koseptual dan internal, serta program aplikasi.
i. Data Convertion and Loading
Dalam tahap ini dilakukan konversi data dari sistem lama ke sistem baru.
j. Testing
Aplikasi basis data yang telah selesai akan diuji coba dengan tujuan untuk mencarierror pada aplikasi. Selain itu, dilakukan pula validasi aplikasi atas kebutuhan yang telah dispesifikasikan sebelumnya oleh pengguna.
k. Operational Maintenance
Pada tahap ini implementasi basis data dilakukan secara sepenuhnya. Sistem diawasi dan dipelihara secara berkelanjutan. Jika diperlukan, kebutuhan – kebutuhan baru dimasukkan dalam aplikasi basis data melalui tahapan basis data terlebih dahulu.
2.1.8 Tahapan Perancangan Database
Menurut Thomas Connolly dan Carolyn Begg (2002, p417-476) mendefinisikan metodologi perancangan basis data atas 3 (tiga) tahapan, yaitu :
1. Perancangan Conseptual Database
Tahap ini adalah proses pembuatan model informasi yang digunakan agar tidak tergantung pada semua masalah fisik. Awal tahap ini dimulai dengan pembuatan Conceptual Data Model organisasi ataupun perusahaan yang secara keseluruhan bebas dari detail implementasi DBMS yang digunakan : program aplikasi, bahasa pemprograman, platform untuk hardware, tingkat kinerja maupun bentuk masalah fisik lainnya.
Secara garis besar perancangan ini terdiri dari tiga langkah sebagai berikut :
a. Penentuan entity (entitas) pada database.
b. Pendefinisian relationship (hubungan) antar entitas c. Penerjemahan hubungan ke dalam entitas
2. Perancangan Logical Database
Perancangan logical database merupakan proses tahapan model informasi yang digunakan berdasarkan model data khusus, tapi bebas dari DBMS tertentu dan masalah fisik lainnya. Database logikal ada dua, yaitu membangun dan memvalidasi model data logical masing-masing view dan model data logikal model. Tahap-tahap yang dilakukan dalam membangun dan memvalidasi data model logikal masing-masing view adalah :
1. Menghilangkan fitur-fitur yang tidak comptiibility dengan model relasional, daintaranya harus menghilangkan
many-to-many binary relationship types, many-to-many-to-many-to-many recursive relationship types, relasi kompleks, dan menghilangkan atribut yang multi-valued.
2. Menurunkan relasi untuk data model logika dengan cara : • Membuat relasi antara strong entity yang ada
• Untuk weak entity types, primary key-nya diturunkan dari setiap owner entity.
• Untuk one-to-many binary relationship, entity yang ada di satu sisi ditentukan sebagai parent entity dan sisi lainya sebagai child entity.
• Untuk one-to-one binary relationship, apabila terdapat mandatory participation pada kedua sisi, gabungkan entity yang terlibat dalam satu tabel dan pilih salah satu primary key dari entity asalnya menjadi primary key pada tabel yang baru. Dan primary key yang lainnya digunakan sebagai alternate key.
• Untuk supperclass / subclass relationship types, identifikasi entity superclass sebagai parent entity dan entity subclass sebagai parent entity.
• Untuk relasi kompleks, buat sebuah tabel ng mempresentasikan relationship dan beberapa atribut yang menjadi dari bagian relationship tersebut. Kemudian letakkan primary key dan entity-entity yang
berelasi kompleks ke dalam sebuah tabel yang baru dibuat sebagai foreign key.
• Untuk atribut multi-valued telah sebuah tabel yang mempresentasikan atribut multi-valued dan primary key dari suatu tabel yang lama menjadi foreign key pada tabel yang baru.
3. Memuat normalisasi terhadap tabel-tabel yang belum normal. 4. Memastikan bahwa model logika yang dibuat sesuai /
mendukung kebutuhan view.
5. Menentukan batasan –batasan seperti data yang akan dibutuhkan, batasan atribut doamain, entity integrity, referential integrity, dan enterprise constraint.
6. User melakukan review terhadap model logikal yang telah dibuat, untuk memsatikan bahwa model yang dibuat sesuai representasi dari view yang akan dibuat.
Berikut ini adalah tahap-tahapan yang dilakukan dalam merancang dan memvalidasikan model data logikal global adalah :
1. Menggabungkan data model logikal menjadi model logikal data global.
2. Validasi data model logikal global menggunakan teknik normalisasi untuk memastikan model data yang dibuat mendukung kebutuhan user.
3. Mengecek perkembangan di masa yang akan datang untuk memastikan apakah ada perubahan yang signifikan di masa yang akan datang.
4. Review data model logikal global dengan user untuk memastikan bahwa model tersebut sudah sesuai keinginan organisasi maupun perusahaan tersebut.
3. Perancangan Fisical Database
Perancangan ini merupakan sebuah proses pembuatan deskripsi dari implementasi database secondary storage yang menjelaskan basis relasi, organisasi file, dan indeks yang digunakan untuk memperoleh akses pada data yang efisien, dan masalah intergritas lainnya yang berkaitan, serta menentukan mekanisme security. Tahap ini memungkinkan perancang untuk menentukan bagaimana database diimplementasikan. Oleh karena itu, rancangan fisikal dirancang utnuk DBMS yang khusus. Antara rancangan logikal dan fisikal terdapat ketekaitan, hal ini disebabkan karena keputusan yang diambil selama pernacangan fisikal untuk meningkatkan kinerja bisa mempengaruhi logical data model.
Tujuan utama model relasional ini meliputi :
• Membuat kumpulan tabel relasional dan constraint pada tabel tersebut dari informasi yang didapatkan dalam model data logikal.
• Mengidentifikasi struktur penyimpanan tertentu dan metode akses terhadap data untuk mencapai perrforma yang optimal dari basis data.
• Merancang proteksi keamanan sistem.
Aktifitas dari physical database design adalah menterjemahkan model data logikal global ke dalam sasaran DBMS, dimana dengan membuat base relation dengan menggunakan database design language yang tujuannya untuk memutuskan bagaimana representasi relasi utama yang diidentifikasi dalam model data logikal global ke dalam DBMS, merancang constraint organisasi untukkegiatan transaksi (update dan retrieve data), menentukan sumber daya sistem dan organisasi file.
Berikut ini adalah merupakan langkah-langkah metodologi perancangan database :
1. Perancangan konseptual basis data
Langkah 1 : Membuat data model logikal lokal yang konseptual untuk setiap tampilan
1.1 : Mengidentifikasi tipe-tipe dari entity 1.2 : Mengidentifikasi tipe-tipe dari relationship
1.3 : Mengidentifikasi dan menghubungkan atribut dengan entity atau relationship
1.5 : Menentukan atribut-atribut, candidat key, dan primary key 1.6 : Pertimbangkan penggunaan komsep enhanced modelling
(optional)
1.7 : Periksa model dari redundancy
1.8 : Memvalidasikan model konseptual lokal terhadap transaksi pengguna
1.9 : Melihat kembali data model konseptual lokal dengan pengguna
2. Perancangan logika basis data untuk model relasional
Langkah 2 : Membuat dan memvalidasikan data model lokal yang logikal setiap tampilan
2.1 : Hilangkan fitur-fitur yang tidak kompatibeldengan relasional (optional)
2.2 : Turunkan relasi-relasi untuk data model logikal lokal 2.3 : Memvalidasikan relasi-relasi menggunakan normalisasi 2.4 : Memvalidasikan relasi-relasi terhadap transaksi pengguna 2.5 :Menentukan integrrity constraints (batasan-batsasn yang
diberlakukan dalam rangka menjaga suatu database agar tidak berubah menjadi tidak konsisten)
Langkah 3 :Membuat dan memvalidasikan data model global yang logikal
3.2 : Memvalidasikan data model logikal global 3.3 : Periksa untuk perkembangan mendatang
3.4 : Melihat kembali data model logikal global dengan pengguna 3. Perancangan fisikal basis data untuk basis data relasional
Langkah 4 : Mengubah data model global yang logikal untuk target DBMS
4.1 : Merancang relasi-relasi dasar
4.2 : Merancang ennterprise constraints
Langkah 5 : Merancang representasi fisik
5.1 : Analisa transaksi-transaksi
5.2 : Memilih pengaturan-pengaturan file 5.3 : Memilih pengindeksan-pengindeksan 5.4 : Memperkirakan kebutuhan disk space
Langkah 6 : Merancang tampilan pengguna
Langkah 7 : Merancang mekanisme keamanan
Langkah 8 : Mempertimbangkan pengenalan dari kontrol pengulangan
2.1.9 Diagram Arus Data (Data Flow Diagram)
Menurut Yourdon (1989, p139), Data Flow Diagram adalah model atau alat yang digunakan untuk menggambarkan sistem sebagai jaringan dari sekumpulan proses fungsional, yang dihubungkan satu dengan yang lainya oleh suatu aliran data dan meneruskannya menjadi data. Ada 3 (tiga) tingkatan aliran data, yaitu :
1. Diagram Konteks
Merupakan tingkatan yang paling pertama, yang menggambarkan ruang lingkup sistem dari sistem yang digunakan. Diagram ini hanya memliki suatu proses yang menggambarkan sistem secara keseluruhan dan hubungan antara sistem dengan unit-unit yang berada di luar sistem tersebut.
2. Diagram Nol
Diagram yang menggambarkan proses-proses dan aliran data yang terjadi di dalam suatu sistem. Proses-proses ini dapat dipecah menjadi aliran data yang lebih terperinci.
3. Diagram Rinci
Diagram yang menggambarkan rincian proses-proses yang ada pada diagram nol dan diagram proses proses tersebut dapat dipecah menjadi lebih terperinci.
Menurut Yourdon (1989, p141-152), diagram aliran data terdiri dari simbol simbol sebagai berikut :
a. Proses (Bubble atau function atau tranformation)
Proses menggambarkan bagian dari sistem yang mengolah masukan menjadi keluaran. Proses digambarkan dengan sebuah lingkaran.
Gambar 2.2 Simbol proses data dalam DFD
b. Aliran (flow)
Aliran menggambarkan perpindahan informasi dari satu bagian ke bagian lain dari sistem. Awal panah menggambarkan asal data sedangkan awah panah menggambarkan tujuan.
Gambar 2.3 Simbol aliran data dalam DFD c. Store
Simbol ini digunakan untuk menggambarkan penyimpanan data
d. Terminator
Merupakan simbol yang menggambarkan entitas yang dapat berupa orang, kelompok, atau organisasi yang berhubungan dengan sistem.
Gambar 2.5 Simbol Terminate data dalam DFD
2.1.10 State Transition Diagram
Menurut Jeffrey, A. Et al. (1996, p364), State Transition Diagram adalah suatu diagram yang menggambarkan bagaiman suatu proses dihubungkan satu sama lain dalam waktu bersamaan. State Transition Diagram digambarkan dengan sebuah state yang berupa komponen sistem yang menunjukkan bagaimana kejadian-kejadian tesebut daru satu state ke state lain.
Ada dua macam simbol yang menggambarkan proses dalam State Transition Diagram (STD), yaitu :
1. Gambar persegi panjang menunjukan state dari sistem
2. Gambar panah menunjukan transisi antar state. Tiap panah diberi label dengan ekspresi aturan. Label yang beradi di atas menunjukan kejadian yang menyebabkan transisi yang terjadi. Label yang di bawah menunjukan aksi yang terjadi akibat dari kejian asli.
Gambar 2.7 Simbol Transisi dalam STD
Contoh STD :
Verifikasi
Valid
Tidak Valid
Gambar 2.8 Contoh State Transition Diagram
2.1.11 Entity Relationship Modelling
Menurut Thomas Connolly dan Carolyn Begg (2002, p30), salah satu aspek yang sulit dalam perancangan database adalah kenyataannya bahwa perancang, programmer, dan end user cendberikut inhi adalah notasi Entity Relationalship Modelling menurut Thomas Connolly dan Carolyn Begg :
Login username and Password
Entity Nama
A
B
Relationship Name
Gambar 2.9 Notasi Entity Relationalship Modelling
2.1.11.1 Entity Type
Entity type adalah kumpulan objek-objek dengan properti yang sama, yang didefinisikan oleh organisasi yang keberadaanya tidak bergantung. Konsep dasar dari bentuk Entity Relationship adalah tipe entity. Sebuah tipe entity memiliki keberadaan yang bebas dan bisa menjadi objek dengan keberadaan fisik maupun menjadi objek dengan keberadaan konseptual. Hal ini berarti dengan perancang yang berbeda memungkinkan mengidentifikasi entity yang berbeda. Entity Occurence adalah objek dan tipe entity yang dapat diidentifikasi secara unik.
2.1.11.2 Tipe Relationship
Tipe Relationship adalah gabungan yang mempunya arti diantara tipe entity. Setiap tipe relationship diberi nama sesuai dengan fungsinya. Relationship Occurence adalah suatu gabungan yang dapat diidentifikasi secara unik, yang meliputi suatu kejadian dari setiap tipe entity yang berpartisipasi.
Derajat dari Relationship adalah jumlah dari partisapasi tipe entity dalam sebuah tipe relationship tertentu. Entity yang berkaitan dalam sebuah tipe relationship dikenal sebagai participant dalam relationship dan jumlah participant dalam relationship disebut sebagai derajat dari relationship. Oleh karena itu derajat dari sebuah relationship menunjukkan jumlah dari entity terkait dalam relationship. Sebuah relationship berderajat dua disebut binary, sedangkan relationship berderajat tiga disebut ternary, dan relationship berderajat empat disebut quarternary.
2.1.11.3 Attribute
Attribute adalah sebuah sifat dari entity atau sebuah tipe relationship. Attribute menyimpan sebuah nilai dari setipa entity occurence dan meawkili bagina utama dari data yang akan disimpan dalam basis data.
Simple Attribute adalah atribut yang terdiri dari satu komponen tunggal degan keberadaan yang bebas. Simple attribute tidak dapat lagi dibagi ke dalam sebuah
Composite Attribute adalah atribut yang terdiri dari beberapa komponen dengan keberadaan yang bebas. Dalam hal ini beberapa atribut dapat dipisahkan menjadi beberapa komponen yang lebih kecil lagi dengan keberadaan yang bebas.
Single Value Attribute adalah atribut yang memiliki nilai tunggal untuk masing-masing kejadian dari entity. Multi Value Attribute adalah atribut yang memiliki banyak nilai untuk masing-masing kejadian dari entity.
Derived Attribute adalah atribut menggantikan sebuah nilai yang diturunkan dari nilai sebuah atribut yang berhubungan, tidak perlu pada jenis entity yang sama.
2.1.11.4 Strong and Weak Entity Type
Tipe entity yang kuat adalah tipe entity yang keberadaannya tidak bergantung pada tipe entity yang lainnya. Karakteristiknya adalah setiap kejadian entity-nya secara unik mampu diidentifikasi menggunakan atribut primary key pada entity-nya.
Tipe entity yang lemah adalah tipe entity yang bergantung pada tipe entity yang lainnya. Karakteristiknya adalah setipa kejadian entity-nya tidak bisa diidentifikasi secara unik menggunakan atribut yang bergantung pada entity-nya.
2.1.11.5 Structural Constraints
Tipe utama dari batasan hubungan di dalam relationship disebut Multyplicity. Multyplicity adalah sejumlah kemungkinan kejadian-kejadian dari sebuah entity type di dalam sebuah hubungan n-nary ketika nilai-nilai yang lain (n-1) ditentukan. Multyplicity biasanya terdiri dari dua batasan terpisah, yaitu :
• Cardinality : Mendeskripsikan jumlah maksimum dari kemungkinan kejadian-kejadian yang saling berhubungan untuk sebuah partisipasi entity pada proses penentuan tipe relationship.
• Participation : Menentukan apakah semua kejadian-kejadian entity akan ikut berpatisipasi dalam sebuah relationship atau hanya beberapa saja yang ikut berpartisipasi.
Jenis-jenis multiplicity menurut Thomas Connolly dan Carolyn Begg (2002, p345) adalah :
1. One-to-One (1 : 1) Relationship
Group 1 Relate to Group 2
A R1 C B R2 D
Gambar 2.10 Gambar one-to-one Ralationship
Pada gambar 2.10 kita dapat melihat bahwa A hanya terhubung One-to-One (1:1) dengan C, dan B hanya terhubung One-One-to-One (1:1) dengan D. Jadi gambar di atas kita dapat menuliskan notasi multiplicity–nya dengan gambar di bawah ini :
Relate to
1..1 1..1
Gambar 2.11 Notasi one-to-one Relationship Multiplicity
2. One-to-Many (1:*) Relationship
Group 1 Relate to Group 2
Gambar 2.12 Gambar one-to-many Relationship
Pada gambar 2.12 kita dapat melihat bahwa B terhubung One-to-Many (1:*) dengan D dan E. Jadi dari gambar di atas kita dapat menulis notasi multiplicity-nya dengan gambar dibawah ini
Relate to
1..1 1..*
Gambar 2.13 Notasi one-to-many Relationship 3. Many-to-Many (*:*) Relationship
Group 1 Relate to Group 2
Gambar 2.14 Gambar many-to-many Relationship A B C R1 R2 R3 D E F Group 1 Group 2 Multiplicity A B C R1 R2 R3 R4 D E F G
Pada gambar 2.14 kita bisa melihat bahwa A terhubung One-to-Many (1:*) dengan D dan E, sedangkan E terhubung One-to-Many (1:*) dengan A dan B. Jadi dari entity Group 1 (value-nya A dari gambar di atas) dan Group 2 (value-nya E dari gambar di atas) terhubung Many-to-Many (*:*). Dari gambar di atas kita dapat menuliskan notasi multiplicity-nya dengan gambar di bawah ini.
Relate to
1..* 0..*
Gambar 2.15 Notasi many-to-many Relationship
Masalah yang akan timbul dari Entity Types Model adalah :
• Fan Traps, terjadi karena sebuah model merepresentasikan sebuah relasi antara tipe-tipe dari entity, tetapi jalur yang terdapat diantara kejadian-kejadian entity masih ambigu.
• Chasm Traps, terjadi ketika seuah model menganjurkan keberadaan sebuah relasi diantara tipe-tipe dari entity, tetapi tidak terdapat jalur diantara kejadian-kejadian entity tersebut.
Group 1 Group 2
2.1.12 Keys
Keys memiliki peran yang sangat penting untuk menghubungkan satu objek dengan objek yang lainnya. Keys diletakkan pada suatu atribut yang telah ditentukan kedudukannya, agar dapat dihubungkan dengan atribut pada entity yang lain. Beberapa jenis keys yang bisa digunakan antara lain :
• Candidat key, yaitu himpunan atribut minimal yang secara unik mengidentifikasikan tiap-tiap keberadaan suatu entity.
• Primary key, yaitu candidat key yang dipilih secara unik untuk mengidentifikasikan tiap-tipa keberadaan suatu entity.
• Foreign key, yaitu himpunan atribut dalam suatu relasi yang cocok dengan candidat key dari beberapa relasi.
• Alternate key, yaitu candidat key yang tidak terpilih menjadi primary key.
2.1.13 Normalisasi
2.1.13.1 Pengertian Normalisasi
Menurut Thomas Cconnolly dan Carolyn Begg (2002, p376) Pengertian normalisasi adalah suatu teknik untuk memproduksi satu set hubungan dengan kebutuhan yang diinginkan, memberi kebutuhan data dari suatu organisasi.
Dengan kata lain normalisasi itu merupakan proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua bauah relasi atau lebih yang tidak memiliki masalah tersebut. Masalah yang dimaksud sering disebut juga dengan istilah anomali.
2.1.13.2 Data Redundancy and Update Anomalies
Anomali adalah efek samping yang tidak diharapkan (misalnya menyebabkan inconsistency data atau membuat suatu data menjadi hilang saat data lain dihapus) yang muncul dalam suatu proses perancangan basis data.
Suatu tujuan relational desain database yang utama adalah menggolongkan atribut ke dalam hubungan-hubungan untuk memperkecil data redundancy dan dengan demikian mengurangi tempat penyimpanan file yang diperlukan oleh hubungan-hubungan dasar yang diimplementasikan. Hubungan-hubungan yang memiliki data redundant mungkin memiliki masalah yang disebut update anomalies, yang diklasifikasikan sebagai insertion, delection, atau modification anomalies.
2.1.13.3 Functional Depedency
Functional depedency adalah menguraikan hubungan antara atribut-atribut dalam sebuah relasi. Sebagai contoh, jika A dan B adalah atribut dari relasi R, B adalah secara functional bergantung pada A (ditandai A→B), jika setiap harga dari A diasosiasikan dengan tepat satu harga dari B (A dan B masing-masing tidak boleh lebih dari satu atribut).
2.1.13.4 Bentuk Normal
Normalisasi sering dieksekusi sebagai langkah-langkah yang berangkai atau berseri. Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut pada tingkatan normalisasi. Suatu relasi dikatakan berada dalam bentuk normal tertentu jika memenuhi kondisi-kondisi tertentu. Beberapa tingkatan yang biasa digunakan pada normalisasi adalah :
1. UNF
Sebelum membahas bentuk normal yang pertama, kita mendefinisikan normal form awal yaitu UnNormalized Form (UNF).
UNF adalah sebuah tabel yang berisi satu atau lebih grup-grup yang berulang.
2. Bentuk normal pertama (1NF)
Sedangkan 1NF adalah hubungan dimana persimpangan dari setiap baris dan kolom berisi satu dan hanya satu harga.
3. Bentuk normal kedua (2NF)
Bentuk normal kedua didefinisikan berdasarkan ketergantungan fungsional yang penuh (Full Functional Dependency).
Ful Functional Dependency menandai bahwa jika A dan B adalah atribut dari sebuah relasi , B adalah penuh secara fungsional tergantung pada A jika B adalah secara fingsional tergantung pada A, tetapi tidak semua pada sutset dari A. Sedangkan 2NF adalah sebuah relasi antara bentuk normal pertama dan setiap atribut bukan primary key atau secara fungsional bergantung pada primary key.
4. Bentuk normal ketiga (3NF)
Bentuk normal ketiga didefinisikan berdasarkan ketergantungan transitif (Trancitive Dependency). Transitive Dependency adalah sebuah kondisi dimana A, B, dan C adalah atribut–atribut dari relasi sperti jika A→B dan B→C , kemudian C secara transitif bergantung pada A melalui B (Dengan ketentuan bahwa A tidak secara fungsional bergantung pada B atau C). Sedangkan 3NF adalah sebuah relasi antara bentuk pertama dan bentuk kedua, dan dimana tidak ada atribut yang bukan primary key secara transitif bergantung pada primary key.
Menurut Thomas Connolly dan Carolyn Begg (2002, p398) suatu relasi disebut memenuhi bentuk normal Boyce-Codd jika penentu (determian) adalah candidate key. BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF karena bentuk normal ketiga berkemungkinan masih memiliki anomali sehingga perlu dinormalisasi lebih jauh. Suatu relasi yang memenuhi BNCF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya.
Bentuk normal pertama hingga ketiga merupakan bentuk normal yang umum dipakai. Artinya, bahwa pada kebanyakan relasi bila ketiga bentuk normal tersebut telah dipenuhi maka persoalan anomali tidak akan muncul lagi. Bentuk normal Boyce-Codd merupakan revisi terhadap bentuk normal ketiga. Bentuk normal 4NF dan 5NF hanya dipakai pada kasus-kasus khusus, yakni pada relasi yang mengandung ketergantungan banyak nilai.
2.2 Teori Khusus
2.2.1 Internet
Menurut Barry Eaglestone dan Mick Ridley (Web Database System, 2001), internet merupakan integrasi dari jaringan dengan menggunakan standart protokol komunikasi diaman protokol ini mampu menghubungkan jaringan-jaringan yang ada. Jaringan komputer yang berbeda disatukan dengan standart yang dikenal sebagai TCP/IP (Transmisaion Control Protocol / Internet Protocol), dimana komputer dalam internet memiliki alamat yang unik, yaitu IP (Internet Protocol) address yang berupa angka-angka. TCP/IP (Transmisaion Control Protocol / Internet Protocol) menggambarkan mekanisme dan aturan untuk komputer-komputer supaya dapat berbagi informasi antar jaringan.
2.2.2 Web
Web adalah salah satu dari banyak aplikasi pada internet dimana aplikasi ini melibatkan banyak komputer dengan menggunakan internet sebagai mekanisme dasar dari penghubungnya.
Web dijalankan dengan program pada server dan menerima respon dari klien. Dari hubungan tersebut maka beberapa komputer menjadi Web Server, yakni komputer yang menyediakan informasi dan dapat diakses melalui web oleh komputer klien.
Adapun isttilah-istilah yang berhubungan antara Internet dan Web : • Browser
Browser digunakan untuk menampilkan dokumen dari web dan untuk melanjutkan link dimana link ini menghubungkan bagian-bagian dari dokumen ataupun untuk berpindah dari satu bagian dokumen ke dokumen yang lain.
• URL
Setiap web memiliki alamat akses yang unik yaitu Universal Resource Locator (URL). URL ini juga digunakan dalam dokumen web untuk mengaitkan link, baik antara dokumen-dokumen web, maupun antara situs-situs web.
• HTTP
HTTP (HyperText Transfer Protocol) adalah protokol komunikasi yang digunakan oleh web. Pengiriman data dari server ke klien dengan menggunakan http yang diaktifkan oleh klien.
• HTML
Hypermedia adalah suatu media yang disimpan pada web. Sedangkan HTML (HyperText Markup Language) merupakan suatu bahasa untuk pengkodean informasi hypermedia.
2.2.3 Web Database System
Menurut Berry Eaglestone dan Mick Ridley (Web Database System, 2001), sistem Database dapat dihubungkan ke internet untuk digunakan melalui web. Berikut ini adalah beberapa tipe-tipe dari koneksi yang digunakan :
1. Remote Connections : Sebuah sistem database, dimana dapat diakses melalui webdimanapun seorang user berada.
2. Client-Server architecture : ini adalah bentuk umum dari program aplikasi database yang menggunakan internet.
3. Distributed Databases : Beberapa DBMS mempunyai fasilitas untuk mengijinkan bagian tertentu dari database disimpan pada komputer yang berbeda-beda. Data tersebut didistribusikan diletakkan di tempat-tempat berbeda, dan hal ini tidak disadari oleh user.
4. Multidatabase : Ada sebuah teknologi database yang dikenal dengan nama teknologi multidatabase dimana teknologi ini membuat beberapa database tunggal untuk di satukkan untuk mendukung akses yang terintegritasi ke tempat penyimpanan.
2.2.4 Web Database Lifecycle
Menurut Barry Eaglestone dan Mick Ridley (Web Database System, 2001). Web database lifecycle digambarkan sebagai berikut :
T he O rg anization
R equirem ent A nalysis
D escription of O rgan ization and S yste m R equirem ent
D a ta A nalysis W eb D ata A nalysis
C oncepttual D ata M odel C oncep ttual W eb D ata M o del
Log ical D a tab ase D e sign Lo gical W eb D ata D esign
Lo gicalD ata M odel Logical D ata M odel
P hysical D ataba se D esign P hysical W e b D ata D esign
P hysical W eb D ata M odel
2.2.4.1 Model Konseptual Halaman Web
Analisis web data mengahsilkan sebuah model data konseptual untuk direpresentasikan dalam halaman web. Input-input dari proses ini adalah deskripsi dari organisasi dan kebutuhan-kebutuhan sistem, bersama dengan model konseptual untuk database yang merupakan suatu aplikasi dari sistem Web Database.
Membuat ER untuk Web Data Model
Sistem web database menginteraksi aplikasi database melalui halaman web. Halaman web sebagai aplikasi untuk menggambarkan entity, atribut dan relasi diantaranya sebagai data. Pada saat merancang isi data dari halaman web, sangat penting untuk mendefinisikan relasi antar halaman-halaman web dimana relasi ini berbeda dengan relasi pada tabel database. Ada dua aspek dari halaman web yang dibutuhkan untuk merancang model ER yaitu :
1. Hypermedia Links
Halaman web memiliki hypermedia links sebagai alat navigasi untuk berpindah dari entitas-entitas yang berhubungan, yang digambarkan sebagai panah untuk menunjukan arah tujuan dari tiap-tiap link.
2. Konsep aplikasi web
Konsep yang merupakan representasi dari halaman-halaman web itu sendiri. Konsep ini digambarkan dalam bentuk oval, dan disebut sebagai concept box.
Gambar 2.18 Notasi Concept Box
2.2.4.2 Web Database Design
Pada proses ini kita menguraikan proses bagaimana struktur data halaman web ditentukan. Proses mengambil model konseptual web sebagai input dan mendefinisikan skema untuk setiap halaman web.
Sebuah halaman web menyediakan akses ke sumber daya web dengan menunjukkan informasi dan dengan mengijinkan user untuk berinteraksi dengan halaman.
Halaman web dapat menjadi kompleks, kedua-duanya dalam kaitan dengan gambar yang ditunjukan dan proses yang dihubungkan. Bagaimanapun, ketika merancang komponen data dari halaman web, kita terkait hanya dengan data yang dikembalikan dari database dan yang ingin ditunjukkan, dengan data yang di masukkan oleh user, dan dengan link atau alur akses ke data yang dapat diakses melalui halaman lain. Pada
tahap ini, web database merancang proses, oleh karena itu kita merancang isi data untuk setiap halaman tetapi abaikan kompleksitas yang lain, seperti gambar halaman web yang laindan cara yang ditempuh oleh konektivitas database yang diterapkan.
2.2.5 PHP
PHP adalah bahasa pemprograman komputer yang dibangun khusus untuk website yang dinamis. PHP umumnya digunakan untuk script client-server, tetapi juga digunakan sebagai aplikasi yang berdiri sendiri.
Menurut www.php.net, PHP adalah bahasa scripting yang dibuat dan ditujukan khusus untuk membangun web dan dapat digabungkan dengan script HTML. PHP dapat digunakan di berbagai medium OS (Operating System).
2.2.6 MySQL
MySQL adalah sebuah aplikasi Relational Database Managemen Server (RDBMS) yang sangat cepat dan kokoh. Istilah seperti tabel, baris, dan kolom tetap digunakan dalam MySQL. Pada MySQL sebuah database mengandung satu beberapa tabel, tabel terdiri dari sejumlah baris dan kolom. Dalam konteks bahasa SQL, pada umumnya informasi tersimpan dalam tabel-tabel yang secara logik merupakan struktur dua dimensi yang terdiri atas
baris-baris data (row atau record) yang berada dalam satu atau lebih kolom. Baris pada tabel sering disebut sebagai instance dari data sedangkan kolom sering disebut sebagai attributes atau field. Dengan menggunakan MySQL server maka data dapat di akses oleh banyak pemakai secara bersamaan sekaligus dapat membatasi akses parapemakai berdasarkan previlage (hak akses) yang diberikan. MySQL menggunakan bahasa SQL (Struktur Query Languages) yaitu bahasa standard pemrograman database. MySQL di publikasikan sejak 1996. tetapi sebenarnya di kembangkan sejak 1979. Keunggulan dari MySQL adalah : Bersifat opensource, siistem software-nya tidak memberatkan kerja dari server atau komputer, karena dapat bekerja di background.
2.2.7 Perpustakaan
2.2.7.1 Pengertian Perpustakaan
Menurut Rusina Sjahrial Pamuntjak (Pedoman Penyelenggaraan Perpustakaan, 1972, Jakarta : Djambatan), Perpustakaan merupakan tempat kumpulan buku-buku yang tersedia dan dimaksudkan agar dibaca serta untuk menambah pengetahuan, teempat mendapatkan keterangan atau mencarihiburan dalam buku-buku bacaan.
Menurut Sulistyo Basuki (1991, p3), perpustakaan adalah sebuah ruangan bagian dari gedung itu sendiri yang digunakan untuk menyimpan
buku terbitan lainnya yang biasanya disimpan menurut tata susunan tertentu untuk digunakan pembaca, bukan untuk dijual.
2.2.7.2 Pengertian Otomasi Perpustakaan
Menurut Encyclopedia Americana, International Edition, 1971, otomasi perpustakaan adalah penggunaan komputer dalam menangani proses-proses yang ada di perpustakaan seperti pembuatan katalog, pemesanan, pengontrolan majalah, dll. Sedangkan berdasarkan penjelasan dari Lasa HS (1993), otomasi perpustakaan adalah penggunaan mesin termasuk komputer untuk membantu tugas-tugas yang ada di perpustakaan. Jadi Otomasi Perpustakaan adalah sebuah sebuah proses pengelolaan perpustakaan dengan menggunakan bantuan teknologi informasi (TI). Dengan bantuan teknologi informasi maka beberapa pekerjaan manual dapat dipercepat dan diefisienkan. Selain itu proses pengolahan data koleksi menjadi lebih akurat dan cepat untuk ditelusur kembali. Dengan demikian para pustakawan dapat menggunakan waktu lebihnya untuk mengurusi pengembangan perpustakaan karena beberapa pekerjaan yang bersifat berulang (repetable) sudah diambil alih oleh komputer.
2.2.7.3 Koleksi Perpustakaan
Menurut Basuki (1991), bahan pustaka terdiri atas :
1. Karya cetak atau karya grafis seperti buku, majalah, surat kabar, disertai dan laporan.
2. Karya non-cetak atau karya rekam seprti piringan hitam, rekaman audio, kaset atau video.
3. Bentuk mikro seperti mikrofilm, mikrofis dan mikroopaque.
4. Karya dalam bentuk elektronik seperti disket, pita magnetik, catridge yang diasosiasikan dengan komputer.
2.2.7.4 Jenis Perpustakaan
Menurut www.wikipedia.org, perpustakaan memiliki koleksi selain buku. Koleksi dapat berupa media-media lain, yaitu berupa peta, hasil cetakan, atau dokumen lainnya dan hasil karya seni yang tersimpan dalam berbagai jenis media. Perpustakaan juga menyediakan fasilitas umum untuk mengakses data dari CD, memiliki databsae dan internet. Ada banyak jenis perpustakaan dan dapat dibagi dalam beberapa kategori meliputi :
1. Berdasarkan institusi atau korporasi :
a. Perpustakaan Sekolah
c. Perpustakaan Peneliti d. Perpustakaan Spesial 2. Perpustakaan umum : a. Perpustakaan Swasta b. Perpustakaan Perusahaan c. Perpustakaan Pemerintah d. Perpustakaan Akademis
e. Perpustakaan Sejarah Sosial
3. Berdasarkan tipe dokumen yang dimiliki :
a. Perpustakaan Digital
b. Perpustakaan Data
c. Perpustakaan Gambar (Fotografi)
d. Perpustakaan Transportasi
e. Perpustakaan Alat Bantu (Tool)
4. Berdasarkan subjek yang dimiliki :
a. Perpustakaan Arsitektur
b. Perpustakaan Seni
d. Perpustakaan Medis
e. Perpustakaan Theologia
5. Berdasarkan Pengguna Jasa yang dilayani :
a. Komunitas Militer