BAB 2 LANDASAN TEORI 1.1
Data Menurut Atzeni (2003, p2), data adalah informasi mentah terekam yang dapat menyediakan informasi lainnya. Data informasi mentah dapat tidak berarti jika tidak digabungkan dengan data yang lain.
Menurut Hoffer (2009, p46), data adalah sebuah fakta yang menjelaskan objek atau kejadian yang dapat disimpan pada media komputer. Contohnya adalah sebuah data sales person yang berisi nama pelanggan, alamat dan telepon dikualifikasikan sebagai suatu struktur data.
Jadi, dapat disimpulkan di sini bahwa data merupakan sebuah fakta yang dapat mendukung informasi lain dan menjadikannya sebuah informasi yang lebih berarti.
1.2
Basis Data Menurut Connolly dan Begg (2010, p65), basis data adalah sekumpulan data yang saling terhubung secara logikal dan dirancang untuk memenuhi kebutuhan informasi pada suatu organisasi.
Definisi basis data menurut Ramakrishnan (2003, p4), adalah koleksi data yang menjelaskan aktifitas dari satu atau lebih organisasi yang berelasi.
Menurut Date (2004, p10), basis data merupakan kumpulan data persistent yang digunakan
pada
sistem
aplikasi
pada
beberapa
organisasi.
Sehingga dapat dikatakan basis data itu merupakan sekumpulan data yang saling berhubungan untuk menjelaskan kegiatan yang ada di dalam suatu organisasi atau lebih yang saling berhubungan dan biasa digunakan di dalam sistem aplikasi.
1.3
DBMS Menurut Connolly (2010, p66), DBMS adalah sebuah piranti lunak yang memungkinkan user untuk mendefinisikan, membuat, merawat dan mengontrol akses ke dalam database. Dengan dibantu Data Definition Language (DDL) dan Data Manipulation Language (DML), DBMS sangat memungkinkan bagi user untuk memanipulasi data dengan fleksible. Penggunaan DBMS dapat menjamin keamanan, kesatuan serta ketersediaan data dalam proses penyimpanannya.
DBMS memiliki beberapa fasilitas, yaitu : 1.
Fasilitas untuk mendefinisikan basis data yang biasanya menggunakan suatu Data Definition Language (DDL). Suatu DDL memberikan fasilitas kepada user untuk dapat menspesifikasikan tipe, struktur serta batasan aturan mengenai data yang akan disimpan ke dalam basis data tersebut.
2.
Fasilitas yang memperbolehkan user untuk menambah, mengedit, menghapus data dan mendapatkan kembali data yang biasanya menggunakan suatu Data 2
Manipulation Language (DML). Ada suatu fasilitas yang melayani pengaksesan data yang disebut Query Language. Bahasa query yang paling diakui adalah Structured Query Language (SQL) yang secara de facto merupakan standar bagi DBMS. 3.
Fasilitas untuk melakukan akses yang terkontrol terhadap basis data, sebagai contoh : a.
Suatu sistem keamanan yang mencegah user yang tidak memiliki otoritas untuk mengakses data.
b.
Suatu sistem yang terintegrasi dimana berguna untuk memelihara konsistensi penyimpanan data.
c.
Suatu sistem kontrol yang memperbolehkan sharing akses ke dalam basis data.
d.
Suatu sistem kontrol pengembalian data dimana dapat mengembalikan data ke keadaan sebelumnya apabila terjadi kegagalan perangkat keras atau perangkat lunak.
e.
Terdapat
suatu
katalog
yang
dapat
diakses
mendeskripsikan data di dalam basis data tersebut.
3
oleh
user
untuk
DBMS memiliki komponen utama dalam lingkungannya, komponen-komponen tersebut adalah : 1.
Hardware Dibutuhkan untuk menjalankan DBMS dan juga aplikasi-aplikasinya. Hardware mencakup mini computer, network computer, personal computer dan mainframe.
2.
Software Meliputi software aplikasi, software DBMS, operating systems dan software network (apabila dalam penggunaannya menggunakan network).
3.
Data Merupakan komponen yang terpenting dan juga merupakan komponen penghubung antara komponen mesin (perangkat keras dan lunak) dan manusia.
4.
Prosedur Prosedur merupakan instruksi-instruksi dan aturan-aturan yang mengatur desain dan penggunaan basis data.
5.
People Merupakan komponen yang juga terlibat dalam sistem. Komponen ini meliputi data, database administrator, database designer, application developer dan end users.
4
DBMS juga memiliki beberapa keuntungan dan kerugian : 1.
Keuntungan DBMS yaitu : a. Terdapat kontrol terhadap pengulangan data b. Konsistensi data c. Semakin banyak informasi yang didapat dari data yang sama d. Dapat melakukan share data e. Menambah intergritas data f. Menambah keamanan data g. Mempermudah pengolahan data 1. Meningkatkan produktivitas
2.
Kerugian DBMS yaitu : a. Kompleks b. Ukuran / size DBMS c. Biaya d. Memungkinkan adanya penambahan perangkat keras lainnya
Dari penjelasan di atas, dapat disimpulkan kembali bahwa DBMS merupakan sebuah piranti lunak yang dapat membantu penggunanya untuk memanajemen, mengontrol dan juga membuat sebuah database sendiri dimana DBMS tersebut memiliki karakteristik dan peraturan penggunaan tersendiri yang harus dimengerti oleh penggunanya.
5
1.4
DDL Menurut Connolly (2010, p92) DDL adalah sebuah bahasa yang memungkinkan bagi user untuk mendeskripsikan / memberikan nama pada suatu database, table, atribut dan hubungan yang diperlukan pada suatu aplikasi. Penggunaan DDL menjamin segala hal yang menyangkut intergritas data dan juga kendala keamanan. DDL tidak dapat digunakan untuk memanipulasi data yang ada pada database. Secara teori, definisi DDL untuk setiap skema dalam 3 level arsitektur :
1.5
1.
DDL untuk skema eksternal
2.
DDL untuk skema konseptual
3.
DDL untuk skema internal
DML Menurut Connolly (2010, p92) DML adalah bahasa yang menyediakan sekumpulan operasi untuk mendukung operasi dasar manipulasi data dalam database : 1.
Memasukkan data baru (insert)
2.
Mengubah data (update)
3.
Menghapus data (delete)
4.
Melihat data yang ada (select)
6
DML ada 2 macam, yaitu : 1.
Procedural DML Merupakan sebuah bahasa yang memungkinkan user untuk dapat memberitahukan kepada sistem data apa yang sedang dibutuhkan dan bagaimana cara untuk memperoleh data tersebut.
2.
Non Procedural DML Merupakan
sebuah
bahasa
yang
memungkinkan
user
untuk
dapat
memberitahukan kepada sistem data apa yang sedang dibutuhkan namun tidak mempedulikan bagaimana data tersebut dapat diperoleh.
1.6
UML (Unified Modeling Language) Menurut Bentley dan Whitten (2007, p371), UML adalah satu set dari ketentuan modeling yang digunakan untuk menspesifikasi atau mendeskripsikan sebuah sistem software dalam suatu kondisi dari objek. UML dibagi menjadi beberapa komponen : 1.6.1
Class Diagram Menurut Bentley dan Whitten (2007, p400), class diagram menggambarkan struktur sistem suatu objek. Diagram ini menampilkan class-class objek yang sistemnya tersusun seperti hubungan antara class-class objek. Menurut Mathiassen (2009, p336) menyatakan bahwa class diagram mendeskripsikan kumpulan dari class dan hubungan strukturalnya. Sedangkan objek adalah suatu entitas yang memiliki identitas, kondisi dan perilaku. Event didefinisikan sebagai suatu kejadian langsung yang melibatkan suatu objek atau
7
lebih. Class didefinisikan sebagai suatu deskripsi dari kumpulan objek yang memiliki struktur, perilaku, pola perilaku dan atribut yang serupa. Class diagram terdiri dari elemen-elemen yang menggambarkan struktur sebuah sistem dengan menunjukkan kelas-kelas yang membentuk sistem dan bagaimana kelas-kelas tersebut berhubungan satu sama lain secara statis. Kelas adalah kumpulan atribut dan operasi. Di dalam class diagram, class digambarkan dengan sebuah kotak yang terdiri dari tiga bagian seperti pada gambar berikut: Nama Atribut Operasi
Contoh Class : Buku +judul : String +pengarang : String +idJenis : byte +ambilJenis (String) +ambilHalaman () : int
Secara umum, struktur kelas adalah nama kelas, atribut kelas dan operasi kelas. Tanda plus (+) dan minus (-) yang ada di dalam kelas menggambarkan ruang lingkup dari atribut atau operasi. Tanda plus berarti public (boleh di akses oleh semua kelas) dan minus berarti private (akses terbatas hanya untuk class itu sendiri). Tanda ketiga adalah tanda pagar (#) yang berarti protected (hanya bis diakses oleh subclass nya).
8
Kata seteelah tanda titik dua (:) menyatakan tipe atriibut atau tippe pengembbalian operasi. Menurut Mathiassen (2000, p72)), struktur anntar class terddiri dari: 1.
Gen neralization Merupakkan suatu class c umum m (super claass) yang mendeskripsikan pro operti-properrti umum dari class khusus (ssub class). Kata “addalah” menunjukkan class c khusuus pada hubbungan geneeralisasi ini. Semua prooperti ng berada pada p class umum u akan dimiliki jugga oleh sem mua class khhusus yan (inh heritance) namun class khusus k juga dapat memiiliki propertiinya sendiri.
G Gambar 2.1 Generalizaation
2.
uster Clu Meerupakan suaatu kumpulann class yangg saling berhhubungan
9
Gambar 2.2 Clusterr
Menurut Mathiassen (2000, p75)), struktur anntar object teerdiri dari: 1.
gregation Agg Merupakkan suatu obbjek superiorr (the wholee) yang terddiri dari sejuumlah objek (the partss)
1..* 1..2
Gambar 2.33 Aggregatiion 2.
Asssociation Merupakkan suatu relaasi berarti anntara sejumllah objek. Suuatu relasi berarti dap pat diartikann mejadi sebuah kelas memiliki m insttansi dari keelas lainnya. Kata “m memiliki” mencirikan hubbungan asosiiasi
10
Gambar 2.4 Associatioon
yang ada juga Di dalam claass diagram m, hubungaan antar class-class c ty. Setiap muultiplicity yaang digunakkan memilikki arti digambarrkan melalui multiplicity tersendirii, berikut peenjelasan meengenai mulltiplicity yanng dapat diggunakan di dalam d class diag gram : Tabel 1.1 1 Multipliccity Class Diiagram Multipllicity Arti
1.66.2
*
Banyyak
0
Nol
1
Satu,, bisa ditulis bisa tidak
0..*
Antaara Nol samppai banyak
1..*
Antaara Satu samppai banyak
0..1
Nol atau a Satu
1..1
Tepaat Satu
Use Case C Diagram m Meenurut Bentley dan Whitten (22007, p2466-250), use case diaagram menggam mbarkan inteeraksi antaraa user dan siistem eksternnal. Dengann kata lain, secara grafikal mendeskripssikan siapa yang akan menggunakkan sistem dan d dengan cara seperti ap pa sesuai denngan yang diharapkan usser untuk beerinteraksi deengan sistem m.
11
Gambar 2.5 Contoh Use Case Diagram
Use case diagram memiliki komponen sebagai berikut : a.
Pelaku Pada use case diagram, pelaku adalah sebuah peran dari seorang pengguna yang perlu berinteraksi dengan sistem untuk pertukaran informasi. Pelaku di dalam use case tidak harus seorang manusia, pelaku dapat berupa sebuah organisasi, sistem informasi ataupun peralatan luar seperti sensor panas. Berikut lambang yang digunakan untuk merepresentasikan pelaku di dalam use case
12
b.
Gambar 2.6 Pelaku Use Case Relationship (Hubungan) Pada use case diagram, hubungan digambarkan dalam sebuah garis di antara dua simbol. Pengertian hubungan antara 2 simbol ini dapat berbeda-beda tergantung dari bagaimana garis tersebut digambar. Relationship di dalam use case ada beberapa macam, yaitu : 1.
Associations Merupakan sebuah hubungan antara pelaku dengan use case di mana sebuah interaksi terjadi di antara mereka. Ada 2 macam hubungan associations di dalam use case yaitu unidirectional dan bidirectional. Unidirectional merupakan suatu hubungan dimana terjadi interaksi satu arah saja, sedangkan bidirectional merupakan suatu hubungan dimana terjadi interaksi 2 arah baik dari pelaku maupun dari use case.
13
2.
Extends Di dalam suatu use case terkadang ada sebuah fungsionalitas yang sangat kompleks di dalamnya dimana dapat berisi beberapa langkah sehingga membuat use case tersebut menjadi susah dimengerti. Use case yang kompleks tersebut dapat dibuatkan sebuah use case tersendiri untuk dijabarkan dengan lebih detail dan jelas sehingga dapat lebih mudah dimengerti.
Berikut adalah contoh extension use case :
Extension Use Case
Calculate Oder Sintotal & Sales Tax
Generate Warehouse Packing Order
<<extends>>
<<extends>> Place New Member Order
3.
Uses (or includes) Merupakan sebuah use case yang dapat mengurangi redudansi dikarenakan memiliki langkah-langkah yang sama atau hampir sama namun dari action yang berbeda. Berikut adalah contoh penggunaan dari uses :
14
Submit Change of Postal Address
Place New Member Order <<uses>>
<<uses>> Abstract
Revise Postal Address
Use Case
4.
Depends On Merupakan sebuah use case yang bergantung pada use case lainnya. Jika ada use case a bergantung pada use case b, maka use case a tidak akan dapat dilakukan sebelum use case b dilakukan terlebih dahulu. Berikut contoh ketergantungan use case : Establish Bank Account
<<depends on>>
Make a Deposit <<depends on>> Make a Withdrawal
5.
Inheritance Ketika beberapa pelaku menggunakan use case yang sama, maka dapat dibuat sebuah pelaku abstrak untuk mengurangi komunikasi yang redudansi dengan sistem. Contoh inheritance di dalam use case :
15
Gambar 2.7 Contoh Inheritance Dalam Use Case
1.6.3
Sequence Diagram Bennett, McRobb, dan Farmer (2010, p. 479) menggambarkan sequence diagram untuk use case ”Check campaign budget” pada gambar di bawah ini.
Gambar 2.8 Sequence Diagram untuk Use Case "Check Campaign Budget"
16
Kelas pengendalian yang utama dapat mengaktifkan kelas pembatas, memperbolehkan user untuk memilih klien tertentu. Ditampilkan pada gambar di bawah ini.
Gambar 2.9 Bagian Pertama Use Case "Check Campaign Budget"
Kembali ke sequence diagram untuk kolaborasi ini, event berikutnya yang akan berlangsung adalah bahwa pengguna akan memilih klien dari dropdown yang telah diisi dengan klien dengan proses yang telah dijelaskan. Ketika seorang klien tertentu telah dipilih, maka daftar promosi di kelas perbatasan harus diisi dengan hanya promosi dalam database milik klien.
1.6.4
Activity Diagram Menurut Satzinger, Jackson & Burd ( 2008, p141), Activity diagram adalah sebuah jenis dari workflow diagram yang mudah yang menggambarkan kegiatan dari beberapa user atau sistem, orang yang melakukan setiap proses dan alur kerja dari setiap aktifitas. 17
Gambar 2.10 Activity Diagram Activity diagram memiliki komponen sebagai berikut : a.
Titik Solid Pada activty diagram, titik solid menggambarkan awal sebuah proses
b.
Segi empat dengan sudut tumpul Pada activity diagram, segi empat dengan sudut tumpul menggambarkan tugas yang perlu dilakukan
c.
Panah Pada activity diagram, panah menggambarkan sasaran yang mengawali suatu kegiatan
d.
Diamond Pada activity diagram, diamond menggambarkan sebuah kegiatan yang menyangkut sebuah keputusan 18
e.
Titik solid di dalam lingkaran Pada activity diagram, titik solid di dalam lingkaran menggambarkan akhir sebuah proses
f.
Synchronization Bar Sebuah simbol yang dapat memisahkan serta menggabungkan aktifitas yang berjalan secara bersamaan
1.7
Piranti Lunak Menurut Pressman (2005, p34-36), perangkat lunak didefinisikan sebagai berikut : 1. Perintah (program komputer) yang bertujuan untuk menjalankan suatu fungsi yang diinginkan saat eksekusi 2. Struktur data yang memungkinkan program memanipulasi informasi 3. Dokumen yang menggambarkan bagaimana suatu program bekerja dan kegunaan dari program tersebut Piranti lunak berfungsi untuk mentransformasikan informasi – informasi penting termasuk data-data personal seperti transaksi keuangan pribadi ke dalam bentuk yang lebih sederhana sehingga informasi tersebut dapat lebih mudah diakses, diatur, ditampilkan maupun di manage dari peralatan apapun termasuk telepon selular sekalipun. Ada beberapa karakteristik dari piranti lunak yang harus dimengerti menurut Pressman (2005, p37), yaitu : 1. Piranti lunak itu adalah sesuatu yang dikembangkan bukan diproduksi dalam bentuk klasik 2. Piranti lunak bukanlah sesuatu yang dapat habis dalam jangka waktu tertentu 19
3. Pengembangan piranti lunak dilakukan secara custom 1.8
Rekayasa Piranti Lunak Menurut Pressman (2005, p53) Rekayasa piranti lunak adalah penggunaan prinsipprinsip pengembangan yang tepat untuk menghasilkan piranti lunak yang dapat diandalkan, dapat bekerja dengan baik pada mesin nyata dan juga ekonomis. Rekayasa piranti lunak dikategorikan atas tiga fase, yaitu : 1.
Fase pendefinisian. Fokus pada fase ini adalah : a. Apa informasi yang harus diproses ? b. Fungsi dan performan apa dikehendaki ? c. Perilaku sistem apa yang diharapkan? d. Antarmuka apa yang akan dibentuk ? e. Batasan perancangan apa yang ada ? f. Kriteria validasi apa yang diperlukan untuk mendefinisikan kesuksesan satu sistem ?
2.
Fase pengembangan. Fokus pada fase ini adalah : a. Bagaimana data distrukturkan? b. Bagaimana mengimplementasikan satu fungsi didalam satu arsitektur perangkat lunak? c. Bagaimana mengimplementasikan satu prosedur detail? d. Bagaimana mengkarakteristikkan antarmuka?
20
e. Bagaimana mentranslasikan perancangan ke dalam satu bahasa pemograman dan bagaimana satu pengujian akan dilakukan ? 3. Fase dukungan. Fokus pada fase ini adalah : a. Koreksi b. Adaptasi c. Peningkatan d. Pencegahan
1.9
Feature Driven Development (FDD) Menurut Abrahamsson, Salo, & Rokainen (2002, p47) yang disadur dari Palmer & Felsing (2002), Feature Driven Development (FDD) adalah pendekatan yang cepat dan adaptif dalam pengembangan sebuah aplikasi. Pendekatan
FDD tidak membahas
pengembangan software secara keseluruhan tetapi lebih berfokus kepada fase desain dan pembuatan program. FDD terdiri dari 5 tahapan proses. Pada bagian yang terus berulang di FDD (desain dan pembuatan sistem) yang mendukung agile development dengan adaptasi yang cepat untuk memenuhi perubahan pada proses bisnis.
21
Gambarr 2.11 Featurre Driven Development D t
Berikut adalah a tahapaan dari metoodologi ini : 1.
Devvelop an oveerall model Pada tahhap awal inii, client meemberikan gambaran g seecara garis besar b mengenai program yang akkan dibuat daan fitur – fituur yang perluu dibuat.
2.
Buiild a featuree list Fitur – fiitur besar diibagi kembaali menjadi fitur f – fitur yang lebih kecil. k Fitu ur – fitur inii menjelaskaan lebih spessifik tentangg sistem di suatu tempatt. List fitu ur ini kem mudian dilihhat oleh client c untuuk diperiksaa validitas dan kelengkapannyya.
3.
Pla an By Featurre Merencannakan mulaii pembuatann fitur – fituur secara seqquential menurut prio oritasnya dan ketergantuungannya kepada fitur – fitur lain.
4.
Dessign by Featture and Buiild by Featurre
22
Tahapan ini adalah pembuatan program sesuai fitur – fitur yang telah disusun. Proses design by feature dan build by feature ada proses yang prosedur yang berulang selama sebuah fitur ini dibuat. Setelah sebuah fitur telah selesai dibuat, maka fitur tersebut akan dipindahkan kepada fitur utama dalam program untuk dijadikan satu kesatuan.
1.10 Internet Menurut Turban Rainer dan Potter (2001, p208), Internet adalah jaringan telekomunikasi dan elektronik raksasa terbesar di dunia. Internet tidak hanya merupakan kumpulan dari jaringan komunikasi elektronik antara komputer-komputer bisnis, konsumen, pemerintahan, sekolah-sekolah dan organisasi-organisasi lainnya tetapi juga telah membuka kemungkinan-kemungkinan baru yang menantang cara tradisional dari interaksi, berkomunikasi, dan melakukan bisnis.
1.11 World Wide Web World Wide Web atau WWW adalah kumpulan dari sejumlah dokumen hypertext yang saling berkaitan dan ditempatkan pada server khusus, yang disebut dengan Web Server atau server HTTP di seluruh dunia. (Hoffer et al, 2009, p470). Sedangkan menurut Kadir (2003, p4), World Wide Web (WWW) atau biasa disebut dengan Web, merupakan salah satu sumber daya Internet yang berkembang dengan pesat. Informasi Web didistribusikan melalui pendekatan hypertext, yang memungkinkan suatu teks pendek menjadi acuan untuk membuka dokumen yang lain. Dengan adanya
23
pendekatan hypertext ini, seseorang dapat memperoleh informasi dengan meloncat dari suatu dokumen ke dokumen yang lain. Dokumen-dokumen yang diakses pun dapat tersebar di berbagai mesin dan di berbagai negara.
1.12 Web Server Web server adalah server yang melayani permintaan klien terhadap halaman web. Apache, IIS (Internet Information Server), dan Xitami merupakan contoh perangkat lunak Web Server. (Kadir, 2003, p6). Cara kerja web melibatkan komunikasi antar dua komputer, satu server, dan satu client. Server akan mengirimkan file ketika client memintanya. Vaughan ( 2006, pg294). Menurut Hoffer et al (2009, p479), web server yang digunakan harus dapat menangani banyak pengguna pada suatu waktu. Hal ini dimungkinkan dengan adanya kemampuan multiprocessing, di mana beberapa processor akan bekerja bersama-sama untuk mempercepat pemrosesan. Kegiatan pada web server akan dibagi menjadi empat langkah dasar, dan ada dua komponen yang terlibat, yaitu sebuah web browser dan web server. Langkah-langkah tersebut adalah sebagai berikut : 1.
Komputer klien menggunakan web browser untuk berhubungan dengan web server dan meminta sebuah halaman web.
2.
Selama menerima permintaan, web server menempatkan file atau program yang sesuai di dalam file sistem. 24
3.
Setelah mengalokasikan file, web server mengambil file dari file sistem.
4.
Web server kemudian mengirim file tersebut ke web browser. File hasil permintaan diterima web browser dan di-render pada komputer klien.
1.13 Web Browser Browser atau web browser adalah perangkat lunak di sisi klien yang digunakan untuk mengakses informasi web. Internet Explorer, Netscape dan Mozilla merupakan contohcontoh browser yang ada. (Kadir, 2003, p6). Pada awalnya web hanya berupa tulisan saja. Kemudian pada tahun 1992, peneliti dari National Center Supercomputing Application di University of Illinois mengembangkan Mosaic, yaitu web browser pertama yang menampilkan gambar. Penggunaan Web Browser kemudian menjadi sangat universal, karena web browser dapat memberikan interface yang sama pada sistem operasi yang berbeda. Browser mampu berkomunikasi melalui HTTP, mengatur HTML, dan menampilkan tipe data tertentu seperti GIF (Graphic Interchange Format) dan JPEG (Joint Photographic Expert Group) untuk grafik dan Microsoft Windows WAV untuk suara. (Turban, Rainer dan Potter, 2001, p224). 1.14 Istilah-istilah yang Berhubungan dengan Internet dan Web Berikut ini merupakan istilah-istilah yang berhubungan dengan internet dan web : 1.
Hypermedia Struktur dari elemen yang ditautkan, di mana pengguna dapat menavigasi suatu media atau informasi yang disimpan pada web. (Vaughan, 2006, p449)
2.
URL 25
Alamat dokumen atau file dalam internet. (Vaughan, 2006, p458) 3.
Hypertext Markup Language (HTML) HTML merupakan bahasa standar bagi web yang memformat dokumen dan menyatukan link dynamic hypertext ke penyimpanan dokumen lain pada komputer yang sama ataupun berbeda. (Turban, Rainer dan Potter, 2001, pg223)
4.
Hypertext Transfer Protocol (HTTP) HTTP menjelaskan bagaimana klien dan server berkomunikasi. HTTP merupakan sebuah protokol yang digunakan untuk mentransfer halaman web melalui internet. (Connolly dan Begg, 2010, pg1029).
1.15 Bahasa Pemrogramman Internet Dalam proses pengembangan aplikasi yang berkaitan dengan internet, penggunaan scripting language merupakan salah satu hal pendukung utama yang menentukan dinamis dan statisnya sebuah aplikasi tersebut. Scripting language adalah sebuah bahasa yang dapat menambah fitur – fitur tambahan pada HTML. Bahasa scripting ini dibagi ke dalam 2 jenis yaitu client-side scripting dan server-side scripting. 1.15.1
Client Side Scripting Client-side scripting adalah scripting yang berjalan di sisi client, dalam hal ini yaitu web browser. Client-side scripting ini biasa digunakan untuk fungsi – fungsi standar yang tidak berkaitan dengan basis data. Dua contoh client-side scripting yang paling banyak digunakan adalah Javascript dan VB Script.
26
1.15.2
Javascript Menurut Eaglestone dan Ridley (2001, p242), javascript merupakan sebuah cross platform scripting language dengan fitur object oriented yang dapat menyediakan programming interface pada DOM. Javascript menawarkan pada penggunanya untuk membuat sebuah halaman web yang bersifat dinamis. Javascript ini dapat dikombinasi dengan HTML yang dibatasi oleh tag <script> ketika akan digunakan.
1.15.3
Server Side Scripting Server-side scripting adalah scripting yang dieksekusi melalui web server seperti Apache, IIS dan yang lainnya. Server-side scripting sangat berguna ketika dibutuhkan suatu fungsi ataupun validasi yang terhubung dengan basis data, keamanan server, ataupun proses melalui server. Penggunaan server-side scripting biasanya merupakan indikasi bahwa aplikasi web tersebut bersifat dinamis. Cara kerja server-side scripting dapat diibaratkan sebagai satu set instruksi yang diproses oleh server, dan menghasilkan HTML. HTML yang dihasillkan dikirim sebagai bagian dari tanggapan HTTP ke browser. Browser kemudian menampilkan HTML tersebut.
27
1.16 PHP PHP merupakan html-embedded scripting language, atau maksudnya adalah sebuah bahasa pemprograman yang penggunaannya dimasukkan ke dalam html. PHP mudah digunakan, dan juga merupakan alat yang multiguna. Dengan menggunakan PHP maka maintenance suatu situs web menjadi lebih mudah. Proses update data dapat dilakukan dengan menggunakan aplikasi yang dibuat dengan menggunakan script PHP. PHP dapat berjalan pada semua jenis sistem operasi, antara lain pada LINUX dan varian UNIX, Microsoft Windows, MAC OS X, serta RISC OS. Selain itu PHP juga dapat berjalan pada beberapa jenis web server, antara lain Apache, Microsoft Internet Information, Services, Personal web server, Netscape, dan Iplanet server, Caudium, Xitami, OmniHTTPd, dan masih banyak lagi. PHP juga memiliki banyak basis data populer yang sering digunakan dalam beberapa web server, antara lain Adabas D, Ingres, Oracle, dBase, InterBase, Ovrimos, Empress, FrontBase, PostgreSQL, mSQL, Solid, HyperWave, Direct MS-SQL, Sybase, IBM DB2, MySQL, Velocis, Informix, ODBC, dan Unix dbm.
1.17 Keunggulan PHP Berikut adalah beberapa keunggulan dari PHP : 1.
PHP mampu berjalan di beberapa server, misalnya Apache, Microsoft, PHTTPD, FHTTPD dan yang lainnya. 28
IIS,
2.
PHP mendukung akses kebeberapa basis data yang sudah ada, seperti MySQL, mSQL, dBase, Unix dan yang lainnya.
3.
PHP mampu berjalan di LINUX sebagai platform sistem operasi, windows, dan yang lainnya.
4.
PHP merupakan salah satu scripting language yang termudah untuk dipelajari.
5.
PHP merupakan program open source atau gratis, serta mudah di-share dan diubah di antara komunitas pengembangan web.
1.18 MySQL MySQL adalah sebuah sistem manajemen relasi basis data yang bersifat open source, memiliki level enterprise, dan multithreaded. Maksudnya adalah selain bebas digunakan karena bersifat open source, MySQL juga dapat digunakan pada aplikasi yang berbeda pada waktu yang bersamaan. (Maslakowski, 2000, p10).
1.19 Keunggulan MySQL MySQL adalah sistem manajemen relasi basis data (Relational Database Management System / RDBMS) yang bersifat free dan termasuk dalam kategori open source. Selain karena sifatnya yang free, adapun kelebihan MySQL adalah sebagai berikut: 1.
Open source software, MySQL dilengkapi dengan source code yang lengkap. Ini berarti kita bisa mempelajari source code tersebut dan mengubahnya sesuai dengan kebutuhan kita. Karena merupakan open source software, bisa ditemukan banyak support dari software lain. 29
2.
SQL Support, karena seperti yang bisa dilihat, terdapat kata 'SQL' di dalam MySQL, hal ini dikarenakan MySQL men-support SQL, yaitu sebuah bahasa yang digunakan untuk membuat query data dari sebuah basis data.
3.
Superb performance and reliability, MySQL memiliki performa yang sangat cepat dan terpercaya, bahkan di lingkungan yang memiliki kebutuhan yang kompleks.
4.
Ease of use, MySQL merupakan sebuah manajemen relasi basis data yang sederhana namun memiliki fitur-fitur yang kuat. MySQL juga mudah untuk diinstall dan digunakan, dilengkapi dengan aplikasi client atau server, serta dilengkapi dengan tools lain yang berfungsi memudahkan administrasi basis data.
1.20 Interaksi Manusia dan Komputer (IMK) Menurut Shneiderman (2010, p58-p59) tujuan penting bagi desainer adalah user interface yang konsisten. Bagaimanapun definisi dari konsistensi sendiri susah dipahami dan memiliki banyak tingkatan yang terkadang saling bertabrakan. Argumen untuk konsistensi adalah bahwa bahasa perintah atau serangkaian tindakan harus terurut, dapat diprediksi dan dapat dideskripsikan oleh beberapa aturan sehingga mudah untuk dipelajari dan dikuasai. Menurut Shneiderman (2010, p5), ada delapan hal yang perlu diperhatikan dalam membuat desain yang dinamakan dengan istilah 8 aturan emas. Menurut Shneiderman (2010, p74-p75), terdapat delapan aturan emas dalam merancang antarmuka / user interface :
30
1.
Berusaha untuk konsisten Tindakan konsisten diperlukan dalam situasi yang serupa. Hal ini biasa digunakan dalam pembuatan prompt, menu dan help screens. Begitu juga dengan pembuatan command user.
2.
Menyediakan sebuah fungsional yang bersifat universal Ketika pertama kali menggunakan sistem, pengguna yang masih baru dan masih tidak familiar dapat dibantu melalui sebuah prosedur yang bersifat dasar sehingga dapat dengan lebih mudah dimengerti. Seiring meningkatnya frekuensi penggunaan, pengguna juga ingin mengurangi jumlah interaksi dan meningkatkan laju dari interaksi tersebut. Singkatan, tombol fungsi, perintah tersembunyi dan fasilitas makro sangat membantu expert users
3.
Memberikan umpan balik yang informatif Untuk setiap tindakan dari operator, harus ada sistem umpan balik. Untuk tindakan-tindakan sering dan kecil, tanggapan dapat bersifat sederhana sedangkan untuk tindakan jarang dan utama, respon harus bersifat lebih detail.
4.
Merancang dialog untuk menghasilkan suatu penutupan Urutan – urutan dari tindakan-tindakan yang ada harus diatur menjadi bagian awal, tengah dan akhir. Umpan balik informatif pada sekumpulan tindakan-tindakan yang ada memberikan kepuasan penyelesaian, rasa lega, tanda untuk menghentikan suatu rencana serta pilihan dari pikiran mereka dan indikasi bahwa caranya jelas yaitu untuk mempersiapkan sekelompok tindakan-tindakan yang ada berikutnya
31
5.
Memberikan penanganan kesalahan yang sederhana Sebisa mungkin desain yang dibuat berasal dari sistem yang ada agar pengguna tidak berbuat kesalahan yang serius. Namun, jika ada kesalahan yang dibuat oleh user maka sistem harus dapat mendeteksi kesalahan tersebut dan melakukan sebuah mekanisme yang mudah dipahami sebagai penanganan kesalahan.
6.
Memperbolehkan user untuk kembali ke tindakan yang sebelumnya Fitur ini bertujuan untuk mengurangi kecemasan, karena pengguna tahu bahwa kesalahan dapat dibatalkan. Sehingga mendorong pengguna dalam mejelajah pilihan-pilihan tindakan yang tidak biasanya dilakukan. Bentuk dari pembalikan tindakan dapat berupa satu tindakan, entri data atau sekelompok lengkap dari tindakan-tindakan yang ada
7.
Mendukung tempat pengendali internal (Internal Locus of Control) Pengguna juga ingin menjadi pengontrol sistem dan berharap sistem tersebut akan merespon tindakan yang dilakukan pengguna daripada pengguna hanya merasa seperti seseorang yang dikontrol oleh sistem. Sebaiknya sistem dirancang sedemikian rupa sehingga pengguna menjadi inisiator daripada responden
8.
Mengurangi beban ingatan jangka pendek Keterbatasan ingatan manusia dalam mengolah informasi dalam jangka waktu pendek memerlukan sesuatu yang dapat ditampilan namun diberikan dalam bentuk yang sederhana. Halaman-halaman ganda diperketat, diberikan
32
cukup waktu untuk dapat berlatih mengenai kode, mnemonic dan urutan tindakan
Menurut Shneiderman (2010, p32), terdapat lima faktor manusia terukur yang dapat dijadikan sebagai pusat evaluasi, yaitu : 1.
Waktu belajar, berapa lama waktu yang diperlukan user untuk mempelajari cara yang relevan untuk melakukan suatu tugas?
2.
Kecepatan kinerja, berapa lama waktu yang diperlukan user untuk mengerjakan suatu tugas?
3.
Tingkat kesalahan user, berapa banyak kesalahan dan jenis kesalahan apakah yang bisa terjadi saat user mengerjakan tugas tersebut?
4.
Daya ingat, bagaimana user melakukan manajemen pengetahuan setelah beberapa waktu? Ingatan mungin dapat dihubungkan dengan waktu belajar dan frekuensi penggunaan yang dilakukan.
5.
Kepuasan yang subjektif, seberapa banyak user menyukai penggunaan bermacam aspek dalam antarmuka? Jawaban dapat dipastikan melalui wawancara atau melakukan survey, termasuk skala kepuasan dan tempat untuk komentar bebas dari user.
1.21 Sepuluh Kesalahan Utama Pada Design Web Menurut Nielsen (2000), dalam membuat sebuah design untuk website yang akan dibangun terdapat beberapa kesalahan dan kesalahan tersebut terus terulang tanpa ada yang
33
mengetahui. Sehingga Nielsen merumuskan 10 kesalahan yang paling sering dilakukan. Kesalahan-kesalahan tersebut diantaranya adalah : 1.
Proses pencarian yang tidak baik Secara keseluruhan sebuah mesin pencari dapat mengurangi kegunaan ketika tidak bisa mengantisipasi kesalahan tulis, kata jamak dan beberapa macam kesalahan lainnya.
2.
PDF sebagai bacaan online Banyak pengguna tidak suka membuka file PDF ketika sedang browsing karena untuk melakukan pekerjaan mudah seperti mencetak dan menyimpan dokumen menjadi sulit karena untuk standar command di browser tidak berlaku.
3.
Tidak mengubah warna dari tautan yang pernah dikunjungi Pengetahuan tentang halaman sebelumnya dapat membantu mengerti lokasi tempat sekarang berada. Mengetahui keadaan sebelum dan keadaan sekarang akan membuat lebih mudah ketika menentukan langkah selanjutnya.
4.
Tulisan yang sulit dibaca Kumpulan tulisan adalah sebuah kesalahan yang fatal untuk interaksi karena membosankan, dan cukup melelahkan untuk dibaca. Tulislah di web untuk online bukan untuk hal akan dicetak.
5.
Ukuran tulisan yang statis
34
CSS stylesheets kadang membuat website tidak bisa diubah ukuran tulisannya melalui web browser. Tulisan yang kecil akan mengurangi kemampuan membaca untuk sebagian besar orang yang diatas umur 40 tahun. 6.
Judul dari halaman tidak jelas dalam pencarian search engine Pencarian adalah hal yang paling penting untuk pengguna dalam menemukan sebuah website. Pencarian juga merupakan hal yang penting untuk pengguna dalam pencarian mereka untuk website pribadi. Judul dari halaman website merupakan salah satu alat utama untuk menarik pengunjung dari list pencarian dan membantu pengguna yang sudah ada untuk mencari halaman – halaman khusus yang mereka butuhkan
7.
Semua yang kelihatan seperti iklan Pengguna web sudah belajar untuk berhenti untuk memperhatikan semua iklan yang menghalangi dari tujuan utama mereka. Secara garis besar, ketika mengabaikan sesuatu, pengguna tidak akan melihat lagi secara lebih detail untuk mengetahui apa itu.
8.
Melanggar konvensi desain Konsistensi adalah aturan utama yang paling besar. Ketika sebuah hal selalu berlaku sama, pengguna tidak perlu khawatir akan selanjutnya terjadi. Sebaliknya, pengguna akan tahu apa yang akan terjadi dari pengalaman sebelumnya.
9.
Membuka halaman browser baru
35
Para desainer membuka sebuah halaman browser baru dengan teori bahwa untuk membuat user tetap berada di website mereka. Akan tetapi, strategi ini mempunyai umpan balik yang kurang baik karena hal ini menyebabkan tombol back tidak dapat digunakan yang biasanya pengguna menggunakan untuk kembali ke website sebelumnya. 10.
Tidak menjawab pertanyaan dari user Seorang user mempunyai sebuah tujuan ketika berkunjung ke sebuah website. Mereka berkunjung karena ingin mencapai suatu pencapaian. Kesalahan utama dari sebuah website adalah gagal dalam menyediakan informasi yang dicari oleh user.
36