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).
6
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:
Data Hardware
Procedure
Software
People
Bridge Human
Machine Gambar 2.1 Lingkungan DBMS (Sumber :Connolly, 2005, p19) 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.
7
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.
8
• Application Developers bertanggungjawab setelah basis data diimplementasikan, program aplikasi yang menyediakan fungsionalitas yang diperlukan untuk endusers 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 9
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):
10
Gambar 2.2 Tahap-tahap Siklus Hidup Aplikasi Basis Data ( Sumber : Connolly, 2005, p284)
11
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. 12
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.
13
•
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
14
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. 15
•
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
16
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.
17
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).
18
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
19
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.
20
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).
21
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).
22
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.
23
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 ).
24
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 25
(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)
26
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.
27
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
28
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
29
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):
30
Tabel 2.1 Simbol-simbol Data Flow Diagram Bentuk dari Simbol-Simbol Proses
Gane & Sarson
DeMarco/Yourdan
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.
31
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
32
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
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 :
33
Kondisi
Aksi
Keadaan 1
Keadaan 2
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.
34
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).
35
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.
36
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 kodekode 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. 37
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:
suatu
LAN
(Sumber:
http://y3dips.echo.or.id/artikel/ez-jaringan_bag1.txt).
2.12.2 Komponen Dasar LAN Beberapa
komponen
dasar
untuk
membentuk
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.
38
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.
39