BAB II LANDASAN TEORI
2.1 Teori Umum Teori umum yang digunakan dalam penelitian ini adalah sebagai berikut: 2.1.1 Data Data merupakan komponen yang paling penting dalam Database Management System (DBMS), yang berasal dari sudut pandang end-user. Data berperan sebagai penghubung antara mesin dengan pengguna (Connolly & Begg, 2010:70). Data adalah bentuk jamak dari datum, meskipun pada umumnya mewakili bentuk tunggal maupun jamak. Data adalah fakta atau hasil pengamatan yang belum diolah, biasanya tentang fenomena fisik atau transaksi bisnis. Data merupakan sebuah sumber daya yang harus dikontrol dan diatur (Whitten & Bentley, 2007:553). Jadi, berdasarkan beberapa definisi diatas, dapat disimpulkan bahwa data adalah fakta yang belum diolah yang diperoleh dari suatu pengamatan, serta dimodelkan menjadi bentuk gambar, tulisan dan/atau angka.
2.1.2 Database Database adalah kumpulan data logikal yang saling berhubungan, dan merupakan deskripsi dari data yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi (Connolly & Beg, 2010:65). Database bukan hanya sekedar kumpulan file, tetapi juga sekumpulan file yang saling berelasi melalui setiap record-nya (Whitten & Bentley, 2007:548).
2.1.3 Database Management System (DBMS) Database Management System (DBMS) merupakan software khusus yang digunakan untuk membuat, mengakses, mengontrol, dan mengatur sebuah database (Whitten & Bentley, 2007:554). 5
6 Database Management System (DBMS) memiliki beberapa fasilitas, yaitu: 1. Data Definition Language (DDL) DBMS mengijinkan pengguna untuk menentukan struktur dan tipe data beserta constraint untuk setiap data yang disimpan di database. 2. Data Manipulation Language (DML) DBMS mengijinkan pengguna untuk melakukan penambahan, pengubahan, penghapusan serta penarikan data dari database. 3. Data Control Language (DCL) DBMS menyediakan akses kendali ke database, seperti: -
Sistem keamanan yang mencegah pengguna tidak berwenang mengakses database
-
Sistem integrasi yang memelihara konsistensi penyimpanan data
-
Sistem kontrol konkurensi yang mengijinkan pengguna untuk berbagi hak akses terhadap database
-
Sistem control recovery yang mengembalikan database ke kondisi konsisten sebelum terjadinya kesalahan software atau hardware
-
Katalog untuk user-accessible, yang berisi tentang penjelasan data didalam database
2.1.4 Web (World Wide Web) Web merupakan sekumpulan teks yang berisi kode HTML yang dibaca oleh browser untuk ditampilkan dihalaman web (Valade, 2010:21). Sedangkan menurut Tanenbaum & Wetherall (2010:646), web (World Wide Web) merupakan sebuah arsitektur framework untuk mengkases konten terhubung yang tersebar lebih dari jutaan mesin di internet. Dari sudut pandang pengguna, web terdiri dari sekumpulan konten dalam bentuk halaman web, setiap halaman memungkinkan untuk memiliki link ke halaman lain. Setiap halaman web dilihat melalui sebuah program yang disebut browser.
Browser
mengambil
(fetch)
halaman
yang
diminta,
menerjemahkan (interpret) konten, dan menampilkannya ke halaman web dengan format yang sesuai. Konten web dapat berupa campuran antara
7 teks, gambar atau dalam bentuk lainnya seperti video atau program yang menghasilkan antarmuka grafis yang dapat berinteraksi dengan pengguna.
Gambar 0.1 Arsitektur Web (Tanenbaum & Wetherall, 2010:648) Web server merupakan piranti lunak yang menerima dan merespon permintaan dari web browser dengan mengirimkan halaman web yang diminta (Valade, 2010:21).
Gambar 0.2 Proses Dynamic Page (Tanenbaum & Wetherall, 2010:673)
Berdasarkan gambar diatas, berikut adalah penjelasan mengenai proses halaman web dari web server: (1) Pengguna meminta (request) sebuah halaman web ke server dan membuat sebuah program berjalan di server
8 (2) Program memeriksa database untuk menghasilkan halaman yang sesuai (3) Halaman yang diminta dikembalikan ke browser (4) Pengguna dapat mengubah halaman & mengakses setiap fitur yang ada pada halaman web (5) Kemudian halaman web akan mengirmkan permintaan (request) ke server (6) Program di server akan menerima informasi lebih dari database (7) Server akan mengembalikan tanggapan (dalam hal ini mengirimkan informasi ke halaman web)
2.1.5 Waterfall Model Waterfall Model biasa disebut classic life cycle, menyediakan sebuah pendekatan sekuensial semantik untuk membangun piranti lunak yang dimulai dengan spesifikasi kebutuhan customer, kemudian perencanaan, perancangan, pembangunan, dan penyebaran (Pressman, 2010:39).
Gambar 0.3 The Waterfall Model (Pressman, 2010:39)
1. Komunikasi Tahap ini terbagi menjadi dua, yaitu Project Initiation dan Requirement Gathering. Requirement gathering harus dilakukan secara intensif dan difokuskan kepada software. 2. Perancanaan Setelah tahap komunikasi selesai, maka akan masuk tahap berikutnya, yaitu perencanaan. Perencanaan terbagi menjadi tiga, yaitu Estimating, Scheduling, dan Tracking. Pada tahap ini software engineer melakukan estimasi biaya dan waktu untuk menyelesaikan tahap – tahap pembuatan software.
9 3. Perancangan Setelah tahap perencanaan selesai, selanjutnya software engineer melakukan analisis dan desain sistem. Pada tahap desain difokuskan pada empat atribut program yaitu Struktur Data, Arsitektur Software, Penggambaran Interface, dan Detil Algoritma. Pada tahap ini requirements diubah menjadi software representation sebelum code dimulai. 4. Pembangunan Pada tahap ini hasil analisis dan desain yang dilakukan pada tahap perancangan akan diubah ke dalam bentuk bahasa yang dimengerti oleh mesin. Setelah penulisan code sudah selesai, maka program akan diuji. Pengujian dilakukan agar segala bentuk kesalahan yang terjadi pada program dapat dibetulkan. 5. Penyebaran Setelah pembangunan selesai dilakukan, maka software engineer akan masuk kedalam tahap penyebaran/deployment. Pada tahap ini software engineer menyediakan dokumentasi untuk semua fitur yang ada dalam program. Pada tahap ini juga, software engineer mendapatkan umban balik dari user terhadap software yang dibuat untuk perbaikan yang lebih baik dengan modifikasi dan fiturnya.
2.1.6 Unified Modeling Language (UML) Unified Modeling Language (UML) adalah sekumpulan ketentuan yang digunakan untuk menentukan atau menggambarkan sebuah sistem piranti lunak dari segi object (Whitten & Bentley, 2007:371). UML mungkin digunakan untuk memvisualisasikan, menentukan, membangun, dan mendokumentasikan artefak dari sebuah sistem software intensif (Pressman, 2010:841).
2.1.6.1 Use Cases Use case menjelaskan kegunaan sistem dari sudut pandang external user dengan cara dan terminologi yang mereka mengerti (Whitten & Bentley, 2007:246).
10 Use case dan use-case diagram membantu kita untuk menentukan kegunaan dan fitur software dari sudut pandang user (Pressman, 2010:847).
Gambar 0.4 Use Case Diagram (Whitten & Bentley, 2007:246)
Use case diagram terdiri dari 3 (tiga bagian), yaitu: 6. Actors Actor adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk bertukar informasi (Whitten & Bentley, 2007:247). Seorang actor merepresentasikan sebuah peran dari seorang user yang berinteraksi dengan sistem. Seorang actor tidak harus selalu orang atau manusia, tetapi juga bisa merupakan sebuah organisasi, sistem informasi lainnya, ataupun sebuah perangkat eksternal. Dalam use case diagram seorang actor digambarkan sebagai stick figure yang diberi label berisi nama peran yang diperankan.
Gambar 0.5 Simbol Actor dalam Use Case Diagram (Whitten & Bentley, 2007:247)
11
Menurut Whitten & Bentley (2007:247) terdapat 4 (empat) tipe actor utama, yaitu: b.
Primary business actor Primary
business
actor
merupakan
pemangku
kepentingan yang mendapatkan keuntungan utama dari terjadinya proses use case dengan menerima nilai yang dapat diukur dan diamati. c.
Primary system actor Primary system actor merupakan pemangku kepentingan yang secara langsung berhubungan dengan sistem untuk melaksanakan system atau business event.
d.
External server actor External server actor merupakan pemangku kepentingan yang mersepon permintaan dari use case.
e.
External receiver actor External
receiver
actor
merupakan
pemangku
kepentingan yang bukan merupakan aktor utama tetapi menerima nilai yang dapat diukur dan diamati dari proses use case.
2. Relationship Relationship merupakan sebuah garis yang digambarkan diantara actor dan use case ketika terdapat hubungan diantara keduanya (Whitten & Bentley, 2007:248). Makna dari setiap hubungan akan berbeda tergantung dari jenis garis dan symbol yang digunakan. Terdapat 5 (lima) jenis relationship yang terdapat dalam use case diagram, yaitu: a.
Association Association merupakan sebuah hubungan antara actor dan use case dimana interaksi terjadi diantara keduanya.
12
Gambar 0.6 Contoh Association Relationship (Whitten & Relationship, 2007:248)
Dari gambar diatas, garis yang memiliki anak panah (1) mengindikasikan bahwa actor merupakan inisiator dari use case. Sedangkan garis yang tidak memiliki anak panah (2) mengindikasikan interaksi antar use case dan seorang external server atau receiver actor.
b.
Extends Extension use case merupakan hubungan yang terdiri dari langkah yang diambil dari sebuah use case yang lebih kompleks. Tujuan penggunaan extension use case ini adalah untuk menyederhanakan serta membuat use case menjadi mudah dimengerti.
Gambar 0.7 Contoh Extends Relationship (Whitten & Bentley, 2007:249)
c.
Uses (Includes) Uses (includes) biasa disebut sebagai abstract use case. Abstract use case adalah sebuah use case yang mengurangi redudansi ketika dua atau lebih use case melakukan langkah yang sama. Dengan kata lain use case lain uses atau includes abstract use case.
13
Gambar 0.8 Contoh Uses (Includes) Relationship (Whitten & Bentley, 2007:249)
d.
Depends On Depends on merupakan sebuah hubungan antar use case yang mengindikasikan bahwa sebuah use case tidak dapat dijalankan sampai use case lainnya selesai dijalankan.
Gambar 0.9 Contoh Depends On Relationship (Whitten & Bentley, 2007:250)
e.
Inheritance Inheritance digunakan ketika dua atau lebih actor dapat melakukan use case yang sama dengan tujuan untuk mengurangi redudansi komunikasi dengan sistem.
14
Gambar 0.10 Contoh Inheritance Relationship (Whitten & Bentley, 2007:250)
2. Use Cases Use case merupakan urutan langkah-langkah perilaku (sebuah skenario),
baik
otomatis
maupun
manual,
dengan
tujuan
menyelesaikan sebuah tugas (Whitten & Bentley, 2007:246).
Gambar 0.11 Notasi Use Case (Whitten & Bentley, 2007:246)
2.1.6.2 Class Diagram Class diagram merupakan penggambaran struktur objek yang menunjukkan class objek yang ada pada suatu sistem dan berhubungan dengan class objek lainnya (Whitten & Bentley, 2007:400). Class diagram menggambarkan objek, atribut, operation serta hubungan dan asosiasi dengan objek atau class lain. Berikut merupakan penjelasan mengenai objek, atribut, dan operation. 1. Objek: sesuatu yang dapat dilihat, diraba, disentuh 2. Atribut: data yang merepresentasikan karakteristik ketertarikan objek 3. Operation/Behavior: kumpulan atribut dan operation Whitten & Bentley (2007:650) menuliskan bahwa terdapat visibility yang mengatur bagaimana method dapat di akses oleh class lain yaitu:
15
Tabel 0.1 Tabel Penjelasan Visibility Visibility
Notasi
Penjelasan Atribut dan method hanya dapat digunakan/diakses oleh method di dalam
Private
–
class apabila method tersebut sudah mendefinisikan atribut dan method yang ingin digunakan/diakses. Atribut dan method dapat digunakan/diakses
Protected
#
oleh method yang ada didalam class yang sama atau yang ada didalam subclass dari class tersebut.
Public
+
Atribut dan method dapat digunakan/diakses oleh method dari class lain.
Konsep penting lainnya dari pemodelan objek adalah konsep pengkategorian objek menjadi objek class. Menurut Whitten & Bentley (2007:392) objek class merupakan sekumpulan instance objek yang berbagi atribut dan perilaku yang sama. Didalam class diagram terdapat association and multiplicity, generalization/specialization, dan aggregation/composition. 1. Association and Multiplicity Association merupakan hubungan yang menyatakan apa yang perlu diketahui suatu objek terhadap objek lainnya. Multiplicity merupakan jumlah minimum dan maksimum kejadian suatu objek/class dari kejadian tunggal untuk class objek terkait.
16
Gambar 0.12 Notasi Objek/Class Association (Whitten & Bentley, 2007:395)
Gambar 0.13 Notasi Objek/Class Multiplicity (Whitten & Bentley, 2007:377)
2. Generalization/Specialization Generalization/specialization
merupakan
teknik
dimana
atribut dan perilaku umum untuk beberapa jenis class objek di kelompokkan menjadi supertype dan subtype. 1.
Supertype (abstract/parent class) merupakan sebuah entitas yang berisi atribut dan perilaku yang dapat diwariskan oleh satu atau lebih class subtype.
2.
Subtype merupakan class objek yang mewarisi atribut dan perilaku dari supertype.
17
Gambar 0.14 Contoh Hubungan Generalization/ Specialization (Whitten & Bentley, 2007:376)
3. Aggregation/Composition Aggregation merupakan hubungan dimana sebuah objek memiliki/terdiri atas satu atau lebih objek yang lebih kecil.
Gambar 0.15 Contoh Hubungan Aggregation (Whitten & Bentley, 2007:379)
18 Composition merupakan sebuah hubungan agregasi dimana sebuah objek bertanggung jawab atas pembuatan dan penghancuran objek yang lebih kecil.
Gambar 0.16 Contoh Hubungan Composition (Whitten & Bentley, 2007:379)
Berikut merupakan langkah-langkah yang digunakan untuk membuat class diagram (Whitten & Bentley, 2007:400): 1.
Mencari objek yang potensial menjadi class. Langkah ini dapat diselesaikan dengan meninjau setiap use case description dan mencari kata benda yang menunjukan suatu event atau entitas.
2.
Memilih objek yang diusulkan. Tidak semua kata benda merepresentasikan objek yang dibutuhkan. Beberapa kata benda harus dihilangkan bila memenuhi kondisi berikut: a.
Apakah kata benda tersebut merupakan objek yang sama dengan nama berbeda?
19 b.
Apakah kata benda tersebut di luar ruang lingkup dari sistem?
c.
Apakah kata benda tersebut merupakan sebuah aktor?
d.
Apakah
kata
benda
tersebut
tidak
jelas
dan
membutuhkan penjelasan lebih lanjut? e.
Apakah kata benda tersebut merupakan sebuah aksi atau atribut yang menjelaskan objek lain?
3.
Mengidentifikasi hubungan antar class dan menentukan multiplicity. Pada tahap ini, ditentukan hubungan antara class. Hubungan antar class ini menunjukkan bahwa kedua class tersebut saling mengenal satu sama lain. Setelah hubungan tersebut
ditentukan,
maka
langkah
selanjutnya
adalah
menentukan multiplicity dari hubungan tersebut. 4.
Mengidentifikasi hubungan Generalization/ Specialization antar class. Setelah hubungan dan multiplicity telah ditentukan, selanjutnya
adalah
menetapkan
hubungan
generalization/specialization. Hubungan generalization/specialization dapat ditemukan dengan melihat class diagram. Apakah ada hubungan antara dua class yang memiliki multiplicity one-to-one? Apabila ya, bisakah Objek X disebut sebagai tipe Objek Y? Apabila ya, maka
kedua
objek
tersebut
memiliki
hubungan
generalization/specialization. 5.
Mengidentifikasi hubungan Aggregation/Composition. Pada tahap ini, dilakukan identifikasi apakah terdapat hubungan aggregation atau composition didalam class diagram.
6.
Membuat class diagram. Setelah menentukan seluruh aspek yang dibutuhkan untuk membuat class diagram tersebut siap dibuat dengan menggunakan objek, hubungan, dan multiplicity yang telah dibuat sebelumnya.
20 2.1.6.3 Sequence Diagram Sequence
diagram
merupakan
sebuah
diagram
yang
menggambarkan interaksi antara seorang aktor dengan sistem dalam suatu urutan waktu pada sebuah skenario use case (Whitten & Bentley, 2007:394).
Gambar 0.17 Sequence Diagram (Whitten & Bentley, 2007:659)
Berikut adalah penjelasan dari notasi-notasi yang dipakai dalam diagram diatas: 1. Actor – aktor berinteraksi dengan user interface digambarkan dengan simbol aktor use case. 2. Interface class – dinotasikan dengan simbol kotak dan keterangan <
> yang mengindikasikan class user interface. Titik dua merupakan standar notasi sequence diagram untuk mengindikasikan sebuah instance yang berjalan dalam sistem. 3. Controller class – dinotasikan sama seperti interface class dan diberikan keterangan <>. 4. Entity class – tambahkan notasi kotak untuk setiap entitas yang berkolaborasi dalam urutan langkah-langkah. 5. Input message – dinotasikan dengan panah horizontal dari actor ke sistem. 6. Activation
bars
–
bar
yang
digambarkan
diatas
lifelines
mengindikasikan periode waktu aktifnya setiap instance objek.
21 7. Return message – dinotasikan sebagai panah dengan garis putusputus. 8. Self call – sebuah objek dapat memanggil method-nya sendiri. 9. Frame – sebuah kotak dapat menyertakan satu atau lebih message. Frame dapat menunjukan langkah loops, alternate, atau optional (opt).
2.1.7 Human Computer Interaction Terdapat delapan aturan emas dalam merancang user interface (Shneiderman, Plaisant, Cohen, & Jacobs, 2010:88-89), yaitu: 1. Berusaha untuk konsisten Urutan tindakan yang konsisten dibutuhkan dalam situasi yang sama. Bentuk konsistensi dalam mendesain user interface dapat berupa pemilihan warna, layout, huruf kapital, jenis font, serta penggunaan prompt, menu dan tool tip. 2. Menyediakan fungsionalitas universal Dikarenakan beragamnya user yang menggunakan interface yang kita buat, dalam mendesain sebuah interface kita perlu untuk mengetahui keinginan ataupun kebutuhan setiap user. Misal, untuk user yang berlum mahir dalam menggunakan komputer (awam) ada baiknya mendesain sebuah interface yang sederhana dan mudah dimengerti, sedangkan untuk user yang sudah mahir biasanya lebih senang apabila terdapat shortcut yang memudahkan pekerjaan mereka. 3. Memberikan feedback informatif Dengan memberikan user feedback yang informative untuk setiap tindakan yang mereka lakukan dapat meyakinkan user bahwa mereka melakukan dengan benar. 4. Merancang dialog untuk menghasilkan penutupan Urutan tindakan harus dikelompokkan ke dalam kelompok dengan dengan sebuah pembukaan (permulaan), pertengahan, dan penutup. Sebagai contoh, untuk melakukan checkout dalam sebuah e-commerce membutuhkan sebuah urutan tindakan yang dimulai
22 dari sign in, memilih tipe pembayaran, melakukan pemesanan, dan sebagainya. 5. Mencegah terjadinya error Interface yang baik adalah interface yang mencegah terjadinya error. Terdapat berbagai macam cara untuk mencegah terjadinya error, berikut adalah beberapa cara tersebut: -
Mengganti
sistem
pengetikan
secara
bebas
dengan
menggunakan pilihan (radio button, check box, combo box, dsb) -
Automatic completion
-
Membuat pesan kesalahan secara spesifik dan dengan nada yang positif
6. Memberikan aksi balik yang mudah Sebisa mungkin, aksi yang dilakukan pengguna dapat dilakukan ulang. Hal ini dapat mendorong pengguna untuk mencoba fitur lainnya dan mengurangi kecemasan sejak user mengetahui bahwa error yang terjadi dapat dibatalkan. 7. Mendukung pusat kendali internal Tingkat kepuasaan pengguna akan tinggi apabila mereka merasa bahwa mereka adalah orang yang memiliki kendali akan sebuah sistem. Mereka tidak menginginkan adanya kejutan atau perubahan secara tiba-tiba. Mereka merasa terganggu oleh sistem yang memaksa mereka untuk melakukan entry data secara berulang, sulit dalam mencari informasi, dan hasil yang dihasilkan oleh sistem tersebut tidak sesuai dengan yang mereka harapkan. Buatlah sebuah sistem untuk menjadikan user sebagai penggerak, bukan responden. 8. Mengurangi beban ingatan jangka pendek Kemampuan manusia untuk memproses informasi didalam short-term memory terbatas. Sehingga user interface yang baik haruslah memiliki tampilan yang sederhana, menggabungkan tampilan multiple-page, serta mengurangi frekuensi ruang gerak layar.
23
2.2
Teori Khusus Teori khusus yang digunakan dalam penelitian ini adalah sebagai berikut:
2.2.1 Sistem Sistem adalah kumpulan dari elemen yang saling tergantung satu sama lain dan bertujuan untuk menyelesaikan tujuan yang spesifik secara bersama-sama (Gelinas, Sutton & Hunton, 2008:11). Sistem adalah serangkaiaan dari dua atau lebih komponen atau subsistem yang saling terkait yang melayani tujuan yang sama (Hall, 2007:5).
2.2.2 Online Learning (E-learning) E-learning merupakan sebuah proses pembelajaran yang tercipta dengan adanya interaksi dengan konten yang disampaikan, layanan berbasis jaringan, dan tutor pendukung secara digital (Istambul, 2012). Menurut Istambul (2012), terdapat beberapa keuntungan dengan menggunakan e-learning, yaitu: 1. Memiliki jangkauaan yang luas, sehingga dapat dikembangkan menjadi universitas virtual 2. E-learning bersifat fleksibel dan interaktif, sehingga dapat membuat keinginan belajar para pelajar meningkat 3. E-learning mengandung elemen penghibur untuk pelajar, sehingga dapat membantu meningkatkan ketahanan belajar para pelajar 4. E-learnig merupakan sarana yang sangat baik untuk berbagi pengetahuan, sumber daya, dan sebagainya. Selain menjelaskan tentang keuntungan penggunaan e-learning, Istambul (2012) juga menjelaskan 5 (lima) model dari e-learning, yaitu: 1. Online Courses Merupakan pembelajaran eksklusif yang dilakukan secara online, menyediakan pembelajaran semata-mata melalui internet. 2. Integrated Online and Offline Learning
24 Program pembelajaran yang mengintegrasikan pembelajaran online yang dilengkapi dengan kegiatan offline. 3. Self-Managed E-learning Menyediakan bahan pembelajaran online untuk pembelajaran yang dilakukan sendiri (self-managed learning). 4. Live E-learning Pembelajaran online yang dilakukan secara tersinkronus yang melibatkan pelajar yang terhubung dibeberapa lokasi terpisah. 5. Electronic Performance Support (EPS) Pembelajaran online berbasiskan tugas untuk mendukung tugas, sistem atau prosedur operasional tertentu.
2.2.3 Framework Framework merupakan sebuah “mini-architecture” yang dapat digunakan ulang dan berfungsi sebagai sebuah pondasi dari design pattern. Sebuah framework bukan merupakan sebuah pattern arsitektural tetapi merupakan sekumpulan class yang saling berhubungan (Pressman, 2010:352).
2.2.4 Model, View, Controller (MVC) MVC merupakan sebuah pendekatan yang memisahkan aplikasi menjadi tiga bagian, yaitu Model, View, dan Controller. Struktur MVC digunakan agar menghilangkan penggunaan ulang dari kode program.
25
Gambar 0.18 Arsitektur MVC (Pressman, 2010:387)
1. Model Model merepresentasikan data yang digunakan dalam aplikasi. Sebagai contoh data dalam aplikasi adalah database, RSS Feeds, API calls, dan aksi lainnya termasuk, menerima, mengembalikan, mengubah, dan menghapus data. 2. View View merupakan informasi yang ditampilkan didalam layar melalui user interface.
3. Controller Controller merupakan logika bisnis dari aplikasi. Controller menjembatani antara model dan view.
2.2.5 PHP PHP (PHP: Hypertext Preprocessor) adalah server-side scripting language yang secara khusus di desain untuk Web, dalam prosesnya kode PHP di interpreted di web server dan menghasilkan HTML atau hasil lainya (Welling & Thomson, 2008:2). Sebagai perbandingan dengan produk lainnya seperti Perl, Microsoft, ASP.NET, Ruby, JavaServer Pages (JSP), dan ColdFusion,
26 PHP memiliki banyak kelebihan, berikut merupakan keleibihan PHP (Welling & Thomson:2008, 4): 1. Performance Dengan PHP kita dapat memiliki performa yang sangat cepat hanya dengan menggunakan sebuah server biasa. 2. Scalability PHP secara efektif dan murah dapat menerapkan skala horizontal dengan jumlah komoditas server yang besar. 3. Database Integration Pengintegrasian PHP dengan database apapun dapat dilakukan selama database tersebut menyediakan ODBC (Open Database Connectivity Standard) driver. 4. Built-in Libraries PHP memiliki beragam built-in functions yang dapat digunakan untuk melakukan tugas yang berhubungan dengan web. 5.
Cost PHP bersifat gratis dan versi terakhirnya dapat di download kapanpun dan tanpa biaya.
6. Ease of Learning PHP Sintaks PHP berbasiskan bahasa C dan Perl, sehingga dapat digunakan dengan mudah. 7. Object-Oriented Support PHP mendukung fitur object-oriented seperti inheritance, private dan protected atribut, method, abstract class, method interface, constructor, dan destructor. 8. Portability PHP dapat digunakan dalam berbagai sistem operasi. 9. Flexibility of Development Approach PHP memudahkan pengembangan dengan menggunakan framework berdasarkan design pattern seperti Model-ViewController (MVC). 10. Source Code PHP dapat dimodifikasi dengan menambahkan bahasa lainnya.
27 11. Availability of Support and Documentation PHP memiliki dokumentasi yang lengkap, serta banyak komunitas yang berbagi informasi tentang PHP.
2.2.6 CodeIgniter CodeIgniter merupakan sebuah framework pengembangan aplikasi yang menggunakan konsep Model View Controller (MVC) untuk membuat web site dengan menggunakan PHP (Anonymous, CodeIgniter User Guide, 2012). CodeIgniter menyediakan sekumpulan library untuk pekerjaan yang biasa dilakukan sehingga proyek dapat dikerjakan jauh lebih cepat. Beberapa
kelebihan
CodeIgniter
(CI)
dibandingkan
dengan
framework PHP yang lain yaitu: 1. Performa sangat cepat Salah satu kekurangan menggunakan framework adalah karena menyebabkan ekseskusi menjadi lebih lama, tetapi CodeIgniter sangat cepat bahkan bisa dibilang bahwa CodeIgniter merupakan framework yang paling cepat bila dibanding dengan framework yang lain. 2. Minim konfigurasi (nearly zero configuration) Konfigurasi pada CodeIgniter hanyalah berupa pengaturan standar yang mengubah suatu file pada folder config dan menyesuaikan database yang akan digunakan. 3. Banyak komunitas Dengan
banyaknya
komunitas
CI,
akan
memudahkan
developer untuk saling berinteraksi satu sama lain, baik itu bertanya atau menginformasikan teknologi terbaru. 4. Dokumentasi yang sangat lengkap Salah satu kelebihan CodeIgniter adalah dokumentasi yang lengkap dengan bahasa yang mudah dipahami.
2.2.7 Microsoft SQL Server 2008
28 SQL Server 2008 merupakan produk relasional database Microsoft. SQL Server dapat menyimpan, menerima, dan memanipulasi data untuk kepentingan bisnis (Chapple, 2008:29).
Structured Query Language (SQL) merupakan bahasa database. Setiap interaksi antara user, program atau server, dan database merupakan kegunaan SQL. Menurut Nielsen, White dan Parui (2009:4) terdapat beberapa keunggulan dari menggunakan Microsoft SQL Server 2008, yaitu: 1. Set-based SQL purity SQL Server didesain berdasarkan ketetapan murni dari SQL. 2. Scalable performance SQL Server memiliki performa yang baik, dan dapat menjalankan database hingga ukuran terabyte. 3. Scalable experience SQL Server dapat digunakan untuk database administrator awam dengan pengelolaan database secara otomatis hingga database administrator ahli yang dapat mengontrol sesuai dengan keinginan mereka. 4. Industry acceptance SQL Server banyak digunakan oleh perusahaan dalam berbagai skala, baik kecil maupun besar. 5. Diverse technologies SQL Server mampu untuk menangani berbagai macam masalah dan aplikasi. Dari Business Intelligence ke data mentah, kemudian data transaksi, dan XML, SQL Server memiliki teknologi untuk permasalahan tersebut. 6. SQL in the cloud Terdapat sejumlah pilihan untuk hosting sebuah SQL database di cloud dengan stabilitas, ketersediaan, dan performa yang baik. 7. Financial stability Bila dibandingkan dengan DBMS lainnya pemeliharaan SQL Server lebih murah. 8. Ongoing development
29 Microsoft secara terus menerus melakukan pengembangan akan SQL Server. 9. Fun community Banyaknya kelompok pengguna SQL Server, buku, blog, websites, code camps, confrence dan lainnya membuat pengguna SQL Server mudah untuk mencari informasi mengenai SQL Server. 10. Affordable SQL Server lebih terjangkau bila dibandingkan dengan pilihan database lainnya.
2.2.8 jQuery UI jQuery UI merupakan sebuah kumpulan plug-ins untuk jQuery yang menambahkan fungsionalitas ke library utama jQuery (Sarion, 2012:1). jQuery merupakan library Javascript yang dapat ditambah lagi fungsionalitas-nya dengan menggunakan plug-ins. Beberapa plug-ins secara khusus ditujukan untuk mengatur tampilan interface dan memfasilitasi interaksi dengan user, yang dikumpul secara bersamaan didalam jQuery UI library. Berikut adalah beberapa contoh dari fungsionalitas jQuery UI versi 1.8: •
Tab management
•
Accordion menu
•
Dialog box
•
Button
•
Progress bar
•
Slider
•
Date picker
•
Autocompleter
•
Drag-and-drop management
•
Selection, resizing, dan switching element
•
Visual effect
30 2.2.9 Google Chart API Google Chart API merupakan sebuah perangkat yang mengijinkan web developer membuat chart dari sebuah data dan memasukkannya di dalam halaman web (Anonymous, Google Charts, 2013). Dari line chart sederhana hingga hierarchical tree maps yang kompleks, Google Chart menyediakan berbagai macam tipe chart yang dapat langsung digunakan. Cara menggunakan Google Chart adalah dengan meng-embed Google Chart libraries kedalam halaman Javascript, membuat list data yang akan dimasukkan kedalam chart, melakukan kostumisasi chart, dan kemudian membuat sebuah objek chart dengan id yang dipilih.