2. LANDASAN TEORI
2.1 Android Studio
Android Studio adalah sebuah IDE untuk Android Development yang diperkenalkan google pada acara Google I/O 2013. Android Studio merupakan pengembangan dari Eclipse IDE, dan dibuat berdasarkan IDE Java populer, yaitu IntelliJ IDEA. Android Studio merupakan IDE resmi untuk pengembangan aplikasi Android (Jadibaru. 2015).
Sebagai pengembangan dari Eclipse, Android Studio mempunyai banyak fitur-fitur baru dibandingkan dengan Eclipse IDE. Berbeda dengan Eclipse yang menggunakan Ant, Android Studio menggunakan Gradle sebagai build environment. Fitur-fitur lainnya adalah sebagai berikut :
Menggunakan Gradle-based build system yang fleksibel.
Bisa membangun multiple APK.
Template support untuk Google Services dan berbagai macam tipe perangkat.
Layout editor yang lebih bagus.
Built-in support untuk Google Cloud Platform, sehingga mudah untuk integrasi dengan Google Cloud Messaging dan App Engine.
Import library langsung dari Maven repository.
2.2 Android SDK
Android SDK (Software Development Kit) adalah satu set alat pengembangan yang digunakan untuk mengembangkan aplikasi untuk platform Android. Android SDK meliputi berikut ini:
diperlukan perpustakaan
debugger
sebuah emulator
dokumentasi yang relevan untuk antarmuka program aplikasi Android (API)
kode sumber sampel
Tutorial untuk OS Android
Setiap kali Google merilis versi baru dari Android, sebuah SDK yang sesuai
juga dirilis. Untuk dapat menulis program dengan fitur terbaru, pengembang harus
men-download dan menginstal SDK versi masing-masing untuk Smartphone tertentu.
Pengembangan Platform yang kompatibel dengan SDK termasuk sistem operasi seperti Windows (XP atau yang lebih baru), Linux (distribusi Linux terbaru) dan Mac OS X (10.4.9 atau yang lebih baru). Komponen Android SDK dapat didownload secara terpisah. add-ons pihak ketiga juga tersedia untuk di- download.
Meskipun SDK dapat digunakan untuk membuat program Android pada command prompt, metode yang paling umum adalah dengan menggunakan lingkungan pengembangan yang terintegrasi (IDE). IDE yang disarankan adalah Eclipse dengan plugin Android Development Tools (ADT). Namun, IDE lain, seperti NetBeans atau IntelliJ, juga bisa digunakan. Sebagian besar IDE ini menyediakan antarmuka grafis yang memungkinkan pengembang untuk melakukan tugas-tugas pembangunan lebih cepat. Karena aplikasi Android ditulis dalam kode Java, pengguna harus memiliki Java Development Kit (JDK) yang sudah terinstal di PC (Inet. 2016).
2.3 Android Volley
Volley adalah HTTP library yang membuat jaringan untuk aplikasi Android lebih mudah dan yang paling penting, cepat. Volley tersedia di GitHub.
Volley menawarkan manfaat sebagai berikut:
penjadwalan otomatis permintaan jaringan.
Beberapa koneksi jaringan bersamaan.
Transparan disk dan respon memori cache dengan standar koherensi cache yang HTTP.
Dukungan untuk permintaan prioritas.
Pembatalan permintaan API. Anda dapat membatalkan satu permintaan, atau anda dapat mengatur blok atau lingkup permintaan untuk membatalkan.
Kemudahan kustomisasi, misalnya, untuk retry dan backoff.
Strong ordering yang membuatnya mudah untuk membenarkan pengisian UI dengan data diambil asynchronous dari jaringan.
Debugging dan alat pelacakan.
Volley unggul di operasi RPC-tipe yang digunakan untuk mengisi UI, seperti mengambil sebuah halaman hasil pencarian sebagai data terstruktur. Ini terintegrasi dengan mudah dengan protokol apapun dan keluar dari kotak dengan dukungan untuk string baku, gambar, dan JSON. Dengan memberikan dukungan built-in untuk fitur yang Anda butuhkan, Volley membebaskan Anda dari menulis kode boilerplate dan memungkinkan Anda untuk berkonsentrasi pada logika yang khusus untuk aplikasi Anda.
Volley tidak cocok untuk di download atau streaming operasi besar, karena volley memegang semua tanggapan di memory selama parsing. Untuk operasi download besar, pertimbangkan untuk menggunakan alternatif seperti Download Manager. Inti Volley library dikembangkan di GitHub dan berisi berbagai permintaan pengiriman utama serta satu set utilitas umum yang berlaku, tersedia di Volley "toolbox" (AndroidDevelopers. 2017).
2.4 Android Firebase
Firebase adalah teknologi yang memungkinkan Anda membuat aplikasi web tanpa pemrograman sisi server sehingga pengembangannya menjadi lebih cepat dan mudah. Dengan Firebase, kita tidak perlu stres over-provisioning server atau membangun REST API dengan hanya sedikit konfigurasi; Firebase dapat memberi kesempatan untuk melakukan setiap langkah yang diperlukan:
menyimpan data, memverifikasi pengguna, dan menerapkan aturan akses.
Firebase mendukung klien web, iOS, OS X, dan Android. Aplikasi yang menggunakan Firebase hanya bisa menggunakan dan mengendalikan data, tanpa harus memikirkan bagaimana data akan disimpan, dan disinkronisasi di berbagai contoh aplikasi secara real time. Tidak perlu menulis kode sisi server, atau menerapkan kerangka server yang kompleks untuk mendapatkan aplikasi yang dimulai dengan Firebase.
2.5 PHP (Hypertext Preprocessor)
PHP (Hypertext Preprocessor) adalah bahasa pemrograman script server-
side yang didesain untuk pengembangan web. Selain itu, PHP juga dapat
ditanamkan atau disisipkan ke dalam HTML. PHP di kembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. Situs resmi PHP beralamat di http://www.php.net.
PHP disebut bahasa pemrograman server side karena PHP diproses pada komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman client-side seperti JavaScript yang diproses pada web browser (client) (Gulo.
2016).
2.6 Picasso
Picasso adalah library gambar untuk Android. Library ini diciptakan dan dikelola oleh Square, dan melayani pemuatan dan pemrosesan gambar. Library ini menyederhanakan proses menampilkan gambar dari lokasi eksternal. Dalam banyak kasus hanya beberapa baris kode yang diperlukan untuk mengimplementasikan perpustakaan yang rapi ini.
Perpustakaan ini menangani setiap tahap proses, dari permintaan HTTP awal ke caching gambar. Hal ini bisa sangat verbose saat menulis kode untuk melakukan tindakan ini sendiri (Johnson. 2014).
Gambar menambahkan konteks dan bakat visual yang sangat dibutuhkan ke aplikasi Android. Picasso memungkinkan loading gambar tanpa kerumitan dalam aplikasi Anda-seringkali dalam satu baris kode (Square Inc. 2013).
Banyak kendala umum pemuatan gambar pada Android ditangani secara otomatis oleh Picasso:
Penanganan ImageView recycling dan download jadwal ulang pada adapter.
Transformasi gambar kompleks dengan penggunaan memori minimal.
Memori otomatis dan disk caching.
2.7 Sistem Pendukung Keputusan
Sistem Pendukung Keputusan atau Decision Support System (DSS)
merupakan sistem informasi interaktif yang menyediakan informasi pemodelan
dan manipulasi data. Sistem itu digunakan untuk membantu pengambilan
keputusan dalam situasi yang semiterstruktur dan situasi yang tidak terstruktur,
dimana tak seorang pun tahu secara pasti bagaimana keputusannya seharusnya dibuat (Alter. 2002).
2.8 Metode Simple Additive Weighting (SAW)
Metode SAW sering dikenal dengan istilah metode penjumlahan terbobot.
Konsep dasar metode SAW (Simple Additive Weighting) adalah mencari penjumlahan terbobot dari rating kinerja pada setiap alternatif pada semua atribut (Pahlevy. 2010).
Metode SAW dapat membantu dalam pengambilan keputusan suatu kasus, akan tetapi perhitungan dengan menggunakan metode SAW ini hanya yang menghasilkan nilai terbesar yang akan terpilih sebagai alternatif yang terbaik.
Perhitungan akan sesuai dengan metode ini apabila alternatif yang terpilih memenuhi kriteria yang telah ditentukan. Metode SAW ini lebih efisien karena waktu yang dibutuhkan dalam perhitungan lebih singkat.
Metode SAW membutuhkan proses normalisasi matriks keputusan (X) ke suatu skala yang dapat diperbandingkan dengan semua rating alternatif yang ada.
Metode ini merupakan metode yang paling terkenal dan paling banyak digunakan dalam menghadapi situasi Multiple Attribute Decision Making (MADM).
MADM itu sendiri merupakan suatu metode yang digunakan untuk mencari alternatif optimal dari sejumlah alternatif dengan kriteria tertentu. Metode SAW ini mengharuskan pembuat keputusan menentukan bobot bagi setiap atribut. Skor total untuk alternatif diperoleh dengan menjumlahkan seluruh hasil perkalian antara rating (yang dapat dibandingkan lintas atribut) dan bobot tiap atribut.
Rating tiap atribut haruslah bebas dimensi dalam arti telah melewati proses normalisasi matriks sebelumnya.
Kelebihan dari metode Simple Additive Weighting dibanding dengan model
pengambil keputusan lainnya terletak pada kemampuannya untuk melakukan
penilaian secara lebih tepat karena didasarkan pada nilai kriteria dan bobot
preferensi yang sudah ditentukan, selain itu SAW juga dapat menyeleksi alternatif
terbaik dari sejumlah alternatif yang ada karena adanya proses perangkingan
setelah menentukan bobot untuk setiap atribut (Kusumadewi, Harjoko, dan
Wardoyo. 2006).
Langkah Penyelesaian Simple Additive Weighting (SAW) sebagai berikut :
1. Menentukan kriteria-kriteria yang akan dijadikan acuan dalam pengambilan keputusan, yaitu Ci.
2. Menentukan rating kecocokan setiap alternatif pada setiap kriteria.
3. Membuat matriks keputusan berdasarkan kriteria(Ci), kemudian melakukan normalisasi matriks berdasarkan persamaan yang disesuaikan dengan jenis atribut (atribut keuntungan ataupun atribut biaya) sehingga diperoleh matriks ternormalisasi R.
4. Hasil akhir diperoleh dari proses perankingan yaitu penjumlahan dari perkalian matriks ternormalisasi R dengan vektor bobot sehingga diperoleh nilai terbesar yang dipilih sebagai alternatif terbaik (Ai)sebagai solusi (Henry. 2009).
Formula untuk melakukan normalisasi tersebut adalah (Kusumadewi, Harjoko, dan Wardoyo. 2006) :
Gambar 2.1. Rumus Normalisasi Matriks Keputusan
Sumber : https://rivalryhondro.files.wordpress.com/2016/03/blg.png Gambar 2.1. diatas menunjukkan rumus yang digunakan untuk melakukan normalisasi untuk mendapatkan nilai r
ijdimana r
ijadalah nilai rating kinerja.
Keterangan :
r
ij= Nilai rating kinerja ternormalisasi
X
ij= Nilai kinerja dari setiap rating
Max X
ij= Nilai terbesar dari tiap kriteria
Min X
ij= Nilai terkecil dari tiap kriteria
Nilai preferensi untuk setiap alternatif (Vi) diberikan sebagai (Kusumadewi, Harjoko, dan Wardoyo. 2006) :
Gambar 2.2. Rumus mencari Nilai Preferensi
Sumber : https://filemount.files.wordpress.com/2014/04/picture22.png Gambar 2.2. diatas menunjukkan rumus yang digunakan untuk menghitung nilai preferensi V
iyang diperoleh dari perkalian matriks W * R dan penjumlahan hasil perkalian.
Keterangan :
V
i= Nilai preferensi w
j= bobot rangking
r
ij= Nilai rating kinerja ternormalisasi
Nilai V
iyang lebih besar mengindikasikan bahwa alternatif Ai lebih terpilih.
Adapun yang menjadi kebutuhan dalam sistem pendukung keputusan rekomendasi jodoh ini adalah :
a. Kriteria
Tabel 2.1. Tabel Kriteria
No Kriteria Bobot(%)
1 Harta 50
2 Keturunan 20
3 Usia 10
4 Pendidikan Sosial 10
5 Gaya Hidup 10
Total 100
b. Subkriteria
Tabel 2.2. Tabel Subkriteria dari Kriteria Harta
No Pertanyaan Bobot(%) Jawaban Nilai
1 Apa pekerjaan Anda saat ini ?
30 PNS/Wiraswasta/Swasta 9
Serabutan 5
Belum bekerja 1
2 Berapa
penghasilan bulanan anda?
40 Lebih besar dari 100 juta Rupiah 9 Antara 50 - 100 juta Rupiah 8 Antara 10 - 50 juta Rupiah 6 Antara 1 - 10 juta Rupiah 4 Antara 100 ribu - 1 juta Rupiah 2 Tidak punya penghasilan 1 3 Di mana Anda
tinggal sekarang?
30 Rumah milik sendiri 9
Rumah kontrak/sewa 5
Rumah orang tua/tidak punya 1 Total bobot subkriteria 100
Tabel 2.3. Tabel Subkriteria dari Kriteria Keturunan
No Pertanyaan Bobot(%) Jawaban Nilai
1 Bagaimana status Anda saat ini dalam keluarga?
25 Anak kandung 9
Anak tiri 5
Anak angkat 1
2 Anda dibesarkan oleh / pada?
25 Orang tua kandung 9
Orang tua angkat/wali 5
Panti asuhan 1
3 Bagaimana orang tua anda sekarang?
25 Lengkap 9
Hanya ayah/ibu 5
Yatim piatu 1
4 Bagaimana kondisi keluarga Anda saat ini
(orang tua)?
25 Harmonis 9
Single Parent 5
Bercerai / Broken home 1
Total bobot subkriteria 100
Tabel 2.4. Tabel Subkriteria dari Kriteria Usia
No Pertanyaan Bobot(%) Jawaban Nilai
1 Anda memilih pasangan dengan usia?
100 > 80 tahun 9
60-79 tahun 8
40-59 tahun 6
30-39 tahun 4
21-29 tahun 2
17-20 tahun 1
Total bobot subkriteria 100
Tabel 2.5. Tabel Subkriteria dari Kriteria Pendidikan Sosial
No Pertanyaan Bobot(%) Jawaban Nilai
1 Apa Pendidikan Formal terakhir Anda?
25 S3 9
S2 8.75
S1 7.5
D3 6.25
SMA/SMK 5
SMP 3.75
SD 2.5
TK 1.25
Tidak Sekolah 1
2 Apakah Anda mengikuti Pendidikan
Informal?
25 Ya 9
Tidak 1
3 Apakah Anda mengikuti kegiatan
Organisasi Masyarakat?
25 Mengikuti 9
Tidak mengikuti 1
4 Apakah Anda memiliki 25 Pengurus 9
peran dalam Organisasi Masyarakat?
Anggota 5
Tidak mengikuti 1
Total bobot subkriteria 100
Tabel 2.6. Tabel Subkriteria dari Kriteria Gaya Hidup
No Pertanyaan Bobot(%) Jawaban Nilai
1 Apakah Anda
mengkonsumsi minuman beralkohol?
30 Tidak pernah 9
Kadang-kadang 5
Sering 1
2 Apakah Anda suka merokok?
30 Tidak pernah 9
Kadang-kadang 5
Sering 1
3 Apakah Anda sering melakukan kegiatan
olahraga?
40 Setiap hari 9
3x seminggu 7.5
2x seminggu 5
Tidak pernah 1
Total bobot subkriteria 100
Contoh Kasus dengan menggunakan metode Simple Additive Weighting (SAW). Ada seorang user (laki-laki) yang akan mencari jodoh, misalnya dia mendapatkan 3 alternatif/pilihan calon pasangan (perempuan) dengan kriteria dan bobot default (bobot yang ditetapkan sistem).
Tabel 2.7. Tabel Contoh Kasus Metode Simple Additive Weighting (SAW)
No Pertanyaan P1 P2 P3
1 Apa pekerjaan Anda saat ini ?
Serabutan PNS/Wiraswasta/Swasta Serabutan
2 Berapa penghasilan bulanan anda?
Antara 100 ribu - 1 juta Rupiah
Antara 1 - 10 juta Rupiah
Antara 100 ribu - 1 juta Rupiah
3 Di mana Anda Rumah orang Rumah orang tua/tidak Rumah milik
tinggal sekarang?
tua/tidak punya
punya sendiri
4 Bagaimana status Anda saat ini dalam keluarga?
Anak kandung
Anak kandung Anak kandung
5 Anda
dibesarkan oleh / pada?
Orang tua kandung
Orang tua kandung Orang tua kandung
6 Bagaimana orang tua anda sekarang?
Hanya ayah/ibu
Lengkap Hanya
ayah/ibu
7 Bagaimana kondisi
keluarga Anda saat ini (orang tua)?
Single Parent Harmonis Single Parent
8 Anda memilih pasangan dengan usia?
21-29 tahun 21-29 tahun 17-20 tahun
9 Apa
Pendidikan Formal terakhir Anda?
SMA/SMK S1 SMA/SMK
10 Apakah Anda mengikuti Pendidikan Informal?
Ya Tidak Tidak
11 Apakah Anda mengikuti kegiatan Organisasi
Mengikuti Tidak mengikuti Mengikuti
Masyarakat?
12 Apakah Anda memiliki peran dalam
Organisasi Masyarakat?
Anggota Tidak mengikuti Pengurus
13 Apakah Anda mengkonsumsi minuman beralkohol?
Tidak pernah Kadang-kadang Tidak pernah
14 Apakah Anda suka merokok?
Tidak pernah Tidak pernah Tidak pernah
15 Apakah Anda sering
melakukan kegiatan olahraga?
2x seminggu 3x seminggu Tidak pernah
Berdasarkan data calon diatas dapat dibentuk matriks keputusan X, seperti pada Tabel 2.8.
Tabel 2.8. Tabel Rating Kecocokan dari Setiap Alternatif pada Setiap Kriteria
Alternatif Kriteria
C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15
A1 5 2 1 9 9 5 5 5 5 9 9 5 9 9 5
A2 9 4 1 9 9 9 9 5 7.5 1 1 1 5 9 7.5
A3 5 2 9 9 9 5 5 9 5 1 9 9 9 9 1
Keterangan :
A = alternatif calon pasangan C = kriteria
Semua kriteria merupakan kriteria benefit
Membuat matriks keputusan X, dibuat dari tabel kecocokan sebagai berikut:
X = { 5 2 1 9 4 1 5 2 9
9 9 5 9 9 9 9 9 5
5 5 5 9 5 7.5
5 1 5
9 9 5 1 1 1 1 9 9
9 9 5 5 9 7.5
9 9 1
}
Pengambil keputusan memberikan bobot berdasarkan tingkat kepentingan masing-masing kriteria yang dibutuhkan. Nilai W didapat dari bobot kriteria (%) dikalikan dengan bobot pertanyaan (%), sehingga didapat vektor bobot sebagai berikut :
Vektor bobot :
W = [0.15, 0.2, 0.15, 0.05, 0.05, 0.05, 0.05, 0.1, 0.025, 0.025, 0.025, 0.025, 0.03, 0.03, 0.04]
Pertama, dilakukan normalisasis matriks X untuk menghitung nilai masing- masing kriteria berdasarkan kriteria diasumsikan sebagai kriteria keuntungan sebagai berikut :
A1) R11 =
5𝑀𝑎𝑥(5,9,5)
=
59
= 0.56 R12 =
𝑀𝑎𝑥(2,4,2)2=
24= 0.5 R13 =
𝑀𝑎𝑥(1,1,9)1=
19= 0,11 R14 =
𝑀𝑎𝑥(9,9,9)9=
99= 1 R15 =
𝑀𝑎𝑥(9,9,9)9=
99= 1 R16 =
𝑀𝑎𝑥(5,9,5)5=
59= 0.56 R17 =
𝑀𝑎𝑥(5,9,5)5=
59= 0.56 R18 =
𝑀𝑎𝑥(5,5,1)5=
55= 1 R19 =
𝑀𝑎𝑥(5,7.5,5)5=
7.55= 0.67 R110 =
9𝑀𝑎𝑥(9,1,1)
=
99
= 1 R111 =
𝑀𝑎𝑥(9,1,9)9=
99= 1 R112 =
𝑀𝑎𝑥(5,1,9)5=
59= 0.56 R113 =
𝑀𝑎𝑥(9,5,9)9=
99= 1 R114 =
9𝑀𝑎𝑥(9,9,9)
=
99
= 1
R115 =
𝑀𝑎𝑥(5,7.5,1)5=
7.55= 0.67 A2) R21 =
𝑀𝑎𝑥(5,9,5)9=
99= 1
R22 =
𝑀𝑎𝑥(2,4,2)4=
44= 1 R23 =
𝑀𝑎𝑥(1,1,9)1=
19= 0,11 R24 =
𝑀𝑎𝑥(9,9,9)9=
99= 1 R25 =
𝑀𝑎𝑥(9,9,9)9=
99= 1 R26 =
9𝑀𝑎𝑥(5,9,5)
=
99
= 1 R27 =
𝑀𝑎𝑥(5,9,5)9=
99= 1 R28 =
𝑀𝑎𝑥(5,5,1)5=
55= 1 R29 =
𝑀𝑎𝑥(5,7.5,5)7.5=
7.57.5= 1 R210 =
𝑀𝑎𝑥(9,1,1)1=
19= 0,11 R211 =
1𝑀𝑎𝑥(9,1,9)
=
19
= 0,11 R212 =
𝑀𝑎𝑥(5,1,9)1=
19= 0,11 R213 =
𝑀𝑎𝑥(9,5,9)5=
59= 0.56 R214 =
𝑀𝑎𝑥(9,9,9)9=
99= 1 R215 =
𝑀𝑎𝑥(5,7.5,1)7.5=
7.57.5= 1 A3) R31 =
𝑀𝑎𝑥(5,9,5)5=
59= 0.56
R32 =
𝑀𝑎𝑥(2,4,2)2=
24= 0.5 R33 =
𝑀𝑎𝑥(1,1,9)9=
99= 1 R34 =
𝑀𝑎𝑥(9,9,9)9=
99= 1 R35 =
𝑀𝑎𝑥(9,9,9)9=
99= 1 R36 =
𝑀𝑎𝑥(5,9,5)5=
59= 0.56 R37 =
5𝑀𝑎𝑥(5,9,5)
=
59
= 0.56
R38 =
1𝑀𝑎𝑥(5,5,1)
=
15
= 0,2 R39 =
𝑀𝑎𝑥(5,7.5,5)5=
7.55= 0.67 R310 =
𝑀𝑎𝑥(9,1,1)1=
19= 0,11 R311 =
𝑀𝑎𝑥(9,1,9)9=
99= 1 R312 =
𝑀𝑎𝑥(5,1,9)9=
99= 1 R313 =
𝑀𝑎𝑥(9,5,9)9=
99= 1 R314 =
9𝑀𝑎𝑥(9,9,9)
=
99
= 1 R315 =
𝑀𝑎𝑥(5,7.5,1)1=
7.51= 0,13
Kedua, membuat normalisasi matriks R yang diperoleh dari hasil normalisasi matriks X sebagai berikut :
R =
{0.56 0.5 0.111 1 0.11
0.56 0.5 1
1 1 0.56
1 1 1
1 1 0.56
0.56 1 0.67
1 1 1
0.56 0.2 0.67
1 1 0.56 0.11 0.11 0.11
0.11 1 1
1 1 0.67 0.56 1 1
1 1 0.13 }