bab 2 landasan teori 2.1 teori database 2.1.1...

71
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

Upload: phamphuc

Post on 16-Apr-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

 

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.