TUGAS AKHIR Analisis Delay Penerbangan Akibat Cuaca di Bandara Ahmad Yani Semarang dengan Algoritma C4.5 Analysis of Flight Delay Due to Weather in Ahmad Yani Airport Semarang with C4.5 Algorithm Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Informatika Disusun oleh: Nama : Mochamad Nur Sholikhin NIM : A11.2010.05647 Program Studi : Teknik Informatika – S1 FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2014 PERSETUJUAN SKRIPSI Nama : Mochamad Nur Sholikhin NIM : A11.2010.05647 Program Studi : Studi Teknik Informatika Strata 1 Fakultas : Ilmu Komputer Judul Tugas Akhir : Analisis Delay Penerbangan Akibat Cuaca di Bandara Ahmad Yani Semarang dengan Algoritma C4.5 Tugas akhir ini telah diperiksa dan disetujui, Semarang, 22 Juli 2013 Menyetujui : Mengetahui : Pembimbing Dekan Fakultas Ilmu Komputer Dra. Yuniarsi Rahayu, M.Kom Dr. Abdul Syukur PENGESAHAN DEWAN PENGUJI Nama : Mochamad Nur Sholikhin NIM : A11.2010.05647 Program Studi : Studi Teknik Informatika Strata 1 Fakultas : Ilmu Komputer Judul Tugas Akhir : Analisis Delay Penerbangan Akibat Cuaca di Bandara Ahmad Yani Semarang dengan Algoritma C4.5 Tugas akhir ini telah diuji dan dipertahankan dihadapkan Dewan Penguji pada Sidang tugas akhir tanggal 22 Juli 2014. Menurut pandangan kami tugas akhir ini memadai dari segi kualitas maupun kuantitas untuk tujuan penganugrahan gelar Sarjana Komputer (S.Kom.) Semarang, 22 Juli 2013 Dewan Penguji : Achmad Wahid Kurniawan, S.Si, M.Kom T. Sutojo, S.Si, M.Kom Anggota 1 Anggota 2 Erna Zuni Astuti, M.Kom Ketua Penguji PERNYATAAN KEASLIAN SKRIPSI Sebagai mahasiswa Universitas Dian Nuswantor, yang bertanda tangan di bawah ini, saya : Nama : Mochamad Nur Sholikhin NIM : A11.2010.05647 Menyatakan bahwa karya ilmiah saya yang berjudul : Analisis Delay Penerbangan Akibat Cuaca di Bandara Ahmad Yani Semarang dengan Algoritma C4.5 Merupakan karya asli saya (kecuali cuplikan dan ringkasan yang masing-masing telah saya jelaskan sumbernya dan perangkat pendukung seperti rapid miner, laptop, printer dll). Apabila dikemudian hari, karya saya disinyalir bukan merupakan karya asli saya, yang di sertai dengan bukti-bukti yang cukup, maka saya bersedia untuk dibatalkan gelar saya beserta hak dan kewajiban yang melekat pada gelar tersebut. Demikian surat pernyataan ini saya buat dengan sebenarnya. Dibuat di : Semarang Pada tanggal : 22 Juli 2014 Yang menyatakan ( Mochamad Nur Sholikhin) PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Sebagai mahasiswa Universitas Dian Nuswantor, yang bertanda tangan di bawah ini, saya : Nama : Mochamad Nur Sholikhin NIM : A11.2010.05647 Demi mengembangkan Ilmu Pengetahuan, menyetujui untuk memberikan kepada Universitas Dian Nuswantoro Hak Bebas Royalti Non-Eksklusif (Non-exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul : Analisis Delay Penerbangan Akibat Cuaca di Bandara Ahmad Yani Semarang dengan Algoritma C4.5 beserta perangkat yang diperlukan (bila ada). Dengan Hak Bebas Royalti Non-Eksklusif ini Universitas Dian Nuswantoro berhak untuk menyimpan, mengcopy ulang (memperbanyak), menggunakan, mengelolanya dalam bentuk pangkalan data (database), mendistribusikannya dan menampilkan/mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya selama tetap tercantumkan nama saya sebagai penulis/pencipta. Saya besedia untuk menanggung secara pribadi, tanpa melibatkan pihak Universitas Dian Nuswantoro, segala bentuk tuntutan hokum yang timbul atas pelanggaran Hak Cipta dalam karya ilmiah saya ini. Demikian surat pernyataan ini saya buat dengan sebenarnya. Dibuat di : Semarang Pada tanggal : 22 Juli 2014 Yang menyatakan ( Mochamad Nur Sholikhin ) UCAPAN TERIMAKASIH Puji syukur kepada Tuhan yang Maha Esa atas segala berkat yang telah diberikan-Nya, sehingga Tugas Akhir ini dapat diselesaikan. Tugas Akhir dengan judul “Analisis Delay Penerbangan Akibat Cuaca di Bandara Ahmad Yani Semarang dengan Algoritma C4.5” ini ditujukan untuk memenuhi sebagian persyaratan akademik guna menyelesaikan studi di Program Studi Sistem Informasi Strata Satu Universitas Dian Nuswantoro Semarang. Penulis menyadari bahwa tanpa bimbingan, bantuan, dan doa dari berbagai pihak, Tugas Akhir ini tidak akan dapat diselesaikan tepat pada waktunya. Oleh karena itu, penulis mengucapkan terima kasih yang sebesar-besarnya kepada : 1) Dr. Ir. Edi Noersasongko, M.Kom., selaku Rektor Universitas Dian Nuswantoro. 2) Dr Drs Abdul Syukur,MM, selaku Dekan Fakultas Ilmu Komputer. 3) Dr. Heru Agus Santoso,M.Kom, selaku Ketua Program Studi Teknik Informatika – S1. 4) Slamet Sudaryanto N.,ST, M.Kom, Selaku Dosen Wali. 5) Dra. Yuniarsi Rahayu, M.Kom , selaku Dosen Pembimbing Tugas Akhir yang telah memberikan bimbingan dan memberikan masukan. 6) Kepala BMKG Penerbangan Bandara Ahmad Yani Semarang, dan para staf. 7) Ibu, Bapak, dan seluruh keluarga yang telah memberikan dukungan moril, doa, dan kasih sayang. 8) Sahabat-sahabat Doscom, dan lain lain selaku teman yang membantu kerja praktek. Akhir kata, penulis menyadari bahwa mungkin masih terdapat kekurangan dalam Tugas Akhir ini. Oleh karena itu, kritik dan saran dari pembaca sangat bermanfaat bagi penulis. Semoga Tugas Akhir ini dapat bermanfaat bagi semua pihak yang membacanya. Semarang, 22 Juli 2013 Penulis DAFTAR ISI PERSETUJUAN SKRIPSI ..................................................................................... ii PENGESAHAN DEWAN PENGUJI .................................................................... iii PERNYATAAN KEASLIAN SKRIPSI ................................................................ iv PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS .............................................................................. v UCAPAN TERIMAKASIH ................................................................................... vi DAFTAR ISI ......................................................................................................... vii DAFTAR TABEL .................................................................................................. ix DAFTAR GAMBAR .............................................................................................. x ABSTRAK ............................................................................................................. xi BAB I PENDAHULUAN ....................................................................................... 1 1.1 Latar Belakang ......................................................................................... 1 1.2 Rumusan Masalah .................................................................................... 3 1.3 Batasan Masalah ....................................................................................... 4 1.4 Tujuan Penelitian ...................................................................................... 4 1.5 Manfaat penelitian .................................................................................... 4 BAB II TINJAUAN PUSTAKA............................................................................. 6 2.1 Penelitian Terkait ..................................................................................... 6 2.2 Landasan Teori ......................................................................................... 8 3.1.1 Algoritma .......................................................................................... 8 2.1.2 Data Mining ...................................................................................... 8 2.1.3 Pengertian Pohon Keputusan (Decision Tree) .................................. 9 2.1.5 Manfaat Pohon Keputusan .............................................................. 12 2.1.6 Algoritma C4.5 ................................................................................ 13 2.1.7 DM) Definisi Cross-Industry Standard Process for Data Mining (CRISP......................................................................................................... 15 2.1.8 Confusion matrix............................................................................. 17 2.1.9 Kurva ROC ..................................................................................... 19 2.1.10 Iklim dan Cuaca .............................................................................. 20 2.1.11 Php .................................................................................................. 25 viii 2.1.12 CSS (Cascading Style Sheets) ......................................................... 26 2.1.13 Selector dan Declaration CSS ......................................................... 27 BAB III ................................................................................................................. 30 METODE PENELITIAN ...................................................................................... 30 3.1 Metode Pengumpulan Data .................................................................... 30 3.1.1 Jenis Data Sumber Data .................................................................. 30 3.1.2 Teknik Pengumpulan Data .............................................................. 31 3.2 Teknik Analisis Data .............................................................................. 31 3.3 Pengolahan Data ..................................................................................... 32 BAB IV HASIL DAN PEMBAHASAN .............................................................. 39 4.1 Validasi dan Evaluasi ............................................................................. 39 4.2 Hasil Percobaan dan Pengujian Metode ................................................. 42 4.3 Hasil Pemodelan Pohon Keputusan dan Rule ........................................ 45 4.4 Aplikasi Sederhana ................................................................................. 46 BAB V PENUTUP ................................................................................................ 51 5.1 Kesimpulan ............................................................................................. 51 5.2 Saran ....................................................................................................... 51 DAFTAR TABEL Tabel 2.1 Penelitian Terkait .................................................................................... 6 Tabel 2.2 Model Confusion Matrix ....................................................................... 18 Sumber Han & Kamber (2006) ............................................................................. 18 Tabel 3.1 Data Delay Pesawat Akibat Cuaca........................................................ 33 Tabel 3.2 Data Hasil Split Point............................................................................ 34 Tabel 3.3 Data Hasil Entropy dan Gain Pada Node 1 ........................................... 36 Tabel 4.1 Data set delay penerbangan di Bandara Ahmad Yani Semarang.......... 40 Tabel 4.2 Hasil nilai akurasi dari data delay penerbangan yang di tampilkan oleh RapidMiner ........................................................................................................... 43 Tabel 4.3 Nilai precision dari data delay penerbangan yang di tampilkan oleh RapidMiner ........................................................................................................... 43 Tabel 4.4 Nilai precision dari data delay penerbangan yang di tampilkan oleh RapidMiner ........................................................................................................... 44 Tabel 4.1 Hasil Akurasi dan AUC dari C4.5 ........................................................ 45 DAFTAR GAMBAR Gambar 2.1 Decision Tree .................................................................................... 11 Gambar 2.2 Proses Data Mining menurut CRISP-DM ......................................... 15 Gambar 2.3 Contoh Evaluasi dengan Kurva ROC/AUC ...................................... 20 Gambar 2.3 Kerangka Pemikiran .......................................................................... 29 Gambar 4.2 Setting parameter RapidMiner .......................................................... 41 Gambar 4.3 Desain Model Validasi ...................................................................... 42 Gambar 4.4 Hasil ROC dari C4.5 yang ditampilkan oleh RapidMiner ................ 44 Gambar 4.6 Hasil Pemodelan Tree C4.5 ............................................................... 45 Gambar 4.7 Form input Delay Penerbangan ......................................................... 47 Gambar 4.8 Form input Delay Penerbangan ......................................................... 48 Gambar 4.9 Hasil prediksi Delay Penerbangan .................................................... 49 ABSTRAK Peran cuaca dalam penerbangan sangat besar. Cuaca mempunyai dua peran. Disatu sisi informasi cuaca mempunyai andil dalam peningkatan efisiensi dan efektivitas kegiatan dan keselamatan penerbangan, di sisi lain mempunyai potensi yang membahayakan sampai dapat menimbulkan kematian. Namun demikian tidak mudah untuk mengatakan cuaca yang mana yang membahayakan, karena dampak cuaca bergantung pula kepada faktor lain. Untuk itulah diadakan penelitian dengan judul Analisis Delay Penerbangan Akibat Cuaca di Bandara Ahmad Yani Semarang dengan Algoritma C4.5. Teknik ini menggunakan data cuaca penerbangan dan daftar delay penerbangan pada tahun 2013 di Bandara Ahmad Yani Semarang, sehingga data tersebut bisa dijadikan acuan untuk memprediksi penerbangan apakah akan terjadi delay atau tidak. Atribut yang digunakan dalam menentukan delay penerbangan meliputi arah angina, kecepatan angina, suhu, tekanan udara, visibility, dan cuaca. Data delay penerbangan ini setelah di analisis menggunakan algoritma C4.5 dapat memberikan informasi yang efektif dalam menentukan apakah penerbangan berprediksi delay atau tidak. Kata kunci : Delay Penerbangan, Algoritma C4.5 1 BAB I PENDAHULUAN 1.1 Latar Belakang Cuaca adalah kondisi udara di suatu tempat pada saat yang relatif singkat yang meliputi kondisi suhu, kelembaban, serta tekanan udara sebagai komponen utamanya. Faktor cuaca menjadi hal yang sulit untuk diprediksi pada penerbangan, oleh karena itu peramalan cuaca akhir-akhir ini menjadi topik yang sangat menarik untuk dibahas, karena akan sangat membantu dalam penerbangan. Hal ini membuat banyak peneliti tertarik untuk mencari metode lain untuk memprediksi cuaca [1]. Peran cuaca dalam penerbangan sangat besar. Cuaca mempunyai dua peran. Disatu sisi informasi cuaca mempunyai andil dalam peningkatan efisiensi dan efektivitas kegiatan dan keselamatan penerbangan, di sisi lain mempunyai potensi yang membahayakan sampai dapat menimbulkan kematian. Namun demikian tidak mudah untuk mengatakan cuaca yang mana yang membahayakan. Faktor cuaca sendiri dipengaruhi oleh beberapa elemen Antara lain : 1. Arah angin 2. Kecepatan Angin 3. Suhu 4. Tekanan Udara 5. Visibility tetapi dampak cuaca bergantung pula kepada faktor lain. Kusunya dalam penerbangan, selain kadar atau intensitas unsur cuaca, jenis pesawat, kondisi pesawat, dan posisi penerbangan juga merupakan faktor yang menentukan sensitifitasnya terhadap cuaca. Misalnya angin silang (cross wind) di landasan terbang yang berkecepatan 20 knot, mungkin dapat menimbulkan bahaya bagi pesawat kecil yang melakukan pendaratan, tetapi tidak ada pengaruhnya bagi pesawat terbang besar dan 2 modern. Dari posisi terbang, angin 20 knot pada paras penerbangan 30.000 kaki tidak terasakan bagi pesawat besar yang terbang pada paras tersebut, tetapi bila terjadi pada paras rendah sangat berarti bagi pesawat terbang kecil yang terbang pada paras tersebut. Dengan demikian kriteria membahayakan bergantung juga kepada macam penerbangan. Namun demikian karena setiap pesawat terbang mempunyai tiga kegiatan yang sama, yakni tinggal landas, terbang, dan mendarat maka penggunaan arti bahaya dalam penerbangan umumnya diterapkan untuk masing-masing kegiatan tersebut [2]. Penundaan penerbangan terjadi karena cuaca yang buruk sehingga akan berakibat kepada mesin pesawat. Akibat dari penundaan penerbangan tersebut banyak penumpang yang menumpuk di bandara dan mereka kesal karena merasa tidak mendapat informasi yang memadai[3]. Untuk itu dalam rangka memenuhi kebutuhan informasi para penumpang pihak Bandara Ahmad Yani Semarang, dibuatlah analisis cuaca yang dapat memberikan informasi penundaan penerbangan. Tujuannya adalah pihak maskapai lebih mudah dan cepat mengambil keputusan untuk melakukan delay penerbangan. Oleh karena diperlukan data cuaca dari pihak BMKG Penerbangan Ahmad Yani Semarang untuk melakukan analisis delay penerbangan. Analisis tersebut dapat menggunakan metode Klasifikasi dengan algoritma C4.5. Dengan data yang sudah di olah menggunakan algoritma C4.5 diharapkan dapat mempermudah pihak Bandara maupun Maskapai Penerbangan dalam mengambil keputusan untuk melakukan delay penerbangan yang di akibatkan oleh cuaca yang membahayakan keselamatan penumpang. Dari masalah yang sudah dibahas sebelumnya, maka penulis melakukan penelitian dengan judul “Analisi Delay Penerbangn Akibat Cuaca di Bandara Ahmad Yani Semarang dengan Algoritma C.4.5”. Algoritma C 4.5 umumnya digunakan untuk melakukan klasifikasi. Ada beberapa algoritma yang pada umumnya digunakan dalam klasifikas 3 selain C 4.5 dan ID3 terdapat juga algoritma K-Nearet Neighbor [4]. Kelebihan Algoritma C.4.5 antara lain : 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 sample 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 meningkatkan kualitas keputusan yang dihasilkan jika dibandingkan ketika menggunakan metode penghitungan satu tahap yang lebih konvensional. 4. Mampu mengolah data nominal dan kontinyu. 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 criteria yang jumlahnya lebih sedikit pada setiap node internal tanpa banyak mengurangi kualitas keputusan yang dihasilkan. 1.2 Rumusan Masalah Berdasarkan uraian latar belakang yang telah dikemukakan sebelumnya, maka rumusan masalah dapat dituliskan sebagai berikut: 1. Bagaimana perhitungan akurasi ketepatan delay penerbangan yang diakibatkan oleh cuaca. 2. Bagaimana penerapan metode klasifikasi menggunakan algoritma C.4.5 untuk delay penerbangan. 4 1.3 Batasan Masalah Untuk menghindari penyimpangan dari judul dan tujuan yang sebenarnya serta keterbatasan pengetahuan yang dimiliki penulis, maka penulis membuat ruang lingkup dan batasan masalah yaitu : 1. Pada penelitian ini peneliti akan menggunakan metode klasifikasi algoritma C.4.5 untuk menentukan delay terhadap penerbangan. 2. Data yang digunakan untuk pengamatan adalah data cuaca tahun 2013 dari BMKG Penerbangan Bandara Ahmad Yani Semarang dan data delay penerbangan dari PT. ANGKASAPURA I (persero). 3. Menampilkan hasil prediksi delay penerbangan. 1.4 Tujuan Penelitian Berdasarkan rumusan masalah diatas, maka tujuan dari penelitian adalah: a. Menganalisis hasil dari bentuk pohon keputusan hasil perhitungan dengan Algoritma C4.5. b. Memprediksi delay penerbangan akibat cuaca di Bandara Ahmad Yani Semarang dengan Algoritma C4.5. 1.5 Manfaat penelitian Manfaat yang diharapkan dapat diperoleh dari penelitian ini adalah sebagai berikut: 1. Bagi Penulis a. Sebagai sarana untuk menerapkan ilmu yang telah diperoleh selama berada di perkuliahan terutama tentang penggolahan data dalam mesin learning. b. Menambah pemahaman dan pengalaman dalam menggunakan metode Prediksi dengan Algoritma C.4.5 dalam memprediksi delay penerbangan. 5 c. Untuk memenuhi persyaratan formal dalam menyelesaikan program studi Teknik Informatika S-1 pada Fakultas Ilmu Komputer Universitas Dian Nuswantoro. 2. Bagi Masyarakat Dengan adanya prediksi delay penerbangan di Bandara Ahmad Yani diharapkan bisa memberikan informasi lebih awal kepada masyarakat yang menggunakan jasa penerbangan, sehingga masyarakat mengetahui sebab penundaan penerbangan. 3. Bagi Bandara Ahmad Yani Membantu dalam pengolahan data cuaca secara cepat dan akurat serta dapat mengetahui apakah penerbangan akan berprediksi delay atau tidak di Bandara Ahmad Yani Semarang. 4. Bagi Akademik a. Sebagai tolak ukur sejauh mana pemahaman dan penguasaan materi terhadap teori yang diajukan. b. Sebagai bahan evaluasi akademik untuk meningkatkan mutu pendidikan. c. Sebagai bahan referensi bagi mereka yang mengadakan penelitian untuk dikembangkan lebih lanjut dengan permasalahan yang berbeda. 5. Bagi Pembaca Sebagai bahan pengetahuan, pembanding dan acuan dalam menghadapi permasalahan atau kasus penelitian yang sama. 6 BAB II TINJAUAN PUSTAKA 2.1 Penelitian Terkait Penelitian yang terkait dalam penelitian ini adalah sebagai berikut : Tabel 2.1 : Penelitian Terkait No 1 2 3 Peneliti Aa Zezen Zaenal Abidin Vina Mandasari Risty Jayanti Yuniar Tahun Judul Metode Hasil C4.5 Algoritma C 4.5 dapat digunakan untuk menentukan tingkat bahaya tsunami di suatu daerah pesisir pantai mengacu pada kasus tingkat bahaya tsunami yang sudah ada di wilayah pesisir pantai Kabupaten Sukabumi. C4.5 Adanya hubungan sebabakibat yang didapatkan dari rules dataset kepuasan konsumen memberikan informasi baru kepada manajemen restoran cepat saji bahwa atribut rasa, perilaku staf, suasana restoran dan harga berkaitan erat dalam menciptakan rasa puas untuk konsumen. 2011 Implementasi Algoritma C 4.5 untuk Menentukan Tingkat Bahaya Tsunami 2011 Analisis Kepuasan Konsumen Terhadap Restoran Cepat Saji Melalui Pendekatan Data Mining: Studi Kasus XYZ 2013 Perbaikan Metode Prakiraan Cuaca Algoritm Bandara a Neural Abdulrahman Network Saleh dengan Backpro Algoritma pagation Neural Proses training menghasilkan arsitektur jaringan terbaik dengan hidden layer 5 dan nilai learning rate 0,9. Nilai MSE sebesar 0,009946 didapatkan pada epoch ke-13. Jaringan dirancang dengan menggunakan tiga 7 Network Backpropagat ion 4 5 6 Nur Endah Sari Liliana Swastina Ilham Achmadi Yorinda 2011 Prediksi Cuaca Berbasis Logika Fuzzy untuk Rekomendasi Penerbangan di Bandar Udara Raja Haji Fisabilillah Logik Fuzzy model prediksi TakagiSugeno 2013 Penerapan Algoritma C4.5 Untuk Penentuan Jurusan Mahasiswa C4.5 Perancangan Sistem Prediksi Cuaca Berbasis Logika Fuzzy Untuk Kebutuhan Penerbangan Di Bandara Juanda Surabaya logika fuzzy variabel input yaitu suhu udara, kelembaban udara, tekanan udara dan dua variabel output yaitu kecepatan angin dan curah hujan. Untuk prediksi angin menggunakan 2 masukan yaitu suhu udara dan tekanan udara dengan keluaran berupa kecepatan angin. Untuk nilai keakuratan prediksi hujan adalah 61.73%, kecepatan angin 50.5%, jarak pandang 87.5%, angin buritan 88.6%, rekomendasi penerbangan berdasarkan jarak pandang 96.2%, rekomendasi penerbangan berdasarkan angin buritan 88.6%. Algoritma Decision Tree C4.5 akurat diterapkan untuk penentuan kesesuaian jurusan mahasiswa dengan tingkat keakuratan 93,31 % dan akurasi rekomendasi jurusan sebesar 82,64%. nilai keakuratan prediksi curah hujan adalah 74.79%, jarak pandang 85.43%, kelayakan variabel jarak pandang 98.31%,Untuk nilai keakuratan prediksi kecepatan angin adalah 66.58%, angin buritan 95.57%, dan kelayakan variabel angin buritan 95.57% 8 2.2 Landasan Teori 3.1.1 Algoritma Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar Menurut para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. AlKhuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma [6]. 2.1.2 Data Mining Data mining merupakan analisis dari peninjauan kumpulan data untuk menemukan hubungan yang tidak diduga dan meringkas data dengan cara yang berbeda dengan sebelumnya, yang dapat dipahami dan bermanfaat bagi pemilik data (Larose, 2005). Beberapa faktor yang mendorong kemajuan data mining antara lain : 9 1. Pertumbuhan yang cepat dalam kumpulan data. 2. Penyimpanan data dalam data warehouse, sehingga seluruh perusahaan memiliki akses ke dalam database yang andal. 3. Adanya peningkatan akses kedalam data melalui navigasi web dan internet. 4. Tekanan kompetisi bisnis untuk meningkatkan penguasaan pasar dalam globalisasi ekonomi. 5. Perkembangan teknologi perangkat lunak untuk data mining (ketersediaan teknologi). 6. Perkembangan kapasitas media penyimpanan. Menurut Larose data mining dibagi menjadi beberapa kelompok berdasarkan tugas yang dapat di lakukan, salah satunya yaitu prediction. Prediksi hampir sama dengan klasifikasi dan estimasi, kecuali bahwa dalam prediksi nilai dari hasil akan ada di masa mendatang. Contoh prediksi dalam bisnis dan penelitian adalah: a. Prediksi harga beras dalam tiga bulan yang akan datang. b. Prediksi presentase kenaikan kecelakaan lalu lintas tahun depan jika batas bawah kecepatan dinaikan. Beberapa metode dan teknik yang digunakan dalam klasifikasi dan estimasi dapat pula digunakan (untuk keadaan yang tepat) untuk prediksi. 2.1.3 Pengertian Pohon Keputusan (Decision Tree) Pohon dalam analisis pemecahan masalah pengambilan keputusan adalah pemetaan mengenai alternatif-alternatif pemecahan masalah yang dapat diambil dari masalah tersebut. Pohon tersebut juga memperlihatkan faktor-faktor kemungkinan/probablitas yang akan mempengaruhi alternatif - alternatif keputusan tersebut, disertai dengan estimasi hasil akhir yang akan didapat bila mengambil alternatif keputusan tersebut. 10 Decision tree merupakan salah satu teknik klasifikasi yang paling populer dan paling banyak digunakan dalam data mining dan machine learning . Decision tree terdiri dari node internal yang menggambarkan data yang diuji, cabang menggambarkan nilai keluaran dari data yang diuji, sedangkan leaf node menggambarkan distribusi kelas dari data yang digunakan. Decision tree digunakan untuk mengklasifikasikan suatu sampel data yang tidak dikenal Dalam decision tree tidak menggunakan vector jarak untuk mengklasifikasikan obyek. Seringkali data observasi mempunyai atribut-atribut yang bernilai nominal. Seperti yang diilustrasikan pada gambar 2.6, misalkan obyeknya adalah sekumpulan buahbuahan yang bisa dibedakan berdasarkan atribut bentuk, warna, ukuran dan rasa. Bentuk, warna, ukuran dan rasa adalah besaran nominal, yaitu bersifat kategoris dan tiap nilai tidak bisa dijumlahkan atau dikurangkan. Dalam atribut warna ada beberapa nilai yang mungkin yaitu hijau, kuning, merah. Dalam atribut ukuran ada nilai besar, sedang dan kecil. Dengan nilai-nilai atribut ini, kemudian dibuat decision tree untuk menentukan suatu obyek termasuk jenis buah apa jika nilai tiap-tiap atribut diberikan (Santoso, 2007). 2.1.4 Pada decision tree terdapat 3 jenis node, yaitu: a. Root Node, merupakan node paling atas, pada node ini tidak ada input dan bisa tidak mempunyai output atau mempunyai output lebih dari satu. b. Internal Node , merupakan node percabangan, pada node ini hanya terdapat satu input dan mempunyai output minimal dua. c. Leaf node atau terminal node , merupakan node akhir, pada node ini hanya terdapat satu input dan tidak mempunyai output. 11 Gambar 2.1 : Decision Tree Ada beberapa macam algoritma decision tree diantaranya CART dan C4.5. Beberapa isu utama dalam decision tree yang menjadi perhatian yaitu seberapa detail dalam mengembangkan decision tree, bagaimana mengatasi atribut yang bernilai continues, memilih ukuran yang cocok untuk penentuan atribut, menangani data training yang mempunyai data yang atributnya tidak mempunyai nilai, memperbaiki efisiensi perhitungan (Santoso, 2007). Decision tree sesuai digunakan untuk kasus-kasus yang keluarannya bernilai diskrit. Walaupun banyak variasi model decision tree dengan tingkat kemampuan dan syarat yang berbeda, pada umumnya beberapa ciri yang cocok untuk diterapkannya decision tree adalah sebagai berikut: 1. Data dinyatakan dengan pasangan atribut dan nilainya 2. Label/keluaran data biasanya bernilai diskrit 3. Data mempunyai missing value (nilai dari suatu atribut tidak diketahui) Dengan cara ini akan mudah mengelompokkan obyek ke dalam beberapa kelompok. Untuk membuat decision tree perlu memperhatikan hal-hal berikut ini : 12 1. Atribut mana yang akan dipilih untuk pemisahan obyek 2. Urutan atribut mana yang akan dipilih terlebih dahulu 4. Struktur tree 5. Kriteria pemberhentian 6. Pruning 2.1.5 Manfaat Pohon Keputusan Pohon keputusan adalah salah satu metode klasifikasi yang paling populer karena mudah untuk diinterpretasi oleh manusia. Pohon keputusan adalah model prediksi menggunakan struktur pohon atau struktur berhirarki. 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. Pohon Keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel 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. 13 2.1.6 Algoritma C4.5 C4.5 adalah algoritma yang sudah banyak dikenal dan digunakan untuk klasifikasi data yang memiliki atribut-atribut numerik dan kategorial. Hasil dari proses klasifikasi yang berupa aturan-aturan dapat digunakan untuk memprediksi nilai atribut bertipe diskret dari record yang baru. Algortima C4.5 sendiri merupakan pengembangan dari algortima ID3, dimana pengmabangan dilakukan dalam hal : bisa mengatasi missing data, bisa mengatasi data kontiyu, pruning. Secara umum algoritma C4.5 untuk membangun pohon keputusan adalah sebagai berikut: 1. Pilih atribut sebagai akar. 2. Buat cabang untuk tiap-tiap nilai. 3. Bagi kasus dalam cabang. 4. Ulangi proses untuk setiap cabang sampai semua kasus pada cabang memiliki kelas yang sama. Dalam algortima C4.5 digunakan information gain untuk memilih atribut yang akan digunakan untuk pemisahan obyek. Atribut yang mempunyai information gain paling tinggi dibanding atribut yang lain relatif terhadap set y dalam suati data, dipilih untuk melakukan pemecahan. Pada algoritma ini, pemilihan atribut mana yang akan menempati suatu simpul dilakukan dengan melakukan perhitungan entropi informasi (information entropy) dan mencari nilai yang paling minimum. Pemilihan atribut pada algoritma ini berdasarkan pada asumsi bahwa kompleksitas yang dimiliki oleh pohon keputusan sangat berkaitan erat dengan jumlah informasi yang diberikan oleh nilai-nilai atributnya. Dengan kata lain, teknik heuristik berbasiskan informasi ini memilih atribut yang memberikan 14 perolehan informasi terbesar (highest information gain) dalam menghasilkan subpohon (subtree) untuk mengklasifikasikan sampel. Gain(S,A) = Entropy(S) – * Entropy (Si) (1) Keterangan : S : himpunan kasus A : atribut n : jumlah partisi atribut A |Si| : jumlah kasus pada partisi ke-i |S| : jumlah kasus dalam S Sementara itu, penghitungan nilai entropi dapat dilihat pada persamaan berikut : (2) Entropy(S) = Keterangan : S : himpunan Kasus A : fitur n : jumlah partisi S pi : proporsi dari Si terhadap S Langkah – langkah diatas digunakan untuk menangani atribut nominal. Perhitungan dengan metode Entropy Based Discretization di gunakan untuk menangani atribut yang bersifat kontinu. Metode ini menggunakan entropy sebagian dari proses pemisahan selang data selang kontinu[10]. Untuk menemukan nilai pemisah yang terbaik maka harus dihitung nilai split point berikut tatacaranya : 1. Urutkan data subset dari yang terkecil sampai yang terbesar. 2. Hitung rataan per 2 data yang bersebelahan yang digunakan untuk split point dengan formula 2.3. Setiap nilai rata-rata merupakan titik nilai yang mungkin menjadi titik 15 perpecahan (split_point) untuk memilih titik terbaik, data akan dipecah menurut titik yang diuji. 3. Hitung nilai informasi dari kedua sample(S) dengan formula 2.5 kemudian T(split pont) yang dimiliki nilai informasi terkecil diambil sebagai batas node. (3) Split_point = (4) E(S,T) = Ent( ) + Ent( ) (5) Nilai informasi = Gain(A, ) - E(S,T) 2.1.7 Definisi Cross-Industry Standard Process for Data Mining (CRISPDM) Dalam bukunya [4], Larose menjelaskan fase siklus dari Data Mining. Ada 6 (enam) fase yang siklus yang berurutan yaitu: Business Understanding Deployment Evaluation Data Understanding Data Preparation Modeling Gambar 2.2 Proses Data Mining menurut CRISP-DM 16 Dari enam fase CRISP-DM diatas menurut Larose adalah sebagai berikut: 1. Fase Pemahaman Bisnis (Business Understanding Phase) a. Menentukan tujuan proyek data mining dan kebutuhan detail tentang manfaat untuk bisnis maupun penelitian. b. Menerjemahkan tujuan dan batasan proyek dari permasalahan. c. Persiapan langkah awal untuk mencapai tujuan proyek. 2. Fase Pemahaman Data (Data Understanding Phase) a. Mengumpulkan data dari sumber data. b. Menggunakan analisis data untuk mengenali lebih lanjut data dan pencarian pengetahuan awal. c. Evaluasi kualitas dan integritas data. d. Pilih sebagian kecil group data yang mungkin mengandung pola (pattern) dari permasalahan. 3. Fase Pengolahan Data (Data Preparation Phase) a. Persiapan dataset yang akan digunakan. Pada tahap ini dilakukan pembersihan atribut data yang tidak diperlukan dalam fase permodelan. b. Pilih kasus dan variabel yang ingin dianalisis sesuai dengan tujuan proyek. c. Transformasi variabel jika dibutuhkan. 4. Fase Permodelan (Modeling Phase) a. Pemilihan dan penerapan teknik permodelan yang sesuai dengan kasus yang ingin dianalisis. 17 b. Kalibrasi model untuk mengoptimalkan hasil. c. Perlu diperhatikan bahwa beberapa teknik mungkin untuk digunakan pada permasalahan data mining yang sama. d. Jika diperlukan, proses dapat kembali ke fase pengolahan data untuk menjadikan data ke dalam bentuk yang sesuai dengan spesifikasi kebutuhan teknik data mining tertentu. 5. Fase Evaluasi (Evaluation Phase) a. Mengevaluasi satu atau lebih model yang digunakan dalam fase permodelan untuk mendapatkan kualitas dan efektivitas sebelum disebarkan untuk digunakan. b. Menetapkan apakah terdapat model yang memenuhi tujuan pada fase awal. c. Menentukan apakah terdapat permasalahan penting dari bisnis atau penelitian yang tidak tertangani dengan baik. d. Mengambil keputusan berkaitan dengan penggunaan hasil model dari data mining. 6. Fase Penyebaran (Deployment Phase) a. menggunakan model yang dihasilkan. b. Conqqqtoh sederhana penyebaran: Pembuatan laporan. Contoh kompleks penyebaran: Penerapan proses data mining secara paralel pada departemen lain. 2.1.8 Confusion matrix Confusion Matrix merupakan sebuah metode untuk evaluasi yang menggunakan tabel matrix seperti pada tabel 1. Pada tabel 1 dapat dilihat bahwa jika dataset terdiri dari dua kelas, kelas yang satu dianggap sebagai positif dan yang lainnya negatif (Bramer, 2007). Evaluasi dengan confusion matrix menghasilkan nilai accuracy, 18 precision, dan recall. Nilai accuracy merupakan persentase jumlah record data yang diklasifikasikan secara benar oleh sebuah algoritma dapat membuat klasifikasi setelah dilakukan pengujian pada hasil klasifikasi tersebut (Han & Kamber, 2006). Nilai precision atau dikenal juga dengan nama confidence merupakan proporsi jumlah kasus yang diprediksi positif yang juga positif benar pada data yang sebenarnya. Sedangkan nilai dari recall atau sensitivity merupakan proporsi jumlah kasus positif yang sebenarnya yang diprediksi positif secara benar (Powers, 2011). Tabel 2.2 Model Confusion Matrix Sumber Han & Kamber (2006) Classified as Correct classification + True + True positives False positives Positive adalah False negatives True negatif jumlah record positif yang diklasifikasikan sebagai positif, false positive adalah jumlah record negative yang diklasifikasikan sebagai positif, false negative adalah jumlah record positif yang diklasifikasikan sebagai negative, true negative adalah jumlah record negative yang diklasifikasikan sebagai negatif, kemudian masukkan data uji. Setelah data uji dimasukkan ke dalam confusion matrix, hitung nilai-nilai yang telah dimasukkan tersebut untuk dihitung jumlah sensitivity (recall), Specifity, precision, dan accuracy. Sensitivity digunakan untuk membandingkan jumlah t_pos terhadap jumlah record yang positif sedangkan Specifity, precision adalah perbandingan jumlah t_neg terhadap jumlah record yang negatif. Untuk menghitung digunakan persamaan dibawah ini [11]. 19 Sencitivity = (6) Specifity = (7) Precision = (8) Accuracy = (9) Keterangan : t_pos : jumlah true positif t_neg : jumlah true negatif p : jumlah record positif n : jumlah tupel negatif f_pos : jumlah false positif f_neg : jumlah false negatif Hasil menunjukkan evaluasi tingkat confusion akurasi hasil matrix dalam klasifikasi klasifikasi seperti yang ditunjukkan dalam tabel 2. 2.1.9 Kurva ROC Kurva ROC menunjukkan akurasi dan membandingkan klasifikasi secara visual. ROC mengekspresikan confusion matrix. ROC adalah grafik dua dimensi dengan false positives sebagai garis horizontal dan treua positive sebagai garis vertical(Vercellis, 2009). Hasil perhitungan divisualisasikan dengan kurva ROC (Receiver Operating Characteristic) atau AUC (Area Under Curve). ROC memliki tingkat nilai diagnose yaitu : 20 a. Akurasi bernilai 0.90 – 1.00 = excellent classification b. Akurasi bernilai 0.80 – 0.90 = good classification c. Akurasi bernilai 0.70 – 0.80 = fair classification d. Akurasi bernilai 0.60 – 0.70 = poor classification e. Akurasi bernilai 0.50 – 0.60 = failure Hasil yang didapat dari pengolahan ROC untuk algoritma C4.5 dengan menggunakan data training sebesar 0.660 dapat dilihat pada gambar 2.3 dengan tingkat diagnose poor classification. Gambar 2.3 Contoh Evaluasi dengan Kurva ROC/AUC 2.1.10 Iklim dan Cuaca Meteorologi adalah ilmu yang mempelajari atmosfer bumi khususnya untuk keperluan prakiraan cuaca. Cuaca adalah keadaan / fenomena fisik dari atmosfer (yang berhubungan dengan Suhu, Tekanan Udara, Angin, Awan, 21 Kelembaban udara, Radiasi, Jarak Pandang/Visibility, dsb) di suatu tempat dan pada waktu tertentu. Iklim adalah aspek dari cuaca di suatu tempat dan pada waktu tertentu dalam jangka panjang [5]. Unsur - unsur yang mempangaruhi cuaca atau iklim 1. Radiasi matahari Radiasi matahari menyebabkan adanya panas di permukaan bumi. 2. Temperatur udara Faktor yang mempengaruhi tinggi rendahnya suhu udara : a. Sudut datangsinar matahari. b. Cerah tidaknya cuaca. c. Lama penyinaran matahari. d. Letak lintang. e. Ketinggian tempat. 3. Tekanan Udara a. Semakin tinggi suatu tempat, semakin rendah kerapatan udaranya sehingga tekanan udara semakin ke atas menjadi semakin rendah. b. Alat untuk mengukur tekanan udara disebut Barometer. b. Besarnya tekanan udara di permukaan bumi adalah satu atmosfer atau 76 cmHg. 4. Angin Angin adalah udara yang bergerak, Angin terjadi sebagai akibat adanya perbedaan tekanan udara. Udara bergerak dari daerah bertekanan maksimum ke daerah yang bertekanan minimum. Gerakan secara vertikal dinamakan Konveksi, gerakan udara secara horizontal dinamakan Adveksi, sedangkan udara yang tidak teratur disebut dengan Turbulensi. Alat untuk mengukur kecepatan angin adalah Anemometer. 22 Jenis - jenis angin antara lain: a. Angin tetap - Angin barat adalah angin yang bertiup dari daerah sub tropik ke kutub sampai pada lintang 60 derajat, baik lintang utara maupun lintang selatan. - Angin timur adalah angin yang berasal dari daerah timur dan terdapat pada batas kutub. - Angin pasat adalah angin yang berhembus terus menerus dari daerah maksimum sub tropik selatan dan utara menuju ke arah khatulistiwa. - Angin anti pasat adalah angin yang arahnya berlawanan dengan angin pasat. b. Angin periodik Angin muson adalah angin yang setiap setengah tahun bertiupnya berganti arah. - Angin muson laut yakni, angin yang terjadi pada musim panas. - Angin muson darat yakni, angin yang terjadi pada musim dingin. - Angin darat adalah angin yang berhembus dari darat ke laut. - Angin laut adalah angin yang berhembus dari laut ke darat. - Angin gunung adalah angin yang bertiup dari lereng gunung ke lembah ( terjadi pada malam hari). - Angin lembah adalah angin yang bertiup dari lembah ke gunung (terjadi pada siang hari). c. Angin lokal - Angin siklon adalah angin di daerah depresi yang memiliki barometris minimum dan dikelilingi barometris maksimum. 23 - Angin antisiklon adalah angin di daerah kompresi yang memiliki barometris maksimum dan dikelilingi barometris minimum. - Angin fohn adalah angin yang bersifat panas dan kering yang turun dari daerah pegunungan. d. Kelembapan udara Kelembapan udara menunjukkan banyaknya kandungan uap air di dalam udara. Alat yang digunaka nuntuk mengukur kelembapan udara adalah Higrometer atau Psychrometer Kelembapan udara dinyatakan dalam bentuk kelembapan relatif dan kelembapan mutlak. Kelembapan relatif adalah perbandingan antara jumlah uap air yang dikandung udara dan jumlah air maksimum (jenuh) di udara pada temperatur dan tekanan udara yang sama.Kelembapan relative dinyatakan dalam persen (%). RH = (e / es) x 100% (4) Keterangan : RH : Kelembapan relative e : kandungan uap air yang ada es : udara dalam kondisi jenuh Kelembapan mutlak adalah jumlah uap air per satuan volume udara yang dinyatakan dalam gr/m3 udara. 5. Awan Terjadi akibat adanya proses kondensasi dari uap air. Dengan demikian, awan merupakan titik - titik air yang melayang layang di atmosfer. Jenis – jenis awan : a. Berdasar bentuknya. - Awan cair, yaitu awan yang terbentuk dari bahan cair (air). 24 - Awan es (salju), yaitu awan yang terbentuk dari bahan es atau salju. - Awan campuran, yaitu awan yang terbentuk dari bahan air dan es (salju). b. Berdasar ketinggiannya - Awan tinggi, dengan ketinggian > 7.000 m. - Awan sedang, dengan ketinggian 2.000 – 7.000 m, - Awan rendah, dengan ketinggian < 2.000 m, c. Berdasar morfologinya, - Awan sirus yaitu awan yang berwarna putih, tipis, dan pada siang hari kelihatan mengkilat karena banyak mengandung kristal es. - Awan stratus, yaitu awan yang berlapis - lapis seperti kabut tipis. - Awan kumulus, yaitu awan yang berkembang secara vertikal, berbentuk kubah - kubah menyerupai bunga kol dengan lengkungan bulat berwarna putih cemerlang jika terkena sinar matahari. - Awan nimbus, yaitu awan yang berwarna gelap, kelihatan basah dan sering menyebabkan terjadinya hujan 6. Hujan Hujan dalah peristiwa jatuhnya titik - titik air dari atmosfer ke permukaan bumi secara alami. Alat untuk mengukur besarnya curah hujan adalah Ombrometer. Jenis -jenis hujan : a. Berdasar bentuknya - Hujan air (rain). - Hujan salju (snow). - Hujan es (hail stone). 25 b. Berdasar proses terjadinya - Hujan orografis yaitu hujan yang terjadi di daerah pegunungan. - Hujan konveksi yaitu hujan yang terjadi karena pengaruh arus konveksi. - Hujan frontal yaitu hujan yang terjadi di daerah subtropis dan terjadi karena adanya pertemuan antara massa udara panas dan dingin. - Hujan konvergen yaitu hujan yang terjadi karena adanya pengumpulan awan yang disebabkan oleh angin [7]. 2.1.11 Php PHP adalah singkatan dari Hypertext PreProcessors, PHP saat ini adalah bahasa pemrograman interpreter yang paling banyak digunakan saat ini dikarenakan bersifat open source dan juga paling banyak didukung oleh banyak web server. Kelahiran PHP bermula saat Ramus Lerdrof membuat sejumlah skrip Perl yang dapat mengamati siapa saja yang melihatlihat daftar riwayat hidupnya, yaitu tahun 1994. Tahun 1995, Ramus menciptakan PHP/FI versi 2, dimana versi tersebut dapat menempelkan kode terstruktur dalam tag HTML dan juga PHP dapat berkomunikasi dengan database. PHP dapat digunakan oleh banyak sistem operasi dari Windows, Linux maupun BSD. PHP umumnya diintegrasikan dengan aplikasi database yang juga open source seperti MySQL maupun PostgreSql, tapi bisa juga diintegrasikan dengan Microsoft SQL, Access maupun Oracle. Penulisan skrip PHP diapit oleh tag <?php ?>, sedangkan untuk menampilkan hasil tulisan menggunakan perintah echo “ ”; . Berikut adalah contoh penulisannya [13]: 26 <?php echo “Hello World ! ! !”; ?> 2.1.12 CSS (Cascading Style Sheets) Cascading Style Sheets merupakan salah satu bagian dari web desain yang berfungsi untuk mengatur tampilan yang ada pada halaman web. CSS didesain untuk memisahkan tampilan halaman dengan isi yang ditulis dengan bahasa HTML atau sejenisnya, sehingga akan mempermudah pengaturan jika terjadi perubahan halaman web. Cara penulisan CSS ada tiga macam : a. Inline Style Sheet Penulisan langsung pada tag HTML. <html> <head> <title>Inline</title> </head> <body> <p style=’color : red’> Hello World ! ! !</p> </body> </html> b. Internal Style Sheet Penulisan di dalam dokumen HTML dan ditulis menggunakan tag <style></style>. <html> <head> <title>Embedded</title> <style>p { color : white; }</style> </head> 27 <body> <p> Hello World ! ! !</p> </body> </html> c. Linked Style Sheet Penulisan pada halaman terpisah dari HTML.p { color : white; } -> ditulis pada halaman tersendiri, disimpan dan diberi nama misalnya style.css pada dokumen HTML : <html> <head> <title>Linked</title> <link href=”style.css” rel=”stylesheet” type=”text/css”> </head> <body> <p> Hello World ! ! !</p> </body> </html> 2.1.13 Selector dan Declaration CSS CSS terdiri dari dua bagian yaitu selector dan declaration. Selector terdiri dari tag, ID dan class. Declaration berfungsi untuk mendeskripsikan property dan value. Contohnya sebagai berikut : p { color : white; } keterangan : p merupakan selector, color merupakan property dan white merupakan value. Selector ada tiga macam yaitu : 28 1. Tag, setiap tag yang ada pada HTML bisa digunakan sebagai selector. 2. ID, diawali dengan tanda “#”, dapat digunakan untuk mendefinisikan header, footer dan content, ditambahkan “id” jia dipanggil pada dokumen HTML. Contoh : #judul { color : red; } <html> <head> <title>Linked</title> <link href=”style.css” rel=”stylesheet” type=”text/css”> </head> <body> <p id=”judul”> Hello World ! ! !</p> </body> </html> 3. Class, diawali dengan tanda titik dan ditambahkan “class” jika dipanggil pada dokumen HTML. Contoh : .isiteks { color : red; } <html> <head> <title>Linked</title> <link href=”style.css” rel=”stylesheet” type=”text/css”> </head> <body> <p class=”isiteks”>Hello World ! ! !</p> </body> </html> 29 2.3 Kerangka Pemikiran Gambar 2.3 : Kerangka Pemikiran 30 BAB III METODE PENELITIAN 3.1 Metode Pengumpulan Data Metode pengumpulan data sangat penting, karena dengan metode pengumpulan data akan menentukan kualitas dan keakuratan data yang akan digunakan selama proses penelitian. Dengan berbagai metode pengumpulan data, peneliti menggunakan metode Studi Pustaka (Library Research Method), Metode tersebut merupakan metode yang dilakukan untuk mendapatkan data hasil cuaca bandara Ahmad Yani Semarang tahun 2013 dan mencari informasi mengenai pengolahan data cuaca, baik dari buku, jurnal, laporan penelitian, algoritma C 4.5. 3.1.1 Jenis Data Jenis data yang digunakan dalam penelitian ini adalah data kuantitatif. Data kuantitatif adalah data yang berupa angka. Data yang digunakan dalam penelitian ini adalah data cuaca BMKG Jawa Tengah di Bandara Ahmad Yani Semarang tahun 2013. Sumber Data Sumber data yang digunakan adalah data primer dan data sekunder. a. Data Primer Yaitu data yang diperoleh secara langsung dari sumber data tersebut yang berhubungan dengan penelitian yang dilakukan, yaitu data cuaca Bandara Ahmad Yani Semarang yang diperoleh dari pengamatan data di BMKG Penerbangan Bandara Ahmad Yani Semarang. b. Data Sekunder 31 Yaitu data yang diperoleh dari jurnal ilmiah, publikasi, buku, laporan penelitian dari instansi manapun yang bersifat informasi dan kutipan serta dari internet sebagai sumber yang menunjang landasan teori. 3.1.2 Teknik Pengumpulan Data Teknik pengumpulan data dalam penenlitian ini adalah teknik Studi Pustaka (Library Research Method). Merupakan metode yang dilakukan untuk mendapatkan data cuaca tahun 2013 di BMKG Penerbangan Bandara Ahmadyani Semarang dan mencari informasi mengenai pengolahan data cuaca, baik dari buku, jurnal, laporan penelitian, Algoritma C 4.5 dan Php untuk mengimplementasikany. 3.2 Teknik Analisis Data Didalam teknik analisis data terdapat Tahap analisis system adalah tahapan pengumpulan kebutuhan elemen – elemen pada pada tingkat perangkat lunak atau software. Untuk itu perangkat lunaka yang digunakan harus dapat terhubung atau berinteraksi dengan elemen – elemen yang akan diproses antara lain data set yang duji dan hardware. Langkah – langkah pada tahap analisis sistem adalah sebagai berikut: a. Identifikasi Informasi Identifikasi yang dibutuhkan adalah mengumpulkan data set hasil cuaca Bandara Ahmad Yani Semarang. Yang terdiri dari 5 data yaitu : Angin(arah angina, Kecepatan Angin), suhu, cuaca, tekanan, dan jarak pandang. b. Identifikasi Perangkat Lunak (Software) Perangkat lunak yang perlu digunakan untuk pembuatan sistem adalah: 1. Sistem Operasi Microsoft Windows 7 32-bit. 2. Xampp 3. Inkscape 32 4. Notepad++ 5. RapidMiner 5 c. Identifikasi Perangkat Keras (Hardware) Perangkat keras yang digunakan untuk pembuatan dan pengujian sistem adalah : 3.1 Laptop Samsung NP3004X, dengan kapasitas RAM 2GB DDR3 Intel Celeron Nvidia Optimus 512M. 3.2 Printer Epson L100. 3.3 Pengolahan Data Dalam penelitian ini, digunakan CRISP-DM dengan fase sebagai berikut : 1. Fase Pemahaman Bisnis (Business Understanding Phase) a. Penelitian ini memiliki tujuan bisnis menentukan aturan prediksi yang terbentuk dari data cuaca dan delay penerbangan si bandara Ahmad Yani Semarang. Sehingga dari hasil yang diperoleh melalui analisis aturan prediksi dapat bermanfaat bagi pihak bandara. b. Strategi awal yang akan digunakan adalah mencari dataset cuaca penerbangan di BMKG Penerbangan Bandara Ahmad Yani Semarang dan juga mencari dataset delay penerbangan dari pihak PT. ANGKASAPURA I (persero) untuk merancang software data mining. 2. Fase Pemahaman Data (Data Understanding Phase) Pengumpulan data primer dilakukan dengan mengambil data cuaca penerbangan dan data delay penerbangan secara langsung dari database BMKG Penerbangan Ahmad Yani Semarang, dan PT. ANGKASAPURA I (persero). 33 3. Fase Pengolahan Data (Data Preparation Phase) Berikut merupakan cara pengolahan data cuaca dan delya pesawat yang di dapat dari BMKG Bandara Ahmad Yani Semarang dan PT. ANGKASAPURA I (persero). Tabel 3.1 Data Delay Pesawat Akibat Cuaca No. Arah Kecepatan Angin Angin Suhu Tekanan Udara 1. 2. 350 330 10 18 27,6 27,1 1008,4 1009,4 3. 4. 330 320 13 16 26,9 27,5 1008,3 1006,7 5. 6. 7. 8. 9. 10. 11 12 13 14 15 16 17 18 330 270 350 310 300 310 300 300 330 300 320 300 300 320 17 14 11 14 10 18 22 23 15 17 14 16 11 18 27,7 27,7 26,8 27,3 27,7 28,4 28,4 28,6 26,3 26,9 25,4 26,1 28,1 27,7 1006,8 1007,5 1007,3 1006,9 1006,2 1005,7 1007,5 1008,7 1008,7 1009,8 1010,8 1010,3 1009,6 1010,2 320 310 17 15 27,2 26,8 1010 1010,2 19 20 Visibility Cuaca 5000 RA VCTS 5000 TS RA TS RA 3000 VCTS 3000 TS RA TS RA 5000 VCTS 6000 TS RA 2000 TS RA 3000 TS RA 6000 RA 2600 RA VCTS 4000 RA 3000 TS RA 3000 TS RA 1000 TS RA 1000 RA 4000 RA 6000 RA 5000 RA VCTS TS RA 3000 VCTS 5000 SN Keterangan TIDAK TIDAK TIDAK DELAY TIDAK TIDAK DELAY TIDAK TIDAK DELAY TIDAK TIDAK TIDAK DELAY DELAY TIDAK TIDAK TIDAK DELAY TIDAK Langkah pertama cari split point, dikarenakan data cuaca berbentuk numeric dengan rumus berikut. Split_point = Split_point = = 285 34 Pertama urutkan data Arah Angin, Kecepatan Angin, Suhu, Tekanan Udara dan Visibility dari data terkecil hingga terbesar, dan hilangkan data yang sama, kemudian gunakan rumus diatas sehingga menjadi seperti table 3.2. Tabel 3.2 Data Hasil Split Point Arah Kecepatan Suhu 270 300 310 320 330 350 10 11 13 14 15 16 17 18 22 23 25,4 26,1 26,3 26,8 26,9 27,1 27,2 27,3 27,5 27,6 27,7 28,1 28,4 28,6 1005,7 285 300 315 340 340 10,5 12 13,5 15,5 16,5 17,5 22,5 22.5 25,75 26,15 26,55 27 27,125 27,25 27,55 27,725 27,9 28,5 28,5 1005,95 1006,35 35 Tekanan Udara Visibility 4. 1006,2 1006,7 1006,8 1006,9 1007,3 1007,5 1008,3 1008,4 1008,7 1009,4 1009,6 1009,8 1010 1010,2 1010,3 1010,8 1006,75 1007,1 1007,5 1007,9 1008,55 1009,025 1009,5 1009,9 1010,075 1010,25 1010,8 1000 2000 2600 3000 4000 5000 6000 1010,8 1500 2150 2800 4500 5250 6000 Fase Permodelan (Modeling Phase) Dari fase sebelumnya data preparation, setelah data diolah sesuai kebutuhkan maka data tersebut bisa dimodelkan. Model yang digunakan dalam penelitian ini adalah model C4.5. Pada algoritma C4.5 harus menentukan jumlah Entropy total. Hasil dari perhitungan digunakan untuk menentukan Gain dari masing-masing atribut. Entropy(S) = Entropy(total) = ( Entropy(total) = ( Entropy(total) = 0,8812909 ) ( )) ( ( ) ( )) 36 Gain(S,A) = Entropy(S) – * Entropy (Si) Gain(Total,Arah) = Entropy(total) – ( * Entropy(arah1) + * Entropy(arah2)) Gain(Total,Arah) = 0,8812909 – (( ) ( )) Gain(Total,Arah) = 0,014126238 Ulangi langkah tersebut untuk menghitung entropy dan Gain dari Kecepatan Angin, Suhu, Tekanan,Visibility, dan Cuaca. Sehingga mendapatkan hasil seperti table berikut. Tabel 3.3 Data Hasil Entropy dan Gain Pada Node 1 Jml kasus(S) 20 total arah Tidak(S1) Delay(S2) 14 6 Entropy 0,8812909 Gain 0,014126238 >340 <=340 2 18 1 13 1 5 1 0,85240518 kecepatan 0,026534328 >22,5 <=22,5 1 19 1 13 0 6 0 0,89974376 suhu 0,026534328 >28,5 <=28,5 1 19 1 13 0 6 0 0,89974376 Tekanan 0 >1010,8 <=1010,8 0 20 0 14 0 6 0 0,8812909 Visibility 0,085123625 >5250 <=5250 3 17 3 11 0 6 0 0,93666738 cuaca 0,043546524 RA VCTS TS RA 3 8 2 5 1 3 0,91829583 0,954434 37 TS RA VCTS RA SN 3 5 1 2 4 1 1 1 0 0,91829583 0,72192809 0 Dari table 3.3 diketahui Gain tertinggi adalah Visibility, sehingga Visibility merupakan Node pertama untuk membentuk cabang. Untuk membentuk cabang selanjutnya ulangi langkah pencarian Entropy dan Gain dengan menjadikan Gain tertinggi sebagai patokan hingga terbentuk pohon keputusan di bawah. 5. Fase Evaluasi (Evaluation Phase) Fase Evaluasi dari model yang digunakan dilakukan dengan cara melakukan proses mining pada data set sampai memperoleh hasil. Dari fase sebelumnya digunakan 20 sampel data cuaca tahun 2013 untuk dimodelkan dengan algoritma C4.5 dengan nilai Entropy total 0,8812909. Sedangkan Gain terbesar 0,085123625 yang dimiliki oleh Visibility. Kemudian dilakukan perhitungan selanjutnya sampai semua atribut diketahui nilai Gain-nya. 6. Fase Penyebaran (Deployment Phase) Setelah melewati fase evaluasi, fase selanjutnya adalah fase penyebaran model sehingga dapat digunakan untuk keperluan manajement. Pada tahap ini rule yang diproses dapat dibentuk menjadi sebuah pohon keputusan, sehingga pohon keputusan menjadi seperti gambar 3.3. 38 Gambar 3.3 : Hasil Decision Tree 39 BAB IV HASIL DAN PEMBAHASAN 4.1 Validasi dan Evaluasi Tujuan utama dari penelitian ini adalah untuk mengetahui nilai akurasi dari algoritma C4.5 dari data delay penerbangan yang telah diperoleh dari BMKG Penerbangan Ahmad Yani Semarang dan PT. AngkasaPura I(persero). Data delay penerbangan yang diolah merupakan data tahun 2013 dan diambil recod perhari, sehingga jumlah 365 data. Dari data tersebut memiliki 6 atribut yaitu : 1. Arah Angin (°) 2. Kecepatan Angin (knot) 3. Suhu (°C) 4. Tekanan Udara (mb) 5. Visibility (m) 6. Cuaca Pada atribut cuaca memiliki 4 cuaca yaitu : 1. RA = Rain di bandara 2. TS = Thunder Storm di bandara 3. VCTS = Thunder Storm disekitar bandara 4. SN = Sunny di bandara 40 Tabel 4.1 Data set delay penerbangan di Bandara Ahmad Yani Semarang Tabel 4.1 adalah data delay penerbangan dari BMKG Bandara Ahmad Yani Semarang dan PT.AngkasapuraI(persero). Untuk mendapatkan hasil akurasi dan model yang akan dihasilkan oleh algoritma C4.5 sesuai perhitungan sebelumnya maka digunakan RapidMiner untuk mengolah 365 data tersebut. Pada bagian seting parameter algoritma C4.5 untuk menentukan information gain, maka digunakan setingan seperti gambar 4.2. 41 Gambar 4.2 Setting parameter RapidMiner Untuk mendapatkan nilai akurasi dari algoritma tersebut, penelitian ini menggunakan metode Validasi split-validation. Desain model C4.5 yang terdapat pada RapidMiner. Pada Main Proces masukkan Data Set / Retrieve New dan Validation. Di dalam Validation ada 2 kolom yaitu kolom Training dan Testing. Pada kolom Training masukkan algoritma klasifikasi yang di terapkan yaitu Decision Tree, dan pada kolom Testing masukkan Apply Model untuk menjalankan algoritma/model C4.5 dan Performance untuk mengukur performance dari C4.5 tersebut. 42 Gambar 4.3 Desain Model Validasi 4.2 Hasil Percobaan dan Pengujian Metode Hasil evaluasi confusion matrix dalam klasifikasi menunjukkan tingkat akurasi hasil klasifikasi seperti yang di tunjukkan dalam tabel 4.2. Dari tabel tersebut dapat diketahui tingkat akurasi hasil klasifikasi delay penerbangan sebesar 94,55%. Untuk perhitungan manual dapat di gunakan persamaan 9. 43 Akurasi = X 100% Akurasi = Akurasi = X 100% X 100% = 94.55% Tabel 4.2 Hasil nilai akurasi dari data delay penerbangan yang di tampilkan oleh RapidMiner Berdasarkan tabel 4.3 hasil evaluasi dengan confusion matrix menunjukkan nilai precision sebesar 80.00%. untuk perhitungan manual dapat menggunakan persamaan 8. Precision = * 100% Precision = Precision = 80,00% * 100% Tabel 4.3 Nilai precision dari data delay penerbangan yang di tampilkan oleh RapidMiner 44 Berdasarkan tabel 4.4 hasil recall dengan confusion matrix menunjukkan nilai recall sebesar 66.67%. Untuk perhitungan manual dapat menggunakan persamaan 6. Recall =. Recall = * 100% * 100% Recall = 66.67% Tabel 4.4 Nilai precision dari data delay penerbangan yang di tampilkan oleh RapidMiner Hasil yang didapat dari pengolahan ROC untuk algoritma C4.5 dengan menggunakan data training sebesar 0.815 dapat dilihat pada gambar 4.4 dengan tingkat diagnosa good classification. Gambar 4.4 Hasil ROC dari C4.5 yang ditampilkan oleh RapidMiner 45 Tabel 4.1 Hasil Akurasi dan AUC dari C4.5 Percobaan C4.5 Akurasi Performa AUC Lama Waktu Eksekusi 1 94.55% 0.815 0S 2 94.55% 0.815 0S Hasil diatas menunjukkan algoritma C4.5 yang diterapkan pada data set Delay penerbangan tahun 2013, data menghasilkan nilai akurasi confusion matrix sebesar 94.55% dan akurasi AOC 0.815 dalam selang waktu 1 detik. 4.3 Hasil Pemodelan Pohon Keputusan dan Rule Gambar 4.6 Hasil Pemodelan Tree C4.5 46 Rule yang tercipta dari gambar hasil pemodelan diatas adalah sebagai berikut : 1. Jika Visibility > 2800 DAN Visibility > 3250 maka TIDAK. 2. Jika Visibility > 2800 DAN Visibility ≤ 3250 DAN Suhu > 27,950 maka TIDAK. 3. Jika Visibility > 2800 DAN Visibility ≤ 3250 DAN Suhu ≤ 27,950 DAN Kecepatan Angin > 15,5000 Maka DELAY. 4. Jika Visibility > 2800 DAN Visibility ≤ 3250 DAN Suhu ≤ 27,950 DAN Kecepatan Angin ≤ 15,500 DAN Arah Angin > 250 Maka Tidak. 5. Jika Visibility > 2800 DAN Visibility ≤ 3250 DAN Suhu ≤ 27,950 DAN Kecepatan Angin ≤ 15,500 DAN Arah Angin ≤ 250 Maka Delay. 6. Jika Visibility ≤ 2800 DAN Arah Angin > 25 DAN Kecepatan Angin > 9,500 Maka Delay. 7. Jika Visibility ≤ 2800 DAN Arah Angin > 25 DAN Kecepatan Angin ≤ 9,500 DAN Arah Angin > 315 MAKA DELAY. 8. Jika Visibility ≤ 2800 DAN Arah Angin > 25 DAN Kecepatan Angin ≤ 9,500 DAN Arah Angin ≤ 315 MAKA TIDAK. 9. 4.4 Jika Visibility ≤ 2800 DAN Arah Angin ≤ 25 MAKA TIDAK. Aplikasi Sederhana Dari rule yang dihasilkan dari RapidMiner maka dapat di buat aplikasi berbasis website. Cara kerja aplikasi ini yaitu dengan cara menginputkan Arah Angin, Kecepatan Angin, Jarak Pandang / Visibility, Cuaca, Suhu, dan Tekanan Udara. Kemudian klik Prediksi Maka akan muncul hasil prediksi apakah penerbangan berprediksi DELAY atau TIDAK. Aplikasi ini di tujukan untuk pihak bandara dan pihak maskapai, dikarenakan untuk informasi cuaca yang mengetahui cara membaca dan pengolahannya hanya pihak dari bandara dan maskapai. Kemudian dari output aplikasi bisa di umumkan di papan pengumuman di bandara dengan 47 bahasa yang mudah di mengerti oleh penumpang, sehingga para penumpang dapat mengerti kenapa terjadi delay penerbangan dari informasi yang dikeluarkan oleh pihak bandara dan maskapai penerbangan jelas kepada para penumpang apabila terjadi Delay Penerbangan. Tampilan Aplikasi Delay Penerbangan dapat di lihat pada gambar 4.7. Gambar 4.7 Form input Delay Penerbangan Inputkan Arah Angin(°), Kecepatan Angin(knot), Jarak Pandang / Visibility(m), Cuaca, Suhu(°C), Tekanan Udara(mb). Seperti pada gambar 4.8, kemudian klik Prediksi. 48 Gambar 4.8 Form input Delay Penerbangan Setelah data diolah maka tampillah hasil prediksi dari data yang di inputkan tadi seperti pada gambar 4.9. Hasil yang keluar dari hasil inputan tadi adalah ”Tidak Delay”. Dengan demikian pihak bandara atau maskapai bisa memberitahukan informasi yang jelas kepada calon penumpang apabila terjadi Delay penerbangan. 49 Gambar 4.9 Hasil prediksi Delay Penerbangan Hasil presentase prediksi dibandingkan dengan data histori delay penerbangan adalah 99,178 %. Dari 365 data histori delay, ada 362 data prediksi yang sama. Hasil dapat dilihat pada gambar 4.10. 50 Gambar 4.10 Persentase hasil delay penerbangan 51 BAB V PENUTUP 5.1 Kesimpulan Dari analisis data Delay Penerbangan menggunakan algoritma C4.5 berdasarkan literatur yang digunakan maka dapat disimpulkan bahwa dengan algoritma C4.5 dapat diterapkan untuk menentukan Delay Penerbangan yang diakibatkan oleh cuaca. Dengan menggunakan validasi model menggunakan split-validation dan evaluasi model menggunakan confusion matrix serta kurva ROC. Hasil menunjukkan bahwa algoritma C4.5 yang diterapkan pada data set Delay penerbangan di tahun 2013, data menghasilkan nilai akurasi confusion matrix sebesar 94.55% dan akurasi AOC 0.815 dalam selang waktu 0 detik. Dengan adanya penerapan Decision Tree C4.5 diharapkan mampu memberikan solusi bagi pihak bandara maupun maskapai penerbangan dalam membantu menentukan delay penerbangan akibat gangguan cuaca buruk. Sehingga pihak maskapai dapat memberikan informasi kepada penumpang bahwa ada delay penerbangan beserta alasan kenapa harus diadakan delay. 5.2 Saran Proses penelitian ini mendapatkan banyak hambatan seperti terbatasnya data penelitian dan perangkat keras yang digunakan. Untuk penelitian selanjutnya terdapat beberapa saran sebagai berikut : 1. Untuk mendapatkan hasil akurasi yang lebih baik, sebaiknya menambah atribut keadaan menerbangkanya. pesawat yang digunakan, serta pilot yang 52 2. Data yang di peroleh hanya di tahun 2013, Untuk mendapatkan hasil yang lebih akurat bisa menggunakan data set yang lebih banyak atau rentang waktu yang lebih lama. 3. Untuk mempercepat hasil eksekusi sebaiknya menggunakan perangkat keras dengan spesifikasi processor core i7 dengan RAM 8gb atau spesifikasi yang lebih tinggi lagi. 53 DAFTAR PUSTAKA [1] Nur Endah Sari, “PREDIKSI CUACA BERBASIS LOGIKA FUZZY UNTUK REKOMENDASI PENERBANGAN DI BANDAR UDARA RAJA HAJI FISABILILLAH,” Universitas Gunadarma,2011 [2] Soejadi Wh, “MANFAAT PENERBANGAN,” 31 DAN Agustus BAHAYA 2010. CUACA [online]. DALAM Available: http://pustakacuaca.blogspot.com/2010/08/manfaat-dan-bahaya-cuacadalam.htm. [Accessed 30 Januari 2014] [3] http://news.detik.com/read/2012/03/01/004810/1854995/10/penundaanpenerbangan-garuda-imbas-cuaca-buruk. Diakses 24 Februari 2014 [4] Aa Zezen Zaenal Abidin , “IMPLEMENTASI ALGORITMA C 4.5 UNTUK MENENTUKAN TINGKAT BAHAYA TSUNAMI”, Jurusan Teknik Informatika STMIK Subang, Jawa Barat, 2 Juli 2011. [5] http://usupress.usu.ac.id/files/Algoritma%20dan%20Pemrograman;%20Teo ri%20dan%20Praktik%20dalam%20Pascal%20Edisi%20Kedua_Normal_ba b%201.pdf. Diakses 24 Februari 2014 [6] http://www.meteojuanda.info/index.php?option=com_content&view=article &id=36&Itemid=34. Diakses 26 Februari 2014 [7] http://baithanitosari.org/wp-content/uploads/2013/05/RM-GEO-VII.pdf. Diakses 26 Februari 2014 [8] Kusrini,&Luthfi, E. T. (2009). Algoritma Data Mining. Yogyakarta: Andi Publishing [9] Bramer, Max. 2007. Principles of Data Mining. London: Springer. ISBN10: 1-84628-765-0, ISBN-13: 978-1-84628-765-7. [10] Jiawei Han, Data Mining : Concepts and Techniques., 2006. 54 [11] Han, J., & Kamber, M. 2006. Data Mining Concept and Tehniques. San Fransisco: Morgan Kauffman. ISBN 13: 978-1-55860-901-3. [12] Liliana Swastina, ” Penerapan Algoritma C4.5 Untuk Penentuan Jurusan Mahasiswa”, Jurnal GEMA AKTUALITA, Vol.2 No.1, Juni 2013. [13] Andrea Adelheid & Khairil Nst (2012). Buku Pintar Menguasai PHPMySQL. ISBN 9797943141. [14] MADCOMS (2009). Menguasai XHTML, CSS, PHP, & MySQL melalui DREAMWEAFER. ISBN 9789792909821 .