bab 2 landasan teori 2.1 teori database 2.1.1...
TRANSCRIPT
9
BAB 2
LANDASAN TEORI
2.1 Teori Database
2.1.1 Sistem basis data
Data adalah fakta mengenai objek, orang, dan lain-lain. Sedangkan Informasi
adalah hasil analisis dan sintesis terhadap data. Basis data adalah kumpulan data,
yang dapat digambarkan sebagai aktifitas dari satu atau lebih organisasi yang
berelasi.
Basis data (Bahasa Inggris: database), atau sering juga dieja sebagai basisdata
mempunyai arti sebagai kumpulan informasi yang disimpan didalam komputer
secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer
untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang
digunakan untuk mengelola dan memanggil kueri (query) basis data disebut
sistem manajemen basis data (database management system, DBMS). Sistem
basis data dipelajari dalam ilmu informasi.
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya
semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini
mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya
sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan
kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau
potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari
10
jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema
menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara
obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan
struktur basis data: ini dikenal sebagai model basis data atau model data. Model
yang umum digunakan sekarang adalah model relasional, yang menurut istilah
layman mewakili semua informasi dalam bentuk tabel-tabel yang saling
berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang
sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan
antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang
lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih
eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling
berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem
manajemen basis data (database management system/DBMS). Jika konteksnya
sudah jelas, banyak administrator dan programer menggunakan istilah basis data
untuk kedua arti tersebut.
Menurut Thomas Connolly (2002,p15) database adalah sekumpulan data dan
deskripsiny yang didesain untuk memenuhi kebutuhan informasi dari sebuah
organisasi.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau
potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari
jenis fakta yang tersimpan didalamnya: penjelasan ini disebut dengan skema.
Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di
antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau
11
memodelkan struktur basis data : ini dikenal sebagai model basis data atau model
data. Model yang umum digunakan sekarang adalah model relasional, yang
menurut istilah layanan mewakili semua informasi dalam bentuk tabel-tabel yang
saling berhubungan dimana setiap tabel terdiri dari basis dan kolom (definisi yang
sebenarnya menggunakan terminology matematika). Dalam model ini, hubungan
antar tabel diwakili dengan menggunakan nilai yang sama antar tabel. Model yang
lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih
eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling
berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem
manajemen basis data (Database Management System / DBMS). Jika konteksnya
sudah jelas, banyak administrator dan programmer menggunakan istilah basis data
untuk kedua arti tersebut.
2.1.2 Database Management System (DBMS)
Menurut Date, Sistem Basis Data adalah sistem terkomputerisasi yang tujuan
utamanya adalah memelihara informasi dan membuat informasi tersebut tersedia
saat dibutuhkan.
Manajemen Sistem Basis Data (Database Management System / DBMS)
adalah perangkat lunak yang didesain untuk membantu dalam hal pemeliharaan
dan utilitas kumpulan data dalam jumlah besar. DBMS dapat menjadi alternative
penggunaan secara khusus untuk aplikasi, semisal penyimpana n data dalam fiel
dan menulis kode aplikasi yang spesifik untuk pengaturannya.
12
Menurut Thomas Connoly (2002, p16) DBMS adalah software system
yang memungkinkan user untuk membuat, mengelola, dan mengatur akses ke
database.
DBMS merupakan program software yang kompleks, yang mengatur organisasi.
Penyimpanan, manajemen, dan penggunaan data yang ada di database.
DBMS mencakup:
1. Bahasa pemodelan untuk menjelaskan skema dari setiap database yang berada
di dalam DBMS, dan sesuai dengan data model DBMS.
2. Data Struktur (fields, record, file dan object) dioptimalkan untuk digunakan
bersama dengan media penyimpanan data berskala besar.
3. Database query language
4. Mekanisme transaksi
2.1.2.1Komponen dalam lingkunan DBMS
Terdapat lima komponen utama, yang saling mendukung satu dengan yang
lainnya, yang terdapat dalam lingkungan DBMS. Kelima komponen tersebut
adalah sebagai berikut:
• Hardware
DBMS dan aplikasinya membutuhkan suatu hardware untuk membantu proses
yang dilakukan. Hardware tersebut dapat dikategorikan dari computer
personal sampai pada sebuah computer mainframe, lalu pada jaringan
computer. Hardware tersebut bergantung pada tiap organisasi yang
bersangkutan demi memenuhi kebutuhannya dan DBMS yang dibutuhkan.
Beberapa DBMS ada yang hanya berjalan di satu sistem operasi ataupun pada
13
hardware tertentu, tetapi ada juga DBMS yang dip roses pada hardware dan
sistem operasi yang umum. Sebuah DBMS memerlukan jumlah minimum dari
memori utama dan ruangan dalam disk untuk selanjutnya dapat dijalankan,
tetapi mungkin dengan konfigurasi minimum yang demikian tidak
memberikan hasil yang dapat diterima dengan baik kemudian.
• Software
Komponen suatu software berbanding dengan software DBMS itu sendiri dan
program-program aplikasinya, bersama dengan sistem operasinya, termasuk
jaringan dari software jika DBMS tersebut digunakan dalam suatu jaringan.
Pada umumnya, program-program aplikasi di tulis dalam third-generation
programming language (3GL), seperti C,C++, Java, Visual Basic, COBOL,
Fortran, Ada, atau Pascal, atau dengan menggunakan fourth-generation
programming language (4GL), seperti SQL, yang menyatu dengan 3GL.
Target dari DBMS mungkin sudah memiliki alat bantu dari 4GL itu sendiri
yang memungkinkan pembangunan secara cepat dari aplikasi-aplikasi melalui
non-procedural query language, reports generators, form generators, graphic
generators dan application generators yang tersedia.
• Data
Data merupakan komponen terpenting dalam lingkungan DBMS. Dengan
data, dapat menggabungkan sistem katalog yang ada.
• Prosedur
Prosedur yang ada menunjuk kepada instruksi-instruksi dan aturan-aturan
yang mengatur rancangan dan manfaat dari basis data. Pengguna dari sistem
yang ada dan staf yang mengatur basis data yang dilengkapi dengan prosedur
14
yang telah didokumentasikan untuk memenuhi keterangan bagaimana cara
menggunakan atau menjalankan sistem tersebut.
• Manusia
Komponen terakhir dari lingkungan DBMS adalah manusia yang terlibat
dengan pemrosesan sistem.
2.1.3 Database relational
Menurut Thomas Connolly (2002, p16), database relational adalah kumpulan
relasi yang telah dinormalisasi dengan nama relasi yang berbeda. Model data
relasional adalah sebuah program computer (atau secara lebih tipikal adalah
seperangkat program komputer) yang didesain untuk mengatur atau
memanajemen sebuah basisdata sebagai sekumpulan data yang disimpan secara
terstruktur, dan melakukan operasi-operasi atas data dengan permintaan
penggunanya. Contoh penggunaan DBMS ada banyak sekali dan dalam berbagai
bidang kerja, misalnya akuntansi, manajemen sumber daya manusia, dan lain
sebagainya.
Edgar F. Codd memperkenalkan istilah ini pada makalah seminarnya yang
berjudul “A Relational Model of Data for Large Shared Data Banks”. Salah satu
definisi yang cukup dikenal secara luas atas sebuah sistem basisdata relational
adalah 12 hukum Codd. Namun demikian, pada awal-awal implementasinya
banyak model relasional yang tidak mengikuti seluruh elemen-elemen yang
terdapat dalam hokum-hukum Codd tersebut yang menjadikan terminologinya
15
berkembang untuk mendeskripsikan sebuah tipikal sistem basisdata yang lebih
luas. Dalam cakupan yang minimum sistem tersebut memenuhi kriteria berikut:
• Menyajikan data pada pengguna dalam bentuk relasional ( ditampilkan dalam
bentuk tabular, sebagai koleksi dari tabel dimana setiap tabel berisi
sekumpulan baris dan kolom)
• Menyediakan operator relasional untuk memanipulasi data dalam bentuk
tabular
2.2 Analisis Database dan Teknik Desain
2.2.1 Database Application Lifecycle
Menurut Connoly-Begg (2005, p 283), database merupakan komponen dasar
sistem informasi, dimana pengembangan dan penggunaannya harus dilihat dari
prespektif kebutuhan yang lebih luas dari organisasi. Tahapan database
application lifecycle adalah:
16
Database design
DatabasePlanning
Systemdefinition
Physical database Design
Logical database Design
Conceptual database Design
Requirement collection and analysis
DBMS selection(optional) Application design
(optional)
Prototyping (optional) Implementation
Data conversion and loading
Testing
Operational maintenance
Gambar 2.1 Database Application Lifecycle
Penjelasan:
1. Database Planning
Database planning merupakan aktivitas manajemen yang memungkinkan
tahapan-tahapan aplikasi database dapat direalisasikan seefisien dan seefektif
mungkin. Database planning harus terintegrasi dengan keseluruhan strategi
sistem informasi. Ada tiga hal yang terlibat dalam penyusunan strategi sistem
informasi:
17
- Identifikasi terhadap rencana dan sasaran usaha dengan rangkaian
keputusan dari kebutuhan sistem informasi.
- Evaluasi terhadap sistem informasi yang sedang berjalan untuk
mengetahui kelebihan dan kekurangannya.
- Penafsiran terhadap peluang IT yang dapat memberikan keuntungan
kompetitif.
2. System Definition
System definition menjelaskan cakupan dan batasan dari aplikasi database dan
user view utama. User view mendefinisikan apa yang dibutuhkan aplikasi
database dari perspektif suatu peran kerja tertentu (misalnya Manager atau
Supervisor) atau area aplikasi usaha (misalnya marketing, personnel, atau
stock control).
Suatu aplikasi database dapat memiliki satu atau lebih user view.
Mengidentifikasi user view merupakan aspek penting pada pengembangan
aplikasi database karena membantu memastikan bahwa tidak ada user utama
dari database tersebut yang terlupakan saat pengembangan atas kebutuhan
untuk aplikasi baru. User view juga membantu pada pengembangan suatu
aplikasi database yang relatif kompleks dengan memungkinkan kebutuhannya
dibagi ke dalam bagian-bagian yang lebih mudah diatur.
3. Requirement Collection And Analysis
Requirement collection and analysis merupakan proses pengumpulan dan
penganalisaan informasi mengenai bagian dari organisasi yang didukung
aplikasi database, dan penggunaan informasi tersebut untuk mengidentifikasi
18
kebutuhan user pada sistem yang baru. Ada tiga jenis pendekatan untuk
menangani kebutuhan aplikasi database dengan user view yang banyak:
- Pendekatan centralized
Kebutuhan untuk masing-masing user view digabungkan ke dalam satu set
tunggal kebutuhan tersebut untuk aplikasi database yang baru.
- Pendekatan view integration
Kebutuhan untuk masing-masing user view dibangun ke data model yang
terpisah yang merepresentasikan user view tersebut. Hasil data model
tersebut akan digabungkan kemudian dalam tahapan database design.
- Kombinasi dari kedua jenis pendekatan tersebut
4. Database Design
Database design adalah proses pembuatan rancangan untuk database yang
mendukung operasi dan tujuan usaha. Ada dua jenis pendekatan dalam
merancang database:
- Pendekatan bottom-up
Pendekatan ini dimulai pada level dasar dari attribute (yaitu property
dari entity dan relationship), di mana melalui analisa asosiasi antara
attribute, dikelompokkan ke dalam relation yang merepresentasikan
tipe entity dan relationship antara entity.
- Pendekatan top-down
Pendekatan ini dimulai dengan pengembangan data model yang berisi
sedikit high-level entity dan relationship dan kemudian melakukan
19
penyaringan top-down secara beruntun untuk mengidentifikasi lower-
level entity, relationship, dan attribute terasosiasi.
Ada dua tujuan utama data modelling, yaitu untuk membantu dalam
pemahaman arti (semantik) data dan untuk memfasilitasi komunikasi
mengenai informasi yang dibutuhkan. Kriteria yang dibutuhkan untuk
menghasilkan data model yang optimal:
- Structural validity
- Simplicity
- Expressibility
- Nonredundancy
- Shareability
- Extensibility
- Integrity
- Diagrammatic representation
Database design terdiri dari tiga fase utama:
Conceptual database design
Proses membentuk model informasi yang digunakan dalam suatu
perusahaan, independen terhadap seluruh pertimbangan fisik
20
• Logical database design
Proses membentuk model informasi yang digunakan dalam suatu
perusahaan berdasarkan data model yang spesifik, tetapi independen
terhadap suatu DBMS tertentu dan pertimbangan fisik lainnya.
Physical database design
Proses menghasilkan deskripsi mengenai penerapan dari database pada
secondary storage; hal itu menggambarkan relasi dasar, organisasi file,
dan indeks yang digunakan untuk mencapai pengaksesan data yang
efisien, serta batasan integritas dan ukuran keamanan yang berhubungan.
5. DBMS Selection
Memilih DBMS harus sesuai dengan yang dibutuhkan agar dapat mendukung
aplikasi database dengan baik. Jika belum terdapat DBMS, saat DBMS
selection yang paling tepat adalah antara fase conceptual database design
dengan logical database design. Langkah utama dalam DBMS selection:
a. Mendefinisikan studi Terms of Reference
b. Mendaftarkan dua atau tiga produk
c. Mengevaluasi produk
d. Merekomendasikan pilihan dan menghasilkan laporan
6. Application Design
Application design merupakan rancangan user interface dan program aplikasi
yang menggunakan dan memproses database. Pada sebagian besar kasus,
application design tidak mungkin akan selesai sampai rancangan database itu
21
sendiri telah ada. Di sisi lain, database muncul untuk mendukung aplikasi,
dan jadi harus ada alur pergerakan informasi antara application design dengan
database design.
7. Prototyping
Prototyping merupakan pembuatan model kerja suatu aplikasi database.
Tujuan utama mengembangkan prototype adalah mengidentifikasi fitur mana
pada sistem yang berjalan baik dan yang berjalan kurang baik; jika
memungkinkan, memberikan peningkatan atau bahkan fitur baru pada aplikasi
database. Dua strategi prototyping yang umum digunakan:
- Requirement prototyping
Setelah kebutuhan terselesaikan, prototype dibuang.
- Evolutionary prototyping
Setelah kebutuhan terselesaikan, prototype tidak dibuang dan terus
dikembangkan hingga menjadi aplikasi database yang dapat bekerja.
8. Implementation
Implementation merupakan realisasi fisikal dari database design dan
application design. Implementasi dari database dapat menggunakan Data
Definition Language (DDL) dari DBMS yang dipilih atau Graphical User
Interface (GUI), yang memberikan fungsionalitas yang sama ketika
menyembunyikan low-level DDL statement. DDL statement digunakan untuk
membuat struktur database dan file database kosong. User view yang telah
ditentukan juga diimplementasikan pada tahap ini.
22
9. Data Conversion And Loading
Data conversion and loading merupakan proses mentransfer data yang ada ke
dalam database baru dan mengkonversi aplikasi yang ada agar dapat berjalan
di database baru. Tahap ini diperlukan hanya jika database system yang baru
menggantikan sistem yang lama.
10. Testing
Testing merupakan proses mengeksekusi program aplikasi dengan tujuan
untuk menemukan kesalahan. Testing harus dilakukan dengan strategi tes
yang matang dan data yang realistis sehingga keseluruhan proses testing dapat
secara metodikal dan secara kasar dilihat. Sebenarnya, testing tidak dapat
menunjukkan ketidakberadaannya kesalahan; testing hanya dapat
menunjukkan jika kesalahan itu muncul.
11. Operational Maintenance
Operational maintenance merupakan proses memonitor dan memelihara
sistem setelah instalasi dilakukan. Proses ini melibatkan:
- Memonitor performa sistem. Jika performa menurun, perbaikan dan
pengaturan ulang database dilakukan.
- Memelihara dan jika diperlukan meningkatkan kualitas aplikasi database.
Kebutuhan yang baru tergabung ke dalam aplikasi database melalui
tahapan yang sebelumnya dalam database application lifecycle.
23
2.2.2 Entity Relationship Diagram
Menurut Jeffery L. Whitten, Lonnie D. Bentley, Kevin C. Dittman (2004, p
281), ERD adalah model data yang menggunakan beberapa notasi untuk
menggambarkan data dalam konteks entitas dan hubungan yang di deskripsikan
oleh data tersebut.
ERD adalah model konseptual yang mendeskripsikan hubungan antara
penyimpanan (dalam DFD). ERD digunakan untuk memodelkan struktur data dan
hubungan antar data. Dengan ERD, model dapat diuji dengan mengabaikan proses
yang dilakukan.
Ada beberapa catatan mengenai pemodelan data. Sebagian besar ERD disebut
sesuai dengan nama penemunya (misalny, Chen Martin, Bachman, Merise) atau
sesuai standar yang dipublikasikan. “Bahasa” pemodelan data ini pada umumnya
mendukung konsep dan konstruksi dasar yang sama. Skripsi ini menggunakan
ERD Martin karena penggunanya sudah terbesar luas dan didukung olej peralatan
CASE
Model data ERD mempunyai beberapa konsep dasar, yaitu:
1. Entitas (Entity)
Entitas adalah sekelompok orang, tempat, objek, kejadian atau konsep
tentang apa yang kita perlukan untuk men-capture dan menyimpan data. Jika
entitas adalah sesuatu yang kita gunakan untuk menyimpan data, maka kita
perlu mengidentifikasi bagian data spesifik yang ingin kita simpan dari setiap
contoh entitas tertentu. Bagian data ini dapat disebut sebagai atribut. Atribut
adalah sifat atau karakteristik deskriptif suatu entitas.
24
2. Atribut (Attribute)
Yang dimaksud dengan atribut adalah karakteristik entity.
a. Domain
Nilai dari tiap atribut didefinisikan kedalam tiga property yaitu:
‐ Tipe data : Properti dari atribut yang mengidentifikasikan tipe
data yang dapat disimpan ke dalam atribut
‐ Domain : Properti dari atribut yang mengidentifikasikan
nilai apa yang boleh diambil oleh suatu atribut.
‐ Default Value : suatu nilai yang akan disimpan apabila nilai tidak
dispesifikasikan oleh user.
b. Identifikasi (Identification).
Dengan banyaknya instance yang dimiliki oleh suatu entity maka
diperlukan suatu key yang unik untuk mengidentifikasikan setiap instance
berdasarkan data dari atribut. Yang dimaksud dengan key adalah suatu
atribut atau sekumpulan atribut yang mengasumsikan nilai yang unik dari
setiap bagian dari entity dan seringkali disebut identifier.
Candidate key adalah suatu key yang memiliki kemungkinan untuk
dijadikan primary key. Primary key adalah candidate key yang unik dan
mengidentifikasikan sebuah bagian dari entity. Alternate key adalah
candidate key yang tidak dijadikan primary key.
25
3. Hubungan (Relationship)
Secara konseptual, entitas dan atribut tidak terpisah. Hal yang
dinyatakannya saling berinteraksi dan mempengaruhi untuk mendukung
tujuan bisnis. Relationship / hubungan adalah hubungan bisnis alami yang ada
di antara satu atau lebih entitas. Hubungan tersebut dapat menyatkan kejadian
yang menghubungkan entitas atau hanya persamaan logika yang ada diantara
entitas. Cardinality adalah sejumlah entity yang mungkin direlasikan dengan
entity lain. Degree adalah sejumlah entity yang berpartisipasi dalam sebuah
relationship. Foreign key adalah sebuah primary key yang digunakan oleh
entity lain untuk mengidentifikasikan instansi dari sebuah relationship.
Berikut ini adalah notasi dari cardinality:
Interpretasi Karidinaliti Minimum
Instance
Maximum
Instance
Tepat satu (satu dan hanya
satu): nilai minimum dan
maksimum adalah satu (1)
1 1
Nola tau satu: nilai minimum
adalah 0 dan nilai maksimum
adalah 1.
0 1
Satu atau lebih: nilai minimum
adalah 1 dan nilai maksimum
adalah banyak (>1)
1 Lebih (>1)
26
Nol, satu, atau lebih: nilai
minimum adalah 1 dan nilai
maksimum adalah banyak (>1)
0 Lebih (>1)
Lebih dari satu : nilai minimum
dan maksimum adalah >1 (lebih
dari 1)
>1 >1
Tabel 2.1 Notasi dari cardinality
4. Generalisasi (Generalization)
Yang dimaksud dengan Generalization adalah sebuah konsep dimana
atribut-atribut yang umum bagi beberapa tipe dari entity digrupkan kedalam
entity mereka masing-masing.
2.2.3 Normalisasi
Menurut Petroutsos (2002, p71), ada beberapa aturan dalam perancangan
basis data, yang disebut dengan aturan normalisasi. Aturan-aturan ini akan
merancang basis data yang normal atau setidaknya memverifikasikan rancangan.
Basis data dianggap normal jika basis data tersebut tidak mengulang data
(data redudancy) atau tidak menimbulkan keanehan pada proses update, delete,
atau insert.
Proses pembentukan tabel normal atau normalisasi bertujuan untuk:
1. Membuat sekecil mungkin terjadinya data rangkap
2. Menghindarkan adanya data yang tidak konsisten terutama bila dilakukan
penghapusan atau penambahan data sebagai akibat adanya data rangkap.
27
3. Menjamin bahwa identitas tabel secara tunggal sebagai determinan semua
atribut.
Proses normalisasi tabel secara detail dibagi menjadi lima tahap sehingga dikenal
bentuk-bentuk tabel normal sesuai dengan tahapan normalisasi yang telah
dilakukan yaitu bentuk normal pertama, kedua, ketiga, Boyce-Codd, keempat dan
kelima.
1. Bentuk normal pertama (First Normal Form / 1 NF)
Aturan bentuk normal pertama (1NF) menurut Connolly dan Begg
(2002,p388), “A relation in which the insersection of each row and each
column contains one and only one value”, yang dapat diartikan sebagai,
”sebuah relasi dimana tiap baris dan kolom hanya terdiri dari satu nilai”.
Bentuk normal pertama dicapai bila tiap nilai atribut adalah tunggal.
Kondisi ini dapat diperoleh dengan melakukan eliminasi terjadinya data ganda
(repeating groups). Pada kondisi normal pertama ini kemungkinan masih
terdapat data yang rangkap.
2. Bentuk normal kedua (Second Normal Form / 2NF)
Aturan bentuk normal kedua (2NF) menurut Connolly dan Begg
(2002,p392), “A relation that is in forst normal form and every non-primary
key attribute is fully function dependent on the primary key”, yang dapat
diartikan sebagai,” sebuah relasi dalam bentuk normal pertama dan setiap
atribut bukan primary key bergantung secara fungsional terhadap primary
key”.
28
Bentuk normal kedua adalah berdasarkan konsep ketergantungan
fungsional penuh (full functional dependency). Full functional dependency
dinyatakan dengan jika A dan B adalah atribut dari suatu relasi (relation), B
adalah fungsional ketergantungan penuh (full functional dependency) pada A
jika B secara fungsional bergantung pada A, tetapi buka merupakan himpunan
bagian dari A. Bentuk normal kedua menciptakan sebuah relasi pada bentuk
normal pertama dan semua atribut yang bukan primary key adalah fungsional
tergantung penuh terhadap primary key.
3. Bentuk normal ketiga (Third Normal Form / 3 NF)
Aturan bentuk normal ketiga (3NF) menurut Connolly dan Begg
(2002,p394),”A relation that is in first and second normal form, anf in which
non primary key attribute is transitively dependent on the primary key”. Yang
dapat diartikan sebagai,”sebuah relasi dalam bentuk normal pertama dan
kedua dan semua atribut bukan primary key yang bergantung secara transitif
kepada primary key”.
Bentuk normal ketiga berdasarkan pada konsep peralihan ketergantungan
(transitive dependency). Transitive dependency adalah sebuah kondisi dimana
A,B,dan C adalah atribut dari sebuah relasi bahwa jika A B dan B C,
maka C adalah transitive dependency terhadap A melewati B (menyatakan
bahwa A bukan functional dependent pada B atau C). pada bentuk normal ke
tiga, sebuah relasi pada bentuk normal pertama dan kedua, dimana tidak ada
atribut non-primary key bergantung secara transitif (transitive dependency)
pada primary key.
29
4. Bentuk normal Boyce-Codd (Boyce-Codd Normal Form / BCNF)
Aturan bentuk normal Boyce-Codd (BCNF) menurut Connolly dan Begg
(2002,p398),” A relation is in BCNF, if and only if, every determinant is a
candidate key”, yang dapat diartikan sebagai,”sebuah relasi disebut BCNF ,
jika dan hanya jika setiap determinannya adalah sebuah candidate key.
Untuk menguji apakah suatu relasi sudah BCNF, dilakukan identifikasi semua
determinan dan memastikan bahwa determinan tersebut adalah candidate key.
Deteminan adalah sebuah atribut, atau kumpulan atribut, dimana beberapa
atribut yang lain masih bergantung secara fungsional penih (fully functionally
dependent).
Perbedaan antara 3NF dan BCNF terdapat dalam hal functional
dependency. A B, 3NF mengijinkan ketergantungan ini dalam sebuah relasi
jika B adalah atribut primary key dan A bukan candidate key. Sedangkan
dalam BCNF ketergantungan ini tetap ada dalam sebuah relasi, dimana A
harus sebuah candidate key.
5. Bentuk normal keempat (Fourth Normal Form / 4 NF)
Aturan bentuk normal keempat (4NF) menurut Connolly dan Begg
(2002,p407-408),”A relation that is in Boyce-Codd Normal Form and
contains no nontrivial multi-valued dependencies”, yang dapat diartikan
sebagai,”sebuah relasi dalam Boyce-Codd normal form (BCNF) dan tidak
mengandung ketergantungan multi value nontrivial (nontrivial multi-valued
dependencies)”.
30
Bentuk normal keempat (4NF) merupakan bentuk yang lebih kuat dari
BCNF dimana 4NF mencegah relasi dari nontrivial multi-valued dependency
dan data redundancy. Normalisasi dari BCNF ke 4NF meliputi pemindahan
multi-valued dependency dari relasi dengan menempatkan atribut dalam
sebuah relasi baru bersama dengan determinan.
Multi-valued dependency (MVD) menggambarkan ketergantungan antara
atribut-atribut dalam suatu relasi.
6. Bentuk normal kelima (Fifth Normal Form / 5 NF)
Aturan bentuk normal kelima (5NF) menurut Connolly dan Begg
(2002,p410),”A relation that has no join dependency”, yang dapat diartikan
sebagai,”sebuah relasi yang tidak mempunyai ketergantungan gabungan (join
dependency)”.
Join dependency menggambarkan sebuah tipe ketergantungan. Sebagai
contoh, untuk sebuah relasi R dengan subset-subset atribut dari R, yang
dimisalkan dengan A,B,….Z, sebuah relasi R menunjukkan join dependency,
jika dan hanya jika, setiap nilai dari R sama dengan gabungan dari proyeksi-
proyeksiny pada A,B,….Z.
31
2.3 Metodologi Perancangan Database
2.3.1 Conceptual Database Design
Menurut Connolly-Begg (2005, p442), conceptual database design adalah
suatu proses membangun sebuah model dari informasi dari sebuah perusahaan
dan sifatnya independen dari segala pertimbangan physical. Pertimbangan
physical yang dimaksud adalah pertimbangan teknis mengenai bagaimana
implementasi dari model informasi tersebut. Ada beberapa tahapan yang harus
diikuti dalam conceptual database design yaitu sebagai berikut:
1. Mengidentifikasi entity types
Tahap ini adalah tahapan di mana kita mengidentifikasikan entity type
utama yang dibutuhkan. Caranya adalah dengan memeriksa user’s
requirement specification di mana kita mengidentifikasikan noun ataupun
noun phrase dari dokumen tersebut. Setelah kita berhasil mengidentifikasi
entity-entity type tersebut, maka langkah selanjutnya adalah memberi
nama pada entity tersebut dan terakhir kita mendokumentasikan entity type
teridentifikasi ke dalam suatu dokumen yang disebut dengan data
dictionary.
2. Mengidentifikasi relationship types
Tahap ini adalah tahapan di mana kita mengidentifikasi relationship antar
entity type yang telah teridentifikasi pada tahapan sebelumnya. Caranya
adalah dengan menggunakan ER diagram untuk menggambarkan entity
type dan hubungan antar entity tersebut karena dengan
memvisualisasikannya dalam gambar maka akan membantu kita dalam
32
menentukan relationship di antara entity type tersebut. Setelah kita
menentukan relationship pada model tersebut, maka selanjutnya kita
menentukan multiplicity constraint dari relasi tersebut. Multiplicity
constraint berfungsi untuk memeriksa dan mempertahankan kualitas dari
data.
Langkah selanjutnya yang harus dilakukan adalah memeriksa model yang
dibuat apakah mengandung fan traps ataupun chasm traps dan juga
memastikan bahwa setiap entity dalam model terlibat paling tidak dalam
satu relationship. Setelah relationship type teridentifikasi maka kita
kembali menyimpannya dalam dokumen yang disebut data dictionary.
3. Mengidentifikasi dan menghubungkan attributes dengan entity atau
relationship types
Tahap ini adalah tahapan di mana kita menentukan atribut-atribut yang
terkait dengan masing-masing entity dan relationship / hubungan antar
entity. Atribut-atribut tersebut menggambarkan kepada kita mengenai
bagaimana informasi nantinya tersimpan dalam database. Ada beberapa
jenis atribut yaitu meliputi:
a. Simple / composite attribute
Composite attribute adalah atribut yang tersusun dari dua atau lebih
simple attribute. Simple attribute itu sendiri adalah attribute yang yang
berdiri sendiri.
33
b. Single / multi-valued attribute
Single-valued attribute adalah atribut yang hanya memiliki satu nilai
tertentu untuk masing-masing entity occurrence, sedangkan pada
multi-valued attribute memungkinkan atribut bersangkutan memiliki
lebih dari satu nilai untuk setiap entity occurrence.
c. Derived attribute
Derived attributes adalah atribut yang nilainya berasal dari hasil
operasi nilai dari beberapa atribut dalam suatu entity.
4. Menentukan attribute domains
Tahap ini adalah tahapan di mana kita mengidentifikasikan domain dari
masing-masing atribut yang telah kita tentukan pada tahapan sebelumnya.
Domain itu sendiri adalah sejumlah nilai yang dapat diterima (dianggap
valid) oleh atribut yang bersangkutan.
5. Menentukan candidates and primary key attributes
Tahap ini adalah tahapan di mana kita mengidentifikasikan candidate key
untuk masing-masing entity type dan jika ada lebih dari satu candidate
key, maka pilihlah satu di antaranya untuk menjadi primary key.
Candidate key adalah kumpulan dari atribut pada suatu entity yang
mengidentifikasikan secara unik kemunculan dari entity yang
bersangkutan. Kita dapat mengidentifikasikan lebih dari satu candidate
key pada suatu entity namun kita hanya dapat memilih salah satu untuk
dijadikan sebagai primary key. Candidate keys yang tidak ditetapkan
sebagai primary key disebut dengan alternate key.
34
6. Mempertimbangkan kegunaan konsep enhanced modelling
Tahap ini adalah tahapan di mana kita mulai mempertimbangkan untuk
menggunakan konsep enhanced modelling seperti misalnya specialication,
generalization, aggregation dan composition.
7. Memeriksa redundancy pada model
Tahap ini adalah tahapan dimana kita mengidentifikasikan terjadinya
redundancy data untuk kemudian menghapusnya bila terjadi.
8. Memvalidasi local conceptual model terhadap transaksi user
Tahap ini adalah tahapan dimana kita memastikan bahwa local conceptual
model yang dihasilkan telah benar-benar mendukung transaksi-transaksi
yang akan terjadi kemudian. Bila kemudian model yang kita hasilkan
mampu menghandle semua transaksi-transaksi tersebut, maka itu berarti
bahwa model yang dihasilkan telah baik adanya dan siap dikembangkan
ke level perancangan selanjutnya.
Ada dua langkah untuk memastikan tahap ini terlaksana dengan baik yaitu
pertama kita harus memeriksa ulang relasi yang bersifat one to one
relationship dan langkah berikutnya adalah menghapus relationship yang
berifat redundant.
9. Mengkaji ulang local conceptual data model dengan user
Tahap ini adalah tahapan dimana kita mengevaluasi local conceptual
model yang dihasilkan dengan user untuk memastikan bahwa model
tersebut telah sesuai dengan keinginan dan harapan user.
35
2.3.2 Logical Database Design
Menurut Connolly-Begg (2005, p462), logical database design adalah suatu
proses membangun model untuk informasi yang digunakan dalam sebuah
perusahaan berdasarkan suatu specific data model, tetapi masih belum
memasukkan pertimbangan-pertimbangan physical dalam proses perancangannya.
Ada 2 langkah yang harus dilakukan untuk menghasilkan logical data model yaitu
sebagai berikut:
1. Membangun dan memvalidasi local logical data model untuk setiap view
Langkah ini bertujuan untuk membangun sebuah local logical data model
dari local conceptual data model yang menyajikan gambaran utuh
perusahaan dan kemudian model tersebut divalidasi untuk memastikan
bahwa secara struktural model tersebut sudah benar dan untuk memastikan
bahwa model tersebut mendukung transaksi-transaksi yang terjadi pada
perusahaan yang bersangkutan. Ada beberapa hal yang dilakukan pada
langkah ini yaitu sebagai berikut:
o Menghilangkan fitur yang tidak sesuai dengan relational model
Tahapan ini bertujuan untuk memperbaiki local conceptual data model
dengan menghilangkan fitur-fitur yang tidak compatible dengan
relational model. Fitur-fitur pada local conceptual data model yang
penting untuk dihilangkan adalah yaitu:
1. relasi many to many (*:*) pada binary relationship type
2. relasi many to many (*:*) pada recursive relationship type
36
3. relasi complex relationship type yang merupakan relasi yang
dibangun oleh 3 atau lebih entity type
4. relasi multi-valued attribute (atribut yang memiliki lebih dari satu
nilai)
o Menurunkan relations untuk local logical data model
Tahapan ini bertujuan untuk menghasilkan relasi-relasi untuk local
logical data model yang merepresentasikan entity, relationship, dan
atribut yang telah teridentifikasi sebelumnya.
Ada beberapa hal dari conceptual model yang harus dibenahi untuk
menghasilkan local logical data model yaitu:
1. Strong entity type
Pada masing-masing strong entity type, maka akan dibuat suatu
relation yang berisi atribut-atribut dari strong entity type tersebut.
2. Weak entity type
Pada weak entity type juga akan muncul suatu relation yang berisi
atribut-atribut dari weak entity type tersebut namun relation
tersebut tidak memiliki primary key karena primary key tersebut
diperoleh dari masing-masing owner entity.
3. One to many binary relationship type
Pada jenis relationship tersebut akan ditentukan parent entity dan
child entity dari relasi tersebut untuk kemudian menduplikasi
primary key attribute dari parent entity ke dalam child entity di
mana key tersebut akan disebut sebagai foreign key.
37
4. One to one binary relationship type dan one to one recursive
relationship
Pada one to one binary relationship type akan diselidiki secara
lebih mendalam apakah kedua entity type yang terlibat dalam relasi
perlu untuk disatukan atau tidak.
5. Superclass/subclass relationship type
Pada jenis relationship tersebut maka kita akan menetapkan bahwa
superclass entity merupakan parent entity dan subclass entity
sebagai child entity.
6. Many to many binary relationship type
Pada jenis relationship tersebut maka kita perlu menentukan satu
entity type tambahan sebagai penengah antar kedua entity type
dengan maksud agar relasi yang semula bersifat many to many
akan berubah menjadi one to many.
7. Complex relationship type
Pada jenis relationship tersebut maka kita perlu membuat satu
relation baru yang merepresentasikan relationship tersebut dan
kemudian memasukkan atribut-atribut dari relasi tersebut ke dalam
relation yang terbentuk.
8. Multi-valued attributes
Pada masing-masing multi-valued attribute maka akan dibuat satu
entity baru yang merepresentasikan multi-valued attribute tersebut.
38
o Memvalidasi relations menggunakan normalization
Tahapan ini bertujuan untuk memvalidasi relaton-relation yang
terdapat pada logical data model menggunakan teknik yang disebut
dengan normalisasi. Normalisasi ini merupakan proses untuk
mengembangkan model supaya tidak terjadi duplikasi data dalam
logical data model yang dibuat.
o Memvalidasi relations terhadap transaksi user
Tahapan ini bertujuan untuk memastikan bahwa relation pada local
logical data model mendukung transaksi-transaksi yang terjadi. Di sini
kita mencoba untuk memecahkan transaksi-transaksi yang
kemungkinan akan terjadi dalam kondisi sesungguhnya dengan
berpedoman pada model yang telah dibangun. Bila seluruh transaksi
tersebut terpecahkan, maka berarti model yang telah dihasilkan telah
memenuhi apa yang diharapan user.
o Menentukan integrity constraints
Tahapan ini bertujuan untuk menentukan integrity constraint. Integrity
constraint itu sendiri merupakan constraint yang kita ingin hilangkan
agar database kita terhindar dari inkonsistensi data. Ada beberapa
integrity constraint yang akan dihilangkan pada tahap ini yaitu bahwa
masing-masing atribut harus selalu memiliki nilai yang valid dan
memiliki batasan-batasan nilai yang bisa diterima sebagai suatu nilai
yang benar. Selain itu ada dua constraint lagi yang harus dihilangkan
yaitu bahwa primary key pada masing-masing entity type tidak boleh
39
bernilai NULL dan bahwa masing-masing foreign key pada entity type
memiliki pasangan nilainya pada parent relation.
o Mengkaji ulang local logical data model dengan user
Tahapan ini bertujuan untuk memastikan bahwa local logical data
model dan supporting documentation yang terbentuk menggambarkan
representasi nyata yang diinginkan oleh user.
2. Membangun dan memvalidasi global logical data model
Langkah ini bertujuan untuk menggabungkan beberapa local logical data
model yang telah terbentuk pada langkah sebelumnya menjadi sebuah
global logical data model yang merepresentasikan perusahaan secara
keseluruhan. Setelah itu, maka model tersebut perlu divalidasi untuk
memastikan kebenaran model yang dihasilkan. Ada beberapa hal yang
dilakukan pada langkah ini yaitu sebagai berikut:
a. Menggabungkan local logical data models ke dalam global model
Tahapan ini bertujuan untuk menggabungkan masing-masing local
logical data model yang telah terbentuk sebelumnya menjadi sebuah
global logical data model.
b. Memvalidasi global logical data model
Seperti yang telah kita lakukan pada masing-masing local logical data
model, maka pada global logical data model ini kita juga akan
memvalidasi relation-relation yang terbentuk pada global logical data
model dengan menggunakan teknik yang disebut normalisasi untuk
40
memastikan bahwa model tersebut mendukung transaksi-transaksi
yang terjadi.
c. Memeriksa untuk perkembangan di masa yang akan datang
Pada tahap ini kita akan menentukan apakah ada perubahan-perubahan
signifikan di masa yang akan datang dan untuk memperkirakan apakah
global logical data model yang terbentuk dapat mengakomodasi
perubahan-perubahan tersebut.
d. Mengkaji ulang global logical data model dengan users
Pada tada tahap ini kita ingin memastikan apakah global logical data
model yang terbentuk adalah representasi sesungguhnya dari
perusahaan.
2.3.3 Physical Database Design
Menurut Connolly-Begg (2005, p497), physical database design adalah suatu
proses menghasilkan sebuah deskripsi dari database pada secondary storage.
Proses ini mendeskripsikan base relation, file organization, dan index yang
digunakan untuk mencapai akses yang efisien pada data dan proses ini juga
berfokus pada integrity constraint serta security. Pada physical database design
terdapat beberapa langkah yang harus dilalui yaitu:
41
1. Translasi global logical data model untuk target DBMS
Langkah ini bertujuan untuk menghasilkan relational database schema
dari global logical data model sehingga dapat diimplementasikan dalam
target DBMS. Ada beberapa tahapan dalam langkah pertama ini meliputi:
a. Design base relations
Tahap ini bertujuan untuk merepresentasikan base relation yang
teridentifikasi dalam global logical data model ke dalam target
DBMS.
b. Design representation of derived data
Tahap ini bertujuan untuk menentukan bagaimana cara
merepresentasikan derived data yang terdapat dalam logical data
model ke dalam target DBMS. Derived data adalah data yang
dihasilkan dari operasi yang dilakukan pada lebih dari satu data
atribut.
c. Design enterprise constraints
Tahap ini bertujuan untuk merancang enterprise contraint pada target
DBMS. Enterprise constraint ini penting untuk dirancang agar data
yang ada pada database kita selalu dalam kondisi valid.
2. Design physical representation
Langkah ini bertujuan untuk menentukan organisasi file yang optimal
untuk menyimpan base relation yang terbentuk dan index-index yang
42
dibutuhkan untuk mencapai performance yang bagus dimana merupakan
cara relation dan tuple disimpan dalam secondary storage. Ada beberapa
faktor penyebab kenapa kita perlu mengukur efisiensi organisasi file.
Pertama adalah bahwa dalam implementasinya, transaksi pada sistem kita
bisa berjumlah sangat banyak dan yang kedua adalah bahwa response time
yang terkait dengan banyaknya transaksi dalam suatu waktu menjadi tolok
ukur keberhasilan aplikasi yang kita buat. Terakhir adalah bahwa kita
harus berusaha meminimalisasi penggunaan disk storage. Ada beberapa
tahap yang harus dilakukan pada langkah ini meliputi:
a. Analisa transaksi
Tahap ini bertujuan untuk mengerti kegunaan dan fungsi dari
transaksi-transaksi yang akan berlangsung pada database dan untuk
menganalisa transaksi-transaksi yang penting. Hal ini penting agar kita
dapat membuat perancangan database yang efektif.
Kegiatan yang dilakukan pada tahap ini di antaranya adalah
memetakan transaction path dari relation. Kemudian setelah itu kita
memperkirakan frekuensi kemunculan record dalam suatu relation
secara rata-rata dan maksimal serta juga memperkirakan frekuensi join
yang akan terjadi antara relation yang satu dengan relation lainnya.
b. Memilih file organizations
Tahap ini bertujuan untuk menentukan organisasi file yang efisien
untuk masing-masing base relation. Tahapan ini terkadang menjadi
tidak terlalu krusial untuk dilakukan karena jarang sekali ditemukan
43
DBMS yang memungkinkan kita untuk mengeset organisasi file dari
DBMS tersebut.
c. Memilih indexes
Tahap ini bertujuan untuk menentukan apakah index diperlukan untuk
meningkatkan performansi sistem. Index dapat meningkatkan
performansi karena index memudahkan DBMS dalam mengambil data
dalam setiap query yang dilakukan.
d. Mengestimasi disk space requirements
Tahap ini bertujuan untuk memperkirakan jumlah disk space yang
diperlukan untuk database kita.
3. Design user views
Langkah ini bertujuan untuk merancang user view yang diidentifikasi
selama proses requirement collection and analysis. View ini penting
artinya dalam kaitannya dengan security karena dengan kita mendesain
view yang berbeda-beda untuk masing-masing kelompok user, maka kita
mencegah user untuk mengakses apa yang tidak seharusnya diakses.
4. Design security measures
Langkah ini bertujuan untuk merancang security sistem dengan maksud
untuk mempertahankan system security dan data security.
44
2.4 Internet
2.4.1 Pengertian Internet:
Internet merupakan singkatan dari interconnection networking, yang berarti
sebuah jaringan computer dalam skala global (international), dimana masing-
masing komputer dapat saling berkomunikasi. Network ini membentuk jaringan
(inter-connected network) yang terhubung melalui protocol tcp/ip. Internet ini
dikembangkan dan diuji coba pertama kali pada tahun 1969 oleh US Department
of Defense dalam proyek ARPAnet.
Istilah INTERNET berasal dari bahasa Latin inter, yang berarti “antara”,
INTERNET berarti jaringan antara atau penghubung. INTERNET berfungsi
untuk menghubungkan berbagai jaringan yang tidak saling bergantung pada satu
sama lain sehingga antara jaringan yang satu dengan jaringan lain dapat
berkomunikasi. Sistem apa yang digunakan pada masing-masing jaringan tidak
menjadi masalah, apakah sistem DOS atau UNIX. Sementara jaringan lokal
biasanya terdiri atas komputer sejenis (misalnya DOS atau UNIX), INTERNET
mengatasi perbedaan berbagai sistem operasi dengan menggunakan “bahasa”
yang sama oleh semua jaringan dalam pengiriman data. Pada dasarnya inilah yang
menyebabkan besarnya dimensi INTERNET. Jadi definisi INTERNET adalah
Internet hubungan antar berbagai jenis komputer dan jaringan di dunia yang
berbeda sistem operasi maupun aplikasinya di mana hubungan tersebut
memanfaatkan kemajuan media komunikasi (telepon dan satelit) yang
menggunakan protokol standar dalam berkomunikasi yaitu protokol TCP/IP.
45
2.4.2 World Wide Web (WWW)
Sering disebut “the WEB”/”W3”, merupakan sistem dalam internet yang
memiliki fasilitas pencarian dan pemberian informasi yang cepat dengan
menggunakan teknologi hypertext.
Sebutan World Wide Web (Web=jaring laba-laba) sangat tepat untuk
menggambarkan struktur data pada jaringan INTERNET. Berbeda dengan
misalnya susunan data logis berstruktur pohon yang dikenal dari DOS. WWW
memungkinkan penanganan atau akses yang jauh lebih fleksibel pada file yang
dikelola.
Di WWW, struktur sumber daya-INTERNET dapat dibandingkan dengan
jaring laba-laba. Bila dilihat polanya, jaringan ini terdiri atas lingkaran-lingkaran
berbagai ukuran yang berpusat pada titik tengah yang sama. Dari titik tengah ini
terbentuk garis-garis penghubung yang tegak lurus pada lingkaran, sehingga
terdapat titik simpul. Bila pada struktur pohon percabangan merupakan jalur
hubungan, pada Web semua garis merupakan penghubung setiap titik simpul yang
mengandung data. Pemilihan disini dilakukan dengan item Hypertext. Pada titik
simpul bisa terdapat sebuah komputer di Internet atau sebuah petunjuk untuk file
tertentu pada sebuah komputer. Hal ini berarti, dengan memilih sebuah item
Hypertext diciptakan hubungan dengan sebuah komputer pada suatu tempat di
dunia, dimana Anda dapat melanjutkan perjalanan atau langsung ke sebuah file
tertentu. “Bahasa” World Wide Web:HTML
Untuk membuat Hypertext, dikembangkan sebuah bahasa pemrograman
khusus yang memungkinkan pengikatan alamat WWW atau file dalam sebuah
dokumen. Sesuai dengan fungsinya, bahasa pemrograman ini disebutHypertext
46
Mark up Language (HTML). File ini biasanya berextention *.html. Agar file yang
berisi Hypertext ini bisa dikirimkan, diperlukan protokol pengiriman data yang
spesifik yang disebut HyperText Transfer Protocol (HTTP).
Untuk menemukan setiap hubungan Hypertext digunakan Uniform Resource
Locator (URL). Karena itu, halaman WWW juga disebut dokumen URL.
2.5 Aplikasi web
Dalam rekayasa perangkat lunak, suatu aplikasi web (bahasa Inggris: web
application atau sering disingkat webapp) adalah suatu aplikasi yang diakses
menggunakan penjelajah web melalui suatu jaringanseperti Internet atau intranet.
Ia juga merupakan suatu aplikasi perangkat lunak komputer yang dikodekan
dalam bahasa yang didukung penjelajah web (seperti HTML, JavaScript, AJAX,
Java, dll) dan bergantung pada penjelajah tersebut untuk menampilkan aplikasi.
Aplikasi web menjadi populer karena kemudahan tersedianya aplikasi klien
untuk mengaksesnya, penjelajah web, yang kadang disebut sebagai suatu thin
client (klien tipis). Kemampuan untuk memperbarui dan memelihara aplikasi web
tanpa harus mendistribusikan dan menginstalasi perangkat lunak pada
kemungkinan ribuan komputer klien merupakan alasan kunci popularitasnya.
Aplikasi web yang umum misalnya webmail, toko ritel daring, lelang daring,
wiki, papan diskusi, weblog, serta MMORPG.
Contoh aplikasi web :
47
Gambar 2.2 Contoh Aplikasi Web
2.6 PHP
2.6.1 Pengertian
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini.
PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak
tertutup kemungkinan digunakan untuk pemakaian lain.
Contoh terkenal dari aplikasi PHP adalah phpBB dan MediaWiki (software di
belakangWikipedia). PHP juga dapat dilihat sebagai pilihan lain
dari ASP.NET/C#/VB.NET Microsoft,ColdFusion Macromedia, JSP/Java Sun
Microsystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks
berupa CMS yang dibangun menggunakan PHP adalah Mambo,Joomla!,
Postnuke, Xaraya, dan lain-lain.
48
2.6.2 Kelebihan PHP
Kelebihan PHP dibanding dengan bahasa pemrograman lain :
Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan
sebuah kompilasi dalam penggunaanya.
Web Server yang mendukung PHP dapat ditemukan dimana - mana dari
mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif
mudah.
Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis
dan developer yang siap membantu dalam pengembangan.
Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah
karena memiliki referensi yang banyak.
PHP adalah bahasa open source yang dapat digunakan di berbagai mesin
(Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime
melalui console serta juga dapat menjalankan perintah-perintah system.
2.7 MYSQL
2.7.1 Pengertian
MySQL adalah sebuah perangkat lunak sistem manajemen basis
data SQL (bahasa Inggris: database management system) atau DBMS
yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh
dunia. MySQL AB membuat MySQL tersedia sebagaiperangkat lunak
gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga
49
menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya
tidak cocok dengan penggunaan GPL.
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak
dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki
oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah
perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir
atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang
mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael
"Monty" Widenius.
2.7.2 Fitur MySQL
Pada seri 3.22 MySQL mulai diadopsi banyak orang dan meningkat populasi
penggunanya, maka di seri 3.23 dan 4.0-lah terjadi banyak peningkatan dari sisi
teknologi. Ini tidak terlepas dari tuntutan pemakai yang semakin mengandalkan
MySQL, namun membutuhkan fitur-fitur yang lebih banyak lagi.
Seri 3.23. Di seri 3.23 MySQL menambahkan tiga jenis tabel baru: pertama
MyISAM, yang sampai sekarang menjadi tipe tabel default; kedua BerkeleyDB,
yang pertama kali menambahkan kemampuan transaksi pada MySQL; dan ketiga
InnoDB, primadona baru yang potensial.
Seri 4.x. Di seri yang baru berjalan hingga 4.0 tahap alfa ini, pengembang
MySQL berjanji akan menjadikan MySQL satu derajat lebih tinggi lagi. Fitur-
fitur yang sejak dulu diminta akan dikabulkan, seperti subselek (di 4.1), union
(4.0), foreign key constraint (4.0 atau 4.1—meski InnoDB sudah menyediakan ini
50
di 3.23.x), stored procedure (4.1), view (4.2), cursor (4.1 atau 4.2), trigger (4.1).
MySQL AB tetap berdedikasi mengembangkan dan memperbaiki MySQL, serta
mempertahankan MySQL sebagai database open source terpopuler.
2.7.3 Keunggulan MySQL
Penyebab utama MySQL begitu popular di kalangan Web adalah karena ia
memang cocok bekerja di lingkungan tersebut. Pertama, MySQL tersedia di
berbagai platform Linux dan berbagai varian Unix. Sesuatu yang tidak dimiliki
Access, misalnya—padahal Access amat popular di platform Windows. Banyak
server Web berbasiskan Unix, ini menjadikan Access otomatis tidak dapat dipakai
karena ia pun tidak memiliki kemampuan client-server/networking.
Kedua, fitur-fitur yang dimiliki MySQL memang yang biasanya banyak
dibutuhkan dalam aplikasi Web. Misalnya, klausa LIMIT SQL-nya, praktis untuk
melakukan paging. Atau jenis indeks field FULLTEXT, untuk full text searching.
Atau sebutlah kekayaaan fungsi-fungsi builtinnya, mulai dari memformat dan
memanipulasi tanggal, mengolah string, regex, enkripsi dan hashing. Yang
terakhir misalnya, praktis untuk melakukan penyimpanan password anggota situs.
Ketiga, MySQL memiliki overhead koneksi yang rendah. Soal kecepatan
melakukan transaksi atau kinerja di kondisi load tinggi mungkin bisa
diperdebatkan dengan berbagai benchmark berbeda, tapi kalau soal yang satu ini
MySQL-lah juaranya. Karakteristik ini membuat MySQL cocok bekerja dengan
aplikasi CGI, di mana di setiap request skrip akan melakukan koneksi,
mengirimkan satu atau lebih perintah SQL, lalu memutuskan koneksi lagi.
51
Cobalah melakukan hal ini dengan Interbase atau bahkan Oracle. Maka dengan
load beberapa request per detik saja server Web/database Anda mungkin akan
segera menyerah karena tidak bisa mengimbangi beban ini.
2.8 Metodologi Perancangan Web Database
Perancangan dari sistem basis data berbasis web, dibandingkan dengan metode
perancangan basis data konvensional, memerlukan 2 buah komplikasi:
1. Perancangan halaman web, meliputi:
a. Representasi data di dalam web, yaitu sebuah cara untuk menampilkan
data di dalam web yang diperoleh dari basis data ataupun melalui proses
input oleh user.
b. Asosiasi data web, yaitu perancangan link atau hubungan untuk navigasi
antara halaman halaman web.
c. Rancangan antar muka web, yaitu merancang fitur fitur yang ingin
dimasukkan ke dalam halaman web termasuk penggunaan grafis, animasi,
dan sebagainya.
2. Perancangan konektivitas antara halaman web dengan basis data yang
digunakan. Fase ini meliputi:
a. Proses pemetaan logical web database, tugasnya adalah mendefinisikan
pemetaan antara data yang ditampilkan di dalam halaman web dengan data
yang disimpan di dalam database.
52
b. Proses pemetaan fisikal web database, tugasnya adalah
mengimplementasikan mekanisme bagaimana data diantarkan ke dalam
halaman web dari database.
Metode perancangan dari basis data berbasis web menghasilkan serangkaian
model yang merepresentasikan data yang disimpan di dalam halaman web, dan
juga data yang ada di dalam database. Seperti halnya database, struktur dari web
database dapat juga direpresentasikan di level abstraksi yang berbeda, sesuai
dengan model konseptual, logical, dan fisikal dari sistem basis data konvensional:
1. Model konseptual web data harus menunjukkan struktur dari informasi yang
ditampilkan di dalam halaman web.
2. Model logical web data harus menunjukkan bagaimana struktur konseptual
diimplementasikan di dalam halaman web.
3. Model fisikal web data harus menunjukkan bagaimana model logical
diimplementasikan.
Selengkapnya, tahapan-tahapan yang harus dilakukan dalam metodologi
perancangan web database adalah sebagai berikut:
1. Melakukan analisis terhadap kebutuhan sistem dimana input dari aktivitas ini
adalah organisasi atau perusahaan itu sendiri dan output dari aktivitas ini
adalah deskripsi dari kebutuhan sistem.
2. Setelah fase analisis sistem selesai dilaksanakan, barulah fase perancangan
logikal web database dilakukan. Selengkapnya mengenai fase ini digambarkan
pada skema berikut ini:
53
Gambar 2.3 : Fase Fase Perancangan Web Database
3. Setelah fase perancangan web database secara logical selesai dilakukan,
tahapan berikutnya adalah fase perancangan web database secara fisikal.
Selengkapnya mengenai fase tersebut akan digambarkan di bawah ini:
Perancangan Database Fisikal Perancangan Web Data Fisikal
Model Web Data Fisikal
Gambar 2.4: Skema Perancangan Web Data Fisikal
54
Perhatikan beberapa tambahan yang dilakukan terhadap metode perancangan
database konvensional:
a. Analisis web data mendefinisikan model konseptual dari informasi yang ingin
ditampilkan di halaman web, seperti informasi yang ingin ditampilkan di
dalam database.
b. Perancangan web data logical, mendefinisikan struktur data dari halaman web,
termasuk link antara satu bagian halaman web dengan bagian yang lain.
c. Perancangan web data fisikal merancang bagaimana halaman web
diimplementasikan dan dikoneksikan dengan sistem basis data.
2.8.1 Pemodelan Konseptual Halaman Web
Analisis web data menghasilkan sebuah model konseptual dari data untuk
ditampilkan di halaman web. Input dari proses ini adalah deskripsi dari kebutuhan
organisasi terhadap sistem dan model konseptual yang dihasilkan dari fase
perancangan database konseptual.
Sebuah sistem web database mendukung aplikasi database melalui interaksi di
antara halaman-halaman web. Maka dari itu, halaman web memiliki peranan yang
sama dengan sebuah view atau model eksternal, yaitu memisahkan bagian dari
database yang relevan terhadap aplikasi dan menyembunyikan sisanya. Seperti
halnya sebuah view atau model eksternal, halaman web untuk sebuah aplikasi
merepresentasikan entitas, hubungan dan atribut sebagai sebuah data.
55
Ketika merancang konten data dari halaman web, penting untuk mengalamatkan
bagaimana sebuah halaman web berbeda dari tabel relasional. Sebagai
konsekuensi, fitur baru harus dimasukkan dalam model konseptual dari halaman
web. Secara spesifik, ada dua aspek dari halaman web yang memerlukan
perluasan dari model hubungan entitas:
1. Link Hypermedia- hypermedia yang diciptakan oleh halaman web secara
eksplisit menyediakan jalur navigasi diantara entitas-entitas yang
berhubungan. Hal ini dapat direpresentasikan di dalam cara konvensional di
dalam diagram hubungan entitas, sebagai hubungan. Namun demikian, garis
hubungan tersebut harus diberikan tanda panah untuk menunjukkan arah dari
setiap link.
2. Konsep spesifik aplikasi web- halaman web itu sendiri merepresentasikan
konsep yang penting untuk pengguna karena menyediakan titik akses ke
dalam hypermedia. Konsep ini terkadang sesuai dengan entitas, hubungan
atau atribut di dalam model konseptual dari database. Kita menggunakan
lambing oval untuk menunjukkan konsep web ini, disebut dengan kotak
konsep.
Nama Konsep
Entitas 1
Entitas 2
Gambar 2.5: Skema Konseptual Halaman Web
56
2.8.2 Analisis Web Data
Analisis web data, seperti halnya analisis data untuk perancangan database,
adalah sebuah proses dimana model konseptual dihasilkan.
Analisis web data mengikuti analisis data, jadi proses ini bisa mengambil input
baik deskripsi organisasi dan kebutuhan sistem serta model konseptual dari
database. Tujuannya adalah menggunakan deskripsi ini untuk menyeleksi dari
model konseptual bagian yang relevan terhadap aplikasi web dan untuk
mengidentifikasi dan menspesifikasi konsep spesifik aplikasi web tambahan dan
hubungan petunjuk.
Tujuan dari pemodelan informasi tersebut antara lain:
1. Kita membangun sebuah pemetaan antara informasi yang ditampilkan di
halaman web dengan yang disimpan di dalam basis data. Juga dengan
mempresentasikan di dalam sebuah bentuk yang diagramatikal, sangat
dimungkinkan untuk menjelaskan dan mengkomunikasikan rancangan
konseptual ini kepada pengguna sistem di masa depan dan memeriksa
validitas rancangan.
2. Kita memeriksa validitas dari basis data dengan penggunaannya di dalam
aplikasi web database. Analisis ini menolong kita untuk mengidentifikasi
informasi yang diperlukan yang terlewatkan dari basis data.
57
3. Model konseptual dari halaman web memberikan kita sebuah dasar untuk
memverifikasi bahwa rancangan detail dan implementasi dari halaman web
sudah benar.
4. Dengan melakukan pendekatan masalah ke dalam tahapan-tahapan , bekerja
dari level konseptual sampai implementasi fisikal, kita menghindari
kompleksitas teknis, seperti rancangan dan implementasi dari fitur halaman
dan mekanisme konektivitas web database. Secara dasar, kita menunda
kompleksitas dari mengimplementasikan sistem web sampai kita mempunyai
pemahaman yang jelas tentang apa yang harus kita implementasikan.
Proses ini dapat dilakukan ke dalam tahapan berikut ini:
Model Database Konseptual
Model ER Web Database
Kebutuhan Sistem Web Database
Model Konseptual Web Database
Ekstraksi Web Data
Analisis Konektivitas Web Database
Gambar 2.6: Skema Analisis Web Data
58
2.8.3 Analisis Konektivitas Web Database
Tugas dari tahapan ini adalah untuk menganalisis deskripsi aplikasi web database
dengan maksud untuk mengidentifikasi titik akses untuk masuk ke dalam sistem,
dan jalur navigasi antara dan di dalam halaman web. Berdasarkan hal ini, maka
modifikasi berikut ini dilakukan ke dalam model konseptual web database:
1. Dimana sebuah titik akses tidak sesuai dengan konsep yang direpresentasikan
di dalam model ER dari halaman web, maka ditambahkan sebagai kotak
konsep.
2. Dimana jalur navigasi diidentifikasi, model ER dianalisa untuk mengecek
apakah ini bersesuaian dengan hubungan. Berdasarkan hal ini, tanda panah
ditambahkan ke dalam garis hubungan di dalam model ER untuk
menunjukkan arah navigasi.
2.8.4 Perancangan Web Data
Di bagian ini, kita mendeskripsikan proses dimana struktur data dari halaman web
ditentukan. Proses ini mengambil input berupa model konseptual web database
dan mendefiniskan sebuah skema untuk setiap halaman web.
2.8.4.1 Skema Halaman Web Logikal.
Sebuah halaman web menyediakan akses kepada sumber web dengan
menampilkan informasi, dan dengan memungkinkan pengguna untuk berinteraksi
dengan halaman. Sebagai contoh, pengguna dapat berinteraksi dengan mengisi
formulir yang ditampilkan dan dengan mengklik di icon atau teks untuk
melakukan eksekusi terhadap proses.
59
Karakteristik dari halaman web memerlukan beberapa fitur tambahan untuk
dimasukkan e dalam bahasa skema logikal konvensional. Secara spesifik, kita
harus mampu mendefinisikan hal-hal berikut ini:
1. Struktur dari halaman yang unik- beberapa halaman dari aplikasi web
database akan mempunyai struktur yang tetap dan konten ketika ditampilkan.
2. Struktur yang sama untuk banyak halaman- terkadang, halaman web dari
sistem web database secara dinamis diciptakan dari data yang diambil dari
database untuk mendeskripsikan entitas yang berbeda. Dus, ada sekumpulan
halaman di dalam sistem web database yang akan memiliki sebuah struktur
yang tetap tetapi dengan nilai data yang berbeda.
3. Links- model halaman web logical harus mampu menampilkan link antar
halaman, karena ini akan menunjukkan asosiasi dan jalur navigasi diantara
data yang ditampilkan di halaman web.
4. Struktur data kompleks- struktur dari halaman web, dalam hal representasi
data, dapat menjadi lebih kompleks dari struktur yang ada di database
relasional. Sebuah tabel relasional dapat memiliki nilai yang sederhana di
kolomnya, tetapi sebuah halaman web dapat berisi field-field dengan
sederetan nilai.
Contoh dari pendeskripsian skema halaman dapat dilihat di bawah ini:
PAGE-SCHEMA HotelChain {
STRING ChainNumber
STRING ChainName
STRING ChainAddress
STRING Telephone
60
STRING Email
LISTOF (Hotel: LINK(STRING HotelAddress;*Hotel))Hotels
}
Representasi grafis dari skema diatas dapat digambarkan berikut ini:
HotelChain
ChainName STRING
ChainAddress STRING
Telephone STRING
Fax STRING
Email STRING
Hotels: LISTOF
HotelAddress: STRING
Gambar 2.7 : Skema Halaman Web
2.9 Diagram Aliran Data (Data Flow Diagram)
Pada saat informasi mengalir melalui perangkat lunak, dia dimodifikasi oleh
suatu deretan transformasi. Diagram aliran data (data flow diagram) adalah
sebuah teknik grafis yang menggambarkan aliran informasi dan transformasi yang
diaplikasikan pada saat data bergerak dari input menjadi output. Bentuk dasar dari
suatu diagram aliran data diilustrasikan pada gambar di bawah ini. DFD juga
dikenali sebagai grafik aliran data atau bubble chart.
61
Gambar 2.8 : Skema DFD
DFD dapat digunakan untuk menyajikan sebuah sistem atau perangkat lunak
pada setiap tingkat abstraksi. Kenyataannya, DFD dapat dipartisi ke dalam
tingkat-tingkat yang merepresentasikan aliran informasi yang bertambah dan
fungsi ideal. Demikianlah, DFD memberikan suatu mekanisme bagi pemodelan
fungsional dan pemodelan aliran informasi.
DFD tingkat 0, disebut juga dengan model sistem fundamentasi atau model
konteks, merepresentasikan seluruh elemen sistem sebagai sebua bubble tunggal
dengan data input dan output yang ditunjukkan oleh anak panah yang masuk dan
keluar secara berurutan. Proses tambahan (bubble) dan jalur aliran informasi yang
direpresentasikan pada DFD tingkat 0 dipartisi untuk mengungkap detail yang
lebih baik. Contohnya, sebuah DFD tingkat 1 dapat dipartisi berisi lima atau enam
bubble dengan anak panah yang saling menghubungkan. Setiap proses yang
direpresentasikan pada tingkat 1 merupakan subfungsi dari seluruh sistem yang
digambarkan dalam model konteks.
62
Notasi dasar yang digunakan untuk menciptakan suatu DFD diilustrasikan di
dalam gambar berikut. Sebuah persegi panjang digunakan untuk
merepresentasikan sebuah entitas eksternal, yaitu sebuah elemen sistem (misalnya
perangkat keras, seseorang, program yang lain) atau sistem yang lain yang
menghasilkan informasi bagi transformasi oleh perangkat lunak atau menerima
informasi yang dihasikan oleh perangkat lunak. Lingkaran merepresentasikan
sebuah proses atau transformasi yang diaplikasikan ke data (atau kontrol) dan
mengubahnya dengan berbagai macam cara. Anak panah melambangkan satu atau
lebih data. Garis dobel merepresentasikan sebuah penyimpanan data – informasi
tersimpan yang digunakan oleh perangkat lunak. Penyingkatan notasi DFD
merupakan satu alasan mengapa teknik analisis terstruktur paling banyak
digunakan.
: Prosedur atau consumer informasi yang ada di
luar bound sistem untuk dimodelkan
: Transfer Informasi (fungsi) yang ada di dalam
bound sistem untuk dimodelkan
: Objek data, anak panah menunjukkan arah
aliran data
Proses
Entiti Eksternal
63
: Repositori data yang disimpan untuk digunakan
oleh satu atau lebih, proses dapat disederhanakan buffer atau queque, atau serumit
database relasional
2.10 Interaksi Manusia dan Komputer
2.10.1 Pengertian Interaksi Manusia dan Komputer
Interaksi manusia dan computer atau human computer interact adalah ilmu
yang mempelajari tentang bagaimana mendesain, mengevaluasi, dan
mengimplementasikan sistem komputer yang interaktif sehingga dapat digunakan
oleh manusia dengan mudah serta studi fenomena-fenomena besar yang
berhubungan dengannya (ACM SIGCHI). Interaksi manusia dan computer
berfokus pada perancangan dan evaluasi pemakai (user interface). Interaksi
adalah komunikasi 2 arah antara manusia (user) dan sistem komputer. Interaksi
menjadi maksimal apabila kedua belah pihak mampu memberikan stimulan dan
respon (aksi & reaksi) yang saling mendukung. Jika salah satu tidak bisa, maka
interaksi akan mengalami hambatan atau bahkan menuju pembiasan tujuan.
2.10.2 Tujuan rekayasa sistem Interaksi Manusia dan Komputer (IMK)
Sistem yang efektif akan menghasilkan rasa keberhasilan, kompetensi,
penguasaan dan kejelasan dalam komunitas pemakai. Tujuan dari rekayasa sistem
Interaksi Manusia dan Komputer (IMK) adalah untuk menghasilkan sistem
dengan (sesuai pendapat Shneiderman, 1998,p9-14):
64
1. Fungsionalitas yang semestinya.
Sistem dengan fungsionalitas yang kurang memadai akan mengecewakan
pemakai dan sering ditolak atau tidak digunakan, sedangkan sistem yang
berlebihan akan menyebabkan kesulitan dalam implementasi, pemeliharaan,
dan penggunaan.
2. Kehandalan, ketersediaan, keamanan, dan itegritas data.
• Kehandalan (reliability), yaitu berfungsi seperti yang diinginkan
• Ketersediaan (availability), yaitu tersedia ketika hendak digunakan
• Keamanan (security), yaitu terlindung dari akses yang tidak diinginkan
dan kerusakan yang disengaja
• Integritas data (data integrity), yaitu keuntuhan data terjamin
3. Standarisasi, integrasi, konsistensim dan portabilitas.
• Standarisasi, yaitu keseragaman sifat-sifat antar muka pemakai pada
aplikasi yang berbeda misalnya dengan menggunakan standar industri
yang ada.
• Integrasi, yaitu keterpaduan antara paket aplikasi dan perangkat lunak
tool.
• Konsistensi, yaitu keseragaman dalam suatu aplikasi.
• Portabilitas, yaitu dimungkinkannya data di komunikasi pada berbagai
perangkat keras dan perangkat lunak.
4. Penjadwalan dan anggaran
Perencanaan yang hati-hati dan manajemen yang berani diperlukan karena
proyek harus sesuai dengan jadwal dari dalam anggaran.
65
2.10.3 Delapan Aturan Emas Perancangan Antar Muka
Menurut Ben Shneiderman (1998, p74), dalam perancangan user interface.
Digunakan 8 aturan emas perancangan atau yang sering kita kenal dengan eight
golden rules, yaitu:
1. Berusaha untuk konsisten
2. Memungkinkan frequent user menggunakan shortcut
3. Memberikan umpan balik yang informative
4. Merancang dialog yang memberikan penutupan
5. Memberikan pencegah kesalahan dan penanganan kesalahan yang sederhana
6. Memungkinkan pembalikan aksi yang mudah
7. Mendukung pusat kendali internal (internal locus of control)
8. Mengurangi beban ingatan jangka pendek
2.10.4 Sepuluh Kesalahan Utama pada Website
Menurut Ben Shneiderman (1998, p74), dalam perancangan website,
seringkali perancang melakukan kesalahan dalam pembuatan designnya. Berikut
ini merupakan 10 kesalahan utama yang sering terjadi dalam pembuatan design
website:
1. Penggunaan frame
2. Penggunaan teknologi baru dengan serampangan
3. Gerakan teks dan animasi yang berjalan terus
4. URL yang kompleks
5. Halaman yatim
6. Navigasi harus tampak dibagian atas
66
7. Kurangnya dukungan navigasi
8. Warna link yang tidak standart
9. Informasi yang tidak up to date
10. Waktu download yang terlalu lama. Pemakai akan kehilangan minat dalam
10-15 detik
2.11 E-learning
Elektronik learning atau belajar dengan bantuan komputer sudah ada sejak
1970. Dengan menggunakan monitor layar hijau melalui sebuah computer
mainframe berkecepatan rendah, tetapi apakah metode tersebut dapat dikatakan
sebagai E-learning. Tentu saja hal tersebut bukan merupakan jawaban yang tepat
mengenai E-learning. Tanpa definisi yang jelas mengenai E-learning, sangatlah
sulit memutuskan benar atau tidak untuk disebut sebagai E-learning.
2.11.1 Pengertian E-learning
Berbagai pendapat telah dikemukan untuk dapat mendefinisikan E-learning
secara tepat. E-learning atau Internet enabled learning menggabungkan metode
pengajaran dan teknologi sebagai sarana dalam belajar. (Dr. Jo Hamilton-Jones)
Menurut(http://elearning.gunadarma.ac.id/index.php?option=com_content&t
ask=view&id=13) ,Sekilas perlu kita pahami ulang apa e-Learning itu
sebenarnya. E-Learning adalah pembelajaran jarak jauh (distance Learning) yang
memanfaatkan teknologi komputer, jaringan komputer dan/atau Internet. E-
Learning memungkinkan pembelajar untuk belajar melalui komputer di tempat
mereka masing-masing tanpa harus secara fisik pergi mengikuti
pelajaran/perkuliahan di kelas. E-Learning sering pula dipahami sebagai suatu
67
bentuk pembelajaran berbasis web yang bisa diakses dari intranet di jaringan lokal
atau internet. Sebenarnya materi e-Learning tidak harus didistribusikan secara on-
line baik melalui jaringan lokal maupun internet, distribusi secara off-line
menggunakan media CD/DVD pun termasuk pola e-Learning. Dalam hal ini
aplikasi dan materi belajar dikembangkan sesuai kebutuhan dan didistribusikan
melalui media CD/DVD, selanjutnya pembelajar dapat memanfatkan CD/DVD
tersebut dan belajar di tempat di mana dia berada.
Ada beberapa pengertian berkaitan dengan e-Learning sebagai berikut :
• Pembelajaran jarak jauh.
E-Learning memungkinkan pembelajar untuk menimba ilmu tanpa harus
secara fisik menghadiri kelas. Pembelajar bisa berada di Semarang, sementara
“instruktur” dan pelajaran yang diikuti berada di tempat lain, di kota lain
bahkan di negara lain. Interaksi bisa dijalankan secara on-line dan real-time
ataupun secara off-line atau archieved.
Pembelajar belajar dari komputer di kantor ataupun di rumah dengan
memanfaatkan koneksi jaringan lokal ataupun jaringan Internet ataupun
menggunakan media CD/DVD yang telah disiapkan. Materi belajar dikelola
oleh sebuah pusat penyedia materi di kampus/universitas, atau perusahaan
penyedia content tertentu. Pembelajar bisa mengatur sendiri waktu belajar,
dan tempat dari mana ia mengakses pelajaran.
• Pembelajaran dengan perangkat komputer
E-Learning disampaikan dengan memanfaatkan perangkat komputer. Pada
umumnya perangkat dilengkapi perangkat multimedia, dengan cd drive dan
68
koneksi Internet ataupun Intranet lokal. Dengan memiliki komputer yang
terkoneksi dengan intranet ataupun Internet, pembelajar dapat berpartisipasi
dalam e-Learning. Jumlah pembelajar yang bisa ikut berpartisipasi tidak
dibatasi dengan kapasitas kelas. Materi pelajaran dapat diketengahkan dengan
kualitas yang lebih standar dibandingkan kelas konvensional yang tergantung
pada kondisi dari pengajar.
• Pembelajaran formal vs. informal
E-Learning bisa mencakup pembelajaran secara formal maupun informal.
E-Learning secara formal, misalnya adalah pembelajaran dengan kurikulum,
silabus, mata pelajaran dan tes yang telah diatur dan disusun berdasarkan
jadwal yang telah disepakati pihak-pihak terkait (pengelola e-Learning dan
pembelajar sendiri). Pembelajaran seperti ini biasanya tingkat interaksinya
tinggi dan diwajibkan oleh perusahaan pada karyawannya, atau pembelajaran
jarak jauh yang dikelola oleh universitas dan perusahaan-perusahaan
(biasanya perusahan konsultan) yang memang bergerak di bidang penyediaan
jasa e-Learning untuk umum. E-Learning bisa juga dilakukan secara informal
dengan interaksi yang lebih sederhana, misalnya melalui sarana mailing list, e-
newsletter atau website pribadi, organisasi dan perusahaan yang ingin
mensosialisasikan jasa, program, pengetahuan atau keterampilan tertentu pada
masyarakat luas (biasanya tanpa memungut biaya).
69
• Pembelajaran yang ditunjang oleh para ahli di bidang masing-masing.
Walaupun sepertinya e-Learning diberikan hanya melalui perangkat
komputer, e-Learning ternyata disiapkan, ditunjang, dikelola oleh tim yang
terdiri dari para ahli di bidang masing-masing, yaitu:
1. Subject Matter Expert (SME) atau nara sumber dari pelatihan yang
disampaikan
2. Instructional Designer (ID), bertugas untuk secara sistematis mendesain
materi dari SME menjadi materi e-Learning dengan memasukkan unsur
metode pengajaran agar materi menjadi lebih interaktif, lebih mudah dan
lebih menarik untuk dipelajari
3. Graphic Designer (GD), mengubah materi text menjadi bentuk grafis
dengan gambar, warna, dan layout yang enak dipandang, efektif dan
menarik untuk dipelajari
4. Ahli bidang Learning Management System (LMS). Mengelola sistem di
website yang mengatur lalu lintas interaksi antara instruktur dengan siswa,
antarsiswa dengan siswa lainnya.
Di sini, pembelajar bisa melihat modul-modul yang ditawarkan, bisa
mengambil tugas-tugas dan test-test yang harus dikerjakan, serta melihat jadwal
diskusi secara maya dengan instruktur, nara sumber lain, dan pembelajar lain.
Melalui LMS ini, siswa juga bisa melihat nilai tugas dan test serta peringkatnya
berdasarkan nilai (tugas ataupun test) yang diperoleh.
E-Learning tidak diberikan semata-mata oleh mesin, tetapi seperti juga
pembelajaran secara konvensional di kelas, e-Learning ditunjang oleh para ahli di
berbagai bidang terkait.
70
Menurut Turban (2005,p118), E-learning ialah proses belajar yang didukung
oleh web, bisa digunakan dalam kelas biasa atau kelas virtual.
E-learning (Vaughan Waller, 2001) adalah proses belajar secara efektif yang
dihasilkan dengan cara menggabungkan penyampaian materi secara digital yang
terdiri dari dukungan dan layanan dalam belajar.
Menurut Matt Comerchero (2006, p1), E-learning adalah salah satu bentuk
pendidikan yang menggabungkan motivasi, komunikasi, efisiensi dan teknologi.
Karena keterbatasan dalam interaksi sosial yang ada siswa harus menjaga
motivasi mereka. Pada dasarnya E-learning membutuhkan komunikasi antar siswa
dengan pembimbing yang cukup sering untuk menyelesaikan tugas yang
diberikan. E-learning cukup efisien dengan menghilangkan jarak dan kendala
lainnya. Jarak dapat dieliminasi karena isi E-learning didesain dengan media yang
dapat diakses dengan perangkat yang terhubung dengan internet
2.11.2 Tipe E-learning
Menurut Matt Commerchero (2006,p1), E-learning dapat dibedakan jenisnya
berdasarkan 4 hal, yaitu:
• Jalan berkomunikasi : terdapat berbagai jenis cara setiap individu untuk
berkomunikasi dengan sesamanya ataupun dengan pembimbingnya.
• Schedule : menurut schedule terjadinya, E-learning dapat
dibedakan menjadi 2, yaitu:
71
Syncronous
Disebut synchronous ketika komunikasi berbasis real-time
diimplementasikan dalam E-learning seperti video conference,
teleconference, dan on-line chat.
Asyncronous
Asyncronous mengindikasikan bahwa komunikasi yang terjadi
tidak membutuhkan response saat itu juga. Contoh dari E-learning
Asyncronous adalah email, threaded discussion, dan on-line forum.
• Struktur kelas E-learning
• Teknologi
Menurut Clark (2003,p28-30), ada beberapa tipe E-Learning berdasarkan
materi pembelajarannya, yaitu:
• Pembelajaran sebagai proses perolehan informasi (Learning as
information acquisition)
Berdasarkan sudut pandang perolehan informasi, pembelajaran berkaitan
dengan proses menambahkan informasi kedalam memori seseorang. Tugas
dari pengajar adalah menyampaikan materi dan tugas dari pelajar adalah
untuk menerima informasi tersebut. Materi pembelajaran yang dibuat
berdasarkan sudut pandang ini biasanya menyediakan informasi melalui
berbagai media tetapi memiliki kemungkinan yang besar membuat sistem
kognitif pelajar jadi berfungsi berlebihan dan juga tidak menyediakan
peluang untuk belajar melalui latihan praktek. Materi seperti ini sangat
umum dalam E-Learning yang dirancang untuk menginformasikan dan
bukan untuk mencapai tujuan.
72
• Pembelajaran sebagai penguat respon (Learning as response
strengthening)
• Pembelajaran sebagai pembentuk pengetahuan atau ilmu (Learning as
knowledge construction)
Three Types of E-Learning
Type Built Lessons That Used For
Receptive:
Information
Acquisition
Include lots of information
with limited practice
opportunities
Inform Goals
Directive:
Response
Strengthening
Require frequent responses
from learners with
immediate feedback
Perform-Prosedure
Goals
Guided Discovery:
Knowledge
Construction
Provide job-realistic
problems dan supporting
resources
Perform- Principles
Goals
Tabel 2.2 Tiga Tipe dari E-Learning
2.11.3 Komponen
Berbagai komponen yang terdapat dalam sistem E-learning
• Soal-soal: materi dapat disediakan dalam bentuk modul, adanya soal-soal
yang disediakan dan hasil pengerjaannya dapat ditampilkan. Hasil tersebut
dapat dijadikan sebagai tolak ukur dan pelajar mendapatkan apa yang
dibutuhkan
73
• Komunitas: para pelajar dapat mengembangkan komunitas online untuk
memperoleh dukungan dan berbagi informasi yang saling menguntungkan.
• Pengajar online : para pengajar selalu online untuk memberikan arahan
kepada para pelajar, menjawab pertanyaan dan membantu dalam diskusi.
• Kesempatan bekerja sama : Adanya perangkat lunak yang dapat mengatur
pertemuan online sehingga belajar dapat dilakukan secara bersamaan atau
real time tanpa kendala jarak.
• Multimedia : penggunaan teknologi audio dan video dalam penyampaian
materi sehingga menarik minat pelajar dalam belajar.
2.11.4 Keuntungan E-learning
Jolliffe, Ritter, Stevans (2001) menjabarkan beberapa keunggulan internet
(www) dalam menyampaikan materi pembelajaran, yaitu:
1. Increased client base
Dengan menempatkan materi pembelajaran pada web, maka dapat
meningkatkan jumlah pengguna (user)
2. Increased learner accessability
Bahan pengajaran, tugas, tanggapan (feed back) terhadap pertanyaan pada
sebuah diskusi yang diberikan pengajar atau fasilitator dapat disimpan
dalam sebuah server, sehingga para pelajar dapat mengakses secara
langsung ke server untuk mendapatkan materi terbaru, mengumpulkan
tugas, bertanya atau berdiskusi. Dengan demikian pengaksesan terhadap
situs lebih sering dilakukan oleh para pelajar
3. Ease of ipdating the learning materials
74
Dengan menggunakan software yang mendukung E-learning, maka
memungkinkan para pengajar memberikan materi, tugas dan bahan diskusi
secara cepat.
4. Platform independence
Seluruh materi pembelajaran yang disimpan di server dapat di akses oleh
pengajar maupun pelajar dengan menggunakan web browser yang
berbeda-beda (contoh: internet explorer, firefox, opera, netscpae) dan
menggunakan sistem operasi yang berbeda pula (contoh: linux, windows,
mac, dan lain-lain).
5. Increased learner effectiveness
Perubahan paradigm dari Teacher Centered Teaching menjadi Student
Centered Learning. Pembelajaran konvensional menempatkan seorang
pengajar menjadi sumber informasi yang memberikan materi kepada
seluruh pelajar yang datang untuk mendengarkan. Sedangkan pada
pembelajaran E-learning, seorang pelajar akan menjadi pusat
pembelajaran, dimana pelajar lebih banyak aktif dalam mencari informasi
yang berkaitan dengan materi yang dipelajarinya.
6. Administrative support
Web juga dapat digunakan untuk mendukung electronic bulletin boards
dan fasilitas diskusi lainnya yang memungkinkan pengguna mengikuti
perubahan materi dengan cepat. Selain itu web juga dapat digunakan
untuk mendistribusikan hasil ujian, nilai ahir, waktu pelaksanaan, dan
informasi lainnya.
7. Resource and reference
75
Pencarian informasi dapat dilakukan dengan menggunakan program index
dan utility, memungkinkan semua pengguna mempunyai hak akses yang
sama.
8. Increased learner expectations
Penggunaan Teknik Informatika dalam bidang pendidikan tentunya akan
memberikan manfaat dan nilai tambah bagi pelajar maupun pengajar
9. Changing nature of knowledge
Perkembangan ilmu pengetahuan sangat cepat sekali, sehingga apa yang
diajarkan saat ini dapat tidak terpakai lima tahun kemudian. Ini berarti
dibutuhkannya pembelajaran yang kontinyu, dengan adanya E-learning hal
tersebut dapat menjadi mudah dilakukan. Karena dengan E-learning
pelajar dapat mengakses smua bahan dan data-data yang up to date.
10. Increase competition
Dengan pemanfaatan teknologi internet untuk pembelajaran, lokasi dan
institusi pendidikan tidak lagi menjadi hal yang penting.
Menurut Effendi dan Zhuang (2005,p9), keuntungan dalam E-learning adalah:
• Biaya
Kelebihan pertama E-learning adalah mampu mengurangi biaya pelatihan
• Fleksibilitas waktu
E-learning membuat karyawan atau pelajar dapat menyesuaikan waktu
belajar
• Fleksibilitas tempat
Adanya E-learning membuat para pelajar tidak perlu pergi jauh ke ruang
kelas lain (misal tempat bimbingan belajar). Mereka hanya perlu ke
76
laboratorium computer sekolah, dimana E-learning tersebut di-install
untuk mengikuti tambahan pelajaran.
• Fleksibilitas kecepatan pembelajaran
Dengan menggunakan E-learning maka siswa dapat mengatus kecepatan
belajarnya.
• Standarisasi pengajaran
Dengan E-learning, pembelajaran selalu memiliki kualitas yang sama
setiap kali di akses dan tidak bergantung pada suasana hati pengajar.
• Efektivitas pengajaran
Penyampaian pelajaran E-learning dapat berupa simulasi dan kasus-kasus,
menggunakan bentuk permainan dan menerapkan teknologi animasi
canggih. Dengan begitu bisa membantu proses pembelajaran dan
mempertahankan minat belajar.
• Kecepatan distribusi
E-learning dapat cepat melakukan perubahan materi pelatihan,
administrator hanya perlu mengubah di server E-learning, tanpa
mendatangi semua kantor cabang.
• Ketersediaan On-Demand
Karena E-learning dapat sewaktu-waktu diakses, anda dapat
menganggapnya sebagai “buku saku” yang membantu pekerjaan setiap
saat.
• Otomatisasi proses administrasi
E-learning menggunakan suatu Learning Management System (LMS)
yang berfungsi sebagai platform pelajaran-pelajaran E-learning. LMS
77
berfungsi pula menyimpan data-data pelajar, pelajaran, dan proses
pembelajaran yang berlangsung
Menurut Kristy DelVecchio dan Megan Loughney (2006,p5), E-learning sangat
berguna bagi pendidikan dan perusahaan serta untuk semua tipe pelajar. E-
learning sangat terjangkau, menghemat waktu, dan memiliki hasil yang dapat
diukur. E-learning mempunyai berbagai keuntungan, yaitu:
• Mengurangi biaya : E-learning lebih hemat disbanding dengan cara belajar
tradisional karena menghemat waktu dan uang yang dihabiskan saat dalam
transportasi. E-learning dapat diakses dari berbagai lokasi dan tidak ada
biaya transportasi sama sekali, E-learning lebih hemat dibandingkan
dengan cara belajar tradisional. Selain itu E-learning juga mengurangi
biaya untuk membeli buku-buku(teks book) karena biasanya dalam E-
learning bahan pelajaran dapat dilihat melalui e-book.
• Fleksibilitas: E-learning memiliki kelebihan karena E-learning dapat
diakses dari mana saja dan kapan saja. Pendidikan tersedia kapanpun dan
dimanapun dibutuhkan. E-learning dapat digunakan di kantor, rumah,
jalan, dan dalam waktu 24 jam sehari serta 7 hari dalam seminggu. E-
learning juga memiliki pengukuran terhadap hasil belajar yang dapat
dibuat agar instruktur dan pelajar dapat mengetahui apa saja yang dapat
dipelajari, kapan mereka akan menyelesaikan pelajarannya dan bagaimana
hasil yang telah mereka capai.
• Pelajar sangat menyukai E-learning karena mengakomodir cara belajar
yang berbeda. Pelajar bisa mengambil keuntungan belajar sesuai dengan
jadwal kesibukan mereka. Apabila pelajar bekerja maka ia masih dapat
78
bekerja dengan E-learning. Apabila pelajar menginginkan waktu belajar di
malam hari, maka ia pun dapat menggunakannya di malam hari.
2.11.5 Kekurangan E-learning
Disamping kelebihannya ternyata E-learning juga memiliki kekurangan, menurut
Effendi dan Zhuang (2005,p15), kekurangan dalam E-learning adalah:
• Budaya
Penggunaan E-learning menuntuk budaya self-learning, dimana seseorang
memotivasi diri sendiri agar mau maju.
• Investasi
Walaupun E-learning menghemat banyak biaya, tetapi suatu organisasi
harus mengeluarkan investasi awal cukup besar untuk mulai
mengimplementasikan E-learning. Investasi dapat berupa biaya desain dan
pembuatan program LMS, paket pembelajaran, dan biaya-biaya lain,
seperti promosi dan change management system.
• Teknologi
Karena teknologi yang digunakan beragam, ada kemungkinan teknologi
tersebut tidak sejalan dengan yang sudah ada dan terjadi konflik teknologi
sehingga E-learning tidak berjalan baik. Contoh: E-learning hanya dapat
dijalakan di browser internet explorer, dan tidak dapat digunakan di
browser lainnya.
• Infrastruktur
79
Internet belum menjangkau semua kota di Indonesia. Layanan broadband
baru ada di kota-kota besar. Akibatnya, belum semua orang atau wilayah
yang dapat merasakan E-learning dengan internet
• Materi
Ada beberapa materi yang tidak dapat diajarkan melalui E-learning seperti
olah raga dan instrument music. Akan tetapi E-learning dapat digunakan
untuk memberikan dasar-dasar pelatihan sebelum masuk kedalam praktik.
Menurut Kristy DelVecchio dan Megan Loughney (2006,p5) kekurangan dari E-
learning yaitu:
• Pelajar harus memiliki akses ke computer dan internet
• Pelajar juga harus memiliki ketrampilan computer dengan programnya,
seperti program word processing, internet browser, dan e-mail.
• Koneksi internet yang baik, karena sangat dibutuhkan dalam pengambilan
materi pelajaran.
• Dengan tidak adanya rutinitas yang ada di keas tradisional maka pelajar
mungkin akan berhenti belajar atau bingung mengenai kegiatan belajar
dan tenggat waktu tugas yang dapat membuat pelajar gagal.
• Pelajar akan merasa sangat jauh dari instruktur. Karena instruktur tidak
selalu ada untuk membantu pelajar, sehingga pelajar harus disiplin dan
mengerjakan tugas secara mandiri tanpa bantuan instruktur.
• Pelajar juga harus memiliki kemampuan menulis dan kemampuan
komunikasi yang baik. Karena pelajar dan instruktur tidak bertatap muka
sehingga memungkinkan terjadinya salah pengertian dalam beberapa hal.