7 2.1 Teori Umum
Dibawah ini adalah teori-teori dasar yang digunakan dalam pembuatan aplikasi ini.
2.1.1 Multimedia
Menurut (Vaughan, 2010, p1) multimedia adalah kombinasi teks, grafik, audio, gambar bergerak (video dan animasi) yang dikirim ke pengguna melalui sebuah komputer ataupun sebuah alat elektronik dengan teknik manipulasi digital. Multimedia dapat memberikan pengaruh yang besar. Semua elemen multimedia (teks, grafik, audio, gambar bergerak) dapat digabungkan, dengan demikian pemikiran dan aksi yang ingin disampaikan dapat diterima oleh orang-orang sekitar.
Menurut Vaughan (2010) elemen multimedia dibagi menjadi lima, yaitu: 1. Teks
Vaughan (2010, p19) mengatakan sejak berkembangnya internet dan World Wide Web teks menjadi sangat penting. Banyak web yang menggunakan HTML yang menggunakan teks sederhana dengan beberapa gambar tambahan sebagai ilustrasi. 2. Gambar
Menurut Vaughan (2010, p70) gambar dibedakan menjadi dua jenis yaitu: a. Bitmap
Merupakan matriks sederhana dari titik-titik kecil yang membentuk sebuah gambar kemudian ditampilkan dilayar komputer.
b. Vektor
Merupakan garis yang dijelaskan oleh lokasi kedua titik. 3. Suara
Menurut Vaughan (2010, p104) suara merupakan elemen multimedia yang paling dirasakan yang berarti dapat menghasilkan perbedaan. Presentasi multimedia yang biasa dengan presentasi multimedia yang professional. Penggunaan suara yang tidak pada tempatnya dapat merusak presentasi tersebut Ada dua macam suara yang biasa digunakan di dalam multimedia, yaitu: Digital audio dan MIDI.
a. Digital audio
Digital audio adalah hasil konversi dari gelombang suara yang disimpan ke dalam informasi berbentuk bits atau bytes. Proses konversi ini disebut digitizing.
b. MIDI
MIDI adalah singkatan dari Musical Instrument Digital Interface, merupakan jenis suara yang paling mudah diimplementasikan ke dalam sebuah multimedia. MIDI sendiri adalah bentuk konversi dari suara yang disimpan ke dalam bentuk numerik (Vaughan, 2010, p113).
4. Animasi
Menurut Vaughan (2010, p140) animasi adalah membuat presentasi statis menjadi hidup. Dan hal tersebut menambahkan kekuatan besar pada proyek multimedia. 5. Video
Menurut Vaughan (2010, p168) video digital adalah hal paling menarik dari multimedia dan merupakan alat yang paling ampuh dalam membawa pengguna komputer lebih dekat kepada dunia nyata. Video yang di eksekusi dengan baik akan menghasilkan hasil yang dramatis.
2.1.2 Interaksi Manusia dan Komputer
Interaksi Manusia-Komputer adalah sebuah desain yang hasilnya harus sesuai dengan kebutuhan pengguna. Mesin dan layanan untuk mencapai suatu kinerja tertentu baik dalam kualitas dan optimalitas layanan (Karray, et al, 2008, 138).
2.1.3 Delapan Aturan Emas
Dalam merancang sebuah user interface yang baik, Shneiderman, B., (2010, p88) mengemukakan 8 (delapan) aturan yang dapat digunakan sebagai petunjuk dasar:
1. Konsistensi
Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. Dalam situasi apapun tindakannya harus konsisten, baik font, warna, tata letak harus konsisten juga.
2. Memungkinkan pengguna untuk menggunakan Shortcut
Memahami kebutuhan pengguna yang berbeda desainnya dari pemula sampai pengguna yang sudah ahli untuk meningkatkan kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro.
3. Memberikan umpan balik yang informatif
Untuk setiap tindakan pengguna, sebaiknya disertakan dengan sistem umpan balik. Untuk tindakan yang sering dan tidak penting harus menggunakan umpan balik yang sederhana, sedangkan untuk tindakan penting sebaiknya diberikan umpan balik yang substansial.
4. Merancang dialog untuk menghasilkan suatu penutupan
Urutan tindakan lebih baik di organisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir serta memberikan umpan balik yang informatif sehingga dapat memberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat melanjutkan ke kelompok tindakan berikutnya.
5. Memberikan penanganan kesalahan yang sederhana
Sebaiknya sistem dirancang sedemikian mungkin sehingga pengguna tidak melakukan kesalahan yang fatal. Jika terjadi kesalahan sistem dapat menangani dengan cepat dan memberikan penanganan yang sederhana sehingga mudah dipahami oleh pengguna.
6. Mudah kembali ke tindakan sebelumnya
Sistem dapat kembali ke tindakan sebelumnya sehingga pengguna tidak takut untuk mengeksplorasi pilihan-pilihan lain yang belum pernah digunakan.
7. Mendukung tempat pengendali internal (internal locus of control)
Sistem harus dapat mendukung pengguna dalam mengontrol sistem itu sendiri, sehingga pengguna dapat merasa bahwa mereka yang mengontrol sistem bukan sebaliknya. Sistem harus dengan cepat merespon permintaan pengguna.
8. Mengurangi memori jangka pendek
Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana, sebaiknya banyak menyatukan tampilan, serta memberikan waktu yang cukup untuk pelatihan.
2.1.4 Lima Faktor Manusia Terukur
Lima faktor manusia terukur oleh Shneiderman dan Plaisant (2010, p32) : 1. Waktu Belajar
Waktu yang dibutuhkan pengguna untuk merancang antarmuka yang mudah untuk pengguna sehingga penggunaan aplikasi mudah dimengerti.
2. Kecepatan Kinerja
Berapa lama waktu yang dibutuhkan untuk menyelesaikan suatu target tugas. Mengurangi kompleksitas proses dalam aplikasi yang bertujuan untuk meningkatkan kinerja proses pada aplikasi.
3. Tingkatan Kesalahan
Meminimalisir tingkat kesalahan yang mungkin terjadi dalam proses penggunaan dan memberikan penanganan kepada pengguna. Waktu untuk membuat dan memperbaiki kesalahan dapat berpengaruh pada kecepatan kinerja.
4. Daya Ingat
Membuat tampilan agar pengguna dapat dengan mudah mengingat, dengan tujuan agar pengguna tidak membutuhkan waktu lama untuk mempelajari penggunaan aplikasi.
5. Kepuasan subjektif
Hal ini dapat dicapai dengan melakukan interview dan survey kepada beberapa pengguna untuk mendapat tingkat kepuasan.
2.1.5 Rekayasa Perangkat Lunak
Menurut Pressman (2010, p13), rekayasa perangkat lunak merupakan pembuatan dan penggunaan prinsip-prinsip keahlian teknik untuk mendapatkan perangkat lunak yang ekonomis, handal, dan bekerja secara efisien pada mesin yang sesungguhnya. Rekayasa perangkat lunak dibagi menjadi tiga layer menurut Pressman (2010), meliputi: 1. Process Model; proses ini merupakan fondasi, tumpuan, penyangga dari rekayasa
perangkat lunak untuk menentukan framework apakah yang harus digunakan sehingga pembentukan rekayasa perangkat lunak dapat berjalan secara efektif. 2. Methods; metode digunakan sebagai komponen yang menyediakan, memandu,
Metode meliputi daftar dari tugas yang akan dikerjakan, termasuk komunikasi, analisis kebutuhan, perancangan antarmuka, pembuatan program, percobaan program, dan dukungan.
3. Tools; merupakan komponen yang menyediakan dukungan otomatis dan semi otomatis bagi proses model dan methods yang digunakan.
4. Quality focus; merupakan batu landasan untuk menopang tools, methods, dan process pada rekayasa perangkat lunak.
Gambar 2.1 Layer Rekayasa Perangkat Lunak
(Pressman, Software Engineering: a Practitioner’s Approach, 2010)
2.1.6 Agile Development
Agile Development merupakan suatu metodologi yang digunakan untuk mengembangkan perangkat lunak yang berbasis pada pengembangan iteratif. Metodologi ini juga memungkinkan development team untuk beradaptasi secara cepat dengan perubahan-perubahan yang ada. Agile development mengutamakan komunikasi yang efektif dengan user terutama dengan sesama development team (Pressman,2010).
2.1.6.1 Extreme Programming (XP)
Menurut Pressman (2010), XP merupakan salah satu pendekatan dalam agile development. Sifat-sifat dan karakterisituk yang ada pada agile development juga terdapat dalam XP. XP juga menawarkan berbagai teknik terbaik yang membuat developer software tangkas terhadap perubahan requirement yang datang dengan tiba-tiba.
Gambar 2.2 Tahapan pada XP
(Pressman, Software Engineering: a Practitioner’s Approach, 2010)
Terdapat 4 (empat) tahapan utama dalam perancangan menggunakan XP, yaitu: 1. Planning
Pada tahap ini, developer team mengumpulkan persyaratan (requirement) yang diperlukan dalam pengembangan software. Kemudian team mulai melakukan penyusunan user stories untuk menggambarkan seperti apa output yang dibutuhkan. Customer menyusun tingkatan stories berdasarkan prioritas dan pihak developer software memperkirakan waktu yang diperlukan untuk membuat software-nya.
2. Design
Proses desain pada XP menggunakan prinsip KIS (Keep It Simple). Desain yang digunakan harus sederhara karena mengikuti stories yang telah dibuat pada tahapan sebelumnya. Pada tahap selanjutnya terdapat proses refactoring. Refactoring merupakan proses penyederhanaan algoritma maupun struktur program tanpa mengubah hasil akhirnya. Di dalam XP juga terdapat CRC Card
3. Coding
Setelah dua tahap sebelumnya selesai, developer software sebaiknya tidak langsung melakukan pengkodean, melainkan melakukan pengetesan dan evaluasi apda setiap story. Sebaiknya developer software fokus pada apa yang dibuat untuk dapat melewati tes tersebut. Setelah itu barulah tahap pengkodean dimulai kemudian dites agar segera mendapatkan feedback.
4. Testing
Pada tahap ini, program yang telah selesai akan dilakukan pengujian code dengan customer tests atau acceptance tests. Beberapa acceptance tests dipilih berdasarkan sasaran pengguna dari customer.
2.1.7 Class Responsibility Collaboration (CRC) Card
Class Responsibility Collaboration (CRC) Card merupakan tools yang digunakan untuk mendefinisikan behavior dan responsibility dari masing-masing class dan hubungan kolaborasi antara class-class tersebut.
CRC Card dikembangkan dengan interaksi antara analis dan pengguna. Masing-masing orang diminta untuk mendeskripsikan logika yang diperlukan untuk memenuhi suatu responsibility, dan informasi apa saja yang dibutuhkan tetapi tidak dimilikinya. Class lain yang memiliki informasi yang dibutuhkan akan menjadi collaborator untuk behavior tersebut. (Whitten, J. L., & Bentley, L. D., 2007, p657 – p658).
Gambar 2.3 CRC Card
2.1.8 Unified Modeling Language (UML)
Menurut Whitten dan Bentley(2007, p371), UML (Unified Modeling Language) adalah sebuah set dari kaidah permodelan yang digunakan untuk menspesifikasikan atau mendeskripsikan sebuah sistem perangkat lunak dalam hal objek-objek. UML dapat digunakan untuk menggambarkan, menentukan, merancang dan mendokumentasikan sesuatu dari sistem perangkat lunak.
2.1.8.1 Use Case Diagram
Menurut Whitten dan Bentley (2007, p246), use case diagram menggambarkan secara gambar sebuah sistem sebagai satu koleksi dari use cases, actors (user) dan relationship (hubungan) keduanya.
Menurut Whitten dan Bentley (2007, pp248-250), ada 5 jenis hubungan yang ditemukan dalam use case diagram, yaitu:
1. Associations
Sebuah hubungan antara actors dan sebuah use case dimana interaksi terjadi antara mereka.
2. Extends
Use case yang mengandung langkah yang ditarik dari sebuah use case yang lebih kompleks dengan tujuan untuk menyederhanakan kasus yang orisinil dan untuk memperluas funsgsionalitasnya. Use case yang diperluas memperluas fungsionalitas dari use case yang orisinil.
3. Uses (or includes)
Use case yang mengurangi pengulangan yang terjadi antara dua atau lebih use case yang lain dengan menggabungkan langkah-langkah yang umum yang ditemukan dalam kasus.
4. Depends on
Sebuah hubungan antara use cases mengindikasikan bahwa satu use case tidak dapat ditampilkan sampai use case yang lain telah tampil.
Di dalam use cases, sebuah hubungan antara actors yang diciptakan untuk menyederhanakan gambar ketika sebuah actor yang abstrak mewariskan perannya ke banyak actor yang asli
Gambar 2.4 Use Case Diagram (Whitten & Bentley, 2007, p246)
2.1.8.2 Class Diagram
Menurut Whitten dan Bentley (2007, p400), Class diagram adalah sebuah gambaran gambar dari sebuah sistem struktur objek statis, menampilkan kelas objek yang sistem susun sebaik hubungan antara tiap kelas objek. Class diagram digunakan untuk menggambarkan secara gambar objek-objek dan asosiasinya.
Gambar 2.5 Class Diagram
(Sumber : Whitten, Bentley, dan Dittman, p374)
Class memiliki tiga aspek pokok, yaitu: 1. Nama atau object instance
Merupakan nama dari suatu class yang digunakan sebagai pembeda dari suatu objek.
2. Atribut
Merupakan properti atau data yang berada pada class tersebut. 3. Metode atau behaviour
Merupakan fungsi atau operasi yang dimiliki pada class tersebut
2.1.7.2.1 Visibility
Dalam class diagram, suatu objek memiliki hak akses terhadap atribut dan behaviour yang disebut visibility. Ada tiga jenis visibility, yaitu (Whitten & Bentley, 2007: 650) :
1. Public
Atribut atau behaviour dapat dipanggil oleh semua class yang berhubungan. Public dilambangkan dengan tanda tambah (+).
2. Private
Atribut atau behaviour digunakan oleh class itu sendiri dan tidak dapat dipanggil oleh class lain. Private dilambangkan dengan tanda minus (-).
3. Protected
Atribut atau behaviour digunakan oleh class itu sendiri dan class turunannya (child). Protected dilambangkan dengan tanda pagar (#).
2.1.7.2.2 Multiplicity
Antar class dalam class diagram memiliki hubungan yang dilengkapi dengan multiplicity, yaitu jumlah minimal dan maksimal suatu objek class yang berhubungan dengan objek class lainnya, terdiri dari (Whitten & Bentley, 2007: 377) :
Tabel 2.1 Notasi Multiplicity
Notasi Arti
0..1 Nol atau satu
1 Tepat satu
0..* Nol atau lebih
1..* Satu atau lebih
n..n Rentang spesifik
2.1.7.2.3 Relationships
Semua class pada class diagram saling berhubungan. Hubungan antar class terbagi menjadi beberapa jenis, yaitu:
1. Asosiasi
Hubungan statis antar satu class dengan class lainnya. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Ada dua jenis hubungan asosiasi, yaitu:
a. Uni-directional
Hubungan digambarkan dengan garis yang memiliki anak panah (navigability) yang berarti tidak semua kelas berperan dan hanya satu kelas yang dapat mengirim pesan ke kelas lainnya yang ditunjuk.
b. Bi-directional
Hubungan digambarkan dengan garis tanpa anak panah yang berarti semua kelas berperan dan dapat saling mengirim pesan ke kelas lainnya yang terhubung.
2. Agregasi
Merupakan hubungan “bagian dari” atau “terdiri dari”. Hubungan agregasi digunakan ketika satu kelas (whole part) dibuat dari beberapa kelas lainnya (is part of) (Whitten & Bentley, 2007: 378). Hubungan agregasi dilambangkan dengan tanda wajik putih. Contoh, hubungan antara class pemain dan class tim. Tim terdiri dari pemain dan pemain adalah bagian dari tim.
(Whitten & Bentley, 2007: 379)
3. Komposit
Merupakan hubungan suatu part class dengan whole class dimana siklus hidup part class sangat bergantung pada whole class sehingga bila instance dari whole class dihapus maka instance dari part class juga akan terhapus (Whitten & Bentley, 2007: 378). Komposit adalah hubungan agregasi yang lebih kuat dan dilambangkan dengan tanda wajik hitam. Contoh, hubungan antara mesin dan mobil. Mesin adalah bagian dari mobil dan mobil tidak dapat dipisahkan dengan mesin karena bila mesin tidak ada, mobil tidak dapat berfungsi.
Gambar 2.8 Hubungan Komposit (Whitten & Bentley, 2007: 379)
4. Inherintance dan Generalisasi atau Spesialisasi
Ketika metode atau atribut dari satu class diturunkan atau dipakai kembali oleh class lain disebut inheritance atau pewarisan (Whitten & Bentley, 2007: 373). Class asal atau parent atau superclass dapat mewarisi semua atribut serta metode dan menambahkan fungsionalitas baru ke class yang diwarisi atau child atau subclass. Generalisasi adalah sebuah teknik dimana atribut dan metode mempunyai kesamaan dikelompokkan menjadi satu class (supertype). Atribut dan metode dari supertype diturunkan menjadi subtypes (Whitten & Bentley, 2007: 373).
Gambar 2.17 Hubungan Generalisasi (Whitten & Bentley, 2007: 378)
2.1.8.3 Activity Diagram
Menurut Whitten dan Bentley (2007, p390), Activity diagram berfungsi untuk menggambarkan langkah-langkah proses atau aktivitas dari sebuah sistem. Activity diagram serupa dengan flowcharts dalam hal mereka menggambarkan secara gambar aliran sekuensial dari aktivitas atau proses bisnis atau use case. Yang membedakan dari flowcharts adalah mereka menyediakan mekanisme untuk menggambarkan aktivitas yang terjadi secara paralel. Mereka sangat berguna untuk memodelkan aksi yang akan ditampilkan ketika operasi sedang berjalan sama baik seperti hasil dari pada aksi tersebut seperti memodelkan kejadian yang menyebabkan windows untuk ditampilkan atau ditutup. Activity diagrams bersifat fleksibel dalam hal mereka dapat digunakan dalam analisis dan desain.
Gambar 2.9 Activity Diagram (Sumber: Whitten & Bentley, p392)
2.1.8.4 Use Case Narrative
Menurut Whitten dan Bentley (2007, p246), Use Case Narrative merupakan deskripsi dalam bentuk teks bagaimana user akan berinteraksi dengan sistem dalam menyelesaikan sebuah tugas. Ketika sedang mempersiapkan untuk membuat use case agar lebih mudah dalam memahami events dari sistem.
Gambar 2.10 Use Case Description (Sumber: Whitten dan Bentley, p386)
2.1.9 Entity Relationship Diagram
Entity Relationship Diagram (ERD) digunakan untuk menggambarkan konsep logika basis data. Pemodelan data digambarkan dengan hubungan antara satu entitas dengan entitas lain (Connolly dan Begg , 2010:473).
2.2 Teori Khusus
Di bawah ini adalah teori-teori khusus yang digunakan dalam pembuatan aplikasi ini.
2.2.1 Android
Menurut Wei-Meng Lee (2012, p3), Android merupakan suatu sistem operasi mobile yang didasarkan pada versi modifikasi dari Linux. Android pertama kali dibuat dan dikembangkan oleh perusahaan bernama Android Inc. Pada tahun 2005, Google membeli Android dan mengambil alih pengembangan sistem operasi Android tersebut.
2.2.2 Eclipse
Eclipse merupakan suatu aplikasi yang bersifat Integrated Development Environment (IDE) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Eclipse dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in. Dengan penambahan beberapa plugins, Eclipse dapat menerjemahkan bahasa pemrograman lainnya, seperti Ada, C/C++, Android, dan sebagainya (Anonim2, 2012).
2.2.3 Android Development Tools
Android Development Tools adalah suatu plugin yang didesain untuk IDE Eclipse yang dapat memudahkan user dalam mengembangkan aplikasi Android. ADT menawarkan solusi yang cepat untuk membangun sebuah software android dengan hadirnya berbagai macam fitur. Dengan menggunakan ADT, user dapat membuat aplikasi project Android, membuat Graphic User Interface (GUI) aplikasi yang digunakan untuk mendistribusikan aplikasi Android (Anonim3, 2012).
2.2.4 Android Software Development Kit (SDK)
Android SDK merupakan tools Application Programming Interface (API) yang digunakan untuk mengembangkan aplikasi Android menggunakan bahasa pemrograman Java. Android SDK terdiri dari debugger, libraries, handset emulator, dokumentasi, contoh code, dan tutorial (Anonim4, 2012).
2.2.5 Java
Java merupakan bahasa pemrograman untuk aplikasi internet. Bahasa pemrograman dibuat untuk memudahkan orang-orang untuk menuliskan dan memahami bahasa tingkat tinggi (High-Level Languages). Bahasa yang digunakan oleh komputer merupakan bahasa mesin. Bahasa mesin disebut dengan bahasa tingkat rendah (Low-Level Languages). Dengan begitu program yang dituliskan ke bahasa tingkat tinggi harus diterjemahkan ke dalam bahasa mesin dahulu sebelum dijalankan. Program yang digunakan untuk menerjemahkan bahasa tersebut disebut compiler dan proses penerjemahannya disebut compiling (Walter Savitch,2012).
2.2.6 Web Services
Web services adalah sistem software yang dirancang untuk mendukung interaksi dan interoperabilitas mesin-ke-mesin melalui jaringan. Web services menggunakan sistem terbuka, berbasis XML standar dan internet transport protocols untuk pertukaran data dari server dengan klien dan sebaliknya (W3.org , 2004).
Perbedaan web services dengan website biasa adalah interaksi yang diberikan oleh web services. URI (Unified Resources Identifier) web services hanya berisi kumpulan informasi, perintah, konfigurasi, atau sintaks yang berguna untuk membangun fungsi-fungsi tertentu dari aplikasi.
Ketika klien berinteraksi dengan sistem maka akan membentuk suatu request terhadap database pada server. Server mengolah dan mengembalikan data ke klien yang berupa response. Pada web services, hubungan antar klien dan server tidak terjadi secara langsung karena dijembatani oleh web services.
2.2.6.1 REST
Teknologi REST pertama diperkenalkan oleh disertasi doktoral Roy Fielding pada tahun 2000. REST (Representational State Transfer) adalah suatu jenis dari web server yang memungkinkan klien, baik user-operated atau otomatis, untuk mengakses sumber daya (resources) yang memodelkan data dan fungsi suatu sistem (Masse, 2011:ix).
Ketika klien berinteraksi dengan sistem maka akan membentuk suatu request terhadap database pada server. Server mengolah dan mengembalikan data ke klien yang berupa response dalam format XML atau JSON. Pada web services, hubungan antar klien dan server tidak terjadi secara langsung karena dijembatani oleh web services.
Gambar 2.4 Arsitektur REST (Kalin, 2009:123)
Dalam arsitektur diatas, klien mengirimkan dengan HTTP requests untuk URL yang meminta untuk sumber daya pada server dan merespon dengan HTTP Responses yang kembali ke klien. Sebagai contoh, request GET dari klien dapat mengirimkan biografi hacker dalam bentuk halaman HTML.
HTTP methods adalah kunci landasan dari REST yang menentukan tindakan terhadap data. HTTP methods terdiri dari POST, GET, PUT, dan DELETE dengan fungsi sebagai berikut (Masse, 2011:23-27):
1. POST
Klien menggunakan POST ketika mengirimkan sumber daya ke server; digunakan untuk membuat (create) sumber daya baru ke dalam koleksi
2. GET
Klien menggunakan GET dalam pesan request untuk mendapatkan (retrieve) sebuah sumber daya. Pesan dapat berisikan headers saja, tanpa isi (body).
3. PUT
PUT digunakan untuk menambahkan sumber daya ke penyimpanan dengan URI ditentukan secara spesifik oleh klien; digunakan untuk memperbaharui atau menggantikan sumber daya yang sudah ada. Pesan PUT berisikan hal yang ingin diubah.
4. DELETE
Klien menggunakan DELETE untuk menghapus sumber daya dari penyimpanan atau koleksi. Ketika request untuk menghapus diproses, sumber daya tidak dapat ditemukan lagi oleh klien. Maka dari itu, status akan dikembalikan error 404 (Not Found).
REST menggunaan skema yang berorientasi pada sumber daya untuk menggambarkan struktur representasi yang independen dari format mereka. Orientasi pada sumber daya adalah orientasi yang menyediakan sumber daya sebagai layanannya dan bukan kumpulan dari aktifitas yang mengolah sumber daya (Masse, 2011:59).
2.2.6.2 Basis Data (Database)
Basis data adalah sebuah kumpulan dari data-data logikal yang berhubungan dan deskripsi dari data tersebut, yang dirancang untuk memenuhi kebutuhan dari informasi pada suatu organisasi (Connolly dan Begg , 2010:65).
2.2.7 MySQL
Menurut Welling dan Thomson (2009, p3), MySQL merupakan sebuah Relational Database Management System (RDBMS) yang sangat popular dan cepat. MySQL menggunakan SQL (Structured Query Language) yang merupakan bahasa standard dalam melakukan query database server MySQL mengendalikan akses data untuk memastikan beberapa pengguna dapat bekerja dalam waktu bersamaan serta memastikan hanya pengguna yang dapat memiliki hak akses.
Beberapa kelebihan yang dimiliki MySQL menurut Welling, Luke & Thomson, L. (2009, p7):
1. Performance
MySQL tidak diragukan lagi kecepatannya. Pada tahun 2002, Week mengemukakan bahwa MySQL merupakan databasependukung aplikasi web terbaik selain Oracle.
2. Biaya rendah
MySQL tersedia secara gratis di bawah lisensi open source atau harganya murah di bawah lisensi komersial.
3. Mudah digunakan
Banyak database Modern menggunakan SQL. Apabila telah menggunakan RDBMS lain maka tidak akan menemukan masalah dalam beradaptasi dengan MySQL. MySQL selalu lebih mudah digunakan dibanding produk sejenis lainnya.
4. Portability
MySQL dapat digunakan diberbagai macam sistem UNIX yang sama baiknya seperti Microsoft Windows.
2.2.8 PHP (PHP Hypertext Preprocessor)
Menurut Welling dan Thomson (2009, p2), PHP merupakan server-side scripting language yang dirancang khusus untuk website. Kode PHP akan dierjemahkan oleh web server dan diubah menjadi HTML. PHP adalah bahasa open source dimana source code dapat diakses oleh pengguna.
2.2.9 XML (Extensible Markup Language)
Menurut Fawcett, Quindan Ayers (2012, p3-4), Extensible Markup Language (XML) adalah bahasa markup yang berfungsi untuk membedakan suatu informasi dengan informasi lainnya. XML juga dapat digunakan untuk mendesain tampilan menu.
2.2.10 JSON (JavaScript Object Notation)
Menurut Fawcett, Quindan Ayers (2012, p646), JSON merupakan suatu format pertukaran data yang ringan serta mudah diterjemahkan dan dihasilkan oleh komputer. Format berbasis teks yang digunakan untuk mempresentasikan struktur data data sederhana dan menggunakan bahasa pemograman yang fleksibel.