BAB 2 LANDASAN TEORI
2.1
Teori Umum 2.1.1 Software Engineering Pressman (2010:4) software (perangkat lunak) dapat didefinisikan sebagai berikut : 1. Perintah (program komputer) yang apabila dieksekusi akan memberikan features, fungsi, dan tindakan sesuai dengan yang diinginkan. 2. Struktur
data
yang
memungkinkan
program
untuk
dapat
memanipulasi informasi dengan cukup. 3. Dokumen tercetak dan yang tidak tercetak yang memberikan informasi tentang cara kerja dan kegunaan dari program. Untuk lebih mengetahui pengertian dari perangkat lunak, sangat penting untuk memahami karakteristik dari perangkat lunak itu sendiri. Karena karakteristik dari perangkat lunak sangat berbeda dengan karakteristik dari hardware (perangkat keras).Karakteristik dari perangkat lunak adalah sebagai berikut. 1. Perangkat lunak dikembangkan atau direkayasa, tidak diproduksi dalam bentuk konvensional. 2. Perangkat lunak tidak usang dan harus dapat dipakai kembali. 3. Perangkat lunak akan terus dibangun, dibuat dan dipakai. Pressman (2010:13) Software Engineeringadalah pembentukan dan penggunaan ilmu-ilmu teknik yang bertujuan untuk mendapatkan perangkat lunak yang dapat diandalkan dan dapat bekerja secara efisien pada sebuah mesin.Tetapi IEEE [IEE93a] telah mengembangkan definisi yang lebih jelas tentang Software Engineering yaitu: Software Enginering adalah aplikasi dari ilmu teknik pada perangkat lunak yang sistematis dan
7
8 disiplin, yang memiliki pendekatan tentang cara kerja dan pemeliharaan perangkat lunak. Menurut kami, perangkat lunak merupakan kumpulan instruksi yang akan dibaca oleh perangkat keras untuk melakukan pekerjaan dan fungsinya. Software Engineering adalah penerapan ilmu-ilmu teknik dalam membangun dan mengembangkan perangkat lunak. 2.1.1.1 Waterfall Model Pressman (2010:39) mendefinisikan model waterfall adalah model pendekatanclassic life cycle yang bersifat sistematis, dan berurutan dalam pembuatan software. Model waterfall ini dimulai dengan analisa kebutuhan user, dan dilanjutkan
dengan
tahap
perencanaan,
perancangan,
pembangunan dan implementasi.
Gambar 2.1 Fase Model Waterfall 2.1.2
Interaksi Manusia dan Komputer Dix, Finlay, Abowd, and Beale. (2002:3) mendefinisikan, ketika kita membahas tentang interaksi manusia dan komputer, kita tidak membahas hanya tentang hubungan seorang user dengan desktop computer, melainkan bisa sebuah kelompok user yang bekerja bersama. Sedangkan pengertian computer itu sendiri adalah teknologi yang tidak hanya sebatas sebuah desktop computer melainkan dapat sebuah system komputer yang berskala besar. Dan interaction adalah
9 hubungan antara user dengan computer baik secara langsung atau tidak langsung. Sehingga kami menarik kesimpulan, bahwa interaksi manusia dan komputer adalah hubungan antara seorang atau lebih user dengan system komputer berskala kecil hingga besar, secara langsung atau tidak langsung. 2.1.2.1 Kategori Pengguna Shneiderman dan Plaisant (2010:81) mendefinisikan bahwa terdapat tiga kategori pengguna sebuah aplikasi yang perlu dipertimbangkandalam merancanginterface, yaitu: 1. Novice or first-time users Pengguna pemula atau pengguna pertama kali, sehingga interface sebaiknya dirancang sesederhana mungkin sehingga mudah digunakan. 2. Knowledgable Intermittent Users Pengguna yang sudah memiliki pengetahuan mengenai sistem dan interface tetapi masih diperlukan perancangan interface yang konsisten. 3. Expert Frequent Users Pengguna yang sudah mengerti sistem dan interface. Sehinnga untuk mempercepat kerja pengguna seperti ini dapat dibuatkan fitur macro, shortcut, dan commandline. Aplikasi konsultasi asmara yang akan dibuat ditujukan kepada “Knowledgable Intermittent Users” karena biasanya para pengguna smartphonemerupakan pengguna yang sudah terbiasa dengan interface dari aplikasi yang ada pada smartphone.
10 2.1.2.2
Eight Golden Rules Menurut Shneiderman dan Plaisant (2010:88) terdapat delapan aturan emas yang harus dipertimbangkan dalam perancangan interface, yaitu: 1. Strive for consistency Konsisten dalam berbagai aspek yang terdapat dalam aplikasi, seperti warna yang digunakan, jenis font yang dipakai, dan tampilan menu. 2. Cater to universal usability Perancangan dilakukan dengan mengetahui perbedaan dari pengguna sehingga dapat dipakai oleh semua kategori pengguna baik yang sudah ahli maupun pemula. 3. Offer informative feedback Setiap tindakan yang dilakukan oleh pengguna harus memiliki umpan balik sehingga pengguna mengetahui apa yang terjadi akibat tindakannya. 4. Design dialogs to yield closure Memberikan gambaran hasil yang akan didapat oleh pengguna jika melakukan suatu tindakan sehingga pengguna tidak salah dalam memilih tindakan dan melanjutkan ke tahap selanjutnya. 5. Prevent Errors Sistem seharusnya dirancang agar pengguna tidak melakukan kesalahan serius. Jika terjadi kesalahan pun sistem dapat memberikan peringatan yang sederhana untuk pemulihan kesalahan yang terjadi. 6. Permit easy reversal of actions Sistem dirancang agar dapat kembali ke tindakan sebelumnya sehingga pengguna tidak perlu khawatir jika terjadi kesalahan. 7. Support internal locus of control Pengguna memiliki kontrol penuh atas sistem sehingga sistem akan merespon apapun yang dilakukan oleh pengguna, bukan sebaliknya.
11 8. Reduce short-term memory load Dengan keterbatasan ingatan yang dimiliki oleh manusia, sistem harus dirancang sesederhana mungkin dengan tujuan pengguna tidak memerlukan waktu yang lama untuk beradaptasi menggunakan sistem. 2.1.3 Database Connoly dan Begg(2013:65) mendifinisikan database adalah koleksi data logikal yang memiliki relasi, yang dibagikan dan di desain berdasarkan keinginan user atau suatu organisasi. Data tidak dihilangkan hubungannya untuk menghindari data yang berlebih atau memiliki kesamaan, tetapi seluruh data yang adaakan diintegrasikan untuk menghindari data berlebih atau data yang memiliki kesaman. Menurut kami database adalah tempat untuk menyimpan data dalam jumlah besar yang setiap datanya saling terintegrasi sehingga meminimalisir berlebihnya data atau kesamaan data. Dan database dapat diakses secara bersamaan oleh banyak user. 2.1.3.1 Structured Query Language(SQL) Connoly dan Begg (2013:184) mendefinisikan SQL adalah contoh dari transform-oriented language atau bahasa pemrograman yang didesain menggunakan relasi untuk merubah input hingga menjadi output yang diinginkan. SQL memiliki dua komponen utama, yaitu: 1.
Data Definition Language (DDL)
DLL digunakan untuk mendefinisikan struktur dari database dan mengkontrol akses pada data. Perintah dari DDL adalah: CREATE, DROP, ALTER. 2.
Data Manipulation Language (DML)
DML digunakan untuk mendapatkan data dan merubahnya. Perintah dari DML adalah: SELECT, INSERT, UPDATE, DELETE.
12 2.1.3.2
Database Management System (DBMS) Connoly dan Begg(2013:66) mendefinisikan DBMS adalah sebuah software yang mengizinkan user untuk mendefinisikan, membuat, merawat, dan mengintrol akses data pada database. Fasilitas yang biasa ada pada DBMS adalah sebagai berikut: 1.
DBMS mengizinkan user untuk membuat database, biasanya menggunakan Data Definition Language (DDL). DDL mengizinkan user untuk menspesifikasi tipe data dan struktur serta constraint pada data yang akan disimpan ke dalam database.
2.
DBMS mengizinkan user untuk insert, update, delete dan
mengambil
data
dari
database,
biasanya
menggunakan Data Manipulation Language (DML). 3.
DBMS menyediakan akses kontrol pada database seperti security system, integrity system, concurrency control
system,
recovery
control
system,
user-
accessible catalog. 2.1.3.3
Entity Relationship Diagram (ERD) Connoly dan Begg(2013:63) mendefinisikan ERD adalah
metode
pendekatan
yang
digunakan
untuk
menganalisa kebutuhan informasi dari suatu organisasi, biasanya untuk mengidentifikasi entitas, atribut, dan hubungan. Entitas dapat juga disebut sebagai objek yang berbeda (orang, tempat, benda, konsep, atau peristiwa) dalam organisasi yang direpresentasikan pada database. Atribut adalah sebuah properti yang menjelaskan beberapa aspek dari objek. Sedangkan hubungan adalah asosiasi antara entitas yang satu dengan entitas yang lainnya.
13 2.2
Teori Khusus 2.2.1 Android Murya (2013:1) Android adalah sistem operasi berbasis linux yang digunakan untuk mobile phone seperti smartphone dan pc tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri. Android kini telah menjadi sistem operasi terpopuler di dunia. Perkembangan Android tidak lepas dari peran Google. Android pada mulanya didirikan oleh Andy Rubin, Rich Miner, Nick Sears dan Chris White pada tahun 2003. 2.2.1.1
Versi Android Murya (2013:8) Android memiliki banyak versi semenjak dirilis pertama kali. Berikut ini merupakan versi– versi yang dimiliki Android : 1. Android versi 1.1 Pada tanggal 9 Maret 2009, Google merilis Android versi 1.1 yang dilengkapi dengan pembaharuan estetis pada aplikasi, jam alarm, voice search, pengiriman pesan dengan Gmail, dan pemberitahuan email. 2. Android versi 1.5 (Cupcake) Pada pertengahan bulan Mei 2009 Android versi 1.5 dirilis. Permbaharuan yang dilakukan adalah sebagai berikut: a. Widget dan folder baru yang dapat ditambahkan ke layar utama. b. Merekam dan menonton video dengan modus kamera. c. Menggunggah video langsung ke Youtube melalaui handset. d. Keyboard pada layar yang dapat disesuaikan dengan sistem. e. Dukungan
Bluetooth
Distribution Profile)
A2DP
(Advanced
Audio
14 3. Android versi 1.6 (Donut) Pada tanggal 15 September 2009 Android versi 1.6 dirilis. Pembaharuan yang dilakukan adalah sebagai berikut: a. Improvisasi pada Android Market. b. Kamera, camcorder, dan antarmuka galeri yang terintegrasi. c. Multi select pada galeri. d. Dukungan resolusi layar Wide Video Graphics Array. e. CDMA/EVDO, VPN. f. Gesture dan Text-to-Speech engine. g. Teknologi text to change speech. 4. Android versi 2.0/2.1 (Eclair) Pada tanggal 26 Oktober 2009 Android versi 2.0 dirilis. Pembaharuan yang dilakukan adalah sebagai berikut: a. Optimalisasi kecepatan perangkat keras. b. Dukungan HTML 5. c. Peningkatan Google Maps 3.1.2 d. Microsoft Exchange Support. e. Live Wallpaper. f. Dukungan flash untuk kamera 3,2MP dan digital zoom. g. Bluetooth 2.1. 5. Android versi 2.2 (Froyo) Pada tanggal 20 Mei 2010 Android versi 2.2 dirilis. Pembaharuan yang dilakukan adalah sebagai berikut: a. Optimasi sistem operasi Android, memori, dan performa. b. Memungkinkan
shortcut
untuk
aplikasi
diinginkan. c. Adanya fasilitas tethering. d. Dukungan password numeric dan alpha numeric.
yang
15 6. Android versi 2.3 (Gingerbread) Pada tanggal 6 Desember 2010 Android versi 2.3 dirilis. Pembaharuan yang dilakukan adalah sebagai berikut: a. Perubahan user interface. b. Mendukung resolusi yang lebih besar. c. Peningkatan fungsi copy-paste. d. Terdapat Gyroscope dan sensor. e. Mendukung mixable audio effects. f. Tersedia download manager. 7. Android versi 3.0/3.1/3.2 (Honeycomb) Android versi ini lebih ditujukan untuk pc tablet yang memiliki
processor
dan
layar
yang
lebih
besar.
Pembaharuan yang dilakukan adalah sebagai berikut: a. User interface khusus untuk pc tablet. b. Mendukung multi prosesor. 8. Android versi 4.0 (Ice Cream Sandwich) Pada tanggal 19 Oktober 2011 Android versi 4.1 dirilis. Pembaharuan yang dilakukan adalah sebagai berikut: a. Lockscreen dengan face recognition. b. Berbagi informasi dengan Near Field Communication (NFC). c. Pencarian email secara offline. 9. Android versi 4.1/4.2/4.3 (Jelly Bean) Android versi 4.1 merupakan versi Android yang paling cepat dan halus. Pembaharuan yang dilakukan adalah sebagai berikut: a. Peningkatan kebebasan pengguna dalam mengatur home screen. b. Peningkatan kualitas text-to-speech dan voice typing. c. Peningkatan kualitas pencarian pada Google.
16 d. Dukungan Google Now. 10. Android versi 4.4 (Kitkat) Android versi 4.4 merupakan versi Android yang paling baru. Pembaharuan yang dilakukan adalah sebagai berikut: a. Immersive mode. b. Akses kontak langsung dari aplikasi telepon. c. Desain baru. d. Tampilan album art pada lockscreen. e. Multitasking lebih halus, baterai lebih hemat. f. Emoji dan wireless printing. g. Integrasi lebih mendalam dengan Google Drive 2.2.1.2
Komponen Aplikasi Huda (2013:4) Terdapat empat jenis komponen pada aplikasi Android yaitu: 1. Activities Activity merupakan satu halaman antarmuka yang bisa digunakan oleh user untuk berinteraksi dengan aplikasi. Biasanya dalam satu activity terdapat Button, Spinner, ListView, EdiTtext dan sebagainya. Dalam satu aplikasi dapat terdiri atas lebih dari satu activity. 2. Service Merupakan komponen aplikasi yang bisa berjalan secara background, misalnya digunakan untuk memuat data dari server database. Selain itu, aplikasi music player atau radio juga memanfaatkan services agar aplikasinya dapat tetap berjalan meskipun user melakukan aktivitas dengan aplikasi lain. 3. Content Provider Komponen ini digunakan untuk mengelola data sebuah aplikasi, misalnya kontak telepon. Siapa pun bisa membuat aplikasi Android dan bisa mengakses kontak yang tersimpan pada sistem Android. Agar bisa
17 mengakses kontak, maka kita membutuhkan komponen content provider. 4. Broadcast Receiver Fungsi komponen ini yaitu sebagai penerima pesan. Misalnya pada kasus baterai lemah. Sistem Android dirancang menyampaikan “Alert” secara otomatis jika baterai habis. Apabila aplikasi yang kita buat dilengkapi dengan komponen broadcast receiver, maka kita bisa mengambil tindakan seperti menyimpan kemudian menutup aplikasi atau tindakan lain. 2.2.2 Android Development Tools (ADT) ADT adalah sebuah plugin yang dirancang untuk menyediakan serangkaian tools yang terintegrasi dengan Eclipse IDE. ADT menyediakan banyak fitur yang memudahkan pengembangan aplikasi Android secara cepat. Meier (2011:43) Tools yang dapat diakses melalu ADT adalah: 1.
A ndroid SDK dan Virtual Device Berfungsi untuk membuat dan mengatur Android Virtual Device (AVD) dan paket-paket yang ada pada Android Software Development Kit (SDK).
2.
T he Android Emulator Implementasi dari sebuah mesin android yang dapat di akses pada komputer tempat membuat aplikasi android.
3.
D alvik Debug Monitoring Services (DDMS) DDMS digunakan digunakan untuk mengkontrol dan mengawasi Dalvik Virtual Machines.
4.
A ndroid Asset Packaging Tools (AAPT) Membuat dan menyebarkan paket file android.
5.
A ndroid Debug Bridge (ADB)
18 Sebuah aplikasi client-server yang menyediakan link untuk menjalankan emulator. 2.2.3 Android Software Development Kit (SDK) Safaat (2012:5) Android SDK adalah tools API, sample code, dan dokumentasi yang diperlukan untuk memulai mengembangkan aplikasi pada platformAndroid. Sebagai platform aplikasi-netral, Android memberi kesempatan untuk membuat aplikasi yang dibutuhkan dan bukan merupakan aplikasi bawaan smartphone. Beberapa fitur penting yang terdapat pada Android adalah: 1. Application Framework untuk pergantian komponen dan reusable. 2. DVM dioptimalkan untuk perangkat mobile. 3. Integrated browser berdasarkan engine open source WebKit. 4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D dan 3D berdasarkan spesifikasi OpenGL 1.0. 5. SQLite untuk menyimpan data. 6. Media Support yang mendukung audio, video, dan gambar (MPEG4, H.254, MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony. 7. Bluetooth, EDGE, 3G, dan WiFi. 8. Kamera, GPS, kompas, dan accelerometer. 9. Integrated development environment (IDE) yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin. 2.2.4 Unified Modeling Language (UML) Bennet, Skelton, dan Lunn (2008:9) mendefinisikan UML adalah bahasa visual yang dapat digunakan dalam membangun sistem aplikasi. Bahasanya spesifik, namun bahasa yang dimaksud disini bukanlah seperti bahasa manusia ataupun bahasa pemrograman. Diagram pada UML yang digunakan dalam perancangan aplikasi ini adalah sebagai berikut: 2.2.4.1
Use Case Bennet, Skelton, dan Lunn (2008:21) mendefinisikan use case adalah salah satu diagram dari UML yang digunakan untuk menjelaskan kegiatan atau sifat suatu
19 entitas seperti sistem atau sub-sistem atau disebut sebagai subject yang memiliki hubungan dengan user atau disebut sebagai actor. Terdapat 3 hal penting yang harus diketahui dalam membuat use case, yaitu:
1.
Use Case Use Case adalah kegiatan yang dilakukan oleh sistem didefinisikan dengan gambar yang berisikan tulisan yang menjelaskan kegiatan apa yang akan dilakukan.
2.
Actor Actor adalah user atau bisa juga admin, yang melakukan kegiatan pada Use Case yang telah didefinisikan.
3.
Relationship Relationship hubungan antara Use Case dengan Actor. 1. Include Hubungan antar Use Case yang menunjukan bahwa Use Case asal secara eksplisit memasukkan perilaku dari Use Case yang ditunjuknya. Use Case yang memiliki hubungan include tidak dapat berdiri sendiri. 2. Extend Hubungan antar Use Case yang menunjukan bahwa Use Case yang ditunjuk merupakan perluasan dari Use Case asal. Use Case asalnya dapat berdiri sendiri.
20
Login
Forget Password <
>
User
Register
Gambar 2.2 Contoh Use Case 2.2.4.2
Class Diagram Bennet, Skelton, dan Lunn (2008:42) mendefinisikan Class diagram adalah salah satu diagram dari UML yang digunakan untuk menggambarkan struktur objek yang disebut class yang menyusun suatu sistemdan juga menjelaskan hubungan antara class tersebut. Terdapat 3 hal penting yang harus diketahui dalam mebuat class diagram, yaitu: 1.
Classes Class digambarkan dengan bentuk persegi panjang, dengan nama class diletakkan pada tengah persegi panjang. Penulisan nama class harus diawali huruf kapital pada setiap kata, dan nama class tidak boleh ada spasi.
2.
Attributes dan Operations Attribute
adalah
komponen
pada
classs
yang
menunjukan isi data apa saja yang ada pada class tersebut, sedangkan Operation adalah fungsi atau method yang ada pada class. 3.
Associations Associations adalah hubungan antara class yang satu dengan class yang lainnya.
21
User -username -password +login() +buy()
Session -username +sessionManager
Product -productid -productname +show()
Gambar 2.3 Contoh Class Diagram
2.2.4.3 Activity Diagram Bennet, Skelton, dan Lunn (2008:234) mendefinisikan Activity Diagram adalah salah satu diagram dari UML yang digunakan untuk menjelaskan alur kerja dari sebuah sistem.Sebagai alat analisis Activity Diagram digunakan untuk mendeskripsikan alur bisnis dalam berbagai macam level, Activity Diagram juga dapat digunakan untuk mendeskripsikan alur yang kompleks antar Use Case. Pada tingkat desain, Activity Diagram dapat digunakan untuk mendeskripsikan detil dari alur antar operasi. Terdapat beberapa hal penting yang harus diketahui dalam membuat activity diagram, yaitu: 1.
Activity Activity adalah kegiatan yang akan dilakukan oleh Actor atau bisa juga oleh sistem. Activity digambarkan dengan bentuk persegi panjang.
2.
Start State Start State menandakan dimulainya sebuah Activity Diagram. Hanya ada satu buah Start State ada satu Activity Diagram, bentuk dari Start State adalah lingkaran dengan warna hitam yang solid.
22 3.
End State End State menandakan berakhirnya sebuah Activity. Bida terdapat lebih dari satu End State pada Activity Diagram, bentuk dari End State adalah seperti simbol bull’s eye.
4.
State Transition State Transition adalah sebagai penunjuk kemana Activity selanjutnya setelah Activity sebelumnya selesai dijalankan. Bentuk dari State Transition adalah garis dengan panah di salah satu ujungnya.
5.
Decision Decision adalah sebuah titik dimana Activity dapat bercabang sesuai dengan kondisi yang ada. Bentuk Decision adalah dengan gambar diamond. Swimlane Swimlane berfungsi untuk menentukan objek mana yang bertanggung jawab terhadap suatu Activity. Logout Activity Diagram User
Menekan Tombol Log Out
Sistem
Menghentikan Session user
Phase
6.
Gambar 2.4 Contoh Activity Diagram
23 2.2.4.4
Sequence Diagram Bennet,
Skelton,
dan
Lunn
(2008:156)
mendefinisikan Sequence Diagram adalah salah satu diagram
dari
UML
yang
digunakan
untuk
merepresentasikan hubungan antara Objectdengan sistem, tetapi
tidak
seluruhnya.
Sequence
Diagram
hanya
menampilkan lifelines yang merepresentasikan Object atau sistem yang berpartisipasi dalam sebuah interaksi. Terdapat beberapa hal penting yang harus diketahui dalam membuat sequence diagram, yaitu: 1.
Actor Actor adalah perwakilan dari orang luar, proses atau hal yang berinteraksi dengan sistem, sub-sistem, class.
2. Object Object adalah komponen yang digunakan sebagai objek dalam membuat Sequence Diagram. 3. Stimulus Stimulus adalah penunjuk hubungan antara dua Object, berupa pengiriman pesan. 4. Selfstimulus Selfstimulus memilki fungsi yang sama seperti Stimulus tetapi pengiriman pesan dilakukan pada Object itu sendiri. 5. Lifelines Lifelinesadalah representasi partisipasi dari Object yang berinteraksi pada Sequence Diagram. 6. Frame Frame adalah tempat untuk menggambar Sequence Diagram. Fitur Frame baru ada pada UML 2.0. 7. Combined Fragments Combined Fragments digunakan pada saat Sequence Diagram akan melakukan suatu perulangan atau looping. 8. Message dan Focus Control
24 Message dan Focus Control adalah pesan yang diberikan dari satu lifelines ke lifelines lainnya. 9. Interaction Occurrences 10. Interaction
Occurrences
adalah
fungsi
untuk
menyembunyikan detail dari Sequence Diagram. Fitur Interaction Occurrences baru ada pada UML 2.0.
<> doLogout
User
onClick(Logout) destroy()
Gambar 2.5 Contoh Sequence Diagram
2.2.5 Eclipse Meier (2011:19) mendefinisikan Eclipse adalah Integrated Development Environment (IDE) yang bersifat open source, biasanya terkenal untuk membuat aplikasi dengan bahasa pemrograman Java. 2.2.6 Java Liang (2013:39) Java adalah bahasa pemrograman berbasis objek untuk membuat software yang dijalankan pada mobile device, desktop computer, desktop. Awalnya java digunakan pada chip barang elektronik, namun semakin kedepannya java digunakan untuk membangun web aplikasi. Java bersifat sederhana, berorientasi objek, terdistribusi, interpreted, kuat, aman, netral, mudah diadaptasi, high performance, multithreaded, dinamik. Contoh Java: public class welcome { public static void main(String[] args) {
25 System.out.println(“Hello World!!”); } }
2.2.7 JavaScript Object Notation (JSON) JavaScript Object Notation (JSON) merupakan light weight data-interchange yang berbasis JavaScript Programming Language. JSON merupakan format untuk pertukaran data seperti halnya XML. Formatnya berbasis teks dan terbaca-manusia serta digunakan untuk merepresentasikan struktur data yang sederhana. Format JSON sering digunakan untuk mentransmisikan data terstruktur melalui suatu koneksi jaringan pada suatu proses yang disebut serialisasi. Aplikasi utamanya adalah pada pemrogramanaplikasi web AJAX dengan berperan
sebagai
alternatif
terhadap
penggunaan
tradisional
format XML. Walaupun JSON didasarkan pada subset bahasa pemrograman JavaScript dan umumnya digunakan dengan bahasa tersebut, JSON dianggap sebagai format data yang tak tergantung pada suatu bahasa. Contoh JSON : ({ "username" : "andrie", "namadepan" : "Andrie", "namabelakang" : "Utama" }); 2.2.8 XML McLaughlin (2001:2) mendefinisikan Extensible Markup Language (XML) adalah turunan dari SGML, XML adalah sebuah bahasa pemrograman yang digunakan untuk mendefinisikan bahasa lain, XML lebih sederhana dan lebih jelas daripada SGML. XMLadalah bahasaMarkup. Markup yaitu bahasa yang berisikan kode-kode berupa tagline tertentu dengan aturan tertentu untuk
26 memformat dokumen teks dengan tag sendiri agar lebih mudah dimengerti. ContohXML pada tampilan android:
2.2.9 PHP PHP merupakan singkatan dari “Hypertext Preprocessor”, yang merupakan sebuah bahasa scripting tingkat tinggi yang dipasang pada dokumen HTML. PHP pertama kali dibuat oleh Rasmus Lerdroft, seorang programmer C. Welling dan Thomson (2001:2) mendefinisikan PHP adalah bahasa pemrograman yang bersifat server-side yang di desain untuk membuat website. Kita bisa memasukkan kode PHP pada kode HTML yang akan dieksekusi setiap halaman HTML itu dijalankan. ContohPHP: 2.2.10
Hypertext Markup Language (HTML) Lemay (2001:58) mendefinisikan HTML adalah bahasa pemrograan website yang berbasis Standard Generalized Markup Language (SGML). Untuk membuat halaman HTML, kita tdak perlu mengetahui seluruh hal tentang SGML, cukup mengetahui bahwa fitur utama dari SGML adalah mendeskripsikan struktur dari konten secara umum. ContohHTML: My Name is Fikri
27 2.2.11
Matchmakimg Matchmaking adalah teori yang dipakai pada saat proses fitur matchmaking dijalankan. Hasil dari matchmaking akan dipilah kedalam 4 (empat) buah grup dan user hanya akan memiliki 1 (satu) buah grup sebagai hasilnya. Grup tersebut terdiri dari Explorer, Builder, Director, Negotiator. Untuk mendapatkan hasil dari salah satu grup tersebut user harus mengisi semacam kuisioner yang merupakan gabungan dari pertanyaan dari setiap grup. Masingmasing grup memiliki 14 buah pertanyaan, yang nantinnya akan dijumlahkan hasilnya apabila user telah mengisi seluruh kuisioner. Setelah perhitungan dilakukan maka hasil perhitungan dari masingmasing grup akan dibandingkan dan hasil dari matchmaking diambil dari grup yang memiliki hasil perhitungan paling besar.
2.2.12
Face Detection Face Detection adalah teori yang dipakai pada saat proses fitur facereading dijalankan. Pada proses fitur facereading user diminta untuk memberikan foto wajahnya yang nanti akan diproses oleh sistem untuk mendapatkan hasilnya. Face Detection digukan untuk memvalidasikan bahwa foto wajah yang diambil hanya boleh 1 (satu). Cara kerja dari face detection tersebut adalah, pertama disimpan sebuah pattern wajah manusia dalam bentuk matriks pada library kemudian pada saat user mengaktifkan kamera maka kamera tersebut akan memberikan respon apabila ditemukan 1 (satu) buah pattern wajah manusia, dan setelah itu user dapat mengambil foto wajahnya. Apabila tidak ditemukan pattern wajah manusia atau ditemukan lebih dari 1 (satu) buah pattern wajah manusia, maka user tidak dapat mengambil foto wajahnya.
2.2.13
E-commerce Laudon (2005) mendefinisikan E-Commerce adalah suatu proses membeli dan menjual produk-produk secara elektronik oleh konsumen dan dari perusahaan ke perusahaan dengan computer sebagai perantara transaksi bisnis.
28 2.2.14
Konsultasi Asmara Menurut Kamus Besar Bahasa Indosia konsultasi adalah pertukaran pikiran untuk mendapatkan sebuah kesimpulan yang biasa berbentuk sebuah nasihat. Merut Kamus Besar Bahasa Indosia asmara adalah perasaan senang kepada lawan jenis atau bisa juga disebut cinta. Konsultasi asmara adalah pertukan pikiran dengan tujuan mendapatkan nasihat mengenai hal cinta.