BAB 2 LANDASAN TEORI
2.1 Teori Umum 2.1.1
Pengertian Dasar Sistem Basis Data Data adalah fakta atau observasi tentang transaksi suatu bisnis. Selain itu,
data juga merupakan pengukuran objektif terhadap atribut pada suatu entitas seperti orang, tempat, benda, dan kejadian (O’Brien, 2003, p4). Dapat disimpulkan bahwa data adalah fakta tentang transaksi bisnis yang dapat disimpan dapat digunakan kapan saja untuk berbagai kepentingan yang akan datang. Sistem basis data juga dapat diartikan sebagai serangkaian program komputer yang mengendalikan pembuatan, pemeliharaan, dan pemanfaatan basis data sebagai sebuah organisasi (O’Brien, 2003, p5). Basis data adalah sebuah kumpulan data yang terhubung secara logikal dan sebuah deskripsi tentang data tersebut yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi (Connoly, 2005, p15).
2.1.2
Database Management System (DBMS) Sistem
memungkinkan
basis
data
pengguna
merupakan
sistem
mendefinisikan,
perangkat
membuat,
lunak
memelihara
yang dan
mengendalikan akses ke database (Connoly, 2005, p16). Biasanya DBMS menyediakan fasilitas sebagai berikut :
8
9 a)
Data Manipulation Language (DML), memungkinkan user untuk menyisipkan, meng-update, menghapus dan menerima data dari basis data dengan menciptakan fasilitas permintaan data umum yang disebut query language.
b) Data
Definition
Language
(DDL),
memungkinkan
user
untuk
mendefinisikan basis data, tipe dan struktur data, serta memberi batasan pada data untuk disimpan dalam basis data.
2.1.3
Normalization (Normalisasi) Menurut Connolly dan Begg (2005, p.388), normalisasi adalah sebuah
teknik untuk menghasilkan sebuah kumpulan dari relasi-relasi dengan atributatribut yang diinginkan, yang berdasarkan kebutuhan-kebutuhan data sebuah perusahaan. Tahapan normalisasi menurut Connoly dan Begg (2005, p.401), adalah sebagai berikut : a. Unnormalized (UNF), sebuah tabel yang berisi satu atau lebih grup yang berulang. Yang dimaksud grup yang berulang itu adalah atributatribut yang multivalued. b. Normalisasi pertama (1NF), menghilangkan perulangan. Sebuah relasi dimana setiap baris dan kolom hanya berisi satu nilai saja. Bentuk normal pertama ini, dicapai apabila setiap nilai atribut adalah tunggal. Kondisi ini dapat diperoleh dengan melakukan eliminasi terhadap terjadinya data ganda (repeating groups). Pada kondisi normal pertama ini kemungkinan masih terjadi adanya data rangkap.
10 c. Normalisasi kedua (2NF), bentuk ini mempunyai syarat yaitu data harus memenuhi kriteria 1NF dan setiap data barang yang bukan key harus bertanggung secara fungsional pada primary key-nya. Bentuk normal kedua adalah berdasarkan konsep ketergantungan fungsional penuh (full functional dependency). Full Functional dependency dinyatakan jika A dan B adalah atribut dari suatu relasi, B adalah fungsional ketergantungan penuh (full functional dependency) pada A jika B adalah secara fungsional bergantung pada A, tetapi bukan 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 pada primary key. d. Normalisasi ketiga (3NF), sebuah relasi dalam bentuk normal bentuk normal pertama dan kedua serta setiap atribut bukan key yang bergantung secara transitif kepada bukan key juga. Bentuk normal ketiga adalah 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 dependent pada A melewati B (menyatakan bahwa A bukan functional dependent pada B atau C). Pada bentuk normal ketiga, sebuah relasi pada bentuk normal pertama dan kedua serta dimana tidak ada atribut non-primary key secara transitif bergantung (transitively dependent) pada primary key.
11 2.1.4
Siklus Hidup Aplikasi Database (Database Application Lifecycle) Berikut ini merupakan diagram tahap-tahap siklus hidup aplikasi basis data, antara lain:
Gambar 2.1 Database Application Lifecycle (Sumber: Connoly and Berg, 2005, p.284)
12 2.1.4.1
Database Planning (Perencanaan Database) Mengatur atau merencanakan aktivitas-aktivitas dengan mengikuti
langkah-langkah dari aplikasi database dan diterapkan seefektif dan seefisien mungkin. Ada tiga masalah pokok yang harus diperhatikan dalam merumuskan strategi sistem informasi, yaitu : a. Mengidentifikasi rencana dan tujuan perusahaan dengan menentukan sistem informasi yang diperlukan. b. Mengevaluasi sistem informasi yang ada untuk melihat kelebihan dan kekurangannya. c. Penilaian mengenai peluang IT yang mungkin dapat menghasilkan keuntungan yang kompetitif.
2.1.4.2
System Definition (Definisi Sistem) System Definition mendeskripsikan ruang lingkup dari aplikasi
database yang akan dibuat termasuk user views dan tempat aplikasi database diterapkan.Menurut O’Brien (2001, p.8), konsep dari system dapat membantu di dalam mengerti tentang teknologi, aplikasi, pembangunan dan manajemen.
2.1.4.3
Requirement Collection and Analysis (Pengumpulan
Kebutuhan dan Analisis) Proses mengumpulkan dan menganalisa kebutuhan-kebutuhan user. Langkah ini melibatkan pengumpulan dan analisa dari informasi tentang bagian dari perusahaan. Ada banyak teknik untuk memperoleh
13 informasi, yang disebut fact finding techniques. Informasi yang dikumpulkan mencakup : a. Deskripsi tentang data yang digunakan. b. Keterangan secara lengkap bagaimana data tersebut digunakan. c. Kebutuhan tambahan lainnya untuk aplikasi data yang baru. Informasi ini kemudian akan dianalisa untuk mengidentifikasikan kebutuhan yang tercakup dalam aplikasi database yang baru.
2.1.4.4
Database Design (Desain Database) Proses dalam membuat suatu design untuk database yang didukung
sistem operasi yang ada di perusahaan tersebut. Dalam bagian ini terdapat tiga tahap dalam merancang suatu database yaitu conceptual design, logical design, physical design. Tahap-tahap ini akan dijelaskan di sub bab berikutnya.
2.1.4.5
DBMS Selection (Pemilihan DBMS) Merupakan pemilihan suatu DBMS yang tepat untuk mendukung
aplikasi basis data.
2.1.4.6
Application Design (Desain Aplikasi) Merupakan perancangan user interface dan program aplikasi yang
menggunakan dan memproses basis data.
14 2.1.4.7
Prototyping (Bentuk Dasar) Membangun suatu model kerja dari aplikasi database. Tujuan utama
mengembangkan suatu prototype aplikasi database adalah mengizinkan user untuk menggunakan prototype guna mengidentifikasikan model sistem, apakah bekerja dengan baik dan jika mungkin meningkatkan model baru pada aplikasi database. Ada dua strategi yang digunakan saat ini yaitu requirement prototyping
dan
evolutionary
prototyping.
Requirement
prototyping
digunakan untuk menentukan kebutuhan suatu aplikasi database yang diusulkan dan ketika kebutuhan terhadap suatu aplikasi database tidak lengkap, maka prototype tersebut tidak digunakan lagi. Evolutionary prototyping digunakan untuk tujuan yang sama, perbedaaan yang mendasar adalah bahwa prototype tidak dibuang tetapi dengan pengembangan lebih lanjut, prototype tersebut bekerja sama dengan aplikasi database.
2.1.4.8
Implementation (Implementasi) Implementasi merupakan realisasi secara fisik dari database dan
desain aplikasi. Implementasi basis data menggunakan DDL untuk menciptakan struktur basis data dan mengosongkan file yang terdapat dalam basis data tersebut.
15 2.1.4.9
Data Conversion and Loading (Perubahan dan Pengambilan
Data) Pemindahan data yang ada dalam basis data yang baru dan mengubah aplikasi yang sedang berjalan agar dapat digunakan dalam basis data yang baru. Langkah ini diperlukan hanya ketika suatu sistem basis data baru sedang menggantikan suatu sistem basis data yang lama.
2.1.4.10
Testing (Pengujian)
Testing adalah suatu proses melaksanakan program aplikasi dengan tujuan menemukan kesalahan. Sebelum diterapkan dalam suatu sistem, basis data harus dilakukan testing terlebih dahulu. Untuk merencanakan suatu test dan data yang realistis, sedemikian sehingga keseluruhan proses pengujian sesuai dengan metode dan dilaksanakan sesuai aturan yang ada.
2.1.4.11
Operational Maintenance (Perawatan Operasional)
Suatu proses untuk memonitor dan merawat sistem setelah instalasi. Dalam langkah-langkah sebelumnya, aplikasi basis data telah secara penuh diterapkan dan diuji. Sistem sekarang pindah ke suatu langkah pemeliharaan, yang melibatkan aktifitas berikut : a. Monitoring performance dari sistem. Jika performance jatuh dibawah suatu tingkatan yang bisa diterima, penyetelan atau reorganisasi basis data mungkin diperlukan. b. Maintaining dan meningkatkan mutu aplikasi basis data (ketika diperlukan). Kebutuhan baru disatukan ke dalam aplikasi data dengan
16 mengikuti
langkah-langkah
sebelumnya
yang
terdapat
dalam
database lifecycle.
2.1.5
Conceptual, Logical, and Physical Database Design (Perancangan
Basis Data Konseptual, Logikal, dan Fisikal) Menurut Connolly (2005, p293), metode yang dilakukan dalam tahap database design pada database application lifecycle adalah sebagai berikut :
2.1.5.1
Conceptual Database Design ( Desain Basis Data Konseptual) Langkah awal dalam conceptual database adalah dengan membuat
model data secara konseptual dari perusahaan yang bersangkutan. Data tersebut merupakan informasi-informasi mengenai perusahaan. Data yang ada dikembangkan dengan representasi secara konseptual yang mencakup mengidentifikasi entity, relationship, dan atribut yang sangat penting dalam perancangan basis data tersebut.
2.1.5.2
Logical Database Design ( Desain Basis Data Logikal) Dalam logical database design, model data yang telah diperoleh
dalam conceptual database design diubah dalam bentuk logical model dimana data yang ada dipengaruhi oleh model data yang menjadi tujuan basis data (database). Hal ini dilakukan untuk menerjemahkan representasi konseptual ke dalam bentuk struktur logic dalam database. Logical data model merupakan sumber informasi dalam merancang physical database.
17 Logical database design memberikan sarana yang membantu perancang dalam merancang physical database.
2.1.5.3
Physical Database Design ( Desain Basis Data Fisikal) Physical database design dilakukan untuk memutuskan struktur logic
secara fisik diimplementasikan ke dalam tujuan Database Management System (DBMS), para perancang juga harus membuat keputusan mengenai bagaimana basis data (database) tersebut dapat diimplementasikan / diterapkan dalam perusahaan. Oleh karena itu, physical database design harus disesuaikan dengan DBMS yang spesifik. Terdapat hubungan antara physical database design untuk meningkatkan kinerja dari basis data tersebut dapat mempengaruhi logical data model.
2.1.6
Entity Relation Modelling Salah satu bagian yang sulit dalam perancangan basis data adalah suatu
fakta bahwa para perancang, pembuat-pembuat program, dan end user cenderung melihat data dan menggunakannya cara-cara yang berbeda. Kecuali kalau diperoleh sebuah pemahaman sama yang mencerminkan bagaimana suatu perusahaan beroperasi, suatu perancangan yang dihasilkan akan gagal untuk memenuhi kebutuhan-kebutuhan user. Untuk menyakinkan bahwa didapatkan sebuah pemahaman yang tepat dari suatu data dan bagaimana data tersebut digunakan oleh suatu perusahaan, sudah seharusnya mempunyai sebuah model untuk membuat komunikasi yang non teknikal dan tidak bersifat ambigu. Entity-
18 Relationship (ER) adalah salah satu contohnya. Entity Relationship (ER) Model berdasarkan Connoly (2002, p343-344) memiliki beberapa konsep dasar yaitu :
2.1.6.1
Entity types Menurut Connolly (2005, p.343), adalah sekumpulan object dengan
property sama, yang diidentifikasi oleh perusahaan sebagai independent existence. Setiap objek yang dapat diidentifikasi secara unik dari jenis entitas dikenal sebagai entity occurrence. Contoh-contoh entity type adalah Staff, Branch.
Gambar 2.2 Notasi Entity Type Staff and Branch (Sumber: Connoly and Berg, 2005, p.345)
2.1.6.2
Relationship types Relationship type adalah sekumpulan asosiasi / hubungan diantara
satu atau lebih type entity. Masing-masing tipe relasi diberikan nama yang mendeskripsikan fungsi relasi. Pemodelan
ER
adalah
sebuah
pendekatan
top-down
untuk
perancangan basis data yang dimulai dengan mengindentifikasi suatu data penting yang disebut entitas-entitas dan relationships diantara suatu data
19 yang harus direpresentasikan dalam suatu model. Lalu tambahkan perincianperincian lagi seperti suatu informasi yang ingin diambil tentang suatu entitas-entitas dan relationships yang disebut atribut-atribut dan batasanbatasan yang lain pada suatu entitas-entitas, relationships, dan atribut-atribut. Berikut ini adalah notasi Entity-Relationship Modelling menurut Connolly (2005,p.343):
Gambar 2.3 Notasi Entity Relationship Modelling
2.1.6.3
Atribut, jenis-jenis Atribut dan Keys Atribut adalah property dari sebuah entity atau tipe relationship.
Atribut bisa diklasifikasikan menjadi beberapa jenis yaitu : a. Simple dan Composite attributes Simple attribut adalah atribut yang terdiri dari komponen tunggal dengan independent existence. Composite attributes adalah atribut yang terdiri dari banyak komponen, masing-masing dengan independent existence. b. Single-valued dan Multi-valued attributes Single-valued attribute adalah atribut yang menampung suatu nilai untuk masing-masing occurrence dari sebuah tipe entity.
20 Multi-valued attribute adalah sebuah atribut yang menampung banyak nilai untuk masing-masing occurrence dari sebuah tipe entity. c. Derived attributes Derived attributes adalah sebuah atribut yang merepresentasikan nilai yang dapat diturunkan dari nilai related attribute atau sekumpulan atribut, tidak harus di dalam jenis kesatuan yang sama. Atribut memiliki beberapa key yang bisa diklasifikasikan sebagai berikut: a. Candidate Key Candidate Key adalah minimal set dari atribut yang secara unik mengidentifikasi masing-masing occurrence dari sebuah tipe entity b. Primary Key Primary
Key
adalah candidate
key
yang
dipilih
untuk
mengidentifikasikan secara unik masing-masing occurrence dari sebuah tipe entity. c. Composite Key Composite Key adalah candidate key yang terdiri dari dua atau lebih atribut.
2.1.6.4
Structural Constraints Pengertian Multiplicity adalah sejumlah kemungkinan kejadian-
kejadian dari sebuah tipe entitas didalam sebuah hubungan n-nary ketika nilai-nilai yang lain (n-1) ditentukan. Multiplicity biasanya terdiri dari dua batasan terpisah, yaitu :
21 a. Cardinality : Mendeskripsikan jumlah maksimum dari kemungkinan kejadian-kejadian yang saling berhubungan untuk sebuah partisipasi entitas dalam proses penentuan tipe relationship. b. Participation: Menentukan apakah semua kejadian entitas akan ikut berpartisipasi dalam sebuah relationship atau hanya beberapa saja yang ikut berpatisipasi. Jenis-jenis multiplicity adalah: a. One-to-One (1:1) Relationships
Gambar 2.4 One-to-One Relationships Pada gambar dapat dilihat bahwa A hanya terhubung One-to-One (1 : 1) dengan C, dan B hanya terhubung One-to-One (1 : 1) dengan D. Jadi dari gambar tersebut dapat dituliskan notasi multiplicity-nya dengan gambar di bawah ini.
Gambar 2.5 Notasi One-to-One Relationships
22 b. One-to-Many (1:*) Relationships
Gambar 2.6One to Many Relationships Pada gambar dapat dilihat bahwa B terhubung One-to-Many (1 : *) dengan D dan E. Jadi dari gambar tersebut dapat dituliskan notasi multiplicity-nya dengan gambar di bawah ini.
Gambar 2.7 Notasi One-to-Many Relationships
c. Many-to-Many (*:*) Relationships
Gambar 2.8 Many-to-Many Relationships
23 Pada gambar, dapat dilihat bahwa A terhubung One-to-Many (1 : *) dengan A dan B. Jadi dari entitas Group 1 (value-nya A dari gambar di atas) dan Group 2 (value-nya E dari gambar di atas) terhubung Many-to-Many (* : *). Dari gambar tersebut dapat dituliskan notasi multiplicity-nya dengan gambar di bawah ini.
Gambar 2.9 Notasi Many-to-Many Relationships
2.1.7
Alat Bantu Analisis dan Perancangan Sistem
2.1.7.1
Data Flow Diagram (DFD) Data Flow Diagram (DFD) adalah suatu gambaran grafis dari
suatu sistem yang menggunakan sejumlah bentuk-bentuk simbol untuk menggambarkan bagaimana data mengalir melalui suatu proses yang saling berkaitan (McLeod, 2001, p316). DFD hanya terdiri dari 4 macam simbol, seperti pada tabel 2.1 di bawah ini :
24 Tabel 2.1 Simbol DFD Simbol
Nama
Arti Proses
:
menggambarkan
dilakukan Proses
oleh
apa
sistem.
yang
Berfungsi
mentransformasikan satu atau beberapa data masukan menjadi satu atau beberapa data keluaran sesuai dengan spesifikasi yang diinginkan. Data Flow : menggambarkan aliran data dari suatu entity lainnya. Aliran data terdiri dari :
Data Flow
a. Antara 2 proses yang berurutan b. Dari
data
store
ke
proses
dan
sebaliknya c. Dari sumber ke proses d. Dari proses ke sink Data store : tempat penyimpanan data. Data Store Proses dapat mengambil data dari atau memberikan data ke data store. External Entity : entitas yang berada di External luar sistem yang memberikan data kepada Entity sistem (source) atau yang menerima informasi dari sistem (sink).
25 2.1.7.1.1
Diagram Konteks (Context Diagram)
Diagram Konteks (Context Diagram) merupakan level tertinggi dari DFD yang menggambarkan seluruh input ke atau output dari sistem, memberikan gambaran tentang keseluruhan sistem. Dalam diagram konteks hanya ada satu proses, tidak boleh ada data store. 2.1.7.1.2
Diagram Nol (Zero Diagram)
Diagram nol mengidentifikasikan proses-proses utama dari sistem. Proses ini diperoleh dari pemecahan Diagram Konteks. 2.1.7.1.3
Diagram Rinci
Diagram rinci merupakan rincian dari diagram nol atau diagram level di atasnya. Di dalam satu level sebaiknya tidak terdapat lebih dari 7 buah proses dan maksimal 9 buah
2.1.7.2
State Transition Diagram (STD) State transition diagram (STD) menggambarkan bagaimana suatu
proses dihubungkan satu sama lain dalam waktu yang bersamaan (Jeffrey . A et al 1996, p364), STD digambarkan dengan sebuah state yang berupa komponen sistem yang menunjukkan bagaimana kejadian-kejadian tersebut dari satu state ke state yang lain, sedangkan menurut Pressman (2001, p317), State Transition Diagram (STD) menggambarkan kebiasaan dari suatu sistem dengan menggambarkan kondisi dan kejadian yang menyebabkan perubahan suatu kondisi.
26 Ada 2 macam simbol yang menggambarkan proses dalam State Transition Diagram (STD), yaitu : 1. Gambar persegi panjang menunjukkan kondisi (state) dari sistem.
2. Gambar panah menunjukkan transisi antar state. Tiap panah diberi label dengan ekspresi aturan. Label yang di atas menunjukkan kejadian yang menyebabkan transisi terjadi. Label yang bawah menunjukkan aksi yang terjadi akibat dari kejadian tadi.
Kondisi aksi
2.1.8
State 1
State 2
Internet
2.1.8.1
Sejarah Internet Berikut sejarah kemunculan dan perkembangan internet. Sejarah
internet dimulai pada 1969 ketika Departemen Pertahanan Amerika, U.S. Defense Advanced Research Projects Agency (DARPA) memutuskan untuk mengadakan riset tentang bagaimana caranya menghubungkan sejumlah komputer sehingga membentuk jaringan organik. Program riset ini dikenal dengan nama ARPANET. Pada 970, sudah lebih dari 10 komputer yang berhasil dihubungkan satu sama lain sehingga bisa saling berkomunikasi dan membentuk sebuah jaringan.
27 Tahun 1972, Roy Tomlinson berhasil menyempurnakan program email yang diciptakannya setahun yang lalu untuk ARPANET. Program email ini begitu mudah sehingga langsung menjadi populer. Pada tahun yang sama, icon @ juga diperkenalkan sebagai lambang penting yang menunjukkan "at" atau "pada". Tahun 1973, jaringan komputer ARPANET mulai dikembangkan ke luar Amerika Serikat. Komputer University College di London merupakan komputer pertama yang ada di luar Amerika yang menjadi anggota jaringan Arpanet. Pada tahun yang sama, dua orang ahli komputer yakni Vinton Cerf dan Bob Kahn mempresentasikan sebuah gagasan yang lebih besar, yang menjadi cikal bakal pemikiran internet. Ide ini dipresentasikan untuk pertama kalinya di Universitas Sussex.
Hari bersejarah berikutnya adalah tanggal 26 Maret 1976, ketika Ratu Inggris berhasil mengirimkan e-mail dari Royal Signals and Radar Establishment di Malvern. Setahun kemudian, sudah lebih dari 100 komputer yang bergabung di ARPANET membentuk sebuah jaringan atau network. Pada 1979, Tom Truscott, Jim Ellis dan Steve Bellovin, menciptakan newsgroups pertama yang diberi nama USENET. Tahun 1981 France Telecom menciptakan gebrakan dengan meluncurkan telepon televisi pertama, dimana orang bisa saling menelpon sambil berhubungan dengan video link.
Karena komputer yang membentuk jaringan semakin hari semakin banyak, maka dibutuhkan sebuah protokol resmi yang diakui oleh semua
28 jaringan. Pada tahun 1982 dibentuk Transmission Control Protocol atau TCP dan Internet Protocol atau IP yang kita kenal semua. Sementara itu di Eropa muncul jaringan komputer tandingan
yang dikenal dengan Eunet, yang
menyediakan jasa jaringan komputer di negara-negara Belanda, Inggris, Denmark dan Swedia. Jaringan Eunet menyediakan jasa e-mail dan newsgroup USENET. Untuk menyeragamkan alamat di jaringan komputer yang ada, maka pada tahun 1984 diperkenalkan sistem nama domain, yang kini kita kenal dengan DNS atau Domain Name System. Komputer yang tersambung dengan jaringan yang ada sudah melebihi 1000 komputer lebih. Pada 1987 jumlah komputer yang tersambung ke jaringan melonjak 10 kali lipat manjadi 10.000 lebih.
Tahun 1988, Jarko Oikarinen dari Finland menemukan dan sekaligus memperkenalkan IRC atau Internet Relay Chat. Setahun kemudian, jumlah komputer yang saling berhubungan kembali melonjak 10 kali lipat dalam setahun. Tak kurang dari 100.000 komputer kini membentuk sebuah jaringan. Tahun 1990 adalah tahun yang paling bersejarah, ketika Tim Berners Lee menemukan program editor dan browser yang bisa menjelajah antara satu komputer dengan komputer yang lainnya, yang membentuk jaringan itu. Program inilah yang disebut www, atau World Wide Web. Tahun 1992, komputer yang saling tersambung membentuk jaringan sudah melampaui satu juta komputer, dan di tahun yang sama muncul istilah surfing the internet. Tahun 1994, situs internet telah tumbuh menjadi 3000 alamat halaman, dan untuk pertama kalinya virtual-shopping atau e-retail muncul di
29 internet. Dunia langsung berubah. Di tahun yang sama Yahoo! didirikan, yang juga sekaligus kelahiran Netscape Navigator 1.0.
2.1.8.2
Web Server Web server adalah suatu program yang menawarkan pelayanan yang
bisa diperoleh seluruh jaringan. Web server merupakan suatu tipe server khusus yang dapat berkomunikasi dengan client menggunakan HTTP. Web server menerima permintaan dari client dan meresponsnya, biasanya dengan mengembalikan sebuah dokumen atau gambar.
2.1.8.3
Web Browser Web browser adalah software yang dijalankan pada komputer
pemakai yang meminta informasi dari web server dengan menampilkannya sesuai dengan file data itu sendiri.
2.1.8.4
WWW (World Wide Web) World Wide Web juga disebut web, www, dan w3 adalah ruang
informasi di internet tempat dokumen-dokumen hypermedia disimpan dan dapat diambil melalui suatu skema alamat yang unik. Web menyediakan metode untuk menyimpan dan mengambil dokumen-dokumennya (McLeod, 2001, jilid1, p75). Berdasarkan pendapat Oetomo et al (2003, p73) www merupakan aplikasi internet yang paling diminati para pemakai. Www tidak lagi disertai dengan utilitas baris dan instruksi yang merupakan cara paling umum untuk menjelajah internet, tetapi dirancang dari ribuan halaman atau
30 dokumen yang saling berhubungan yang dapat ditampilkan di monitor. Melalui www, perusahaaan dapat memasang halaman web yang interaktif untuk memberi informasi atau menarik minat para calon konsumennya. Salah satu istilah yang berkaitan dengan www adalah website atau situs web. Berdasarkan pendapat Sardi (2004, p4) website atau situs web adalah sekumpulan dokumen yang dipublikasikan melalui jaringan internet maupun intranet sehingga dapat diakses oleh user melalui web browser. Dokumen tersebut dapat terdiri dari satu atau lebih kombinasi beberapa jenis file seperti file teks, gambar, suara, atau video.
2.1.8.5
B2C (Business to Customer) Menurut
buku
Using
Information
Technology:
A
Practical
Introduction to Computers & Communications. Seventh Edition, McGrawHill, New York. Williams, B.K, Stacy C. Sawyer (2007) Dalam bisnis untuk konsumen, bisnis menjual barang atau jasa kepada konsumen, atau anggota masyarakat umum. Sistem e-commerce
semacam ini pada dasarnya
menghilangkan perantara dan bahkan sering dibutuhkan untuk toko fisik (batu bata dan mortir) . Contoh
sistem
B2C
adalah
dari
amazon.com
dan
Barnesandnoble.com, serta banyak lembaga keuangan dan pemerintah. B2C adalah sebuah transaksi yang terjadi antara perusahaan dan customer. Karateristik B2C menurut Purbo (2001). Terbuka untuk umum, dimana informasi disebarkan secara umum. Service yang dilakukan juga bersifat umum, sehingga mekanismenya dapat digunakan oleh banyak orang. Service
31 yang diberikan adalah berdasarkan permintaan. Konsumen berinisiatif sedangkan produsen harus siap memberikan response terhadap inisiatif terhadap konsumen tersebut. Sering dilakukan sistem pendekatan clientserver, dimana konsumen dipihak client menggunakan sistem yang minimal (berbasis web) dan penyedia barang atau jasa (business procedure) berada pada pihak server.
2.1.9
Interaksi Manusia dan Komputer Berdasarkan Schneiderman (1998), IMK atau Human Computer
Interaction (HCI) adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya.
2.1.9.1
Delapan Aturan Emas Perancangan Dialog Delapan aturan emas yang digunakan dalam perancangan dialog
menurut Shneiderman (1998, p74) ialah : a. Berusaha keras untuk konsisten Desain tampilan yang ada harus dibuat sekonsisten mungkin dalam hal penamaan label, grafik, singkatan, header, footer, tampilan menu, tampilan logo perusahaan dan lain sebagainya. b. Memungkinkan frequent user menggunakan shortcut. Dengan semakin meningkatnya frekuensi penggunaan, semakin tinggi pula keinginan user untuk mengurangi jumlah interaksi dan untuk meningkatkan kecepatan interaksi.
32 c. Memberikan umpan balik yang informatif. Untuk setiap aksi yang dijalankan user, perlu diberikan feedback dari sistem. Untuk aksi yang minor dan sering dilakukan, respons sistem bisa dalam bentuk yang sederhana. Sedangkan untuk aksi yang utama dan jarang dilakukan, respons dari sistem harus lebih khusus. d. Merancang dialog untuk menghasilkan keadaan akhir (sukses, selesai). Urutan aksi dapat dikelompokkan dengan bagian awal, tengah, dan akhir. Feedback yang informatif pada penyelesaian sekelompok aksi dapat memberikan kepuasan serta kelegaan pada user dan memudahkan user untuk masuk ke kelompok aksi yang berikutnya. e. Memberikan penanganan kesalahan yang sederhana. Sedapat mungkin, merancang sistem yang mana seorang user tidak dapat membuat kesalahan yang serius. Contohnya, menonaktifkan karakter alfabetik dalam field untuk entry data numerik. Jika user membuat kesalahan, sistem harus dapat mendeteksi kesalahan tersebut serta menawarkan perintah yang sederhana, membangun dan spesifik untuk memperbaiki kesalahan tersebut. f. Mengizinkan pembalikan aksi (undo) dengan mudah. Sedapat mungkin, aksi yang dilakukan user dapat dibalik (di-undo). Fitur ini dapat meredakan kekhawatiran user karena user mengetahui bahwa kesalahan yang diperbuat dapat dibalik. g. Mendukung pengendalian secara internal. User yang berpengalaman menginginkan kesan bahwa user dapat mengendalikan sistem dan
33 sistem dapat meresponaksi yang user lakukan. Aksi sistem yang mengejutkan, urutan entry data yang membosankan, ketidakmampuan atau kesulitan dalam memperoleh informasi yang dibutuhkan dan ketidakmampuan menghasilkan aksi yang diinginkan dapat membuat user menjadi cemas dan tidak puas. h. Mengurangi beban ingatan jangka pendek. Agar memudahkan beban ingatan user, diperlukan tampilan yang sederhana, tampilan page yang banyak tetap terkonsolidasi, ataupun frekuensi pergerakan window dikurangi.
2.2 Teori Khusus 2.2.1
Web Database System Web database system adalah sistem dimana teknologi web dan database
digunakan secara bersamaan. Web database system menyediakan akses yang lebih luas ke sistem basis data, cara mendistribusikan sistem dan pelayanan yang lebih melalui sistem integrasi (Barry Eaglestone and Mick Ridley, 2001, p38).
2.2.2
Web Pages
Berdasarkan sifatnya, web pages dibagi menjadi 2 macam, yaitu : 2.2.2.1
Static Pages Ciri-ciri pages ini adalah web pages ini tidak pernah berubah, baik isi
maupun tampilannya. Programmer web harus melakukan pengaturan ulang pada coding HTML untuk melakukan perubahan, sehingga perubahan yang terjadi pada pages dilakukan secara manual.
34 2.2.2.2
Dynamic Pages Ciri-ciri pages ini adalah web pages ini dapat berubah sesuai
permintaan user, perubahan yang terjadi bersifat otomatisasi, karena pages men-generate sendiri perubahan yang terjadi, tanpa programmer web harus meng-coding ulang.
Dynamic pages biasanya digunakan untuk mengidentifikasi user, seperti login, atau dapat juga untuk mengecek tipe browser yang dipakai oleh user, sehingga pages kita dapat mengoptimalkan kemampuan yang dimiliki oleh browser. Melalui pages ini user dapat meminta suatu informasi, yang mungkin saja setiap permintaan user satu dengan yang lain dapat berbedabeda.
Biasanya informasi terdapat dalam database, file text, file XML, dll. Biasanya untuk menghasilkan dynamic pages digunakan suatu scripting, karena hanya menggunakan pure-HTML mustahil untuk pages seperti ini. Dynamic pages dapat dibedakan berdasarkan tempat pengolahannya yaitu Client-Side Scripting dan Server-Side Scripting.
2.2.2.2.1
Client – Side Scripting
Client-Side Scripting merupakan scripting yang pengolahannya dilakukan oleh browser, dan hasilnya ditampilkan di monitor. Pada client-side scripting, user dapat melihat instruksi code yang terdapat pada pages. Keuntungan dari Client-Side Scripting adalah :
35 a. Mempunyai response time yang lebih cepat, karena script diproses oleh browser pada tiap client. b. Mengurangi workload pada pada web server. Kelemahan dari Client-Side Scripting adalah user dapat melihat scripting yang terdapat dalam web pages kita, dan kelemahan pada web pages kita dapat diketahui sehingga mudah dirusak (di-hack). 2.2.2.2.2
Server – Side Scripting
Server-Side Scripting merupakan scripting yang pengolahannya dilakukan oleh web server, dan hasil pemrosesannya berupa HTML, dan kemudian dikirim sebagai bagian dari HTTP response ke browser yang melakukan permintaan. Keuntungan dari Server – Side Scripting adalah : a. Server – side scripting memungkinkan web programmer mengambil dan menyimpan informasi melalui databases dan file text. b. Scripting yang ada tidak dapat dilihat oleh user sehingga keamanannya lebih terjamin. Kelemahan dari Server-Side Scripting adalah mempunyai response time yang relatif lebih lama dibandingkan client-side scripting, karena pemrosesan scripting dilakukan di web server.
2.2.3
Hypertext Markup Language (HTML) Hypertext Markup Language (HTML) merupakan sistem yang digunakan
untuk menciptakan halaman dan dokumen yang disajikan pada web (Ellswoth, 1997, p37). Dokumen HTML dapat dibuat menggunakan editor teks standar,
36 walaupun akan lebih mudah jika menggunakan editor yang dirancang untuk pembuatan dokumen HTML seperti FrontPage, atau GNNPress. Beberapa editor HTML dapat mengubah file teks biasa ke dokumen HTML, dan membantu menciptakan dokumen yang lebih bagus dengan menggunakan template yang disediakan. Pada kasus tertentu, perlu dipelajari struktur dokumen HTML dan cara penggunaan komponen-komponennya.
2.2.4
Personal Home Page (PHP) PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web. Di dalam page HTML, dapat dimasukkan kode PHP yang akan di eksekusi setiap waktu page dikunjungi. Kode PHP diinterpretasikan pada web server dan meng-generate HTML atau output lainnya yang akan dilihat oleh pengguna (Welling L. and Thomson L., 2001). PHP adalah produk open source. PHP ditempatkan dalam server dan diproses di server, dan hasilnya yang dikirimkan ke client, tempat pemakai menggunakan browser, dengan sintakssintaks yang mudah digunakan dan modul-modul library yang banyak dan kuat, yang dapat menciptakan data-driven website yang kuat untuk ecommerce, portal komunitas, dan aplikasi berbasis web lainnya. Secara khusus, PHP dirancang untuk membentuk web dinamis. Artinya, dapat membentuk suatu tampilan berdasarkan permintaan terkini. Pada prinsipnya, PHP mempunyai fungsi yang sama dengan script-script seperti ASP (Active Server Page), ColdFusion, ataupun Perl.
37 2.2.5
Javascript Javascript digunakan untuk halaman aktif yang tidak berisi kode yang
besar atau kompleks. Daripada meng-compile sebuah applet ke dalam presentasi byte code, javascript menyediakan sebuah bahasa script, dan mengaturnya pada browser untuk membaca dan menginterpretasinya dalam form sumber (source form). Lebih pentingnya lagi, javascript dapat berintegrasi dengan HTML. Sebuah halaman HTML dapat berisi kode atau fungsi-fungsi javascript yang menyediakan interaksi sederhana dengan user. Sebagai contoh, sebuah fungsi javascript dapat meminta user untuk memasukkan informasi dan kemudian mem-verifikasinya atau mengecek kevalidan dari informasi tersebut dan memasukkannya dalam form yang dapat diterima sebelum user dapat berkomunikasi langsung dengan server. Fungsi javascript juga dapat menampilkan sebuah aksi seperti memainkan sebuah file audio. Bahasa javascript mempunyai kelebihan dan kekurangan. Kelebihannya adalah kesederhanaan dan kemudahan penggunaannya. Sebuah script kecil dapat diintegrasikan ke dalam halaman web. Seperti halaman web pada umumnya, script dapat diuji cobakan atau dites langsung pada browser, tanpa menggunakan compiler tambahan.Kelemahan javascript yang utama adalah kecepatan dan kemampuan skalanya (scalability), karena representasi sumbernya lebih kecil kepadatannya daripada representasi bytecode, menjalankan source program memakan waktu lebih lama. Lebih jauh lagi, sebuah script memakan waktu lebih lama untuk diinterpretasikan daripada sebuah program yang telah diterjemahkan ke dalam representasi bytecode (Comer, 2004, p580).
38 2.2.6
MySQL MySQL adalah sebuah Relational Database Management Sistem
(RDBMS) yang bersifat open source, berlevel tinggi, mendukung multithreading. Dikembangkan oleh sebuah firma konsultan di Swedia yang dinamakan TcX yang menciptakan sebuah sistem database sangat cepat dan fleksibel yang berdasarkan sebuah Database Management Sistem (DBMS) yang bernama MySQL. MySQL adalah sebuah RDBMS yang penuh fitur, sangat stabil dan merupakan sebuah multi-threaded server. Multi-threaded berarti setiap waktu seseorang melakukan koneksi dengan server, program di server menciptakan thread atau proses untuk menangani permintaan tersebut. Ini menjadikannya sebagai server yang sangat cepat. Efeknya, setiap klien yang berkoneksi ke sebuah server MySQL mendapatkan thread atau prosesnya masing-masing. (Welling L. and Thomson L., 2001)
2.2.7
AJAX Asynchronous JavaScript and XML ( AJAX ) merupakan bahasa
pemrograman yang memanfaatkan JavaScript dan XML. AJAX bukanlah teknologi spesifik, melainkan merupakan gabungan dari teknologi yang dipakai bersamaan. Dengan adanya AJAX, aplikasi web akan bisa menjadi lebih interaktif dan lebih mudah diakses. Tujuannya adalah untuk memindahkan sebagian besar interaksi pada computer websurfer, melakukan pertukaran data dengan server di belakang layar , sehingga halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang user melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability.
39 Keuntungan dari menggunakan AJAX : a. Dengan memakai AJAX, web dapat menyerupai aplikasi desktop sehingga lebih interaktif Kerugian dari menggunakan AJAX : a. Beberapa orang men-disable Javascript pada browser yang dipakainya dengan alasan security, sehingga dapat menyebabkan AJAX tidak dapat berjalan b. User yang mengakses situs tersebut tidak akan bisa menggunakan tombol Back pada browser yang dipakainya Kemungkinan terjadi error sangat tinggi karena menggunakan Javascript, sehingga perlu dilakukan pengujian pada berbagai macam platform yang berbeda
2.2.8
Content Management System (CMS)
Content Management System, CMS adalah sebuah aplikasi web dinamis yang dipersiapkan untuk dapat mengubah maupun meng-edit seluruh isi web dengan hanya beberapa klik pada bagian administrator web, hal tersebut merupakan salah satu poin penting dari sebuah website yang dinamis. CMS adalah sebuah sistem yang memberikan kemudahan kepada para penggunanya dalam mengelola dan mengadakan perubahan isi sebuah website dinamis tanpa sebelumnya dibekali pengetahuan tentang hal-hal yang bersifat teknis
2.2.9
Cascading Style Sheet (CSS)
Cascading Style Sheet merupakan salah satu bahasa pemrograman web untuk mengendalikan beberapa komponen dalam sebuah web sehingga akan
40 lebih terstruktur dan seragam. Sama halnya styles dalam aplikasi pengolahan kata seperti MicrosoftWord yang dapat mengatur beberapa style, misalnya heading, sub bab, bodytext, footer, images, dan style lainnya untuk dapat digunakan bersama-sama dalam beberapa file. Pada umumnya CSS dipakai untuk memformat tampilan halaman web yang dibuat dengan bahasa HTMLdan XHTML. CSS digunakan untuk menentukan warna, jenis huruf, tata letak, dan berbagai aspek tampilan dokumen.
2.2.10 JQuery JQuery adalah library JavaScript yang memungkinkan kita untuk membuat program web pada suatu halaman web, tanpa harus secara eksplisit kita menambahkan event atau pun properti pada halaman web tersebut. Dengan JQuery, suatu halaman web yang menjadi aplikasi web, jika dilihat sourcenya, akan terlihat seperti dokumen HTML biasa, namun tidak ada kode JavaScript yang terlihat langsung. Teknik pemrograman web seperti ini disebut sebagai unobstrusive JavaScript programming. JQuery merupakan salah satu library yang membuat program web di sisi klien, tidak terlihat sebagai program JavaScript biasa, yang harus secara eksplisit disisipkan pada dokumen web. Pada teknik pemrograman sisi klien dengan menggunakan JavaScript biasa, setiap elemen yang akan memiliki event, akan secara eksplisit terlihat ada event yang dilekatkan pada elemen tersebut.