akan menghasilkan tulisan biasa, sedangkan bila kita menggunakan CSS, maka kita bisa mengubah tampilannya baik warna, tipe font, bahkan ukuran font dari penggunaan tag
. W3C (World Wide Web Consortium) yang juga merupakan hasil karya dari Håkon Wium Lie dan Bert Bos, mengelompokkan CSS berdasarkan dua jenis yakni CSS1 dan CSS2, di mana CSS2 merupakan hasil dari pengembangan CSS1 yang memiliki semua fitur dari CSS1. CSS2 diperkenalkan pada bulan M ei 1998. CSS2 memiliki sekitar 70 properti (termasuk properti untuk sound dan page break) sedangkan CSS1 hanya memiliki sekitar 50 properti saja. Hal-hal yang dapat dilakukan dalam merancang tampilan halaman Web dengan menggunakan CSS, antara lain: -
M enetapkan besarnya font.
-
M enambahkan indentasi pada sebuah teks.
-
M engatur margin dan padding pada halaman Web.
11
-
M enambahkan elemen-elemen lain pada halaman Web, seperti border disekitar teks.
-
Dapat menggunakan pengukuran seperti senti meter, piksel, persen, atau em pada ukuran dari teks, tabel, atau button.
-
M embuat style yang berbeda untuk satu halaman Web atau beberapa halaman Web.
-
M engubah struktur atau style dari tag biasa yang terdapat pada halaman Web.
-
M engatur dengan tepat penggunaan gambar background yang ditampilkan dan apakah gambar tersebut perlu diulang secara horisontal atau vertikal ataupun tidak perlu diulang.
-
M engubah jarak antarkarakter dalam suatu kata, bahkan dapat mengubah jarak spasi antar kalimat (Schengili, 2000, pp5-9).
2.1.1.6 Really Simple Syndication (RSS ) RSS digunakan untuk menyediakan content syndication feed: sebuah file konsisten dan dapat dibaca oleh mesin yang memungkinkan situs Web membagikan konten mereka kepada aplikasi-aplikasi lainnya dengan cara standar. Sebenarnya, RSS ini dahulu digunakan untuk membagikan data antarsitus Web, tapi sekarang lebih umum untuk digunakan antara suatu situs dan sebuah aplikasi desktop bernama RSS reader (Hammersley, 2005, p1). Istilah RSS sendiri memiliki kepanjangan yang bermacam-macam. Pada RSS versi 0.91, RSS merupakan singkatan dari Rich Site Summary. RSS juga disebut-sebut sebagai kependekan dari RDF Site Summary ketika RSS dalam versi 0.9 dan 1.0.
12
Sekarang, RSS 2.0, disebut-sebut sebagai kependekan dari Really Simple Syndication (http://id.wikipedia.org/wiki/RSS).
2.1.1.7 Rich Internet Application (RIA) Rich Internet Application (RIA) merupakan aplikasi yang meyediakan kehandalan dan fungsi layaknya aplikasi desktop. RIA dapat dijalankan baik pada desktop maupun browser, yang tentunya tetap harus dapat terhubung pada internet. Untuk menggunakan RIA yang berjalan pada browser, pengguna tidak perlu melakukan instalasi
piranti
lunak
khusus
(http://www.adobe.com/resources/business/rich_internet_apps/). Adapun keuntungan dari RIA khususnya yang berjalan pada browser: -
Lebih banyak menjangkau pengguna, karena untuk menggunakan RIA, tidak dibutuhkan persyaratan-persyaratan khusus (hanya dibutuhkan komputer dengan browser yang tehubung Internet).
-
Lebih responsif. Berbeda dengan aplikasi Web konvensional yang me-reload halaman secara keseluruhan ketika terjadi suatu aksi/event (contohnya : ketika suatu tombol/link ditekan) dari pengguna, RIA hanya meng-update bagian-bagian tertentu, sehingga pengguna dapat lebih cepat mendapatkan informasi yang dibutuhkan.
-
M enurunkan harga yang harus dibayar. Ketika pengguna melakukan aksi dengan menekan tombol/link, permintaan tersebut akan dikirimkan ke server untuk diproses, kemudian server memberikan hasil yang ditampilkan pada sisi klien (client side). Ketika hasil permintaan diberikan kepada pengguna, ada harga yang harus dibayar sesuai kapasitas/besar halaman yang
13
ditampilkan. Pada Web konvensional tentunya halaman yang ditampilkan akan membutuhkan kapasitas yang lebih besar dibandingkan Web yang mengacu pada RIA, hal ini disebabkan RIA hanya me-reload bagian-bagian yang berubah saja, sehingga harga yang harus dibayarpun menjadi lebih murah (http://www.inowweb.com/web-design/rich-internet-applications-ria).
2.1.1.8 Message Digest 5 (MD5) MD-5 (Message Digest 5) merupakan fungsi hash satu arah yang diciptakan oleh Ron Rivest. M D-5 adalah salah satu aplikasi yang digunakan untuk mengetahui bahwa pesan yang dikirim tidak mengalami perubahan sewaktu berada di jaringan. Algoritma M D-5 secara garis besar mengambil pesan yang mempunyai panjang tidak tetap diubah menjadi 'sidik jari' atau 'intisari pesan' yang mempunyai panjang tetap yaitu 128 bit. 'Sidik jari' ini tidak dapat dibalik untuk mendapatkan pesan, dengan kata lain tidak ada orang yang dapat melihat pesan dari 'sidik jari' M D-5 (Sofwan et al., 2006, p.22). M cGlinn (2005) berpendapat bahwa hashing password (sidik jari digital) merupakan cara untuk mengenkripsi sebuah password sebelum disimpan ke dalam basis data sehingga apabila basis data jatuh ke tangan yang salah, kerusakannya dapat dibatasi. Ada beberapa algoritma hashing yang kuat, salah satu yang sering dijumpai adalah M D5.
2.1.1.9 CAPTCHA CAPTCHA, singkatan dari Completely Automated Public Turing Test to Tell Computers and Humans Apart, adalah sebuah program yang melindungi berbagai situs
14
Web dari bots (Web robots) dengan cara membangkitkan dan menilai tes yang dapat dikerjakan oleh manusia tapi tidak dapat dikerjakan oleh program komputer masa sekarang. Sebagai contoh, manusia dapat membaca teks yang meliuk-liuk tapi tidak bagi program komputer (http://www.captcha.net). CAPTCHA sudah merupakan hal yang wajar di Web. Luis von Ahn, asisten profesor di Carnegie M ellon yang turut ambil bagian dalam tim pengembangan CAPTCHA, memperkirakan orang-orang mengisi hampir 200 juta CAPTCHA setiap harinya (Grossman, 2008).
2.1.2
Teori-teori Interaksi Manusia dan Komputer
2.1.2.1 Delapan Aturan Emas M enurut Shneiderman (1998, pp.74-75), ada delapan aturan emas untuk perancangan antarmuka pengguna: 1.
Berusaha untuk konsisten. Terminologi identik harus digunakan pada menu, tampilan bantuan, dan prompt. Harus diperhatikan konsistensi warna, layout, kapitalisasi, font, dan berbagai hal lainnya.
2.
M emungkinkan beberapa pengguna untuk menggunakan shortcut. Waktu respon yang cepat dan rata-rata tampilan yang cepat menjadi daya tarik tersendiri bagi para pengguna yang sering menggunakan aplikasi. Gunakan singkatan, key khusus, perintah tersembunyi, dan fasilitas makro.
3.
M enyajikan umpan balik yang informatif. Untuk setiap aksi dari pengguna, harus ada umpan balik dari sistem.
15
4.
M erancang dialog yang memberikan penutupan. M emberikan umpan balik yang informatif saat sekumpulan aksi selesai dilakukan dapat memberikan operator kepuasan, perasaan aman, dan menjadi sinyal untuk membuang rencana cadangan mereka.
5.
M emberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana. Sebisa mungkin, rancang sistem yang membuat pengguna tidak dapat melakukan sebuah kesalahan serius.
6.
M emungkinkan pembalikan aksi yang mudah. Sebisa mungkin, aksi harus dapat dibalikkan.
7.
M endukung pusat kendali internal (internal locus of control). Operator berpengalaman sangat menginginkan perasaan mereka berkuasa terhadap sistem dan sistem merespon aksi-aksi mereka.
8.
M engurangi beban ingatan jangka pendek. Batasan manusia memproses informasi dalam ingatan jangka pendek membutuhkan tampilan yang dibuat sesederhana mungkin.
2.1.2.2 Lima Faktor Manusia Terukur M enurut Shneiderman (1998, p.15), ada lima faktor manusia terukur yang harus mendapat perhatian penting saat evaluasi: 1.
Waktu pembelajaran (time to learn) Berapa lama waktu yang dibutuhkan member dari komunitas pengguna untuk mempelajari bagaimana cara menggunakan perintah-perintah yang relevan terhadap sekumpulan tugas-tugas?
16
2.
Kecepatan performa (speed of performance) Berapa lama waktu dibutuhkan untuk mengerjakan tugas yang sedang diukur?
3.
Rata-rata kesalahan oleh para pengguna (rate of errors by users) Berapa banyak dan kesalahan jenis apa yang dibuat orang ketika mengerjakan tugas-tugas yang sedang diukur?
4.
Ingatan jangka panjang (retention over time) Seberapa baik pengguna mempertahankan pengetahuannya setelah sejam, sehari, atau seminggu?
5.
Kepuasan subjektif (subjective satisfaction) Seberapa jauh pengguna menyukai berbagai aspek dari sistem?
2.1.2.3 Storyboard Storyboard dapat dikatakan sebagai sebuah prototipe dengan notasi paling sederhana. Storyboard merupakan penjelasan grafis sebuah tampilan muka dari suatu bakal sistem tanpa menyertakan fungsional dari sistem. M engevaluasi customer ataupun pengguna terhadap storyboard dapat dengan cepat menentukan apakah perancangan berada dalam jalur yang tepat (Dix et al., 1998, p208).
2.1.3
Teori-teori Rekayasa Piranti Lunak
2.1.3.1 Software Process Dalam mengembangkan sebuah produk atau sistem, adalah sangat penting untuk melakukannya dalam suatu tahapan-tahapan yang terprediksi. Tahapan-tahapan ini
17
menjadi sebuah peta jalan guna mencapai hasil dengan kualitas tinggi dan tepat waktu. Software process adalah peta jalan tersebut (Pressman, 2005, p52).
a.
Process Framework Ketika
software
process
dijalankan
dalam
pembuatan
proyek-proyek
pengembangan piranti lunak, ditemui sejumlah kesamaan tahapan yang kemudian dijadikan kerangka kerja atau disebut dengan istilah process framework. Secara umum, process framework terdiri atas 5 tahapan, yaitu komunikasi, perencanaan, pemodelan, pembangunan, dan pen-deploy-an. Dalam tahapan komunikasi, terjadi proses komunikasi dan kerja sama yang sangat intensif dengan customer dan para stakeholder lainnya. Requirement gathering terjadi pada tahap ini. Selanjutnya, dalam tahap perencanaan dibuat sebuah rencana yang menjelaskan mengenai tugas-tugas teknis yang akan dilakukan, resiko-resiko yang mungkin tejadi, sumber daya yang dibutuhkan, produk hasil kerja yang akan dihasilkan, dan jadwal pengerjaannya. Tahapan pemodelan menciptakan model-model analisis requirement dan perancangan yang membuat baik pihak pengembang maupun customer mengerti dengan lebih baik terhadap requirement dan desain dari piranti lunak yang akan dikembangkan. Lebih jauh mengenai pemodelan, tahapan ini terdiri atas dua aktivitas, yaitu analisis dan perancangan. Selanjutnya, tahapan masuk kepada tahap pengkonstruksian yang melingkupi code generation dan pengujian yang dibutuhkan untuk menemukan kesalahan-kesalahan dalam kode.
18
Apabila sudah selesai, baik seluruhnya maupun sebagian, piranti lunak diberikan kepada customer yang kemudian akan mengevaluasinya dan memberikan umpan balik berdasarkan hasil evaluasi tersebut (Pressman, 2005, pp54-57).
b.
Waterfall Process Model Process model sebagai bagian yang lebih khusus dari process framework dan
bersifat adaptif terdiri atas berbagai macam jenis, salah satunya adalah waterfall process model. Waterfall model bersifat linier, sistematis, dan sequential dengan tahapantahapan mengacu pada process framework sehingga terdiri atas 5 tahapan seperti dalam process framework. Waterfall model atau yang sering juga disebut sebagai classic life cycle sangat tepat digunakan untuk proyek-proyek yang sudah sangat jelas requirementnya (Pressman, 2005, p79).
Communication project initiation requirements gathering
Planning estimating scheduling tracking
Modeling analysis design
Construction code test
Deployment delivery support feedback
Gambar 2.1 Waterfall Model (Sumber: Pressman, 2005, p79)
2.1.3.2 Framework Framework adalah sebuah sistem peranti lunak yang terutama dirancang untuk dapat digunakan kembali pada berbagai macam proyek yang berbeda-beda, atau pada
19
berbagai macam produk dari sebuah product line. (Lethbridge dan Laganière, 2002, pp14-15) Framework juga dapat diartikan sebagai teknologi reusable dari sistem piranti lunak yang dapat diimplementasikan/dipergunakan pada berbagai macam aplikasi. (Lethbridge dan Laganière, 2002, p61)
a.
Model-View-Controller Architectural Pattern M odel-View-Controller, atau M VC, adalah sebuah pola arsitektur yang berguna
untuk membantu memisahkan layer antarmuka pengguna dari bagian-bagian lain sistem. M VC tidak hanya membuat layer antarmuka pengguna menjadi koheren, tapi juga membantu mengurangi kopling antara layer antarmuka pengguna dari sistem.
Gambar 2.2 MVC Architectural Pattern (Sumber: Lethbridge dan Laganière, 2002, p.338)
Pola M VC memisahkan layer fungsional sistem (model) dari dua aspek antarmuka pengguna, view dan controller. M odel mengandung berbagai class yang
20
instance-nya dapat dilihat ataupun dimanipulasi. View mengandung objek-objek yang berguna untuk me-render tampilan data dari model pada antarmuka pengguna. Sementara controller mengandung objek-objek yang mengontrol dan mengatur interaksi pengguna dengan view dan model. Ia mengandung logic yang merespon ketika penguna menuliskan sesuatu pada sebuah field atau mengklik mouse pada sebuah kontrol (Lethbridge dan Laganière, 2002, pp.337-338).
2.1.3.3 Unified Modeling Language (UML) OM G (Object Management Group), dalam situs resminya (http://www.uml.org), mendefinisikan UM L (Unified Modeling Language) secara umum sebagai sebuah spesifikasi dari OM G yang paling banyak digunakan dan merupakan suatu cara memodelkan tidak hanya struktur aplikasi, perilaku, dan arsitektur, tetapi juga proses bisnis dan struktur data. Sementara menurut Lethbridge dan Laganière (2002, p151), UM L adalah sebuah bahasa grafis standar yang dibangun secara kolaboratif untuk memodelkan piranti lunak berorientasikan objek. UM L bukanlah sebuah metodologi karena UM L tidak mendeskripsikan urut-urutan langkah untuk melakukan sesuatu. Sebaliknya, UM L adalah bahasa pemodelan yang digunakan untuk menciptakan model visual dari sistem piranti lunak. Booch et al. sendiri dalam bukunya yang berjudul The Unified Modeling Language User Guide (2005, p13), menuliskan bahwa UM L adalah sebuah bahasa standar untuk menulis cetak biru dari piranti lunak. UM L dapat digunakan untuk memvisualisasikan, menspesifikasikan, membangun, dan mendokumentasikan artefakartefak dari sebuah sistem piranti lunak intensif. UM L cocok untuk memodelkan
21
berbagai sistem dari sistem informasi enterprise hingga aplikasi berbasis Web terdistribusi, bahkan juga untuk real time embedded system. Ada banyak jenis diagram UM L beserta konsep-konsep di dalamnya, namun Dharwiyanti dan Wahono (2006, p3) merangkumnya ke dalam tabel berikut.
Tabel 2.1 Rangkuman Konsep Dasar UM L Major Area structural
dynamic
View
Diagrams
Main Concepts
static view
class diagram
class, association, generalization, dependency, realization, interface
use case view
use case diagram
use case, actor, association, extend, include, use case generalization
implementation view
component diagram
component, interface, dependency, realization
deployment view
deployment diagram
node, component, dependency, location
state machine view
statechart diagram
state, event, transition, action
activity view
activity diagram
state, activity, completion transition, fork, join
interaction view
sequence diagram
interaction,object, message, activation
collaboration diagram
collaboration, interaction, collaboration role, message
model management
model management view
class diagram
package, subsystem, model
extensibility
all
all
constraint, stereotype, tagged values
(Sumber: Dharwiyanti dan Wahono, 2006, p3)
Dengan demikian, UM L mencakup use case diagram, class diagram, statechart diagram, activity diagram, sequence diagram, collaboration diagram, component diagram, dan deployment diagram. Berikut adalah penjelasan singkatnya, masih menurut Dharwiyanti dan Wahono (2006, pp4-11).
22
-
Use case diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang dibuat sistem dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinterkasi dengan sistem untuk melakukan pekerjaanpekerjaan tertentu.
-
Class diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metode/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package, dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
-
Statechart diagram Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimulus-stimulus yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram).
23
-
Activity diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, keputusan yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
-
Sequence diagram Sequence diagram menggambarkan interaksi antarobjek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horisontal (objek-objek yang terkait).
-
Collaboration diagram Collaboration diagram juga menggambarkan interaksi antarobjek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Message dari level yang sama memiliki prefiks yang sama.
-
Component diagram Component diagram menggambarkan struktur dan hubungan antarkomponen piranti lunak, termasuk ketergantungan (dependency) di antaranya.
24
-
Deployment diagram Deployment diagram menggambarkan detail bagaimana komponen dideploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server, atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal.
2.1.4
Teori-teori Sistem Basis Data
2.1.4.1 Basis Data M enurut Connolly dan Begg (2005, p15), basis data adalah suatu koleksi bersama data-data yang saling terkait secara logis, dan juga merupakan pendeskripsian dari data-data tersebut, yang dirancang untuk menyajikan informasi yang dibutuhkan oleh sebuah organisasi. Dalam basis data, terdapat tiga istilah penting, yakni entitas, atribut, dan relationship. Entitas adalah sebuah objek berbeda (bisa seseorang, tempat, sesuatu, konsep, ataupun kejadian) dalam organisasi yang harus direpresentasikan dalam basis data. Atribut adalah sebuah properti yang mendeskripsikan beberapa aspek dari objek yang ingin di-record. Relationship adalah sebuah asosiasi antarentitas (Connolly dan Begg, 2005, p15).
2.1.4.2 Database Management System (DBMS ) M enurut Connolly dan Begg (2005, p16), DBM S adalah sebuah sistem piranti lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, merawat, dan mengendalikan akses ke basis data.
25
DBM S menyediakan berbagai fasilitas, yaitu: -
DBM S memungkinkan pengguna untuk mendefinisikan basis data, biasanya dengan menggunakan sebuah bahasa pendefinisi data (Data Definition Language)
atau
sering disebut
dengan
singkatannya,
DDL.
DDL
memungkinkan pengguna untuk menspesifikasikan tipe-tipe dan struktur data, serta constraint terhadap data yang akan disimpan ke dalam basis data. -
DBM S memungkinkan pengguna untuk menambah (insert), mengubah (update), menghapus (delete), dan mengambil kembali (retrieve) data dari basis data, biasanya menggunakan sebuah bahasa pemanipulasi data (Data Manipulation Language), DM L.
-
DBM S menyediakan akses terkontrol ke basis data. Beberapa contohnya adalah sistem keamanan yang mencegah pengguna tanpa otoritas mengakses basis data, sistem integritas yang merawat konsistensi data yang tersimpan, sistem kontrol concurrency yang memungkinkan akses bersama ke basis data, sistem kontrol recovery yang mengembalikan basis data ke kondisi konsisten sebelumnya yang biasanya disebabkan kegagalan piranti lunak ataupun keras, dan sebuah user-accessible catalog yang mengandung penjelasan-penjelasan dari data-data di basis data (Connolly dan Begg, 2005, pp16-17).
2.1.4.3 Entity Relationship Diagram (ERD) Untuk memastikan bahwa pemahaman akan sifat alami data dan bagaimana data itu dipergunakan oleh sebuah enterprise sudah tepat, maka perlu sebuah model untuk mengkomunikasikannya secara non-teknis
dan
bebas
dari ambiguitas. Entity
26
Relationship (ER) Model adalah salah satu contohnya. Pemodelan ER adalah sebuah pendekatan
top-down
untuk perancangan
basis
data
yang
dimulai
dengan
mengidentifikasikan data penting yang disebut entitas (entities) dan relationships antardata yang harus direpresentasikan dalam sebuah model. Kemudian ditambahkan detail seperti atribut-atribut dan constrain-constrain dari entitas, relationships, dan atribut. ERD menjadi model dari pemodelan ER ini (Connolly dan Begg, 2005, p342).
2.2
Teori-teori Khusus Dalam penyusunan skripsi ini, juga digunakan teori-teori yang secara khusus
membahas mengenai e-book dan e-book reader. Berikut adalah teori-teori tersebut.
2.2.1
E-book Electronic book atau yang lebih sering dikenal dengan e-book adalah tulisan
yang berada di media digital yang setara dengan buku konvensional. E-book biasanya dibaca melalui peralatan atau piranti lunak tertentu, yang disebut dengan E-book Reader (James, 2009). Istilah e-book ini mulai populer sejak munculnya Project Gutenberg. Project Gutenberg disebut-sebut sebagai koleksi pertama dan terbesar dari berbagai buku elektronik, atau e-book, gratis. M ichael Hart, pendiri dari Project Gutenberg mulai mengembangkan berbagai e-book pada tahun 1971 dan terus menginspirasi pembentukan berbagai e-book dan berbagai teknologi yang berhubungan dengan itu hingga hari ini (http://www.gutenberg.org/wiki/Gutenberg:About).
27
2.2.2
E-book Reader E-book reader adalah sebuah media yang berguna untuk menampilkan e-book,
agar pembaca seolah-olah sedang membaca sebuah buku. E-book reader dapat digolongkan ke dalam 2 jenis berdasarkan wujudnya, yaitu e-book reader device dan e-book reader software. E-book reader device adalah sebuah alat elektronik khusus yang berperan sebagai media fisik dalam membaca e-book, sebagai contoh yang mempopulerkan ebook
reader
pertama
kali
adalah
Kindle,
yang
dibuat
oleh
Amazon
(http://www.amazon.com). Sedangkan e-book reader software adalah sebuah aplikasi yang ditanamkan pada sebuah device untuk membaca e-book tersebut, contohnya adalah Adobe Acrobat Reader pada desktop dan Google Books yang berjalan pada Web (http://www.adobe.com/products/acrobat).
2.2.3
Dewey Decimal Classification (DDC) Dalam ilmu kepustakaan, Dewey Decimal Classification (DDC) merupakan
klasifikasi ciptaan abad ke-19 yang dibuat atas prinsip taksonomis dan hirarkhis (Basuki, 1991, p399). DDC terdiri atas sembilan kelas utama ditambah satu kelas generalia sehingga terdapat 10 kelas utama. Setiap kelas utama dibagi lagi menjadi subkelas, kemudian dibagi lagi pada tahap berikutnya. Kelas utama yang dimaksud adalah (1) Karya umum dengan kode 000, (2) Filsafat dan disiplin berkaitan dengan kode 100, (3) A gama dengan kode 200, (4) Ilmu-ilmu sosial dengan kode 300, (5) Bahasa dengan kode 400, (6) Ilmu-ilmu M urni dengan kode 500, (7) Teknologi (ilmu-ilmu terapan) dengan kode
28
600, (8) Kesenian dengan kode 700, (9) Sastra dengan kode 800, dan (10) Geografi umum dan sejarah serta cabangnya dengan kode 900 (Basuki, 1991, pp407-408). Belakangan, seiring dengan semakin maraknya literatur-literatur di bidang komputer, maka kategori ilmu komputer dimasukkan dengan menggabungkannya bersama karya umum (kode 000) (http://www.oclc.org/dewey/resources/summaries/).
2.2.4
PHP: Hypertext Preprocessor (PHP) PHP (PHP: Hypertext Preprocessor) adalah sebuah general-purpose scripting
language bersifat open source yang banyak digunakan khususnya dalam pengembangan Web dan dapat diintegrasikan dengan HTM L. Sintaksnya mirip dengan bahasa C, Java, dan Perl sehingga mudah untuk dipelajari. Tujuan utama dari bahasa ini adalah untuk memungkinkan para pengembang Web dalam menulis halaman-halaman Web dinamis (Achour et al., 2009). Sklar (2004, pp4-6) dalam bukunya Learning PHP 5 memberikan pendapat mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah sebagai berikut. -
PHP tidak berbayar
-
PHP bersifat open source
-
PHP bersifat cross-platform
-
PHP banyak digunakan
-
PHP menyembunyikan kompleksitasnya
-
PHP dibuat untuk pemrograman Web
29
Zandstra (2003, p10) berpendapat bahwa pada kebanyakan proyek, PHP dapat secara signifikan mempercepat proses produksi dibandingkan dengan bahasa scripting yang lain.
2.2.4.1 CodeIgniter CodeIgniter adalah sebuah framework PHP open source sederhana dan elegan yang pengembangannya difokuskan kepada kinerja dalam kondisi nyata dan bertujuan untuk pengembangan aplikasi web dengan lebih cepat dibandingkan jika harus menulis source code dari awal (http://www.codeigniter.com; CodeIgniter User Guide versi 1.7.2). Dalam CodeIgniter User Guide versi 1.7.2, CodeIgniter dituliskan sebagai framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai framework PHP tercepat. Framework ini menggunakan pendekatan M VC (Model-ViewController) di mana business logic dan presentation dipisahkan secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah dalam pengembangan sebuah proyek.
Gambar 2.3 Diagram Aliran Data pada CodeIgniter (Sumber: CodeIgniter User Guide versi 1.7.2)
30
Aliran data pada sistem yang menggunakan framework CodeIgniter, seperti yang tampak pada Gambar 2.3 di atas, dijelaskan pada CodeIgniter User Guide versi 1.7.2 dalam poin-poin sebagai berikut. a.
index.php bertindak sebagai front controller yang fungsinya untuk menginisialisasi sumber-sumber daya utama yang diperlukan untuk menjalankan CodeIgniter.
b.
Router memeriksa HTTP request untuk menentukan apa yang harus dilakukan.
c.
Jika terdapat cache file, request akan dikirim secara langsung kepada browser, melompati eksekusi sistem secara normal.
d.
Sebelum controller aplikasi di-load, HTTP request dan setiap data yang disubmit pengguna akan disaring untuk keamanan.
e.
Controller menge-load models, core libraries, plugins, helpers, dan sumbersumber daya lainnya yang dibutuhkan untuk memproses request khusus.
f.
View akhir di-render kemudian dikirim kepada web browser untuk ditampilkan. Jika caching diaktifkan, view akan di-cached terlebih dahulu sehingga untuk request-request selanjutnya pelayanan dapat tersedia.
2.2.5
JavaS cript W3Schools
(http://www.w3schools.com/Web/web_javascript.asp)
mendefinisikan JavaScript dengan poin-poin, yakni: (1) JavaScript adalah sebuah bahasa scripting, (2) Sebuah bahasa scripting adalah bahasa pemrograman yang ringan, (3) JavaScript terdiri atas baris-baris kode komputer yang dapat segera dieksekusi, (4) JavaScript biasanya di-embed secara langsung ke dalam halaman-halaman HTM L, (5)
31
JavaScript dirancang untuk menambah interaktif halaman-halaman HTM L, dan (6) Siapa saja dapat menggunakan JavaScript tanpa harus membayar lisensi. Javascript digunakan pada jutaan halaman Web untuk meningkatkan desain, memvalidasi form, mendeteksi browser, membuat cookie, dan banyak lagi. JavaScript menjadi bahasa scripting paling populer di Internet dan dapat bekerja pada semua browser umum.
2.2.5.1 jQuery jQuery adalah sebuah JavaScript jenis baru yang cepat dan ringkas. jQuery menyederhanakan HTML document traversing, event handling, animation, dan interaksi AJAX untuk rapid web development (http://www.jquery.com).
2.2.5.2 jQuery UI jQuery UI adalah sebuah widget dan interaction library yang dikembangkan di atas perpustakaan JavaScript jQuery yang dapat digunakan untuk mengembangkan aplikasi Web yang sangat interaktif (Dokumentasi Online jQuery UI). jQuery UI merupakan salah satu plugin utama siap pakai hasil dari implementasi jQuery. Selain jQuery UI, juga ada berbagai plugin buatan pihak ketiga seperti mb.scrollable yang memungkinkan objek-objek untuk diakses secara auto scrollable maupun manual scrollable baik horisontal maupun vertikal, dan jQuery qtip sebagai alternatif tooltip yang lebih powerfull dibandingkan dengan bawaan HTM L.
32
2.2.6 Blueprint Blueprint adalah sebuah kerangka kerja (framework) yang digunakan untuk CSS yang bertujuan agar memudahkan dan mempercepat para pengembang dalam membangun dan mengembangkan sebuah desain halaman Web. Biasanya pengembang yang satu dengan pengembang yang lainnya pasti memiliki perbedaan dalam hal mendesain sebuah halaman Web. Para pengembang harus menuliskan kode CSS mereka masing-masing dengan gaya bahasa dan struktur programming mereka masing-masing yang pastinya berbeda satu dengan yang lainnya. Oleh karena itu, diciptakanlah suatu kerangka kerja yang berguna untuk mempermudah pengembang dalam membangun sebuah desain halaman Web dengan “standarisasi” CSS dari blueprint framework ini, sehingga dalam mengatur tata letak objek dalam sebuah halaman Web, mereka dapat seragam dengan menggunakan blueprint antara pengembang yang satu dengan yang lainnya (http://www.blueprintcss.org).
2.2.7
Flex Flex merupakan open source framework untuk membuat dan mengembangkan
sebuah aplikasi Web yang mengacu pada RIA dan dapat berjalan baik di browser maupun di desktop. RIA yang dibuat dengan Flex dapat berjalan di browser hanya dengan menggunakan Adobe Flash Player, sedangkan pada desktop hanya dibutuhkan Adobe AIR, sehingga RIA juga bersifat cross-platform (lintas platform) yang tidak tergantung pada sistem operasi apa yang digunakan oleh pengguna. Adobe Flash Player dan Adobe AIR dapat di-download secara gratis dari Adobe.com, hal ini semakin meminimalisir
kendala
pengguna
dalam
(http://www.adobe.com/products/flex/overview/).
menggunakan
aplikasi
Flex
33
Pada awalnya, Flex dirilis oleh M acromedia pada M aret 2004, kemudian Adobe mengambil alih Flex pada tahun 2005. April 2007 Adobe merilis Flex versi beta dan akhirnya pada Februari 2008 Flex 3 SDK (Software Development Kit) diluncurkan. Rencananya pada tahun 2010, Adobe akan mengeluarkan Flex 4.0 dengan nama Gumbo yang
nantinya
dibuat
menggunakan
tool
Adobe
Flash
Builder
(http://opensource.adobe.com/wiki/display/flexsdk).
2.2.7.1 Flex Framework Framework (kerangka kerja) pada Flex menyediakan declarative language, application services, komponen, dan konektivitas data yang dapat dibuat dengan cepat. 1.
Language /bahasa yang digunakan Bahasa yang digunakan pada Flex terbagi 2, yaitu : a.
MXM L Yaitu sebuah bahasa berbasis XM L yang digunakan untuk menentukan tampilan
visual,
seperti
menentukan
posisi
komponen,
menspesifikasikan batasan-batasan untuk antarmuka pengguna (user interface), serta mengatur behaviour/sifat dari setiap komponen. b.
ActionScript 3 ActionScript 3 merupakan bahasa yang berorientasi pada objek (objectoriented), yang digunakan dalam mendefinisikan logika aplikasi pada sisi klien. MXM L dan ActionScript di-compile secara bersamaan dan akan menghasilkan satu file swf. Untuk dapat mempercantik antarmuka
34
pengguna (user interface), flex mendukung pengembang menggunakan CSS (Cascading Style Sheet) baik secara internal maupun eksternal. 2.
Class Library dan Application Services Flex memberikan class library (class yang dapat digunakan/dipakai oleh pengembang perangkat lunak) dan application services (layanan-layanan aplikasi) dalam membuat RIA. Layanan aplikasi yang dimaksud yaitu kemudahan untuk merapikan data (data binding), membuat objek dengan cara
drag-and-drop,
memberikan
kemudahan
untuk
mengatur
tampilan/design, serta efek animasi dan transisi yang telah disediakan 3.
Komponen Komponen yang disediakan berdasarkan dengan kebutuhan user, mulai dari button, checkbox, radio button, color picker, sampai pada datagrid, combo box, dan text editor. Pengembang/developer bebas memodifikasi komponenkomponen yang telah ada ataupun membuat komponen yang baru sesuai dengan kebutuhan pengguna. Untuk mempercantik antarmuka pengguna (user interface), Flex framework juga meyediakan kemudahan bagi pengembang/developer untuk membuat kolom-kolom datagrid yang mudah di-drag
(draggable)
(http://www.adobe.com/products/flex/features/flex_framework/).
2.2.7.2 Kelebihan dan Kekurangan Flex Berikut akan dibahas kelebihan dan kekurangan menggunakan aplikasi yang dibuat menggunakan Flex khususnya yang berbasis pada Web.
35
Kelebihan: -
Tidak memerlukan penginstalan piranti lunak khusus, hanya dibutuhkan Adobe Flash Player minimal versi 9 yang di letakkan di browser. Flash Player inipun dapat dipakai secara bebas dan gratis.
-
Dapat dijalankan di berbagai browser dan sistem operasi.
-
M emiliki tampilan antarmuka pengguna (user interface) yang lebih dinamis dibandingkan Web konvensional, karena Flex menyediakan animasi dan fitur yang
mendukung,
sehingga
pengguna
semakin
dimanjakan
untuk
menggunakan aplikasi tersebut. -
Lebih cepat dalam merespon aksi dari pengguna, karena setiap komponen sudah di sediakan/disiapkan pada saat Flash Player memunculkan file swf tersebut, jadi ketika aksi-aksi berikutnya, aplikasi tersebut sudah dapat diproses secara langsung tanpa meminta komponen-komponen yang diperlukan.
Kekurangannya adalah pada saat pertama kali aplikasi berjalan, waktu yang dibutuhkan lebih lama dibandingkan Web konvensional, karena Flash Player tersebut harus
mengambil
komponen-komponen
yang
diperlukan
(http://www.adobe.com/go/flex).
2.2.8
MySQL MySQL adalah sebuah aplikasi dengan dua lisensi, yakni open source dan
komersial, yang menyediakan server basis data yang sangat cepat, multi-threaded, multiuser, dan memiliki SQL (Structured Query Language) yang robust. MySQL diperuntukkan bagi sistem dengan tujuan kritis atau yang bersifat heavy-load, atau dapat
36
juga diintegrasikan bersama piranti lunak untuk diproduksi secara masal (MySQL 5.1 Reference
Manual).
Dalam
website
resminya
(http://dev.mysql.com/doc/refman/5.0/en/introduction.html), MySQL diklaim sebagai basis data open source yang paling populer di dunia.