13
1. Nama masakan ditulis jelas.
2. Bahan yang diperlukan disertai ukuran dan bumbu-bumbu yang lain.
3. Cara pembuatan disertai secara singkat tapi jelas.
4. Jumlah porsi dalam satu resep.
Ukuran bahan yang umum digunakan dalam resep masakan : 1.
Gram, Ons, kg. 2.
Liter, Cc. 3.
Sendok teh sdt, sendok makan sdm. 4.
Helai. 5.
Gelas. 6.
Dll. Pada dasarnya resep makanan terbagi menjadi lima jenis masakan yaitu :
1. Appetizer Makanan pembuka
2. Breakfast Makanan sarapan pagi
3. Main Dish Makanan utama
4. Dessert Makanan penutup
5. Drinks Minuman
2.3 Case Based Reasoning
Secara singkat Case-Base Reasoning CBR didefinisikan sebagai sebuah metodologi untuk penyelesaian masalah dengan memanfaatkan pengalaman
sebelumnya Main, 2001. Case-Base Reasoning CBR merupakan sebuah paradigma utama dalam penalaran otomatis automate reasoning dan mesin
14
pembelajaran machine learning. Di dalam CBR, seseorang melakukan penalaran dapat menyelesaikan masalah baru dengan memperhatikan kesamaannya dengan
satu atau beberapa penyelesaian dari permasalahan sebelumnya. Struktur sistem CBR dapat digambarkan sebagai kotak hitam seperti pada Gambar 2.2, yang
mencakup mekanisme penalaran dan aspek eksternal meliputi : 1.
Spesifikasi masukan atau kasus dari suatu permasalahan 2.
Solusi yang diharapkan sebagai luaran 3.
Kasus-kasus sebelumnya yang tersimpan sebagai referensi pada mekanisme penalaran.
Gambar 2.1 Siklus Case-Based Reasoning Main, 2001.
Metode Case-Based Reasoning CBR adalah salah satu metode untuk membangun sistem pakar dengan pengambilan keputusan dari kasus yang baru dengan
berdasarkan solusi dari kasus-kasus sebelumnya. Konsep dari metode Case-Based Reasoning CBR ditemukan dari ide untuk menggunakan pengalaman-
pengalaman yang terdokumentasi untuk menyelesaikan masalah yang baru. Para decision maker kebanyakan menggunakan pengalaman-pengalaman dari problem
solving terdahulu untuk menyelesaikan masalah yang dihadapi sekarang.
15
2.3.1. Siklus Case-Based Reasoning
Secara umumnya terdapat empat langkah proses pada metode Case-Based Reasoning, yang pelaksanaannya berupa siklus, yaitu Aamodt dan Plaza, 1994 :
Gambar 2.2 Siklus Case-Based Reasoning Aamodt dan Plaza,1994.
1. Retrieve : yaitu mengambil kembali permasalahan yang sama. Pada langkah ini
dilakukan proses pencarian atau kalkulasi dari kasus-kasus yang memiliki kesamaan. Tahapan yang ada pada retrieve ini adalah :
a. Identifikasi masalah
b. Memulai pencocokan
c. Melakukan seleksi
2. Reuse : yaitu menggunakan kembali informasi dan pengetahuan dalam kasus
tersebut untuk mengatasi masalah baru. Pada langkah ini dicari solusi dari
16
kasus serupa pada kondisi sebelumnya untuk permasalahan baru. Ada dua cara yang digunakan untuk reuse kasus yang ada yaitu :
a. Reuse solusi dari kasus yang telah ada Transformatical Reuse.
b. Reuse metode kasus yang ada untuk membuat solusi Derivational Reuse.
3. Revise : yaitu meninjau kembali solusi yang diberikan. Pada langkah ini dicari
solusi dari kasus serupa pada kondisi sebelumnya untuk permasalahan yang terjadi kemudian.
a. Evaluasi Solusi
Evaluasi solusi adalah bagaimana hasil yang didapatkan setelah membandingkan solusi dengan keadaan yang sebenarnya. Hal ini biasanya
tahapan di luar sistem CBR. Pada tahap evaluasi ini sering memerlukan waktu yang panjang tergantung dari aplikasi apa yang sedang
dikembangkan. b.
Memperbaiki Kesalahan Perbaikan suatu kasus meliputi pengenalan kesalahan dari solusi yang
dibuat dan mengambil atau membuat penjelasan tentang kesalahan tersebut. 4.
Retain : yaitu proses yang menyimpan pengalaman untuk memecahkan masalah yang akan datang ke dalam basis kasus memory based. Permasalahan
yang akan diselesaikan adalah permasalahan yang memiliki kesamaan dengannya. Pada tahap ini terjadi suatu proses penggabungan dari solusi kasus
yang baru ke knowledge yang telah ada. Proses ini terdiri dari memilih informasi apa dari kasus yang akan disimpan,
disimpan dalam bentuk apa, cara menyusun kasus agar mudah untuk menemukan
17
masalah yang mirip, dan bagaimana mengintegrasikan kasus baru pada struktur memori Mulyana dan Hartati, 2009.
Pada tahap retrieve akan dilakukan perhitungan tingkat kemiripan. Adapun rumus untuk menghitung nilai similarity dari permasalahan tersebut adalah :
� = +
+ + ⋯ +
�
Keterangan : Ti
= nilai similarity dengan kasus ke i n x 1 = banyaknya kesamaan sub objek x 1
n x 2 = banyaknya kesamaan sub objek x 2 n x 3 = banyaknya kesamaan sub objek x 3
n x m = banyaknya kesamaan sub objek x m N
= banyaknya gejala pada kasus baru Proses komputasi akan menghitung nilai similarity dengan batasan-batasan yang
telah ditentukan.
2.3.2. Retrieval Dalam Case-Based Reasoning
Salah satu tahap penting dalam siklus CBR adalah pengambilan kembali retrieval terhadap kasus-kasus sebelumnya yang dapat digunakan untuk menyelesaikan
masalah baru. Salah satu pertanyaan mendasar adalah atas dasar pertimbangan apa retrieval tersebut dilakukan. Satu hal yang dijadikan pertimbangan dalam banyak
penelitian adalah penilaian kesamaan similarity assesment.
18
Dalam beberapa aplikasi CBR, sudah cukup memadai untuk menilai kesamaan terhadap kasus-kasus yang tersimpan berdasarkan ciri-ciri yang nampak. Yang
dimaksud ciri-ciri yang nampak dari suatu kasus adalah penjelasan yang dimilikinya dan bentuk penyajian menggunakan pasangan-pasangan nilai atribut.
Pada aplikasi yang lain seringkali ciri-ciri diperoleh dari penjelasan kasus-kasus dengan melakukan inferensi sesuai dengan domain pengetahuan. Dalam aplikasi
yang lain, sebuah kasus disajikan dalam struktur yang kompleks, seperti graf, maka untuk retrieval membutuhkan penilaian terhadap kesamaan strukturnya. Terdapat
beberapa pendekatan penilaian kesamaan similarity assesment untuk retrieval Mantaras,2006, antara lain :
1. Assessment of surface similarity
Dalam pendekatan retrieval berdasarkan ciri yang nampak, kesamaan setiap kasus dengan masalah yang baru, disajikan sebagai sebuah bilangan yang
real dalam rentang [0,1] yang dihitung sesuai dengan ukuran kesamaan yang diberikan. Biasanya, kasus yang dipanggil kembali adalah kasus ke-k yang
memiliki kesamaan paling tinggi dengan masalah baru. Pendekatan ini lebih dikenal dengan ‘k-Nearest Neighbor’ retrieval yang biasa disingkat dengan
k-NN. Terdapat banyak cara dalam pengukuran kesamaan dan pendekatan yang berbeda disesuaikan dengan perbedaan representasi kasus.
2. Assessment of structural similarity
Struktur assessment didefinisikan sebagai struktur graf khusus, dimana masalah baru mempunyai kesamaan dengan kasus yang tersimpan, dengan
menggunakan aturan transformasi tertentu dan latar belakang pengetahuan yang diberikan diperlukan untuk menentukan kesamaan struktur.
19
3. Similarity framework
Terdapat banyak cara untuk mengukur kesamaan, sehingga tidaklah mengherankan apabila beberapa peneliti dalam memandang kesamaan ini
tidak dalam satu pandanganm dan tidak bergantung dengan algoritma khusus.
2.3.3. Reuse dan Revision Dalam Case-Based Reasoning
Proses reuse dalam siklus CBR adalah tanggung jawab dalam memberikan solusi dari sebuah kasus baru berdasarkan penyelesaian-penyelesaian kasus yang diambil
kembali. Penggunaan kembali kasus-kasus yang di retrieve merupakan hal yang sangat mudah sebagaimana pengembalian penyelesaian masalah sebelumnya, tanpa
melakukan perubahan, sebagai penyelesaian yang disediakan untuk masalah baru. Hal ini sering berkaitan dengan masalah klasifikasi, yang mana tiap-tiap
penyelesaian atau kelas sering diwakili oleh satu kasus dalam basis kasus. Oleh karena itu, kebanyakan kasus yang diambil kembali dan memiliki kesamaan yang
cukup, sangat mungkin berisi penyelesaian yang sesuai. Namun demikian, reuse menjadi lebih sulit jika terdapat perbedaan yang signifikan antara masalah baru
dengan kasus-kasus yang diambil kembali. Dalam kondisi ini, penyelesaian yang diambil kembali memerlukan adaptasi untuk mengatasi perbedaan-perbedaan
penting tersebut. Pembuatan keputusan medis merupakan salah satu bidang yang memerlukan adaptasi. Adaptasi ini menjadi suatu yang sangat penting, ketika CBR
digunakan untuk pekerjaan penyelesaian masalah yang selalu berkembang seperti desain, konfigurasi, dan perencanaan. Metode-metode adaptasi berbeda dalam
kompleksitas sehubungan dengan dua dimensi, apa yang berubah pada penyelesaian yang diambil dan bagaimana perubahan itu dicapai. Adaptasi dapat
20
juga digunakan manakala umpan balik penyelesaian mengindikasikan diperlukannya perbaikan, hal ini merupakan bagian dari tahap perbaikan pada siklus
CBR Mulyana dan Hartati, 2009.
2.3.4. Retension Dalam Case-Based Reasoning
Retension merupakan tahap terakhir dalam siklus CBR yang menghasilkan penyelesaian masalah terbaru yang digabung dalam sistem pengetahuan. Hal ini
telah diterjemahkan menjadi berbagai pendekatan untuk merekam hasil dari penyelesain masalah sebagai sebuah kasus baru dan dapat ditambahkan dalam basis
kasus. Tentunya terdapat berbagai isu tentang cara yang terbaik untuk mempelajari kasus baru dan ternyata sistem yang berbeda akan merekam informasi yang
berbeda. Secara umum, pandangan modern tentang retension telah mengakomodasi perspektif yang lebih luas tentang makna dari sistem CBR untuk belajar dari
pengalamannya dalam menyelesaikan masalah. Hal ini merupakan sebuah pandangan bahwa tanggapan yang besar untuk beberapa masalah yang timbul
selama penerapan sistem CBR dalam skenario penyelesaian masalah yang kompleks Mulyana dan Hartati, 2009.
2.3.5. Fungsi Case-Based Reasoning
Ada tiga fungsi yang berbeda dari Case-Based Reasoning berdasarkan tingkat keterlibatan pengguna yang semakin meningkat Althoff, 2011, sebagai berikut :
1. Case-Base Reasoning untuk pendukung keputusan, dimana pemanfaatan
Case-Base Reasoning pada suatu sistem digunakan sebagai pendukung keputusan untuk penyelesaian masalah. Tipe ini sangat banyak digunakan
21
dalam ruang lingkup yang membutuhkan analisa yang sangat lama dalam menyelesaikan suatu masalah.
2. Case-Base Reasoning sebagai diagnosis, dimana pengguna memanfaatkan
Case-Base Reasoning dalam sistem yang digunakan sebagai alat bantu untuk menentukan hasil diagnosa suatu masalah.
3. Case-Base Reasoning sebagai manajemen pengetahuan, dalam tipe ini
pemanfaatan Case-Base
Reasoning digunakan
untuk mengelola
pengetahuan yang didapatkan dari pakar atau ahli di suatu bidang.
2.3.6. Keuntungan Case-Based Reasoning
Keuntungan menggunakan metode Case-Base Reasoning Mulyana dan Hartati, 2009, adalah :
1. Memberikan fleksibilitas dalam permodelan pengetahuan.
2. Mengatasi masalah pada domain yang belum sepenuhnya dipahami,
didefinisikan, atau dimodelkan. 3.
Membuat prediksi kemungkinan keberhasilan solusi yang ditawarkan untuk masalah pada saat ini.
4. Case-Base Reasoning mencerminkan penalaran manusia.
5. Case-Base Reasoning dapat digunakan untuk banyak tujuan seperti
membuat rencana, membuat diagnosis, dan membuat sebuah pandangan point of view.
6. Case-Base Reasoning dapat diterapkan untuk domain aplikasi yang sangat
beragam. Hal ini disebabkan oleh banyaknya cara dalam merepresentasikan sebuah kasus.
22
2.3.7. Bidang Aplikasi Case-Based Reasoning
Case-Based Reasoning CBR telah diaplikasikan dalam banyak bidang yang berbeda dan sistem yang disebutkan disini merupakan sistem yang telah teruji. Dari
berbagai bidang aplikasi tersebut menunjukkan betapa luasnya cakupan CBR, yang kebanyakan merupakan aplikasi dalam kerangka sebuah kecerdasan buatan. Bidang
aplikasi tersebut Mulyana dan Hartati, 2009, antara lain : 1.
MakananNutrisi : CBR untuk penentuan resep baru, disebut CHEF, CBR untuk konsultasi nutrisi, CBR untuk perencanaan menu makanan.
2. Jaringan Komunikasi : CBR untuk menangani kegagalan jaringan
komunikasi yang disebut CRITTER, CBR untuk menentukan modul-modul yang rawan kesalahan pada jaringan komunikasi.
3. Desain Pabrik : CBR untuk pengelolaan autoclave, CBR untuk mendesain
sepatu, dan aplikasi pabrikan dengan CBR. 4.
Keuangan : CBR untuk audit keuangan, disebut SCAN, CBR untuk mendeteksi kepailitan Bank dengan ANN.
5. Penjadwalan : CBR untuk meningkatkan kualitas untuk penjadwalan yang
disebut CABINS, CBR untuk perakitan mobil, CBR untuk mengelola penjadwalan pesawat terbang, disebut SMART, CBR untuk perencanaan
dan penjadwalan terdistribusi. 6.
Penemuan Rute : CBR untuk mendapatkan sebuah rute di negara Singapura, CBR untuk perencanaan rute, CBR untuk transportasi logistik.
7. Lingkungan : CBR untuk memprediksi tingkat pencemaran udara, disebut
AIRQUAP, dan CBR untuk penangan limbah.
23
2.3.8. Contoh Penerapan CBR Case Based Reasoning
Contoh penerapan proses CBR adalah dalam proses persetujuan pemberian pinjaman kepada seseorang oleh bank. Pihak bank harus memastikan untuk tidak
meminjamkan uang kepada orang yang tidak akan bisa mengembalikan. Keputusan harus dibuat hati-hati karena bank mengambil keuntungan dari bunga pembayaran
pinjaman. Salah satu cara untuk pemecahan masalah tersebut adalah dengan membandingkan permohonan pinjaman baru dengan permohonanpermohonan
pinjaman sebelumnya. Jika kondisi permohonan sama dengan permohonan sebelumnya yang berjalan baik, maka permohonan akan disetujui. Sebaliknya jika
permohonan serupa dengan permohonan sebelumnya yang gagal, maka permohonan akan ditolak. Proses yang dilakukan untuk kasus tersebut
kemungkinan adalah : 1.
Pihak bank mencari dalam permohonan sebelumnya dan menaksir kesamaan dengan pemohonan baru.
2. Pihak bank akan memberikan kesimpulan berdasar pinjaman sebelumnya
yang paling mirip dan dapat dibandingkan 3.
Pihak bank kemungkinan harus melakukan penyesuaian terhadap perubahan kondisi kasus lama dengan kondisi saat ini.
4. Jika permohonan disetujui, pihak bank akan memantau dan mencatat proses
pinjaman untuk kebutuhan mendatang. Proses dalam CBR dapat menggunakan berbagai teknik, diantaranya adalah
algoritma nearest neighbor. Nearest Neighbor menghitung tingkat kemiripan jarak suatu kasus terhadap kasus lain berdasarkan beberapa atribut yang
didefinisikan berdasar pembobotan tertentu dan kemudian tingkat kemiripan jarak
24
dari keseluruhan atribut akan dijumlahkan. Nearest Neighbor didefinsikan berdasar bersamaan sebagai berikut.
� � ���� , = ∑ �
�
,
�
�
� �
�=1
Keterangan : T : Kasus target baru
S : Kasus sumber lama pembanding n : Jumlah atribut dalam setiap kasus
i : Atribut individu dari 1 sampai n f : Fungsi kemiripan untuk atribut I dalam kasus T dan S
w : Bobot atribut i Pada contoh penerapan CBR ini dilakukan dengan perancangan flowchart pada
Gambar 2.3.
Gambar 2.3 Perancangan Flowchart CBR Luthfi, 2010
25
2.4 Android
Android adalah sebuah sistem operasi untuk perangkat mobile yang menyertakan middleware virtual machine dan sejumlah aplikasi utama. Android merupakan
modifikasi dari kernel Linux Andry, 2011.
Pada awalnya sistem operasi ini dikembangkan oleh sebuah perusahaan bernama Android, Inc. Dari sinilah awal mula nama Android muncul. Android Inc. Adalah
sebuah perusahaan start-up kecil yang berlokasi di Palo Alto, California, Amerika Serikat yang didirikan oleh Andy Rubin bersama Rich Miner, Nick Sears, dan Chris
White. Pada bulan Juli 2005, perusahaan tersebut diakuisisi oleh Google dan para pendirinya bergabung ke Google. Andy Rubin sendiri kemudian diangkat menjadi
Wakil Presiden divisi Mobile dari Google. Tujuan pembuatan sistem operasi ini adalah untuk menyediakan platform yang
terbuka, yang memudahkan orang mengakses Internet menggunakan telepon seluler. Android juga dirancang untuk memudahkan pengembang membuat aplikasi
dengan batasan yang minim sehingga kreativitas pengembang menjadi lebih berkembang Andry, 2011.
Sebagai Open Source dan bebas dalam memodifikasi, di dalam android tidak ada ketentuan yang tetap dalam konfigurasi Software dan Hardware. Fitur- fitur yang
didapat dalam Android antara lain Lee, 2011 : Storage - Menggunakan SQLite, database yang ringan, untuk sebuah
penyimpanan data.
26
Connectivity - Mendukung GSMEDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth termasuk A2DP dan AVRCP, WiFi, LTE, dan WiMax.
Messaging –Mendukung SMS dan MMS Web Browser – Berbasiskan open-source WebKit, bersama mesin
Chrome’s V8 JavaScript Media support – Termasuk mendukung untuk beberapa media berikut :
H.263, H.264 dalam bentuk 3GP or MP4, MPEG-4 SP, AMR, AMRWB dalam bentuk 3GP, AAC, HE-AAC dalam bentuk MP4 atau 3GP, MP3,
MIDI, Ogg Vorbis, WAV, JPEG, GIF, dan BMP. Hardware support – Sensor akselerasi, Kamera, Kompas Digital, Sensor
Kedekatan, GPS. Multi-touch –Mendukung multi-touch screens
Multi-tasking – Mendukung aplikasi multi-tasking Flash-support – Android 2.3 mendukung Flash 10.1
Tethering – Mendukung pembagian dari koneksi Internet sebagai wiredwireless hotspot
Play Store – katalog aplikasi yang dapat di-download dan diinstal pada telepon seluler secara online, tanpa menggunakan PC Personal Computer.
Lingkungan pengembangan yang kaya, termasuk emulator, peralatan debugging, dan plugin untuk Eclipse IDE.
27
2.4.1 Arsitektur Android
Gambar 2.4
Arsitektur Android Andry, 2011
Arsitektur Android dapat digambarkan seperti pada Gambar 2.4 dan secara garis besar Arsitektur Android dapat dijelaskan sebagai berikut H Safaat, 2012.
a. Application dan Widgets
Application dan Widgets ini adalah layer dimana kita berhubungan dengan aplikasi saja, dimana biasanya kita download aplikasi kemudian kita
lakukan instalasi dan jalankan aplikasi tersebut. Di layer terdapat aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, kontak,
dan lain-lain. Hampir semua aplikasi ditulis menggunakan bahasa pemrograman Java.
b. Application Frameworks
28
Android adalah “Open Development Platform” yaitu Android menawarkan kepada pengembang atau memberi kemampuan kepada pengembang untuk
membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi resource, menjalankan service
background, mengatur alarm, dan menambah status notifications, dan sebagainya. Pengembang memiliki akses penuh menuju API framework
seperti yang dilakukan oleh aplikasi kategori inti. Arsitektur aplikasi dirancang supaya kita dengan mudah dapat menggunakan kembali
komponen yang sudah digunakan reuse. Sehingga bisa kita simpulkan Application Frameworks ini adalah layer dimana para pembuat aplikasi
melakukan pengembanganpembuatan aplikasi yang akan dijalankan di sistem operasi Android, karena pada layer inilah aplikasi dapat dirancang
dan dibuat, seperti content providers yang berupa sms dan panggilan telepon.
Komponen-komponen yang termasuk di dalam Application Frameworks adalah sebagai berikut :
1. Views
2. Content Provider
3. Resource Manager
4. Notification Manager
5. Activity Manager
c. Libraries
Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses Libraries untuk menjalankan aplikasinya.
29
Berjalan di atas Kernel, layer ini meliputi berbagai library CC++ inti seperti Libc SSL, serta :
1. Libraries media untuk pemutaran media audio dan video
2. Libraries untuk manajemen tampilan
3. Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan
3D 4.
Libraries SQLite untuk dukungan database 5.
Libraries SSL dan WebKit terintegrasi dengan web browser dan security
6. Libraries LiveWebcore mencakup modern web browser dengan engine
embedded web view 7.
Libraries 3D yang mencakup implementasi OpenGL ES1.0 API’s. d.
Android Run Time Layer yang membuat aplikasi Android dapat dijalankan dimana dalam
prosesnya menggunakan Implementasi Linux. Dalvik Virtual Machine DVM merupakan mesin yang membentuk dasar kerangka aplikasi
Android. Di dalam Android Run Time dibagi menjadi dua bagian yaitu : 1.
Core Libraries: Aplikasi Android dibangun dalam bahasa Java, sementara Dalvik sebagai virtual mesinnya bukan Virtual Machine
Java, sehingga diperlukan sebuah Libraries yang berfungsi untuk menterjemahkan bahasa JavaC yang ditangani oleh Core Libraries.
2. Dalvik Virtual Machine: Virtual mesin berbasis register yang
dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, dimana
30
merupakan pengembangan yang mampu membuat Linux Kernel untuk melakukan threading dan manajemen tingkat rendah.
e. Linux Kernel
Linux Kernel adalah layer dimana inti dari sistem operasi Android itu berada. Berisi file-file sistem yang mengatur sistem processing, memory,
resource, drivers, dan sistem-sistem operasi Android lainnya. Linux Kernel yang digunakan Android adalah Linux Kernel release 2.6 Safaat H, 2012.
2.4.2 Android SDK
Android SDK adalah tools API Application Programming Interface yang diperlukan untuk mulai mengembangkan aplikasi pada platform android
menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci
yang di release oleh Google. Saat ini disediakan Android SDK Software Development Kit sebagai alat bantu dan API untuk mulai mengembangkan aplikasi
pada platform Android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi-netral, android member anda kesempatan untuk membuat aplikasi yang
kita butuhkan yang bukan merupakan aplikasi bawaan Handphone atau Smartphone Developers, 2014.
2.4.3 Android Studio
Android Studio adalah lingkungan pengembangan terpadu IDE resmi untuk pengembangan platform Android, hal itu disampaikan pada tanggal 16 Mei 2013
oleh Google, Android Studio sudah tersedia secara bebas dibawah lisensi Apache
31
2.0. Android Studio pada awalnya tahap preview versi 0.1 yang dipakai pada tanggal 1 Mei 2013 dan memasuki tahap Beta pada bulan Juni 2014 dan mulai stabil
dirilis pada Desember 2014 dengan v ersi 1.0, berdasarkan jetBrains ‘IDEA Intellij
Software, Android Studio dirancang khusus untuk pengembangan Android yang tersedia untuk Windows, Mac OS X, dan Linux sebagai pengganti Eclipse.
Android Studio adalah official IDE yang digunakan untuk pengembangan aplikasi Android berdasarkan IntelliJ IDEA. Dengan kemampuan di atas yang diharapkan
dari IntelliJ, Android Studio ini menawarkan: -
Flexible Gradle yang berbasis membangun sistem -
Membangun varian dan beberapa berkas turunan apk -
Kode template untuk membantu Anda membangun fitur aplikasi standar. -
Rich layout editor dengan dukungan untuk drag dan pengubahan tema penurunan
- Lint tools yang digunakan untuk menangkap kinerja, kegunaan,
kompatibilitas versi , dan masalah lainnya -
ProGuard dan aplikasi signing Capabilities. -
Built-in Support yang digunakan untuk Google Cloud Platform, sehingga memudahkan untuk mengintegrasikan Google Cloud Messaging dan App
Engine Developers, 2014.
2.4.4 Fundamental Aplikasi
Aplikasi Android ditulis dalam bahasa pemrograman Java, kode Java dikompilasi bersama dengan data file resource yang dibutuhkan oleh aplikasi dimana prosesnya
di-package oleh tools yang dinamakan “apt tools” ke dalam paket Android sehingga
32
menghasilkan file dengan ekstensi apk Android Package. File apk itulah yang sebenarnya kita sebut dengan aplikasi yang dapat diinstal di perangkat mobile
nantinya. Ada empat jenis komponen pada aplikasi Android yaitu Safaat H, 2012 :
1. Activites
Suatu activity akan menyajikan User Interface UI kepada pengguna, sehingga pengguna dapat melakukan interaksi. Sebuah aplikasi Android
bisa jadi hanya memiliki satu activity, tetapi umumnya aplikasi memiliki banyak activity tergantung pada tujuan aplikasi dan desain dari aplikasi
tersebut. Satu activity biasanya akan dipakai untuk menampilkan aplikasi atau yang bertindak sebagai user interface saat aplikasi diperlihatkan
kepada user. Untuk pindah dari satu activity ke activity yang lain kita dapat melakukan dengan satu even misalnya klik tombol, memilih opsi atau
menggunakan triggers tertentu. Secara hirarki sebuah windows activity dinyatakan
dengan method
Activity.setContentView. ContentView
adalah objek yang berada pada root hirarki. 2.
Service Service tidak memiliki visual user interface UI, tetapi service berjalan
secara background, sebagai contoh dalam memainkan musik, service mungkin memainkan musik atau mengambil data dari jaringan, tetapi setiap
service haruslah berada dalam kelas induknya. Misalnya media player sedang memutar lagu dari list yang ada, aplikasi ini akan memiliki dua atau
lebih activity yang memungkinkan user untuk memilih lagu atau menulis SMS sambil player sedang jalan. Untuk menjaga musik tetap dijalankan,
33
activity player dapat menjalankan service untuk membuat aplikasi tetap berjalan. Service dijalankan pada thread utama daari proses aplikasi.
3. Broadcast Recevier
Broadcast Recevier berfungsi menerima dan bereaksi untuk menyampaikan notifikasi. Broadcast Recevier tidak memiliki user interface UI, tetapi
memiliki sebuah activity untuk merespon informasi yang mereka terima, atau mungin menggunakan Notification Manager untuk memberitahu
kepada pengguna, seperti lampu latar atau vibrating getaran perangkat, dan lain sebagainya.
4. Content Provider
Content provider membuat kumpulan aplikasi data secara spesifik sehingga bisa digunakan oleh aplikasi lain. Data disimpan dalam file system seperti
database SQLite. Content Provider menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu activity. Misalnya ketika kita
menggunakan aplikasi yang membutuhkan peta atau aplikasi yang membutuhkan cara untuk mengakses data kontak untuk navigasi, maka
disinilah fungsi content provider.
2.5 Web Service
Web service adalah layanan yang diidentifikasi dengan URI Uniform Resource Identifier yang mengekspos fiturnya melalui internet menggunakan protokol dan
bahasa standar internet serta dapat diimplementasikan menggunakan standar internet seperti XML eXtensible Markup Language. Sampai dengan saat ini
teknologi web service terus berkembang. Salah satu teknologi yang populer saat ini
34
adalah REST Representational State Transfer atau terkadang disebut RESTful. Beberapa contoh RESTful web service adalah
Amazon’s Simple Storage Service S3, Atom Publishing Protocol, dan Google Maps. Pada prinsipnya request ke
suatu RESTful web service sebenarnya adalah suatu HTTP Request. Ada beberapa standar yang digunakan dalam web service. Beberapa di antaranya
adalah SOAP Simple Object Access Protocol, BPEL Business Process Execution Language, UDDI Universal Description, Discovery, and Integration
Infrastructure, dan WSDL Web Service Description Language. Data yang didapatkan dari web service dikirimkan dalam format standar misalnya XML atau
JSON Javascript Object Notation Bougettaya dan Sheng, 2014.
2.6 Representational State Transfer REST
Representational State Transfer yang disingkat REST merupakan salah satu jenis arsitektur untuk penerapan web service yang menerapkan konsep perpindahan antar
state. State disini dapat digambarkan seperti peramban meminta suatu halaman situs, di sisi server akan mengirimkan state halaman situs yang sekarang ke
peramban. Navigasi melalui URL yang disediakan sama halnya dengan mengganti state dari halaman situs. Sama seperti REST bekerja, dengan bernavigasi melalui
link HTTP untuk melakukan aktivitas tertentu. Seakan-akan terjadi perpindahan state antara satu dengan yang lain. Perintah HTTP yang bisa digunakan dalam
REST adalah fungsi GET, POST, PUT atau DELETE. Dalam pengaplikasiannya, REST lebih banyak digunakan pada web service yang berorientasi data sumber
35
daya. Sebutan untuk web service yang menerapkan arsitektur REST adalah RESTful web service Richardson dan Ruby, 2007.
2.7 JaveScript Object Notation JSON
JSON JavaScript Object Notation adalah format pertukaran data yang ringan, mudah dibaca, dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat oleh
komputer. Format ini dibuat berdasarkan bagian dari bahasa pemrograman JavaScript. JSON merupakan format teks yang tidak bergantung pada bahasa
pemrograman apapun karena menggunakan gaya bahasa yang umum seperti C, C++, C, Java, JavaScript, Perl, dan Python. Oleh karena sifat-sifat tersebut,
menjadikan JSON ideal sebagai bahasa pertukaran data. JSON terbuat dari dua struktur yaitu kumpulan pasangan nama atau nilai dan daftar nilai terurutkan an
ordered list of values. Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik array, vektor vector, daftar list, atau urutan sequence ECMA International,
2013.
2.8 Hypertext Prepocessore PHP
PHP merupakan akronim dari PHP yaitu Hypertext Preprocessor. PHP merupakan bahasa pemrograman berbasis web yang sudah sering digunakan. Terdapat
perbedaan antara web yang menggunakan PHP dan web yang hanya sekedar menggunakan HTML saja. Hal tersebut dapat dilihat pada proses saat web server
memenuhi permintaan client untuk menampilkan halaman web.