6 BAB 2 TINJAUAN PUSTAKA 2.1. Sistem Pendukung Keputusan Konsep Sistem Pendukung Keputusan (SPK) atau Decision Support Systems (DSS) pertama kali diungkapkan pada awal tahun 1970-an oleh Michael S. Scott Morton dengan istilah Management Decision Systems (Tampubolon, 2010). Sistem pendukung keputusan (SPK) dirancang sedemikian rupa sehingga bersifat interaktif dengan pemakainya. Maksud dan tujuan dari adanya SPK, yaitu untuk mendukung pengambil keputusan memilih alternatif keputusan yang merupakan hasil pengolahan informasi - informasi yang diperoleh/tersedia dengan menggunakan model-model pengambil keputusan serta untuk menyelesaikan masalah-masalah bersifat terstruktur, semi terstruktur dan tidak terstruktur (Mulyono, 1996). 2.1.1. Definisi Sistem Pendukung Keputusan Sistem Pendukung Keputusan (SPK) secara sederhana adalah sebuah sistem yang digunakan sebagai alat bantu menyelesaikan masalah untuk membantu pengambil keputusan (manajer) dalam menentukan keputusan tetapi tidak untuk menggantikan kapasitas manajer namun hanya memberikan pertimbangan. SPK ditujukan untuk keputusan-keputusan yang memerlukan penilaian atau pada keputusan-keputusan yang sama sekali tidak dapat didukung oleh algoritma (Turban & Jay, 1998). SPK merupakan sistem informasi berbasis komputer interaktif yang dapat memberikan alternatif dan solusi bagi pengambil dan pembuat keputusan. Jadi pada umumnya SPK merupakan pengembangan lebih lanjut dari Sistem Informasi Manajemen terkomputerisasi yang dirancang sedemikian rupa sehingga bersifat interaktif dengan pemakainya. Interaktif dengan tujuan untuk memudahkan integrasi antara berbagai komponen dalam proses pengambilan keputusan seperti prosedur,
7 kebijakan, analisis, pengalaman dan wawasan manajer untuk mengambil keputusan yang lebih baik (Manurung, 2012). 2.2. Metode Decision Tree Pohon keputusan merupakan salah satu metode klasifikasi yang sangat menarik yang melibatkan konstruksi pohon keputusan yang terdiri dari node keputusan yang dihubungkan dengan cabang-cabang dari simpul akar sampai ke node daun (akhir). Pada node keputusan attribut akan diuji, dan setiap hasil akan menghasilkan cabang. Setiap cabang akan diarahkan ke node lain atau ke node akhir untuk menghasilkan suatu keputusan (Larose, 2005). Setiap cabang dari Decision Tree menunjukkan kemungkinan keputusan. Struktur pohon menunjukkan bagaimana satu pilihan mengarah kepada pilihan yang selanjutnya, sehingga penggunaan cabang menunjukkan bahwa setiap pilihan memiliki hubungan mutually exclusive. Cabang-cabang terjauh pada strukur pohon (leaf) menunjukkan hasil akhir keputusan yang diambil (Hilman & Wibisono, 2012). Pencarian solusi dengan bantuan Decision Tree dimulai dengan mempersiapkan sekumpulan kasus. Seluruh kumpulan kasus tersebut akan dibagi menjadi 2 (Podgorelec,Kokol, Stiglic & Rozman, 2002), yaitu : 1. Training set, dimana digunakan untuk menginduksi Decision Tree. 2. Testing set, dimana digunakan untuk mengecek akurasi dari solusi yang telah didapatkan. Kelebihan dari metode Decision Tree adalah (Simarmata, 2005): 1. Daerah pengambilan keputusan yang sebelumnya kompleks dan sangat global, dapat diubah menjadi lebih simpel dan spesifik. 2. Eliminasi perhitungan-perhitungan yang tidak diperlukan, karena ketika menggunakan metode pohon keputusan maka sampel diuji hanya berdasarkan kriteria atau kelas tertentu. 3. Fleksibel untuk memilih fitur dari internal node yang berbeda, fitur yang terpilih akan membedakan suatu kriteria dibandingkan kriteria yang lain dalam node yang sama. Kefleksibelan metode pohon keputusan ini
8 meningkatkan kualitas keputusan yang dihasilkan jika dibandingkan ketika menggunakan metode penghitungan satu tahap yang lebih konvensional. 4. Dalam analisis multivariat, dengan kriteria dan kelas yang jumlahnya sangat banyak, seorang penguji biasanya perlu untuk mengestimasikan baik itu distribusi dimensi tinggi ataupun parameter tertentu dari distribusi kelas tersebut. Metode pohon keputusan dapat menghindari munculnya permasalahan ini dengan menggunakan kriteria yang jumlahnya lebih sedikit pada setiap node internal tanpa banyak mengurangi kualitas keputusan yang dihasilkan. 2.2.1. Manfaat Decision Tree Konsep dari pohon keputusan adalah mengubah data menjadi pohon keputusan dan aturan-aturan keputusan. Manfaat utama dari penggunaan pohon keputusan adalah kemampuannya untuk mem-break down proses pengambilan keputusan yang kompleks menjadi lebih simpel sehingga pengambil keputusan akan lebih menginterpretasikan solusi dari permasalahan (Manurung, 2012). Pohon Keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variable target. Pohon keputusan memadukan antara eksplorasi data dan pemodelan, sehingga sangat bagus sebagai langkah awal dalam proses pemodelan bahkan ketika dijadikan sebagai model akhir dari beberapa teknik lain. Sering terjadi tawar menawar antara keakuratan model dengan transparansi model. Dalam beberapa aplikasi, akurasi dari sebuah klasifikasi atau prediksi adalah satu-satunya hal yang ditonjolkan, misalnya sebuah perusahaan direct mail membuat sebuah model yang akurat untuk memprediksi anggota mana yang berpotensi untuk merespon permintaan, tanpa memperhatikan bagaimana atau mengapa model tersebut bekerja (Manurung, 2012). 2.3. Algoritma Iterative Dichotomiser 3 (ID3) ID3 adalah algoritma Decision Tree learning (algoritma pembelajaran pohon keputusan) yang paling dasar. Algoritma ini melakukan pencarian secara menyeluruh (greedy) pada semua kemungkinan pohon keputusan. Algoritma ID3 dapat
9 diimplementasikan menggunakan fungsi rekursif (fungsi yang memanggil dirinya sendiri) (Suyanto, 2007). 2.3.1. Langkah- langkah Algoritma ID3 Penentuan kelayakan menggunakan Algoritma ID3 dapat dilihat dalam contoh kasus berikut. Diketahui data seperti didalam tabel dibawah ini, permasalahan nya adalah bagaimana mendapatkan ketentuan(rule) untuk mencari kelayakan seseorang dalam membeli sebuah motor. Tabel 2.1. Contoh Data Umur Pendapatan Pelajar Pinjaman Membeli Motor <=16 Tinggi Tidak Tidak Tidak <=16 Tinggi Tidak Ya Tidak 17..19 Rendah Ya Ya Ya 17..19 Tinggi Tidak Tidak Ya >19 Sedang Tidak Tidak Ya >19 Rendah Ya Tidak Ya >19 Rendah Ya Ya Tidak Langkah-langkah untuk menentukan ketentuan(rule) dari tabel diatas menggunakan Algoritma ID3 : 1. Tentukan keadaan yang mungkin terjadi dari setiap atribut yang ada pada data. 2. Hitung Entropy awal dengan rumus (Chahal, 2013): Entropy (S) = P yes log 2 P yes P no log 2 P no Keterangan : S = himpunan atribut P yes = atribut yang bernilai Ya P no = atribut yang bernilai Tidak
10 3. Hitung Entropy dan Information Gain dari setiap atribut untuk menentukan node awal dengan rumus (Chahal, 2013): Information Gain (S. A) = Entropy S Keterangan : A = atribut S = jumlah kasus Sv = jumlah kasus pada partisi ke-r Sv S Sv v Values (A) Entropy(Sv) S v Values (A) = menghitung jumlah partisi 4. Node awal didapatkan dari atribut yang memiliki nilai Information Gain tertinggi. 5. Ulangi langkah ketiga untuk menentukan node cabang selanjutnnya hingga seluruh kriteria keputusan digunakan. Entropy awal : Jumlah Instance Total = 7 Jumlah Instance Ya = 4 Jumlah Instance Tidak = 3 Entropy (S) = P yes log 2 P yes P no log 2 P no = 4 7 log 2 4 7 3 7 log 2 = 0.57 ( 0.811) 0.43 ( 1.218) = 0.986 Entropy dan Information Gain per Atribut untuk node awal: Umur Entropy (Umur<=16) = 0 log 2 2 2 2 2 = 0 Entropy (Umur 17..19) = 0 Entropy (Umur >19) = 0.915 Information Gain (Umur) = Entropy S 0 3 7 2 2 Sv v Values (A) Entropy(Sv) S = 0.986 2 x 0 2 x 0 3 x 0.915 7 7 7 = 0.594
11 Pendapatan Entropy (Pendapatan = Tinggi) = 0.915 Entropy (Pendapatan = Sedang) = 0 Entropy (Pendapatan = Rendah) = 0.915 Information Gain(Pendapatan) = 0.202 Pelajar Entropy (Pelajar = Tidak) = 1 Entropy (Pelajar = Ya) = 0.915 Information Gain(Pelajar) = 0.023 Pinjaman Entropy (Pinjaman= Tidak) = 0.811 Entropy (Pinjaman= Ya) = 0.915 Information Gain(Pinjaman) = 0.131 Hasil Information Gain dari seluruh atribut = Umur = 0.594 Pendapatan = 0.202 Pelajar = 0.023 Pinjaman = 0.131 Karena atribut Umur memiliki nilai Information Gain paling tinggi maka atribut Umur dijadikan node awal, dan Decision Tree nya sebagai berikut : Gambar 2.1. Node awal Decision Tree Kemudian hitung Entropy dan Information Gain per atribut untuk menentukan node cabang dari edge >19. Jumlah Instance untuk atribut Umur >19 = 3
12 Jumlah Instance Ya = 2 Jumah Instance Tidak = 1 Pendapatan Entropy (Pendapatan = Tinggi) = 0 Entropy (Pendapatan = Sedang) = 0 Entropy (Pendapatan = Rendah) = 1 Information Gain(Pendapatan) = 0.319 Pelajar Entropy (Pelajar = Tidak) = 1 Entropy (Pelajar = Ya) = 0 Information Gain(Pelajar) = 0.319 Pinjaman Entropy (Pinjaman= Tidak) = 0.915 Entropy (Pinjaman= Ya) = 0 Information Gain(Pinjaman) = 0.376 Hasil Information Gain dari seluruh atribut = Pendapatan = 0.319 Pelajar = 0.319 Pinjaman = 0.376 Karena atribut Pinjaman memiliki nilai Information Gain paling tinggi maka atribut Pinjaman dijadikan node cabang untuk edge >19. Decision Tree nya sebagai berikut : Gambar 2.2. Hasil Decision Tree
13 Dan didapatkan rules dari pohon keputusan diatas: IF Umur = <=16 THEN beli = Tidak IF Umur = 17..19 THEN beli = Ya IF Umur = >19^Pinjaman = Tidak THEN beli = Ya IF Umur = <19^Pinjaman = Ya THEN beli = Tidak 2.4. Android Android adalah sistem operasi berbasis linux yang digunakan untuk telepon seluler/mobile seperti telepon pintar/smartphone dan komputer tablet (PDA). Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri yang digunakan oleh bermacam piranti bergerak (Ardhana, 2014). Android didirikan pada tahun 2003 di Palo Alto, California, USA (Kasman, 2013). Pendiri Android adalah Andy Rubin, Rich Miner, Nick Sears dan Chris White. Sejak didirikan sampai saat ini, Android telah berkembang dan memiliki 13 versi sistem operasi,yaitu: 1. Android Beta 2. Android 1.0 3. Android 1.1 4. Android 1.5 (Cupcake) 5. Android 1.6 (Donut) 6. Android 2.0/2.1 (Éclair) 7. Android 2.2 (Froyo : Frozen Yoghurt) 8. Android 2.3 (Gingerbread) 9. Android 3.0/3.1 (Honeycomb) 10. Android 4.0 (ICS : Ice Cream Sandwich) 11. Android 4.1 (Jelly Bean) 12. Android 4.4 (Kitkat) 13. Android 5.0 (Lollipop) 2.4.1. Arsitektur Aplikasi Android Arsitektur Aplikasi Android memiliki beberapa lapisan yang mendukung fungsifungsi spesifik dari sistem operasi, yaitu (Safaat, 2012) :
14 1. Linux kernel, berperan sebagai abstraction layer antara hardware dan keseluruhan software. 2. Android Runtime, berisi Core Libraries dan Dalvik Virtual Machine. Core Libraries mencakup serangkaian inti library Java. Dalvik Virtual Machine member kekuatan pada sistem Android dan di optimalkan untuk telepon seluler. 3. Libraries, berisi satu set library-library dalam bahasa C/C++ yang digunakan oleh berbagai komponen yang ada pada sistem Android. Di dalamnya meliputi : System C Library, Media Libraries, Surface Manager, LibWebCore, SGL, 3D Libraries, FreeType, dan SQL Lite. 4. Application Framework, mencakup program untuk mengatur fungsi-fungsi dasar smartphone. Di dalamnya terdapat servis dan sistem yang meliputi: satu set Views, Content Providers, Resource Manager, Notification Manager dan Activity Manager. 5. Application, lapisan yang paling sering diakses oleh pengguna melalui user interface.