BAB 2 LANDASAN TEORI
1.1
Teori Umum
1.1.1 Data Data merupakan sebuah fakta yang menjelaskan objek atau kejadian yang dapat disimpan pada media komputer (Hoffer, Prescott, & Topi, 2009:46). Data merupakan komponen yang paling penting dalam Database Management System (DBMS), yang berasal dari sudut pandang dari end-user. Data berperan sebagai penghubung antara mesin dengan pengguna (Connolly & Begg, 2010:70). 1.1.2 Database Database merupakan sekumpulan data yang berhubungan secara logikal dan dideskripsikan serta dirancang untuk memenuhi kebutuhan informasi yang dibutuhkan oleh suatu organisasi (Connolly & Begg, 2010:65). 1.1.3 Database Management System (DBMS) Database Management System (DBMS) adalah suatu sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke database (Connolly & Begg, 2010:66). 1.1.4 Web Server Web server adalah server yang digunakan untuk melayani permintaan dari client terhadap halaman web. Contoh perangkat lunak Web Server adalah Apache, IIS (Internet Information Server), dan Xitami (Hoffer, Prescott, & Topi, 2009:469). 8
9
1.1.5 Human-Computer Interaction Terdapat delapan aturan emas dalam merancang user interface (Shneiderman, Plaisant, Cohen, & Jacobs, 2010:88-89), yaitu: 1.1.5.1
Berusaha Untuk Konsisten
Urutan tindakan yang konsisten dibutuhkan dalam situasi yang serupa. Hal ini biasa digunakan pada prompts, menu, dan help screens. Warna, layout, capitalization, fonts, dan lain lain yang konsisten harus digunakan. 1.1.5.2
Menyediakan Fungsionalitas Universal
Ketika seorang user pertama kali menggunakan sistem, user yang masih baru dan tidak familiar dapat dibantu melalui sebuah prosedur yang bersifat dasar sehingga dapat dengan lebih mudah dimengerti. Seiring meningkatnya frekuensi penggunaan aplikasi, seorang expert user akan sangat terbantu apabila terdapat fasilitas shortcuts, perintah tersembunyi, dan makro untuk meningkatkan laju dari interaksi tersebut. 1.1.5.3
Memberikan Feedback Informatif
Untuk setiap tindakan user, harus ada sistem feedback. Untuk tindakan yang sering dan minor, respon dapat bersifat sederhana, sedangkan untuk tindakan yang jarang dan major, respon harus bersifat lebih detail. 1.1.5.4
Merancang Dialog Untuk Menghasilkan Penutupan
Urutan tindakan harus dikelompokkan ke dalam kelompok dengan permulaan, pertengahan, dan akhir. Informative feedback pada akhir dari sebuah kelompok aksi memberikan pengguna kepuasan atas pencapaian, rasa lega, tanda untuk
10
membatalkan rencana lain yang sudah dipikirkan, dan sebagai indikator untuk persiapan ke kelompok aksi berikutnya. Sebagai contoh e-commerce websites memindahkan pengguna dari memilih produk ke checkout, diakhiri dengan halaman konfirmasi yang jelas yang menyelesaikan transaksi tersebut. 1.1.5.5
Mencegah Error
Sebisa mungkin, design sebuah sistem yang dimana pengguna tidak dapat membuat error yang serius. Misalnya: Untuk menu yang tidak cocok, bisa di-disable / hide dan juga untuk field numerik menolak untuk karakter alfabet. Jika user membuat sebuah error, interface tersebut seharusnya dapat mendeteksi error tersebut dan menawarkan instruksi yang simple, constructive, dan spesifik untuk recovery. Sebagai contoh, pengguna seharusnya tidak perlu memasukkan semua field kembali bila hanya salah satu field, tetapi sebaiknya dituntun untuk membetulkan bagian yang salah. Aksi yang membuat error seharusnya membiarkan keadaan sistem tidak berubah, atau interface memberikan instruksi untuk mengembalikan keadaan. 1.1.5.6
Memberikan Aksi Balik Yang Mudah
Sebisa mungkin, aksi yang dilakukan dapat diulang. Fitur ini mengurangi kecemasan, semenjak pengguna mengetahui error dapat dibatalkan, dan memberikan keberanian untuk eksplorasi pilihan yang tidak familiar. Dapat berupa aksi tunggal, entri data, atau sebuah kelompok tindakan lengkap. 1.1.5.7
Mendukung Pusat Kendali Internal
Pengguna yang sudah berpengalaman sangat menginginkan rasa bahwa mereka bertanggung jawab atas sistem dan sistem merespon tindakan dari mereka. Mereka
11
tidak mau ada kejutan atau perubahan dalam keadaan yang familiar. Mereka merasa terganggu dengan pengulangan entry data yang membosankan, kesusahan dalam mencari informasi yang diperlukan, dan ketidakmampuan untuk menghasilkan hasil yang mereka inginkan. 1.1.5.8
Mengurangi Beban Ingatan Jangka Pendek
Kapasitas manusia yang terbatas untuk memproses informasi dalam short-term memory membutuhkan design yang membutuhkan pengguna untuk mengingat informasi dan kemudian menggunakan informasi tersebut pada layar lain. 1.1.6 Waterfall Model Waterfall Model disebut juga dengan Classic Life Cycle, menyediakan sebuah pendekatan sistematik dan sekuensial pada pengembangan software yang dimulai dengan spesifikasi kebutuhan customer dan berlangsung melalui planning, modeling, construction, deployment, dan terakhir ongoing support pada software yang telah jadi (Pressman, 2010: 39).
Gambar 2.1 Waterfall Model (S.Pressman, 2010:39) 1.1.6.1
Communication
Dalam tahap ini terdiri dari dua, yaitu Project Initiation dan Requirements Gathering. Requirements Gathering yang dilakukan harus secara intensif dan difokuskan kepada software.
12
1.1.6.2
Planning
Setelah Communication, maka akan masuk ke tahap berikutnya yaitu Planning. Terdiri dari tiga, yaitu Estimating, Scheduling, Tracking. Pada tahap ini software engineer melakukan penjadwalan untuk menyelesaikan tahap – tahap pembuatan software berdasarkan waktu yang telah dijadwalkan. 1.1.6.3
Modeling
Setelah Planning, maka akan masuk ke tahap berikutnya yaitu Modelling. Terdiri dari 2, yaitu Analysis dan Design. Pada tahap Design akan focus pada empat atribut program yaitu Data Structure, Software Architecture, Interface Representation, and Algorithm Detail. Pada tahap ini mengubah requirements menjadi software representation sebelum penulisan code dimulai. 1.1.6.4
Construction
Setelah Modelling, maka akan masuk ke tahap berikutnya yaitu Construction. Terdiri dari 2, yaitu Code dan Test. Pada tahap ini Design akan diubah ke dalam bentuk bahasa yang dimengerti oleh mesin. Setelah penulisan code sudah selesai, maka program tersebut akan diuji. Pengujian ini dilakukan agar segala bentuk kesalahan dapat dibetulkan dan juga agar input yang dimasukkan dapat menghasilkan keluaran yang sesuai. 1.1.6.5
Deployment
Setelah Construction, maka akan masuk ke tahap berikutnya, yaitu Deployment. Terdiri dari tiga, yaitu Delivery, Support, Feedback. Pada tahap ini Software Engineer menyediakan dokumentasi untuk semua fitur dan fungsi yang ada dalam
13
program yang sudah dibuat sehingga memudahkan user dalam menggunakan program tersebut. Dan juga Software Enginner mendapat umpan balik dari user terhadap software yang dibuat untuk perbaikan yang lebih baik dengan modifikasi fungsi dan fiturnya. 1.1.7 Data Flow Diagram (DFD) Data flow diagram adalah sebuah model proses yang digunakan untuk menggambarkan aliran data yang ada dalam sebuah sistem atau proses yang dijalankan oleh sistem. Sebuah data flow diagram juga dapat digunakan untuk memberikan visualisasi dari proses data (L.Whitten & Bentley, 2007:317). 1.1.8 Unified Modelling Language (UML) UML adalah suatu set dari ketentuan modeling yang digunakan untuk menspesifikasi atau mendeskripsikan sebuah sistem perangkat lunak dalam suatu kondisi dari objek (L.Whitten & Bentley, 2007:371). 1.1.8.1
Use Case Diagram
Use case diagram merupakan diagram yang menggambarkan hubungan interaksi antara user dan sistem (L.Whitten & D.Bentley, 2007:243). Use case diagram dapat membantu dalam menentukan fungsi dan fitur software yang diinginkan oleh user (S.Pressman, 2010:847).
14
Gambar 2.2
Use Case Diagram (L.Whitten & D.Bentley, 2007:246)
Use case diagram umumnya terbagi menjadi tiga bagian yaitu : 1. Actors Merupakan external user yang berinteraksi dengan sistem. Sebuah actor memulai aktivitas sistem pada use case, dengan tujuan menyelesaikan tugas bisnis yang menghasilkan sesuatu yang dapat diukur. Sebagai contohnya adalah seorang mahasiswa yang melakukan penarikan uang pada mesin ATM, maka actor-nya adalah mahasiswa tersebut dan use case-nya adalah melakukan penarikan uang pada mesin ATM. Seorang actor mewakili sebuah role yang dipenuhi oleh sebuah user dan tidak hanya menggambarkan seorang individu ataupun jabatan kerja. Sebuah actor tidak harus manusia, tetapi dapat juga berupa sebuah organisasi, sistem informasi, sebuah external device seperti sebuah heat sensor, atau bahkan konsep waktu. Sebuah actor digambarkan sebagai stick yang diberi label, nama dari role yang dimiliki oleh actor.
15
Ada 4 macam actors (L.Whitten & D.Bentley, 2007:247), yakni : a. Primary Business Actor Aktor utama yang mendapatkan keuntungan utama dari terjadinya proses use case yang biasanya bersifat measurable. Contoh : karyawan mendapatkan cek pembayaran (sesuatu yang measurable) dari sistem pembayaran gaji karyawan. b. Primary System Actor Aktor yang terlibat langsung dalam proses suatu sistem. Biasanya aktor ini adalah pemicu dari business atau system event. Contoh : kasir toko yang menlakukan scan barang yang dibeli oleh pembeli. c. External Server Actor Aktor yang merespon request dari use case. Contoh : Aktor yang merespon request dari use case. d. External Receiver Actor Aktor yang bukan primary aktor, tetapi menerima sesuatu yang bersifat measurable dari use case. Contoh : gudang penyimpanan barang menerima slip packing untuk mempersiapkan barang yang akan dikirim, ketika customer telah memesan barang.
Gambar 2.3 Actor (L. Whitten & Bentley, 2007:247)
16
2. Relationship Merupakan sebuah garis antara dua simbol pada diagram use case. Relationship memiliki arti yang bergantung pada simbol yang dihubungkan oleh garis tersebut. Terdapat beberapa tipe relationship , yakni : a. Association (asosiasi) Hubungan antara actor dengan use case dimana terjadi interaksi diantara mereka.
Gambar 2.4
Use Case Diagram (L.Whitten & D.Bentley, 2007:248)
Dari gambar diatas actor dengan menunjuk dengan anak panah ke use case berarti dia merupakan inisiator use case tersebut. Actor yang tanpa anak panah berarti menandakan interaksi antara use case dengan aktor penerima. b. Extends Hubungan yang terdiri dari langkah yang diekstraksi dari use case yang lebih kompleks
untuk
menyederhanakan
masalah
awal.
Tujuannya
mempermudah use case yang buat agar lebih mudah dimengerti.
agar
17
Gambar 2.5
Extension Use Case (L.Whitten & D.Bentley, 2007:249)
c. Uses or Includes Digunakan untuk mengurangi redudansi ketika dua atau lebih use case melakukan langkah yang sama.
Gambar 2.6
Extension Use Case (L.Whitten & D.Bentley, 2007:249)
d. Inheritance Inheritance digunakan dalam use case untuk hubungan dua aktor atau lebih dalam sistem dengan aktor abstrak.
18
Gambar 2.7 Inheritance Use Case (L.Whitten & D.Bentley, 2007:250) 3. Use case Sebuah perilaku yang berkaitan dengan langkah-langkah berurutan baik secara otomatis ataupun manual dengan tujuan menyelesaikan suatu tugas bisnis. 1.1.8.2
Activity Diagram
Activity diagram merupakan diagram yang dapat digunakan secara grafik menggambarkan flow dari proses bisnis, langkah – langkah dari sebuah use case atau logika dari sebuah object behavior / method (L.Whitten & D.Bentley, 2007:390)
19
Gambar 2.8
Activity Diagram (L.Whitten & D.Bentley, 2007: 392)
Berikut adalah penjelasan tentang notasi-notasi yang digunakan dalam activity diagram :
20
1. Initial Node – Sebuah lingkaran padat yang menggambarkan dimana proses dimulai. 2. Actions – Kotak dengan ujung melengkung yang menggambarkan setiap tindakan yang dilakukan oleh aktor. 3. Flow – Panah yang mengindikasikan arah Actions ke Actions lainnya 4. Decision – Bentuk diamond dengan satu Flow arah datang dan dua atau lebih Flow arah pergi. 5. Merge – Bentuk diamond dengan dua atau lebih Flow arah datang dan satu Flow arah pergi. 6. Fork – Sebuah batang hitam dengan satu Flow arah datang dan dua atau lebih Flow arah pergi. Fork menggambarkan adanya 2 Action yang akan berjalan secara paralel. 7. Join – Sebuah batang hitam dengan dua atau lebih Flow arah datang dan satu Flow arah pergi. Join dapat dilakukan apabila semua Actions yang datang telah selesai dilakukan. 8. Activity final – Sebuah lingkaran padat bergaris tepi yang menggambarkan dimana proses telah selesai. 1.1.8.3
Class Diagram
Class diagram merupakan gambaran dari struktur objek, yang menunjukkan kelas objek yang ada pada suatu sistem dan hubungan antara kelas-kelas objek tersebut (L.Whitten & D.Bentley , 2007:400).
21
Disetiap kelas objek dibagi menjadi tiga bagian, yaitu : 1. Nama kelas 2. Atribut kelas 3. Operasi kelas atau method L.Whitten & D.Bentley (2007:650) menuliskan bahwa di dalam class diagram terdapat visibility yang berguna untuk menentukan atribut dan method kelas yang dapat diakses dan digunakan oleh kelas lainnya atau tidak. Ada tiga jenis visibility dengan penjelasan sebagai berikut : Tabel 2.1 Tabel Penjelasan Tentang Visibility Visibility Simbol Penjelasan
Di
dalam
Private
-
Atribut dan method-nya hanya dapat diakses dan digunakan oleh kelas yang mendefinisikan.
Protected
#
Atribut dapat diakses dan method-nya hanya dapat digunakan oleh kelas yang mendefinisikan dan turunannya.
Public
+
Atribut dan method-nya dapat diakses dan digunakan oleh kelas lainnya.
class
diagram
Generalization/Specialization, D.Bentley, 2007:400).
terdapat dan
Associations
and
Aggregation/Composition
Multiplicity, (L.Whitten
&
22
1. Association and Multiplicity Association merupakan hubungan yang menyatakan apa yang perlu diketahui suatu objek terhadap lainnya. Sedangkan kalau multiplicity adalah yang mengatur association.
Gambar 2.9 Object / Class Associations and Multiplicity Notations (L.Whitten & D.Bentley, 2007: 377) 2. Generalization/Specialization Merupakan hubungan yang terdiri dari supertype classes dan subtype classes. Kalau supertype classes memiliki atribut-atribut yang umum sedangkan kalau
23
subtype classes memiliki atribut-atribut yang khusus dan juga mewarisi atribut dari supertype class-nya
Gambar 2.10 Generalization/Specialization Relationship (L.Whitten & D.Bentley, 2007: 376) 3. Aggregation/Composition Merupakan sebuah hubungan unik dimana suatu objek merupakan bagian dari objek yang lain. Bersifat asimetris, yaitu bila objek A merupakan bagian dari objek B maka tidak sebaliknya.
24
Gambar 2.11 Aggregation Relationship (L.Whitten & D.Bentley, 2007: 379)
Gambar 2.12
Composite Relationship (L.Whitten & D.Bentley, 2007: 379)
25
Langkah-langkah pembuatan Class Diagram (L.Whitten & D.Bentley, 2007:400405) : 1. Mencari objek yang potensial menjadi class. Langkah ini dapat diselesaikan dengan meninjau setiap use case description dan mencari kata benda yang menunjukkan suatu event atau entitas. 2. Memilih objek yang diusulkan. Tidak semua kata benda merepresentasikan objek y ang dibutuhkan. Beberapa kata benda harus dihilangkan bila memenuhi kondisi berikut: a. Apakah kata benda tersebut merupakan objek yang sama dengan nama yang berbeda? 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 langkah ini, harus dinentukan hubungan yang terdapat antar class. Hubungan antar class ini menunjukkan bahwa kedua objek tersebut saling mengenal satu dengan yang lainnya. Setelah hubungan tersebut telah teridentifikasi, langkah selanjutnya adalah menentukan multiplicity dari hubungan tersebut.
26
4. Mengidentifikasi hubungan Generalization/Specialization antar class. Hubungan generalisasi menggambarkan hirarki hubungan antar class dimana terdapat supertype class dan subtype class, dimana supertype class memiliki atribut dan method yang lebih umum dari subclass yang dimilikinya. 5. Mengidentifikasi hubungan Aggregation/Composition. Hubungan agregasi merupakan hubungan unik dimana salah satu objek merupakan bagian dari objek lainnya 6. Membuat class diagram. Setelah menentukan seluruh aspek yang dibutuhkan untuk membuat class diagram, maka class diagram tersebut siap dibuat dengan menggunakan objek, hubungannya dan multiplicity yang telah ditentukan sebelumnya. 1.1.8.4
Sequence Diagram
Sequence diagram adalah model skenario logika dari sebuah use case yang menggambarkan bagaimana terjadinya interaksi antara aktor dan sistem dalam suatu urutan waktu yang digambarkan dalam bentuk diagram (L.Whitten & D.Bentley, 2007: 394).
27
Gambar 2.13
Sequence Diagram (L.Whitten & D.Bentley, 2007:659)
Berikut ini adalah penjelasan dari notasi-notasi yang dipakai dalam diagram tersebut: 1. Actor – actor berinteraksi dengan user interface yang ditampilkan dengan symbol actor user case. 2. Interface class –kotak yang mengindikasikan kode class user interface. Untuk memastikan agar tidak membuat bingung, maka <
> dituliskan. Titik dua merupakan notasi standard sequence diagram untuk mengindikasikan sebuah instance yang berjalan dalam sistem. 3. Controller class – setiap use case memiliki satu atau lebih class controller, digambarkan dengan notasi yang sama dengan interface class, dan diberikan tulisan <>. 4. Entity class – tambahkan box-box untuk setiap entity yang membutuhkan untuk berkolaborasi dalam langkah-langkah sequence. Titik dua menunjukkan instance objek.
28
5. Input messages – panah horizontal dari actor ke sistem mengindikasikan message inputs. 6. Activation bars – bar yang diset di atas lifelines mengindikasikan periode waktu ketika participant aktif dalam interaksi. 7. Output messages – panah horizontal dari sistem ke actor ditunjukkan sebagai garis putus-putus. 8. Self call – sebuah object dapat memanggil method-nya sendiri. 9. Frame – untuk mengindikasikan satu atau lebih message merupakan langkah optional, atau dapat berupa loop yang berarti controller dapat melakukan loop melalui item tersebut. 1.1.9 Designing Relational Databases Merupakan perancangan basis data relasional (Database Relational) dari sebuah class diagram (Satzinger, Jackson & Burd, 2005:409). Terdapat beberapa langkah dalam merubah sebuah class diagram menjadi Relational Database 1.1.9.1
Membuat tabel untuk setiap class.
Merupakan langkah pertama dalam membuat database relasional, dengan membuat tabel untuk setiap class pada class diagram. Nama atribut dari tabel akan disamakan dengan yang sudah didefinisikan dalam class diagram. Untuk mencegah kebingungan, nama tabel dan nama atribut disamakan dengan class diagram dan kamus data.
29
1.1.9.2
Memilih primary key untuk setiap tabel.
Setelah membuat tabel untuk setiap class, langkah selanjutnya adalah menentukan primary key untuk setiap tabel. Bila dalam sebuat tabel sudah ada sebuat atribut yang unik, maka atribut tersebut dapat dipilih sebagai primary key. 1.1.9.3
Tambahkan foreign key untuk menunjukkan hubungan one-to-one.
Setiap foreign key menunjukkan hubungan antar tabel yang memiliki foreign key dengan tabel yang menggunakan key yang sama sebagai primary key. Saat menunjukkan hubungan one-to-one, foreign key tidak menjadi bagian dari primary key dari table tersebut. 1.1.9.4
Buat tabel baru untuk menunjukkan hubungan many-to-many.
Bila terdapat suatu hubungan many-to-many antar tabel, maka tabel tersebut harus dipisahkan menjadi beberapa tabel dan memiliki lebih darisatu primary key. 1.1.9.5
Merepresentasikan hirarki dari class.
Hirarki dari class ditunjukkan dengan hubungan parent class dengan child class, dimana parent class menurunkan beberapa atau seluruh atribut dan method ke child class. Ada dua (2) cara untuk merepresentasikannya: 1. Mengkombinasikan seluruh tabel ke dalam sebuah tabel yang memiliki seluruh atribut dari semua child class. 2. Menggunakan beberapa tabel untuk merepresentasikan child class dengan menggunakan primary key dari parent class sebagai primary key dari child class.
30
1.1.9.6
Mendefinisikan batasan referensi integritas.
Di atas sudah dijelaskan mengenai bagaimana foreign key digunakan untuk merepresentasikan suatu hubungan antar tabel. Pada bagian ini, dijelaskan sebuah hubungan konsisten antara nilai foreign key dengan primary key. Setiap foreign key mereferensikan sebuah primary key dari tabel lain. Namun pada suatu kondisi tertentu, terdapat sebuah nilai foreign key yang muncul di suatu tabel dan juga berperan sebagai primary key pada tabel yang bersangkutan, yang biasa disebut referencial integrity constraint. 1.1.9.7
Mengevaluasi kualitas skema dan membuat perbaikan bila diperlukan.
Setelah pembuatan sekumpulan tabel, desainer database harus meninjau kualitas skema yang telah dibuat. Sebuah data model yang memiliki kualitas yang bagus harus mempunyai beberapa fitur seperti: 1. Keunikan suatu set baris pada tabel dan primary key. 2. Data tidak redundan. 3. Kemudahan dalam modifikasi model data di masa yang akan datang. 1.1.9.8
Memilih tipe data yang sesuai dan batasan nilai untuk setiap kolom bila diperlukan.
Pada tahap akhir, setiap atribut yang ditulis ke dalam database relasional, diberi tipe data yang sesuai dan batasan-batasan yang diperlukan untuk setiap atribut.
31
1.2
Teori Khusus
1.2.1 Sistem Sistem adalah kumpulan dari elemen yang saling tergantung satu sama lain dimana elemen tersebut bersama-sama menyelesaikan tujuan yang spesifik (Gelinas, 2008:11) Sistem adalah serangkaian dari dua atau lebih komponen atau subsistem yang saling terkait yang melayani tujuan yang sama (Hall, 2007:5). 1.2.2 Training Training adalah sebuah proses dimana orang mendapatkan kapabilitas untuk membantu pencapaian tujuan-tujuan organisasional (Mathis & Jackson, 2006:301). Training merupakan proses mengajarkan keterampilan yang dibutuhkan karyawan untuk melakukan pekerjaannya (Dessler, 2012:267). 1.2.3 Kualifikasi Kualifikasi adalah proses penilaian kompetensi dan kemampuan usaha serta pemenuhan persyaratan tertentu lainnya dari penyedia barang/jasa (Kamal, 2009:1). Salah satu kegiatan proses kualifikasi adalah penilaian, dan penilaian ini dilakukan oleh penyedia barang/jasa. 1.2.4 Asisten Asisten adalah seseorang yang memberikan bantuan terhadap proses pemenuhan kebutuhan untuk mencapai tujuan tertentu (Park, 2006:349)
32
1.2.5 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 HTML. 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 (Anchour, 2009). Berikut ini merupakan beberapa keunggulan dari PHP: 1. PHP mampu berjalan di beberapa web server, seperti Apache, Microsoft IIS, dan lain sebagainya. 2. PHP mendukung akses beberapa database yang sudah ada, seperti MySQL, mSQL, dBase, dan lain sebagainya. 3. PHP mampu berjalan di LINUX, Windows dan yang lainnya sebagai platform sistem operasi. 4. PHP merupakan salah satu scripting language yang termudah untuk dipelajari. 5. PHP merupakan program open source, serta mudah di-share dan diubah di antara komunitas pengembangan web. 1.2.6 CodeIgniter (CI) CodeIgniter adalah aplikasi open source yang berupa framework dengan model MVC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari awal.
33
Framework secara sederhana dapat diartikan kumpulan dari fungsi / prosedur dan class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang programmer, tanpa harus membuat fungsi atau class dari awal (Myer, 2008:1). Beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP yang lain yaitu : 1. Performa sangat cepat. Salah satu alasan tidak menggunakan framework adalah karena eksekusinya yang lebih lambat, tapi CodeIgniter sangat cepat bahkan mungkin bisa dibilang bahwa CodeIgniter merupakan framework yang paling cepat dibanding framework yang lain. 2. Konfigurasi yang sangat minim (nearly zero configuration). Penggunaan CodeIgniter dapat dengan pengaturan standar, hanya perlu merubah sedikit suatu file pada folder config dan menyesuaikan dengan database yang akan digunakan. 3. Banyak komunitas. Dengan banyaknya komunitas CI ini, memudahkan untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru. 4. Dokumentasi yang sangat lengkap. Setiap paket instalasi codeigniter sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami.
34
1.2.7 Microsoft SQL Server 2008 SQL Server 2008 sangat dikenal sebagai Relational Database Management System (RDBMS). Namun tidak hanya itu saja, tetapi juga dapat lebih akurat digambarkan sebagai data enterprise platform yang dibangun di atas banyak fitur yang pertama kali didirikan di SQL Server 2005. Sementara itu, SQL Server 2008 juga memperluas penawaran untuk menyertakan beberapa perbaikan dan penambahan. Karena dikenal dengan peran sebagai RDBMS tradisional, SQL Server 2008 juga menyediakan kemampuan reporting, analisis data yang kuat dan data mining. SQL Server 2008 tentunya juga mempunyai fitur-fitur yang mendukung aplikasi data yang berbeda. datadriven event notification dan masih banyak lagi (Leiter, 2008:3). 1.2.8 jQuery UI Framework jQuery UI adalah sebuah widget dan interaction library yang dikembangkan di atas library JavaScript jQuery yang dapat digunakan untuk mengembangkan aplikasi web yang sangat interaktif (Anonymous, 2012).