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 Planning
System definition
Requirement collection and analysis
Database design
Conceptual database Design DBMS selection (optional)
Logical database Design
Application design (optional)
Physical database Design
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.
4.
Kombinasi dari kedua jenis pendekatan tersebut 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 lowerlevel 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: Minimum
Maximum
Instance
Instance
Interpretasi Karidinaliti Tepat satu (satu dan hanya satu):
nilai
minimum
dan 1
1
maksimum adalah satu (1) Nola tau satu: nilai minimum adalah 0 dan nilai maksimum 0
1
adalah 1. Satu atau lebih: nilai minimum adalah 1 dan nilai maksimum 1 adalah banyak (>1)
Lebih (>1)
26
Nol, satu, atau lebih: nilai minimum adalah 1 dan nilai 0
Lebih (>1)
maksimum adalah banyak (>1) Lebih dari satu : nilai minimum dan maksimum adalah >1 (lebih >1
>1
dari 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 proyeksiproyeksiny 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 masingmasing 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
Postnuke, Xaraya, dan lain-lain.
menggunakan
PHP
adalah Mambo,Joomla!,
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 data SQL (bahasa
sebuah perangkat Inggris: database
lunak sistem
management
system)
manajemen basis 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. Fiturfitur 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.
Entitas 1
Nama Konsep
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: Kebutuhan Sistem Web Database
Model Database Konseptual
Ekstraksi Web Data
Model ER Web Database
Analisis Konektivitas Web Database
Model Konseptual 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.
Entiti Eksternal
: Prosedur atau consumer informasi yang ada di luar bound sistem untuk dimodelkan
Proses
: Transfer Informasi (fungsi) yang ada di dalam bound sistem untuk dimodelkan
: Objek data, anak panah menunjukkan arah aliran data
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. ELearning 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 online 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, enewsletter 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
Receptive:
Include lots of information Inform Goals
Information
with
Acquisition
opportunities
Directive:
Require frequent responses Perform-Prosedure
Response
from
Strengthening
immediate feedback
Guided Discovery:
Provide
Knowledge
problems dan supporting Goals
Construction
resources
limited
Used For
practice
learners
with Goals
job-realistic Perform- Principles
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. Elearning 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 Elearning 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. Elearning 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 Elearning 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.