bab 2 landasan teori 2.1 database - …library.binus.ac.id/ecolls/ethesisdoc/bab2/2007-2-00090-if_...
TRANSCRIPT
6
BAB 2
LANDASAN TEORI
2.1 Database
Database adalah kumpulan relasi logical dari data atau deskripsi data yang dapat
digunakan bersama dan dibuat untuk memperoleh informasi yang dibutuhkan oleh
perusahaan (Connolly, 2005, p15).
Database adalah kumpulan dari data dan secara khusus menjelaskan kegiatan
dari satu atau beberapa organisasi yang saling terkait (Ramakrishnan dan Gerhke, 2003,
p4).
Basis data terdiri dari entitas, atribut, dan relationship dari informasi
organisasi/perusahaan. Entitas merupakan suatu objek nyata (manusia, tempat, benda,
konsep atau kejadian) dalam suatu organisasi yang direpresentasikan dalam basis data.
Atribut merupakan suatu property yang menjelaskan beberapa aspek dari objek yang
ingin disimpan, dan relationship adalah suatu hubungan antara entitas yang satu dengan
yang lainnya dalam basis data (Connolly, 2005, p15).
2.2 DBMS (Database Management System)
2.2.1 Pengertian DBMS
DBMS adalah software yang dirancang untuk membantu dalam memelihara dan
menggunakan kumpulan data yang berukuran besar (Ramakrishnan dan Gerhke, 2003,
p4).
7
Sedangkan menurut Connolly (2005, p16), DBMS adalah suatu sistem software
yang memungkinkan user untuk mendefinisikan, menciptakan, memelihara dan
mengontrol akses ke database.
2.2.2 Komponen Lingkungan DBMS
Terdapat 5 komponen utama dalam lingkungan DBMS (Connolly, 2005, p18)
seperti yang tertera pada gambar 2.1:
1. Hardware
DBMS dan aplikasi-aplikasi memerlukan hardware untuk beroperasi. Hardware
tersebut dapat berkisar dari komputer personal tunggal, ke suatu mainframe tunggal,
ke suatu jaringan komputer.
2. Software
Komponen software terdiri dari DBMS itu sendiri dan program aplikasi, bersama
dengan sistem operasi, termasuk software jaringan jika DBMS sedang digunakan
melalui suatu jaringan.
Hardware Software Procedure
Data
People
Machine Bridge
Human
Gambar 2.1 Lingkungan DBMS
(Sumber :Connolly, 2005, p19)
8
3. Data
Komponen yang mungkin paling penting dari lingkungan DBMS, dari sudut
pandang end-users, adalah data. Data berperan sebagai suatu jembatan antara
komponen-komponen mesin dan komponen-komponen manusia.
4. Prosedur
Merupakan instruksi dan aturan-aturan yang mengatur perancangan dan penggunaan
database. Pengguna sistem dan staff yang mengatur basis data yang memerlukan
prosedur-prosedur yang telah didokumentasikan pada bagaimana menggunakan atau
menjalankan sistem.
5. Manusia
Terdiri dari:
• Data Administrator (DA) bertanggungjawab dalam pengaturan sumber daya data
termasuk perencanaan database, pengembangan dan pemeliharaan standar,
kebijakan dan prosedur, dan desain database conseptual/logical.
• Database Administrator (DBA) bertanggungjawab atas realisasi fisik dari basis
data, termasuk perancangan basis data fisik dan implementasi, keamanan dan
kontrol integritas, perawatan sistem operasional, dan menyakinkan kinerja
aplikasi yang memuaskan untuk pengguna.
• Logical Database Designer terkait dengan identifikasi data (seperti entitas dan
atribut), relationship antara data, dan batasan data yang disimpan dalam
database.
• Physical Database Designer memutuskan bagaimana perancangan logical
database direalisasikan secara fisik.
9
• Application Developers bertanggungjawab setelah basis data diimplementasikan,
program aplikasi yang menyediakan fungsionalitas yang diperlukan untuk end-
users harus diimplementasikan.
• End-users adalah ‘klien’ untuk basis data, yang telah dirancang dan
diimplementasikan, dan sedang dirawat untuk menyajikan kebutuhan-kebutuhan
informasi mereka. End-users dapat diklasifikasikan berdasarkan cara mereka
menggunakan sistem: Naïve users dan Sophisticated users.
2.2.3 Keuntungan dan kerugian DBMS
Keuntungan DBMS (Connolly, 2005, p26):
1. Kontrol terhadap pengulangan data
2. Data yang konsisten
3. Semakin banyak informasi yang didapat dari data yang sama
4. Data yang dibagikan (sharing data)
5. Menambah integritas data
6. Menambah keamanan data
7. Penetapan standarisasi
8. Pengurangan biaya
9. Menyeimbangkan konflik kebutuhan
10. Menambah pengaksesan data dan hasilnya
11. Menambah produktivitas
12. Menambah pemeliharaan data melalui independensi data
13. Menambah concurrency
14. Menambah backup dan recovery
10
Kerugian DBMS (Connolly, 2005, p29):
1. Kompleksitas
2. Ukuran yang besar
3. Biaya dari suatu DBMS
4. Biaya penambahan perangkat keras
5. Biaya conversion
6. Kinerja
7. Efek yang besar dari kegagalan
2.3 Siklus Hidup Aplikasi Database (Database Application Lifecycle)
Berikut ini merupakan diagram tahap-tahap siklus hidup aplikasi basis data, yang
tertera pada gambar 2.2, antara lain (Connolly, 2005, p283):
11
Gambar 2.2 Tahap-tahap Siklus Hidup Aplikasi Basis Data
( Sumber : Connolly, 2005, p284)
12
2.3.1 Database Planning (Perencanaan Basis Data)
Perencanaan basis data merupakan aktivitas-aktivitas manajemen yang
memungkinkan tahap-tahap dalam siklus pengembangan sistem basis data
direalisasikan secara efisien dan efektif.
Tahap awal yang penting dalam perencanaan basis data adalah menentukan
dengan jelas mission statement untuk proyek basis data. Mission Statement ini
menentukan tujuan utama aplikasi basis data. Mission Statement membantu menjelaskan
tujuan proyek basis data dan menyediakan cara yang lebih jelas untuk menciptakan
suatu basis data yang efektif dan efisien. Tahap selanjutnya adalah mission objective.
Setiap mission objective harus mengidentifikasi tugas-tugas tertentu yang akan didukung
basis data.
2.3.2 System Definition (Definisi Sistem)
System Definition menggambarkan ruang lingkup dan batasan-batasan aplikasi
basis data dan user views (gambaran pengguna) utama.
User Views mendefinisikan apa yang dibutuhkan oleh sistem basis data dari
sudut pandang peranan pekerjaan tertentu (seperti Manager atau Supervisor) atau area
aplikasi perusahaan (seperti marketing, personnel, atau stock control).
2.3.3 Requirements Collection and Analysis (Pengumpulan Kebutuhan dan
Analisis)
Merupakan proses pengumpulan dan analisis informasi dari bagian organisasi
yang akan didukung oleh sistem basis data, dan menggunakan informasi tersebut untuk
mengidentifikasi kebutuhan dari sistem yang baru.
13
Ada 3 (tiga) pendekatan utama untuk pengaturan kebutuhan aplikasi basis data
dengan multiple user views, antara lain:
• Pendekatan centralized
Kebutuhan untuk setiap user view digabung dalam suatu kumpulan kebutuhan
tunggal untuk sistem basis data baru. Representasi model data untuk semua user
view dibuat selama tahap desain basis data
• Pendekatan view integration
Kebutuhan untuk setiap user view dibuat dalam daftar yang terpisah. Representasi
model data untuk setiap user view dibuat dan kemudian digabungkan selama tahap
desain basis data.
• Kombinasi antara centralized dan view integration
2.3.4 Database Design (Perancangan Basis data)
Merupakan proses pembuatan suatu rancangan yang akan mendukung mission
statement dan mission objective perusahaan untuk membuat sistem basis data yang
dibutuhkan. Ada 4 (empat) pendekatan perancangan basis data:
• Bottom-up
Pendekatan ini dimulai dari tingkat paling dasar dari atribut (yakni property dari
entitas dan relationship) dimana melalui analisis gabungan antara atribut-atribut,
dikelompokkan ke dalam relasi-relasi yang merepresentasikan tipe-tipe entitas dan
hubungan antara entitas. Pendekatan ini lebih cocok untuk perancangan basis data
yang sederhana dengan jumlah atribut yang relatif kecil.
14
• Top-down
Pendekatan ini dimulai dari pengembangan model data yang terdiri dari beberapa
relationship dan entitas tingkat tinggi yang kemudian dipakai untuk
mengidentifikasikan entitas tingkat rendah, relationship, dan atribut yang saling
berhubungan.
• Inside-out
Menyerupai dengan pendekatan bottom-up tetapi sedikit berbeda dimana pada
awalnya mengidentifikasikan entitas utama dan kemudian menentukan entitas,
relationship, dan atribut lainnya yang berkaitan dengan entitas utama yang telah
diidentifikasi sebelumnya.
• Mixed
Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda
sebelum akhirnya digabungkan.
2.3.5 DBMS Selection (Pemilihan DBMS)
Merupakan pemilihan dari suatu DBMS yang tepat untuk mendukung aplikasi
basis data. Tahap-tahap pemilihan DBMS:
• Menentukan istilah referensi studi
• Membuat daftar sementara 2 (dua) atau 3 (tiga) produk
• Mengevaluasi produk
• Merekomendasi pilihan dan laporan produksi
15
2.3.6 Application Design (Perancangan Aplikasi)
Merupakan perancangan user interface dan program aplikasi yang menggunakan
dan memproses basis data. Aspek penting dalam perancangan aplikasi, yakni:
• Transaction Design (Perancangan Transaksi)
Transaksi merupakan sebuah aksi, atau serangkaian aksi yang dilakukan oleh
seorang pengguna atau program aplikasi yang mengakses atau mengubah isi dari
basis data.
Tujuan dari perancangan transaksi adalah untuk menetapkan dan
mendokumentasikan karakteristik tingkat tinggi dari transaksi yang dibutuhkan pada
basis data, yang termasuk:
1. data yang digunakan dalam transaksi
2. karakteristik fungsional dari transaksi
3. keluaran (output) dari transaksi
4. kepentingan pengguna
5. nilai yang diharapkan dari pemakaian
Perancangan ini harus dilakukan lebih awal dalam proses perancangan untuk
memastikan bahwa basis data yang diimplementasikan mampu mendukung semua
transaksi yang dibutuhkan. Ada 3 (tiga) jenis transaksi, yaitu:
1. Retrieval transactions, digunakan untuk mendapatkan kembali data untuk
ditampilkan di layar atau dalam laporan.
2. Update transactions, digunakan untuk menambah data, menghapus data lama,
atau memodifikasi data yang ada dalam basis data.
3. Mixed Transactions, melibatkan retrieval (pemanggilan) dan update (perubahan)
data atau kombinasi antara keduanya.
16
• User Interface Design GuideLines
Pedoman yang dapat digunakan untuk mendesain tampilan aplikasi adalah:
Judul yang bermakna
Instruksi yang mudah dipahami
Pengelompokan logical dan pengurutan kolom-kolom
Tampilan visual yang menarik
Label kolom yang tidak asing
Terminologi dan penyingkatan yang konsisten
Penggunaan warna yang konsisten
Adanya ruang dan batas yang terlihat untuk kolom-kolom data entri
Penggerakan kursor yang nyaman
Koreksi kesalahan untuk karakter individual dan keseluruhan kolom
Pesan kesalahan untuk nilai-nilai yang tidak dapat diterima
Kolom-kolom yang opsional ditandai dengan jelas
Pesan penjelasan untuk kolom-kolom
Adanya penanda akhir transaksi
2.3.7 Prototyping (Bentuk Dasar)
Merupakan pembuatan suatu model kerja dari aplikasi basis data. Suatu
prototype adalah contoh model yang tidak mempunyai semua fitur-fitur yang diperlukan
atau menyediakan semua fungsionaliti dari sistem terakhir. Tujuan utama dari
pengembangan suatu aplikasi basis data prototype adalah memungkinkan pengguna
menggunakan prototype tersebut untuk mengidentifikasi fitur-fitur dari sistem apakah
17
sudah bekerja dengan baik atau belum, dan jika mungkin mengusulkan peningkatan atau
bahkan fitur-fitur baru pada sistem basis data.
Ada 2 (dua) strategi prototyping yang digunakan sekarang:
• Requirements prototyping, menggunakan suatu prototype untuk menentukan
kebutuhan-kebutuhan dari sistem basis data yang diusulkan dan suatu waktu
kebutuhan-kebutuhan tersebut lengkap prototype dibuang.
• Evolutionary prototyping, digunakan untuk tujuan yang sama, perbedaan yang
penting adalah bahwa prototype tidak dibuang tetapi dengan perkembangan yang
lebih jauh menjadi sistem basis data yang digunakan.
2.3.8 Implementation (Implementasi)
Merupakan realisasi fisik dari perancangan basis data dan aplikasi. Implementasi
database dicapai dengan menggunakan:
• DDL untuk membuat skema database dan file database kosong.
• DDL untuk membuat user view yang diinginkan.
• 3GL dan 4GL untuk membuat program aplikasi, termasuk transaksi database
disertakan dengan menggunakan DML, atau ditambahkan pada bahasa pemograman.
Menurut Connolly (2005, p40), DDL (Data Definition Language) adalah bahasa
yang digunakan untuk mendeskripsikan dan menamakan entitas, atribut, dan hubungan
yang diperlukan untuk aplikasi, beserta dengan batasan keamanan dan integritas yang
berhubungan. Sedangkan DML (Data Manipulation Language) adalah bahasa yang
menyediakan sekumpulan operasi untuk mendukung manipulasi data yang ada dalam
database.
18
Menurut Howe (1996, http://www.definethat.com/define/5229.htm) 3GL adalah
bahasa pemprograman tingkat tinggi yang didesain untuk mempermudah manusia untuk
mengerti. Contoh dari 3GL adalah C, C++, Java. sedangkan 4GL adalah bahasa program
yang didesain lebih mendekati dengan bahasa manusia dibandingkan bahasa 3GL.
2.3.9 Data Conversion and Loading (Perubahan dan Pengambilan Data)
Merupakan pemindahan data yang ada ke dalam basis data baru dan merubah
aplikasi yang ada untuk beroperasi pada basis data yang baru. Langkah ini diperlukan
hanya ketika suatu sistem basis data baru menggantikan sistem yang lama.
2.3.10 Testing (Pengetesan)
Merupakan proses menjalankan sistem basis data dengan maksud pencarian
kesalahan-kesalahan. Sebelum ditunjukkan secara langsung, aplikasi basis data yang
baru dikembangkan seharusnya diuji sepenuhnya.
2.3.11 Operational Maintenance (Pemeliharaan Operasional)
Merupakan proses pengawasan dan pemeliharaan sistem basis data berikut
instalasinya. Pada langkah sebelumnya, sistem basis data telah diimplementasikan dan
diuji sepenuhnya. Sekarang sistem memasuki langkah pemeliharaan, yang melibatkan
aktivitas-aktivitas berikut:
• Mengawasi kinerja sistem.
• Memelihara dan meng-upgrade sistem basis data (ketika dibutuhkan).
19
2.4 Entity Relationship (ER) Modelling
2.4.1 Tipe Entitas (Entity Types)
Menurut Connolly (2005, p343), Tipe entitas adalah kumpulan dari objek-objek
dalam dunia nyata yang memiliki properties sama, yang diidentifikasi oleh organisasi,
mempunyai keberadaan yang bebas. Entity occurrence adalah objek yang
diidentifikasikan secara unik dari tipe entitas. Tipe entitas dapat diklasifikasikan menjadi
(Connolly, 2005, p354):
• Strong entity adalah entitas yang keberadaannya tidak tergantung pada entitas lain.
• Weak entity adalah entitas yang keberadaannya tergantung pada entitas lain.
2.4.2 Tipe Relationship
Menurut Connolly (2005, p346), tipe relationship adalah kumpulan hubungan
yang mempunyai arti diantara tipe entitas. Relationship occurrence adalah hubungan
yang dapat diidentifikasi secara unik, dimana memiliki satu occurence dari setiap tipe
entitas yang berpartisipasi. Derajat tipe relationship adalah jumlah tipe entitas yang
berpartisipasi dalam suatu relationship. Derajat relationship terdiri dari:
• Binary relationship adalah hubungan antara 2 tipe entitas.
• Ternary relationship adalah ubungan antara 3 tipe entitas.
• Quaternary relationship adalah hubungan antara 4 tipe entitas.
• Recursive relationship adalah tipe relationship dimana tipe entitas yang sama
berpartisipasi lebih dari satu dalam role yang berbeda.
Inti utama dari suatu relationship adalah multiplicity. Multiplicity adalah jumlah
atau hasil dari kejadian yang mungkin terjadi pada sebuah entitas yang dapat
20
menghubungkan ke kejadian tunggal dari suatu tipe entitas yang berhubungan melalui
particular relationship (Connolly, 2005, p356). Beberapa jenis multiplicity adalah
• Hubungan One-to-One (1:1)
• Hubungan One-to-Many (1:*)
• Hubungan Many-to-Many (*:*)
2.4.3 Atribut
Menurut Connolly (2005, p350), atribut adalah suatu property dari suatu entitas
atau tipe relationship. Klasifikasi atribut adalah:
• Simple attribute adalah suatu atribut yang terdiri dari komponen tunggal dan berdiri
sendiri.
• Composite attribute adalah suatu yang terdiri dari banyak komponen, dimana setiap
komponen berdiri sendiri.
• Single-valued attribute adalah suatu atribut yang menampung nilai tunggal untuk
setiap keberadaan dari tipe entitas.
• Multi-valued attribute adalah suatu atribut yang menampung banyak nilai untuk
setiap keberadaan dari tipe entitas.
• Derived attribute adalah suatu atribut yang memiliki nilai yang dihasilkan dari satu
atau beberapa atribut lainnya, dan tidak harus berasal dari satu entitas.
21
2.4.4 Keys
Menurut Connolly (2005, p352), jenis-jenis keys adalah:
• Candidate key adalah kumpulan minimal atribut yang secara unik mengidentifikasi
tiap occurrence dari tipe entitas.
• Primary key adalah candidate key yang dipilih untuk secara unik mengidentifikasi
tiap occurrence dari tipe entitas.
• Composite key adalah candidate key yang terdiri dari dua atau lebih atribut.
2.4.5 Masalah-masalah pada ER Model
Menurut Connolly (2005, p364), masalah pada ER Model adalah:
• Fan Traps adalah suatu masalah dimana model merepresentasikan tipe relationship
antara tipe entitas tetapi terdapat jalur yang ambigu.
• Chasm Traps adalah suatu masalah dimana model merepresentasikan tipe
relationship antara tipe entitas tetapi terdapat jalur yang hilang.
2.5 Enhanced Entity-Relationship Modeling
Model ER (Entity Relationship) yang didukung dengan konsep simantik disebut
Enhanced Entity-Relationship (EER) (Connolly, 2005, p371).
2.5.1 Spesialisasi/Generalisasi (Specialization/Generalization)
Konsep dari Spesialisasi dan generalisasi adalah asosiasi tipe entitas dengan tipe
entitas khusus yang dikenal sebagai superclass dan subclass, dan proses dari atribut
turunan (inheritance) (Connolly, 2005, p372).
22
Superclass adalah suatu tipe entitas yang mengandung satu atau lebih subgroup
terpisah dari suatu occurence, yang dibutuhkan untuk direpresentasikan pada suatu data
model.
Subclass adalah suatu subgroup terpisah dari occurence suatu tipe entitas, yang
dibutuhkan untuk direpresentasikan pada suatu data model.
Specialization Process adalah proses memaksimalkan perbedaan diantara
anggota-anggota entitas dengan pengidentifikasian karakter-karakter yang beda.
Generalization Process adalah proses meminimalkan perbedaan diantara entitas
dengan pengidentifikasian karakter-karakter biasa.
Batasan pada spesialisasi dan generalisasi ada 2 yaitu:
• Participation constraint adalah menentukan apakah setiap anggota dalam superclass
harus berpatisipasi sebagai anggota dari subclass.
• Disjoint constraint adalah menjelaskan hubungan antara anggota dari subclass dan
mengindikasikan apakah memungkinkan untuk satu anggota superclass menjadi
anggota pada satu atau lebih subclass.
2.5.2 Aggregation
Merepresentasikan suatu hubungan ‘mempunyai (has-a)’ atau ‘bagian dari (is-
part-of)’ antara tipe entitas dimana satu merepresentasikan keseluruhan dan yang
lainnya bagian (Connolly, 2005, p383).
23
2.5.3 Composition
Bentuk spesifik dari aggregation yang merepresentasikan suatu hubungan antara
entitas, dimana terdapat suatu kepemilikan yang kuat dan coincidental lifetime antara
keseluruhan dan sebagian.
2.6 Normalisasi
Menurut Hoffer (2005, p212), normalisasi adalah proses decomposing relasi
yang memiliki anomali untuk menghasilkan relasi yang lebih kecil dan lebih terstuktur.
Menurut Connolly (2005, p388), normalisasi adalah teknik untuk menghasilkan
sekumpulan relasi dengan property, sesuai dengan kebutuhan data dari perusahaan.
Tujuan normalisasi adalah untuk mengidentifikasi sekumpulan relasi yang tepat
untuk mendukung keperluan data dari perusahaan.
Manfaat normalisasi:
1. Meminimalkan jumlah storage space yang diperlukan untuk menyimpan data.
2. Meminimalkan resiko data yang tidak konsisten dalam suatu basis data.
3. Meminimalkan kemungkinan update dan delete anomally.
4. Memaksimalkan stabilitas dari struktur data.
Tabel yang belum dinormalisasi dinamakan Unnormalized Form (UNF).
Menurut Connolly (2005, p403) Unnormalized form (UNF) adalah merupakan suatu
tabel yang berisikan satu atau lebih group yang berulang. Group yang berulang adalah
atribut atau sekumpulan atribut dalam suatu tabel yang muncul dengan beberapa nilai
untuk satu occurrence.
24
Bentuk-bentuk normalisasi antara lain:
1. First Normal Form (1NF)
Menurut Connolly (2005, p403), First Normal Form adalah suatu relasi dimana
pertemuan antar setiap baris dan kolom terdiri 1 (satu) dan hanya 1 (satu) nilai.
Dalam normalisasi pertama ini, data yang berulang-ulang dihilangkan.
2. Second Normal Form (2NF)
Menurut Connolly (2005, p407), Second normal form (2NF) adalah sebuah relasi
dalam 1NF dan setiap atribut non-primary key bersifat Fully Function Dependency
pada primary key dari relasi tersebut. Dalam normalisasi kedua ini, atribut yang
tergantung pada sebagian dari suatu composite key sebuah tabel dipindahkan ke
sebuah tabel yang terpisah.
Menurut Connolly (2005, p395), Full functional dependency adalah
mengindikasikan bahwa jika A dan B adalah atribut dari sebuah relasi, B adalah fully
functional dependent pada A jika B adalah functionally dependent pada A tapi bukan
merupakan bagian dari A.
3. Third Normal Form (3NF)
Menurut Connolly (2005, p408), Third normal form (3NF) adalah sebuah relasi yang
memenuhi normal pertama dan normal kedua dan tidak terdapat atribut non primary
key yang bersifat transitively dependent pada primary key-nya.
Menurut Connolly (2005, p397), Transitive dependency adalah jika kondisi A, B,
dan C merupakan atribut-atribut dari sebuah relasi dimana jika A→B dan B→C,
maka C adalah transitively dependent dari A melalui B (A tidak functionally
dependent pada B dan C ).
25
Dalam normalisasi ketiga ini, atribut yang tidak memberikan kontribusi terhadap
penjelasan karakteristik primary key, akan dipindahkan ke sebuah tabel yang
terpisah. Keuntungan dari tabel relasional dalam 3NF adalah menghilangkan data
yang berulang dengan tujuan menghemat tempat dan mengurangi keanehan
manipulasi.
4. Boyce-Codd Normal Form (BCNF).
Menurut Connolly (2005, p.419), relasi dalam BCNF, jika dan hanya jika, setiap
penentu/determinannya adalah candidate key.
5. Fourth Normal Form (4NF).
Menurut Connolly (2005, p.430), Fourth Normal Form (4NF) adalah suatu relasi
pada Boyce-Codd normal form dan tidak mengandung nontrivial multi-valued
dependencies.
Multi-valued dependencies adalah dependency antara atribut dalam suatu relasi
dimana nilai dari A memiliki sekumpulan nilai dari B dan C. Namun nilai dari B dan
C tidak saling bergantung.
6. Fifth Normal Form (5NF).
Menurut Connolly (2005, p.431), Fifth Normal Form (5NF) adalah suatu relasi yang
tidak memiliki join dependency.
Join dependency mendeskripsikan tipe dari dependency. Sebagai contoh relasi R
dengan subset dari A,B,…,Z. Relasi R akan join dependency jika dan hanya jika tiap
nilai dari R sama dengan nilai dari join A,B,…,Z
Untuk relational data model, sangat penting untuk mengetahui bahwa hanya
normal pertama saja ( 1NF ) yang secara kritis dapat menciptakan relasi-relasi yang
dibutuhkan. Semua normal form yang berurutan selanjutnya seperti normal kedua
26
(2NF), normal ketiga (3NF), dan seterusnya sampai normal kelima ( 5NF ) adalah
optional atau pilihan. Bagaimanapun juga semua bertujuan untuk menghindari update
anomalies, maka dari itu secara normal disarankan untuk melakukan proses normalisasi
paling tidak sedikitnya sampai dengan normal yang ketiga ( 3NF ).
Di dalam Gambar 2.3 ditunjukkan bahwa beberapa relasi dari 1NF adalah juga
memenuhi 2NF dan beberapa relasi dari 2NF juga memenuhi 3NF. Setiap BCNF
merupakan 3NF, tapi 3NF belum tentu memnuhi BCNF. Kita memulai melakukan
proses noramalisasi ini dengan mentransfer data secara initial yang berada sebagi form
ke dalam table format dengan baris-baris dan kolom-kolom.
Gambar 2.3 Illustrasi diagram dari hubungan diantara normal forms
(Sumber :Connolly, 2005, p401)
27
2.7 Perancangan Conceptual, Logical dan Physical Database
Menurut Connolly (2005, p437), tahap-tahap dalam perancangan basis data
adalah:
2.7.1 Perancangan Conceptual Database
Perancangan conseptual database adalah proses membuat model dari data yang
digunakan di perusahaan yang bebas dari pertimbangan physical.
Langkah-langkah dalam metodologi perancangan conseptual database:
1. Membuat model data conseptual lokal untuk setiap view
• Mengidentifikasi tipe entitas
• Mengidentifikasikan relationship
• Mengidentifikasikan dan menghubungkan atribut dengan relationship.
• Menentukan atribut domain
• Menentukan atribut candidate dan primary key.
• Mempertimbangkan penggunaan konsep enhanced modeling (optional).
• Mengecek model untuk redundansi.
• Menvalidasi model data conseptual lokal terhadap transaksi user.
• Meninjau ulang model data conseptual lokal dengan user.
2.7.2 Perancangan Logical Database
Perancangan logical database adalah proses membuat model dari data yang
digunakan pada perusahaan berdasarkan model data spesifik, tetapi bebas dari pemilihan
DBMS dan pertimbangan physical lainnya.
28
Langkah-langkah dalam metodologi perancangan logical database:
2. Membuat dan menvalidasi model data logical lokal untuk setiap view
• Derivasi relasi untuk model data logical Meliputi:
1. Tipe strong entity.
2. Tipe weak entity.
3. Tipe hubungan binary one-to-many (1:*).
4. Tipe hubungan binary one-to-one (1:1).
o Tipe relasi (1:1) partisipasi mandatory dua sisi.
o Tipe relasi (1:1) partisipasi mandatory satu sisi.
o Tipe relasi (1:1) partisipasi optional dua sisi.
5. Tipe hubungan recursive one-to-one (1:1).
6. Tipe hubungan superclass/subclass.
7. tipe hubungan binary many-to-many (*:*)
8. tipe hubungan kompleks
9. atribut multi-valued
• Validasi relasi menggunakan normalisasi
• Validasi relasi terhadap transaksi user
• Cek integrity constraint
• Review model data logical dengan user
• Merge model data logical ke dalam model data global (optional step)
• Cek perkembangan lebih lanjut
29
2.7.3 Perancangan Physical Database
Proses menghasilkan sebuah deskripsi/gambaran implementasi basis data pada
penyimpanan sekunder (secondary storage) yang mendeskripsikan hubungan dasar,
organisasi data, dan indeks-indeks yang memungkinkan pengaksesan data yang efisien.
Langkah-langkah dalam metodologi perancangan physical database:
3. Menterjemahkan model data logical untuk DBMS.
• Mendesain relasi dasar.
• Mendesain gambaran dari data yang yang didapat.
• Mendesain general constraint.
4. Mendesain organisasi file dan indeks.
• Menganalisis transaksi.
• Memilih file organisasi.
• Memilih indek.
• Memperkirakan kebutuhan kapasitas disk.
5. Mendesain user views.
6. Mendesain mekanisme keamanan.
7. Mempertimbangkan pengenalan tentang pengendalian redundansi.
8. Memonitor dan mengatur sistem operational.
2.8 Data Flow Diagram (DFD)
2.8.1 Pengertian Data Flow Diagram
Menurut Whitten (2004,p344), Proses modeling adalah suatu teknik untuk
mengorganisasikan dan mendokumentasikan struktur data dan aliran data yang mengalir
30
dalam sebuah proses sistem dan atau logika, kebijakan, dan prosedur-prosedur yang
diimplementasikan dalam proses sebuah sistem. Salah satu proses model adalah DFD
(Data Flow Diagram).
DFD adalah suatu alat yang menggambarkan aliran data yang ada dalam sistem
dan suatu proses yang dilakukan oleh suatu sistem. Sering juga disebut sebagai bubble
chart, transformation graph, dan model process.
Beberapa konsep tentang DFD (Whitten, 2004,p345):
1. Proses dalam diagram aliran data dapat beroperasi secara paralel. Jadi, beberapa
proses dapat dilaksanakan atau dikerjakan secara serempak.
2. DFD menunjukkan aliran data melalui sistem. Panah menyatakan jalur yang dapat
dialiri data. Looping dan branching tidak ditunjukkan secara khusus.
3. DFD dapat menunjukkan proses dengan timing yang berbeda secara dramatis.
Misalnya, DFD tunggal dapat menyertakan proses yang terjadi setiap jam, secara
harian, mingguan, tahunan, dan sesuai permintaan.
2.8.2 Simbol-Simbol Data Flow Diagram
Simbol-simbol yang digunakan dalam DFD, seperti yang tertera pada tabel 2.1
adalah sebagai berikut (Whitten, 2004,p347):
31
Tabel 2.1 Simbol-simbol Data Flow Diagram
Bentuk dariSimbol-Simbol Gane & Sarson DeMarco/Yourdan
Proses
Aliran data
Agen eksternal
Data store
a) Proses adalah kerja yang dilakukan oleh sistem sebagai respon terhadap aliran data
masuk atau keluar.
b) Aliran data adalah data yang menjadi input atau output dari atau ke proses.
c) Agen eksternal adalah orang, unit organisasi, atau organisasi luar yang berinteraksi
dengan dengan sistem.
d) Data store adalah penyimpanan data yang ditunjukkan untuk penggunaan
selanjutnya
2.8.3 Tingkatan pada Data Flow Diagram
Tingkatan diagram adalah sebagai berikut:
1. Diagram Konteks (diagram hubungan, level 0)
Merupakan level tertinggi dari DFD yang menggambarkan seluruh input ke atau
output dari sistem dan memberikan gambaran tentang keseluruhan sistem.
32
2. Diagram Nol (diagram 0, level 1)
Diagram yang memperlihatkan data store yang digunakan.
3. Diagram Rinci (level 2, level 3, dst)
Merupakan rincian dari diagram nol atau diagram level diatasnya
2.9 State Transition Diagram (STD)
2.9.1 Pengertian State Transition Diagram
State Transition Diagram (STD) adalah grafik yang menggambarkan hasil dari
perubahan state selama proses. STD merupakan alat model (modelling tool) yang
menggambarkan sifat ketergantungan pada waktu dari suatu sistem real-time dan user
interface pada suatu sistem on-line. Contohnya : proses kendali, telepon, dan lain
sebagainya. Menurut Kowal (1989, p327), untuk menjelaskan atau menggambarkan
proses yang berlangsung dalam suatu program, maka digunakan STD.
STD pada dasarnya merupakan sebuah diagram yang terdiri dari state dan
transisi atau perpindahan state. Transisi terdiri dari kondisi dan aksi. Kondisi adalah
suatu kejadian yang dapat diketahui oleh sistem sedangkan aksi adalah tindakan yang
dilakukan oleh sistem bila terjadi pembahasan state atau dapat juga merupakan reaksi
terhadap kondisi
33
2.9.2 Komponen State Transition Diagram
Komponen-komponen yang digunakan dalan STD antara lain (Kowal, 1989):
• State
State adalah kumpulan keadaan atau atribut yang mencirikan seseorang atau suatu
benda pada waktu, bentuk keadaan, atau kondisi tertentu. State dinotasikan dengan
empat persegi panjang berisi keadaan yang terjadi di dalam sistem.
Notasinya:
Keadaan sistem seperti berupa menunggu pengguna memasukkan password,
menunggu konfirmasi dari pengguna, menunggu perintah selanjutnya, dan lain-lain.
• Perubahan State
Perubahan state merupakan perubahan kondisi yang digambarkan dalam STD
dengan menghubungkan dua keadaan yang berkaitan dengan suatu garis panah.
Notasinya :
• Kondisi dan Aksi
Untuk membuat STD menjadi lengkap diperlukan dua hal tambahan, yaitu kondisi
dan aksi. Kondisi adalah suatu kejadian pada lingkungan luar yang dapat dideteksi
oleh sistem, sedangkan aksi adalah yang dilakukan sistem bila terjadi perubahan
state atau merupakan reaksi terhadap kondisi. Aksi akan menghasilkan keluaran,
tampilan pesan di layar, melakukan kalkulasi, dan lain-lain. Kondisi dan aksi
digambarkan di dekat panah yang menghubungkan dua keadaan yang berkaitan
seperti berikut ini :
keadaan
34
Kondisi
Aksi
Berikut ini adalah tabel notasi STD :
Tabel 2.2 Notasi State Transition Diagram (STD)
Notasi STD ini berguna dalam memudahkan pembuatan suatu sistem dengan benar dan
jelas. Manfaat lain yang dapat diperoleh dalam penggunaan STD adalah agar suatu
sistem dapat dipahami dengan benar.
2.10 E-learning
2.10.1 Pengertian E-Learning
Menurut Empy Effendi (2005, p4), e-learning sendiri dapat mengacu pada semua
kegiatan pelatihan yang menggunakan media elektronik atau teknologi informasi. Istilah
yang sering digunakan untuk menggantikan e-learning adalah web-based learning,
online learning, computer-based training/learning, distance learning, computer-aided
instruction.
Keadaan 1
Keadaan 2
35
Ada 2 tipe e-learning:
• Synchronous Training
Synchronous Training adalah tipe pelatihan, dimana proses pembelajaran terjadi
pada saat yang sama ketika pengajar sedang mengajar dan murid sedang belajar
melalui internet maupun intranet.
• Asynchronous Training
Asynchronous Training adalah tipe pelatihan, dimana seseorang dapat mengambil
pelatihan pada waktu yang berbeda dengan pengajar memberikan pelatihan.
2.10.2 Media
Ada beberapa media yang bisa digunakan untuk e-learning adalah (Empy
Effendi, 2005, p8):
• Internet, memiliki jangkauan yang luas.
• Intranet (LAN), biasanya digunakan di kantor-kantor dan sekolahan.
• CD-ROM, digunakan pada saat network komputer tidak tersedia.
2.10.3 Keuntungan dan Keterbatasan
Keuntungan e-learning (Empy Effendi, 2005, p9):
1. Mampu mengurangi biaya pelatihan.
2. Membuat karyawan atau pelajar dapat menyesuaikan waktu belajar (fleksibilitas
waktu).
3. Dapat mengakses e-learning dimana saja, selama terhubung dengan server
(fleksibilitas tempat).
36
4. Dapat disesuaikan dengan kecepatan belajar masing-masing siswa (fleksibilitas
kecepatan pembelajaran).
5. Pelajaran e-learning selalu memiliki kualitas sama setiap kali diakses (standarisasi
pengajaran).
6. E-learning didesain dengan instructional design sehingga membuat karyawan atau
pelajar lebih mengerti isi pelajaran berupa simulasi, kasus-kasus dll (efektivitas
pengajaran).
7. E-learning dapat cepat menjangkau karyawan yang berada di luar wilayah pusat
(kecepatan distribusi).
8. Karena e-learning dapat sewaktu-waktu diakses, maka dapat dianggap sebagai
“buku saku” yang membantu pekerjaan setiap saat (ketersediaan on-demand).
9. E-learning menggunakan suatu Learning Management System (LSM) yang
berfungsi sebagai platform pelajaran-pelajaran e-learning. Dapat juga digunakan
untuk menyimpan data-data dan proses pembelajaran yang berlangsung (otomatisasi
proses administrasi).
Keterbatasan e-learning (Empy Effendi, 2005, p15):
1. Karena e-learning menuntut budaya self-learning (belajar sendiri), beberapa orang
merasa tidak nyaman dengan pengajaran melalui komputer.
2. Suatu organisasi harus mengeluarkan investasi awal yang cukup besar untuk mulai
pelaksanaan e-learning.
3. Kemungkinan teknologi tersebut tidak sejalan dengan yang sudah ada dan terjadi
konflik sehingga e-learning tidak berjalan baik.
4. Layanan broadband baru ada di kota-kota besar.
37
5. Ada beberapa materi yang kurang bisa diajarkan misalnya olah raga dan instrumen
musik.
2.11 Web Browser
Pengertian web browser atau web client menurut Randall dan Latulipe (1995,
p110) adalah software yang terdapat dalam sebuah PC (Personal Computer) milik user
yang terhubung ke jaringan dan dapat menerima dokumen web, menerjemahkan kode-
kode HTML yang termuat di dalamnya untuk kemudian ditampilkan dalam bentuk teks
ataupun grafik.
Menurut Ramakrishnan dan Gerhke (2000, p643), web browser adalah mesin
(komputer) yang menerjemahkan perintah-perintah yang terformat dan menampilkannya
dalam bentuk suatu dokumen yang menarik.
Sedangkan menurut Comer (1999, p418), sebuah web browser adalah suatu
software interaktif yang memungkinkan user untuk menampilkan informasi dari World
Wide Web. Informasi itu berisi item-item tertentu yang memungkinkan user untuk
menampilkan informasi lainnya.
Beberapa contoh dari web browser yang banyak digunakan antara lain Microsoft
Internet Explorer, Netscape Navigator, Mozilla Firefox, Opera.
2.12 LAN (Local Area Network)
2.12.1 Pengertian LAN
Menurut Stallings (2001, p443), LAN adalah jaringan komunikasi yang
menampilkan interkoneksi berbagai jenis perangkat komunikasi data dalam lingkup area
yang terbatas.
38
LAN dapat didefinisikan sebagai network atau jaringan sejumlah sistem
komputer yang lokasinya terbatas di dalam satu gedung, satu kompleks gedung atau
suatu kampus dan tidak menggunakan media fasilitas komunikasi umum seperti telepon,
melainkan pengelola media komunikasinya adalah pemilik LAN (Sumber:
http://y3dips.echo.or.id/artikel/ez-jaringan_bag1.txt).
2.12.2 Komponen Dasar LAN
Beberapa komponen dasar untuk membentuk suatu LAN (Sumber:
http://y3dips.echo.or.id/artikel/ez-jaringan_bag1.txt):
1. Workstation
Merupakan host yang berupa sistem komputer.
2. Server
Hardware yang berfungsi untuk melayani jaringan dan workstation yang terhubung
pada jaringan tersebut.
3. Link (hubungan)
Media transmisi yang berupa kabel, seperti: kabel Twisted Pair, kabel Coaxial, kabel
Fiber Optic.
4. Network Interface Card (NIC)
Suatu workstation tidak dihubungkan secara langsung dengan kabel jaringan ataupun
kabel tranceiver, tetapi melalui suatu rangkaian elektronika yang dirancang khusus
untuk menangani network protocol.
39
5. Network Software
Tanpa adanya software jaringan maka jaringan tersebut tidak akan bekerja
sebagaimana yang dikehendaki. Software ini juga yang memungkinkan sistem
komputer yang satu berkomunikasi dengan sistem komputer yang lain.
6. Peralatan pendukung LAN
Beberapa peralatan pendukung LAN adalah repeater, hub, bridge, switch, router.