DETEKSI PENCILAN DATA TITIK API DI PROVINSI RIAU MENGGUNAKAN ALGORITME CLUSTERING K-MEANS
DHIYA AULIA MUHAMAD BAEHAKI
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Deteksi Pencilan Data Titik Api di Provinsi Riau Menggunakan Algoritme Clustering K-Means adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Juli 2014 Dhiya Aulia Muhamad Baehaki NIM G64100073
ABSTRAK DHIYA AULIA MUHAMAD BAEHAKI. Deteksi Pencilan Data Titik Api di Provinsi Riau Menggunakan Algoritme Clustering K-Means. Dibimbing oleh IMAS SUKAESIH SITANGGANG. Kebakaran hutan merupakan masalah yang selalu berulang di Provinsi Riau. Salah satu solusi dari masalah ini adalah memanfaatkan data titik api hasil penginderaan jarak jauh. Tujuan penelitian ini adalah mendeteksi pencilan yang terdapat pada data titik api di Provinsi Riau dari tahun 2001 hingga 2012. Deteksi pencilan dilakukan dengan menggunakan metode clustering k-means serta digunakan pendekatan pencilan global dan kolektif. Pada fungsi kmeans digunakan nilai k sebesar 10 sehingga dihasilkan nilai sum of squared error sebesar 18 526.14. Hasil menunjukkan bahwa berdasarkan pendekatan pencilan kolektif dideteksi pencilan titik api terdapat pada cluster 5, 7, dan 10. Di samping itu diperoleh 30 pencilan titik api berdasarkan pendekatan pencilan global. Kemunculan pencilan pada data titik api banyak terjadi pada bulan Februari, Maret, Juni, dan Agustus. Frekuensi pencilan titik api tertinggi terjadi pada tahun 2005 yaitu sebanyak 1118 titik api pada 21 Juni 2005. Adapun frekuensi pencilan titik api terkecil yaitu sebanyak 295 titik api pada tahun 2005 dan rata-rata frekuensi pencilan titik api sebesar 482.22. Kata kunci: clustering, k-means, pencilan, Riau, titik api
ABSTRACT DHIYA AULIA MUHAMAD BAEHAKI. Outlier Detection on Hotspot Data in Province Riau using K-Means Clustering Algorithm. Supervised by IMAS SUKAESIH SITANGGANG. Forest fire is considered as periodic event in several areas in Indonesia including in Riau Province. One of solutions in fire prevention is analyzing hostpot occurrences data that are produced by remote sensing technology The objective of this research is to detect outliers on hotspot data in Riau Province for the period 2001 to 2012. Outlier detection was done using the clustering k-means algorithm, and use a approach global outliers and collective outlier. The best clustering result was selected on the number of cluster 10 and the sum of squared error value is 18526.14. The results showed that based on a collective outlier approach, the outliers were obtained on cluster 5, 7 and 10. In addition, 30 outliers on hotspot data were detected based on the global outlier approach. The outliers on the hotspot data were mostly occurred in February, March, June, and August. The highest frequency of outliers occurred in 2005 reach 1118 hotspots on 21 June 2005. While the lowest frequency of outliers is 295 in 2005 and the average frequency of outliers is 482.22. Keywords: clustering, hotspot, k-means, outlier, riau
DETEKSI PENCILAN DATA TITIK API DI PROVINSI RIAU MENGGUNAKAN ALGORITME CLUSTERING K-MEANS
DHIYA AULIA MUHAMAD BAEHAKI
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Ilmu Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014
Penguji: 1 Toto Haryanto, SKom MSi 2 Asyhar Agmalaro, SSi MKom
Judul Skripsi : Deteksi Pencilan Data Titik Api di Provinsi Riau Menggunakan Algoritme Clustering K-Means Nama : Dhiya Aulia Muhamad Baehaki NIM : G64100073
Disetujui oleh
Dr Imas Sukaesih Sitanggang, SSi MKom Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi MKom Ketua Departemen
Tanggal Lulus:
PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Januari 2014 ini ialah pencilan, dengan judul Deteksi Pencilan Data Titik Api di Provinsi Riau Menggunakan Algoritme Clustering K-Means. Penulis menyadari bahwa dalam proses penulisan skripsi ini banyak mengalami kendala, namun berkat bantuan, bimbingan, kerjasama dari berbagai pihak dan berkah dari Allah subhanahu wa ta'ala sehingga kendalakendala yang dihadapi tersebut dapat diatasi. Untuk itu penulis menyampaikan ungkapan Terima kasih juga disampaikan kepada ayah, ibu serta seluruh keluarga atas segala doa dan kasih sayangnya. Serta ucapan Terima kasih dan penghargaan kepada Ibu Dr Imas Sukaesih Sitanggang, SSi MKom selaku pembimbing yang telah dengan sabar, tekun, tulus dan ikhlas meluangkan waktu, tenaga, dan pikiran memberikan bimbingan, motivasi, arahan, dan saran-saran yang sangat berharga kepada penulis selama menyusun skripsi. Ucapan Terima kasih juga saya saya tujukan kepada Bapak Toto Haryanto, SKom MSi dan Bapak Asyhar Agmalaro, SSi MKom selaku penguji atas segala masukan dan saran yang telah diberikan. Semoga karya ilmiah ini bermanfaat. Bogor, Juli 2014 Dhiya Aulia Muhamad Baehaki
DAFTAR ISI DAFTAR TABEL
vi
DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
1
Tujuan Penelitian
2
Manfaat Penelitian
2
Ruang Lingkup Penelitian
2
METODE
2
Data Penelitian
2
Tahapan Penelitian
2
Pengumpulan Data
3
Praproses Data
3
Analisis Data
4
Clustering Data Titik Api Menggunakan Algoritme K-Means
4
Deteksi Pencilan Titik Api Berdasarkan Hasil Clustering K-Means
5
Analisis Pencilan
6
Lingkungan Pengembangan
6
HASIL DAN PEMBAHASAN
6
Praproses
6
Analisis Data Time Series Titik Api
6
Clustering Data Titik Api Menggunakan Algoritme K-Means
8
Deteksi Pencilan Titik Api Berdasarkan Hasil Clustering K-Means
10
Deteksi Pencilan Berdasarkan Pendekatan Pencilan Kolektif
10
Deteksi Pencilan Berdasarkan Pendekatan Pencilan Global
10
Analisis Pencilan SIMPULAN DAN SARAN
13 16
Simpulan
16
Saran
17
DAFTAR PUSTAKA
17
RIWAYAT HIDUP
20
DAFTAR TABEL 1 2 3 4 5
Nilai SSE untuk hasil clustering nilai k = 2 hingga 10 Selisih nilai SSE pada k sebesar 2 hingga 10 Hasil clustering menggunakan fungsi kmeans dengan nilai k = 10 Deteksi pencilan berdasarkan ukuran outlier score terbesar Pencilan pendekatan global dan kolektif
8 9 10 11 14
DAFTAR GAMBAR 1 2 3 4 5 6 7 8 9 10
Tahapan penelitian Titik api tahun 2000 hingga 2013 terhadap peta Provinsi Riau Dekomposisi data time series titik api di Provinsi Riau tahun 2001 hingga 2012 Visualisasi hasil clustering menggunakan fungsi kmeans dengan nilai k = 10 Visualisasi pencilan dengan pendekatan kolektif Visualisasi pencilan dengan pendekatan global Jumlah objek deteksi pencilan di setiap bulan pada tahun 2001 hingga 2012 Jumlah objek deteksi pencilan pertahun Visualisasi pencilan tahun 2005 Visualisasi pencilan tahun 2006
3 7 7 9 12 12 15 15 15 16
DAFTAR LAMPIRAN 1 2
Data penelitian Perintah dalam R untuk visualisasi clustering
18 19
PENDAHULUAN Latar Belakang Hutan di Indonesia memiliki luas yang sangat besar. Luas kawasan hutan Indonesia pada tahun 2009/2010 berdasarkan hasil penafsiran citra satelit Landsat 7 ETM+ mencapai 98.56 juta ha (Kemenhut 2012). Data tersebut merupakan 52.3% dari total luas daratan Indonesia. Adapun luas hutan yang berada pada Provinsi Riau sebesar 8.6 juta ha. Akan tetapi, hutan di Indonesia mengalami masalah yang selalu berulang, salah satunya kebakaran hutan. Penelitian dalam remote sensing menghasilkan cara untuk memantau perkembangan titik api dipermukaan bumi. Salah satu satelit yang memantau titik api yaitu satelit Terra yang diluncurkan pada 18 Desember 1999 dan satelit Aqua yang diluncurkan pada 4 Mei 2002 (Giglio 2010). Satelit-satelit ini bekerja dengan mengamati titik api, yaitu area yang memiliki temperatur yang tinggi dibandingkan dengan lingkungan sekitarnya. Pengamatan yang dilakukan satelit ini dilakukan secara berulang-ulang sehingga memiliki urutan waktu. Satelit tersebut disebut Moderate Resolution Imaging Spectro Radio Meter (MODIS). Dalam analisis terbaru, World Resources Institute (WRI) meneliti tren historis peringatan titik api di Sumatera. Satelit NASA mencatat total 734 peringatan titik api dengan tingkat keyakinan deteksi tinggi di provinsi-provinsi pulau Sumatera pada periode 22 hingga 27 Agustus 2013 (Sizer et al. 2013). Bahkan pada awal Maret 2014 Global Forest Watch mendeteksi 3101 peringatan titik api dengan tingkat keyakinan tinggi sejak tanggal 20 Februari hingga 11 Maret 2014. Angka tersebut melebihi puncak krisis kebakaran dan kabut asap sebelumnya pada 13 hingga 30 Juni 2013 yaitu berjumlah 2643 peringatan titik api (Sizer et al. 2014). Dengan mengamati hasil dari amatan sensor MODIS, dapat dibuat sebuah model untuk menganalisis kejadian titik api sebagai indikator kebakaran hutan pada waktu mendatang. Salah satu analisis yang dilakukan adalah analisis pencilan untuk melihat anomali kemunculan titik api. Sehingga didapatkan informasi yang menyimpang jauh dari bentuk data secara umum. Penelitian ini melakukan pendeteksian pencilan dalam data titik api di Provinsi Riau tahun 2001 hingga 2012 menggunakan metode clustering k-means.
Perumusan Masalah Data titik api telah tersedia dari hasil pengamatan sensor MODIS dengan satelitnya Terra dan Aqua. Data ini dapat digunakan sebagai indikator terjadinya kebakaran hutan. Dengan mengetahui pencilan dari data titik api tersebut maka dapat dilihat anomali kemunculan titik api. Sehingga dapat diketahui informasi unik yang ada dalam data titik api, yaitu kemunculan titik api dengan frekuensi yang jauh dari kondisi umum. Oleh karena itu, rumusan masalah dari penelitian ini adalah bagaimana mencari pencilan pada data titik api di Provinsi Riau menggunakan algoritme clustering k-means.
2 Tujuan Penelitian Tujuan penelitian ini adalah 1 Menerapkan algoritme clustering k-means pada data titik api di Provinsi Riau, 2 Menentukan pencilan pada data titik api di Provinsi Riau berdasarkan hasil clustering data titik api di Provinsi Riau, dan 3 Analisis pencilan data titik api yang dihasilkan.
Manfaat Penelitian Manfaat dari penelitian ini adalah mendapatkan informasi yang tersembunyi berupa pencilan data titik api sebagai indikator kebakaran hutan. Hasil yang diperoleh diharapkan dapat bermanfaat dalam pencegahan kebakaran hutan.
Ruang Lingkup Penelitian Penelitian ini menggunakan data yang didapatkan dari sensor MODIS selama 12 tahun, mulai dari tahun 2001 hingga 2012. Data yang didapat dari sensor MODIS dilakukan transformasi menjadi data frekuensi titik api harian dan bulanan. Dalam mendeteksi pencilan digunakan pendekatan pencilan global dan kolektif. Fungsi yang digunakan dalam penelitian seperti kmeans, ts, decompose, set.seed, plot, points, text, lines, summary, dan library DBI dan RPosrgreSQL yang telah tersedia dalam perangkat lunak statistika R.
METODE Data Penelitian Data yang digunakan dalam penelitian ini adalah data frekuensi titik api yang ada di Provinsi Riau dari tahun 2001 hingga 2012. Data didapat dari penelitian sebelumnya yang dilakukan oleh Dinov (2014) yang dapat diunduh pada halaman web1. Data lain yang digunakan yaitu data peta Provinsi Riau yang berisi batas wilayah kabupaten dan kota se-Indonesia yang dapat diunduh dari halaman web2.
Tahapan Penelitian Tahapan yang dilakukan pada penelitian ini dapat dilihat pada Gambar 1.
1 2
https://earthdata.nasa.gov/data/near-real-time-data/firms/active-fire-data#tab-content-6 http://www.inigis.org/160/download-indonesia-basemap.html
3
Mulai
Praproses data
Data titik api
Clustering data titik api menggunakan algoritme k-means
Analisis data time series titik api
Deteksi pencilan titik api berdasarkan hasil clustering k-means
Analisis pencilan
Selesai Gambar 1 Tahapan penelitian Pengumpulan Data Data penelitian yang digunakan adalah data titik api yang diperoleh dari penelitian sebelumnya yang dilakukan oleh Dinov (2014). Data titik api terdiri dari data titik api tahun 2000 hingga tahun 2013 di wilayah pulau Sumatera. Data tersebut terdiri dari atribut latitude, longitude, brightness, scan, track, acq_date, acq_time, satellite, confidence, version, bright_t31, dan frp. Setiap barisnya menjelaskan satu kemunculan titik api yang diperoleh dari penginderaan jarak jauh menggunakan sensor MODIS. Contoh data dapat dilihat pada Lampiran 1. Namun data yang didapatkan pada tahun 2000 dan 2013 tidak lengkap. Karena, walaupun satelit Terra pertama kali memperoleh data pada bulan Februari tahun 2000, satelit Terra mengalami masalah crosstalk dan kalibrasi hingga awal bulan November tahun 2000 (Giglio 2010). Adapun pada tahun 2013 data hanya tersedia hingga bulan September. Data lainnya yaitu data peta Indonesia. Data ini berisikan batas kabupaten dan kota yang ada di Indonesia. Peta ini digunakan untuk memperoleh data titik api yang terdapat di Provinsi Riau. Praproses Data Menurut Han et al. (2012), dalam tahap praproses data terdapat beberapa tahap utama, yaitu pembersihan data, pengintegrasian data, seleksi data, dan transformasi data. Dalam penelitian ini dilakukan pembersihan dan transformasi data. Pembersihan data dilakukan untuk memilih data titik api yang berada di Provinsi Riau juga memilih peta Provinsi Riau dari peta kabupaten dan kota seIndonesia. Langkah ini dilakukan untuk menghilangkan data titik api yang berada di luar Provinsi Riau. Tahap ini dilakukan menggunakan perangkat lunak
4 PostgreSQL, PostGIS 2.0 Shapefile and DBF Loader Exporter, dan Quantum GIS 2.0 Dufour. Setelah data bersih, dilakukan pemilihan data titik api pada tahun 2001 hingga 2012 menggunakan kueri pada DBMS PostgreSQL dan transformasi data berupa agregasi data. Agregasi data adalah operasi penjumlahan jumlah kejadian titik api menjadi data harian, bulanan, ataupun tahunan. Analisis Data Data titik api merupakan data yang yang diambil oleh sensor MODIS berdasarkan urutan waktu. Maka data titik api merupakan data time series (Hasan 1999). Analisis data time series dilakukan menggunakan dekomposisi data time series. Dekomposisi data time series berfungsi untuk melihat komponen data time series yaitu tren sekuler, variasi musim, dan variasi residu atau irregular. Tren sekuler merupakan gerakan teratur atau gerakan rata-rata dalam jangka waktu yang panjang, lebih dari 10 jangka waktu. Tren dapat digambarkan berupa garis tertentu yang memiliki bentuk garis meningkat, menurun, horizontal atau naik atau turun seperti huruf S. Adapun variasi musim (seasonal variation) merupakan variasi yang berulang-ulang dan regular dengan periode waktu yang pendek, yaitu satu tahun atau kurang. Variasi musim biasanya dipengaruhi oleh pengaruh-pengaruh seperti musim, adat istiadat, kebiasaan. Dan variasi residu merupakan gerakan yang berbeda-beda dalam waktu singkat, tidak diikuti pola yang teratur, serta tidak dapat diperkirakan. Variasi residu timbul dari kejadiankejadian yang terjadi secara mendadak atau tidak diprediksikan sebelumnya, seperti perang, bencana alam, dan kebiasaan baru (Hasan 1999). Clustering Data Titik Api Menggunakan Algoritme K-Means Clustering disebut juga segmentasi data, pembagian data yang besar ke dalam beberapa kelompok berdasarkan kesamaan yang dimiliki. Clustering dapat digunakan untuk deteksi pencilan (Han et al. 2012). Dalam tahapan ini diterapkan fungsi kmeans pada perangkat lunak R. Fungsi tersebut diberikan masukkan atau argumen berupa data frekuensi titik api harian dari tahun 2001 hingga 2012 juga nilai k sebesar 2 hingga 10. Algoritme kmeans dapat dilihat di bawah ini: 1 Pilih sebanyak k objek dari set data sebagai pusat cluster (centroid) secara acak. 2 Ulangi hingga tidak ada perubahan cluster atau hingga masa/epoch yang ditentukan: a Masukkan setiap objek ke dalam cluster yang memiliki kemiripan tertinggi terhadap nilai rataan cluster (centroid). b Perbaharui nilai rataan cluster (centroid) pada setiap cluster. Untuk menentukan nilai k terbaik digunakan fungsi sum of squared error (SSE). SSE didefinisikan sebagai berikut (Tan et al. 2006): ∑∑ dengan : jumlah kelas, : objek data,
5 : objek dalam kelas i, : centroid atau titik pusat kelas i, dan : fungsi jarak, yaitu jarak Euclidian. Dengan mengetahui nilai SSE dari tiap nilai k maka dapat diketahui clustering yang menghasilkan nilai kesamaan atau kemiripan terbaik. Clustering yang memiliki nilai SSE terkecil adalah clustering dengan hasil terbaik. Deteksi Pencilan Titik Api Berdasarkan Hasil Clustering K-Means Setelah diketahui nilai k terbaik kemudian dilakukan pendeteksian pencilan pada hasil clustering k-means. Secara umum pada deteksi pencilan terdapat tiga pendekatan, yaitu pencilan global, kontekstual, dan kolektif. Pendekatan pertama, pencilan global adalah pendeteksian objek yang menyimpang secara signifikan dari set data. Pencilan global disebut juga point outlier. Pendekatan kedua, pencilan kontekstual yaitu pendeteksian pencilan jika objek menyimpang secara signifikan dari kondisi atau kebiasaan tertentu. Pendekatan ini disebut juga conditional outlier, karena melihat objek berdasarkan kondisi tertentu. Bila objek keluar dari kondisi yang biasa maka objek diidentifikasi sebagai pencilan. Namun pada penelitian ini pendekatan pencilan kolektif tidak digunakan karena membutuhkan data pendukung lainnya seperti cuaca dan tutupan lahan. Pendekatan ketiga, pencilan kolektif yaitu bilamana ada sekelompok objek atau cluster yang menyimpang secara signifikan dari set data (Han et al. 2012). Dalam metode pendeteksian pencilan menggunakan clustering k-means, pendekatan pencilan global dapat diartikan apabila sebuah objek memiliki jarak yang jauh antara objek dan centroid, maka objek tersebut dapat diidentifikasi sebagai pencilan. Pendekatan ini dapat diukur menggunakan nilai outlier score, semakin besar nilai outlier score sebuah objek maka kemungkinan bahwa objek tersebut merupakan pencilan semakin besar (Aggarwal 2013). Rasio untuk mengukur jarak sebuah objek yang didefinisikan sebagai berikut (Han et al. 2012): Outlier Score = dengan o co
: objek data, : centroid atau titik pusat terdekat dari objek data, : fungsi jarak antara objek data dan centroid terdekat dari objek data, dan : rata-rata . Semakin besar nilai outlier score, objek tersebut semakin jauh dari centroid maka lebih mirip dengan pencilan. Pendapat ini sama seperti yang diutarakan (Zhao 2012) bahwa pencilan adalah objek yang memiliki jarak terbesar antara objek dengan centroid. Adapun pendekatan pencilan kolektif dalam metode clustering diartikan, bila objek adalah bagian dari anggota cluster yang kecil atau cluster minoritas, maka seluruh objek dalam cluster tersebut merupakan pencilan (Han et al. 2012).
6 Analisis Pencilan Pada tahap ini diperlihatkan objek-objek pencilan dari data penelitian. Data hasil deteksi pencilan dianalisis untuk mengetahui informasi yang terdapat pada data seperti ukuran pemusatan dan tanggal-tanggal yang terdeteksi sebagai pencilan serta plotting pencilan titik api pada peta Provinsi Riau. Lingkungan Pengembangan Spesifikasi perangkat keras dan perangkat lunak yang digunakan dalam penelitian ini adalah sebagai berikut: 1 Perangkat keras berupa komputer personal dengan spesifikasi Prosesor AMD A6-3400M dan Memori RAM 4 GB. 2 Perangkat lunak Komputasi statistika R versi 3.0.1, RStudio versi 0.98.501, Database management system (DBMS) PostgreSQL dengan ekstensi PostGIS, PostGIS 2.0 shapefile and DBF loader exporter, Pengolah data spatial Quantum GIS 2.0 Dufour, dan Microsoft Excel 2010.
HASIL DAN PEMBAHASAN Praproses Data awal pada penelitian ini adalah sebanyak 156 703 data. Kemudian data tersebut dilakukan tahap pembersihan data dari data titik api yang terdapat diluar dari Provinsi Riau sehingga didapatkan data titik api di Provinsi Riau sebanyak 111 091. Selanjutnya dilakukan pemilihan data titik api dari tahun 2001 hingga 2012 sehinggga didapatkan sebanyak 96 456 data. Data tersebut diolah dalam sebuah basis data spatial DBMS PostgreSQL. Kemudian dilakukan evaluasi data pada perangkat lunak Quantum GIS dengan menambahkan layer data titik api yang telah dilakukan pembersihan data juga peta Provinsi Riau. Hasil dari evaluasi data titik api dapat dilihat pada Gambar 2. Gambar tersebut merupakan peta Provinsi Riau dan titik api yang terjadi pada Provinsi Riau tahun 2001 hingga 2012. Pada Gambar 2 seluruh titik api berada hanya di dalam Provinsi Riau. Tahap selanjutnya dilakukan transformasi data, yaitu agregasi data. Dari tahap tersebut diperoleh frekuensi data titik api harian sebanyak 4383 data dan frekuensi data titik api bulanan sebanyak 144 data. Analisis Data Time Series Titik Api Setelah frekuensi data titik api harian didapatkan, dilakukan dekomposisi dengan menjalankan kode R berikut: library(DBI) library(RPostgreSQL) drv <- dbDriver("PostgreSQL") con <-dbConnect(drv, host="localhost", user="postgres", password="------", dbname="opengeo", port="5433")
7 query <-"SELECT gen_month,count(acq_date) FROM generate_series(DATE '2001-01-01', DATE '2012-12-31', '1 DAY') m(gen_month) LEFT OUTER JOIN hotspot0013 ON (acq_date BETWEEN gen_month AND gen_month + INTERVAL '1 DAY' - INTERVAL '1' DAY) GROUP BY gen_month ORDER BY gen_month" rs <- dbSendQuery(con, query) data.kmeans <- fetch(rs,n=-1) dbDisconnect(con) dbUnloadDriver(drv) write.csv(data.kmeans, 'data/data.kmeansall.csv') data <- data.frame(index(2001, 2012), data.kmeans) names(data) <- c("y_dd", "tgl", "frek") time <- ts(data$frek, frequency=365, start=c(2001,1)) dec <- decompose(time) plot(dec)
Fungsi library digunakan untuk memanggil packages yang tersedia di dalam perangkat lunak R. Dalam hal ini fungsi library digunakan untuk memanggil packages DBI dan RPostgreSQL yaitu untuk mengakses data dari basis data. Fungsi dbDriver dan dbConnect digunakan untuk konfigurasi basis data. Fungsi ts untuk membuat data deret waktu sedangkan fungsi decompose berfungsi untuk mendekomposisi data deret waktu. Batas Kabupaten dan Kota Titik Api
Gambar 2 Titik api tahun 2000 hingga 2013 terhadap peta Provinsi Riau Setelah kode program dijalankan, didapatkan visualisasi yang dapat dilihat pada Gambar 3.
Gambar 3 Dekomposisi data time series titik api di Provinsi Riau tahun 2001 hingga 2012
8 Pada Gambar 3 menunjukkan hasil dekomposisi harian data titik api dengan asumsi jumlah hari pada satu tahun sebanyak 365 hari. Label observed merupakan frekuensi data titik api harian dari tahun 2001 hingga 2012. Label trend menunjukkan kenaikkan frekuensi titik api hingga di awal tahun 2005 kemudian menurun kembali hingga awal tahun 2007 dan mengalami kenaikkan pada awal tahun 2009 dan kembali turun pada akhir tahun 2009 dan menaik kembali hingga akhir tahun 2012. Pada label seasonal ditunjukkan frekuensi titik api mengalami kenaikkan pada awal dan di pertengahan tahun. Clustering Data Titik Api Menggunakan Algoritme K-Means Hasil dari penggunaaan fungsi kmeans pada data titik api Provinsi Riau tahun 2001 hingga 2012 untuk menentukan nilai k terbaik dapat dilihat pada Tabel 1, hasil tersebut didapatkan dengan menjalankan kode berikut: data <- read.csv('data/data.kmeansall.csv') start <- 2 finish <- 10 for(start in start : finish){ set.seed(1000) hasil <- kmeans(data$frek, start) centers <- hasil$centers[hasil$cluster] jarak <- sqrt((data$frek - centers)^2) total <- sum(jarak) persen <- 100*(hasil$betweenss/hasil$totss) gab<- data.frame(start, total, hasil$tot.withinss, persen) if(start == 2) { sse <- gab sse <- as.matrix(sse) } else{ sse <- rbind(sse, gab) } } names(sse) <- c("kelas", "sse", "tot.within", "persen")
Fungsi-fungsi yang digunakan dalam mencari nilai SSE sudah tersedia pada aplikasi statistik R yaitu pada package stats dan base. Fungsi kmeans berguna untuk melakukan algoritme kmeans pada data frekuensi titik api harian. Tabel 1 Nilai SSE untuk hasil clustering nilai k = 2 hingga 10 Nilai k SSE 2 85 408.01 3 61 942.79 4 45 069.48 5 38 242.94 6 29 506.17 7 24 764.16 8 20 944.52 9 19 608.89 10 18 526.14
9
Dari Tabel 1 dapat dilihat bahwa nilai k yang menghasilkan nilai SSE terkecil adalah nilai k sebesar 10 juga perubahan selisih nilai SSE sudah tidak signifikan dapat dilihat pada Tabel 2. Maka fungsi kmeans yang akan dilakukan deteksi pencilan diberi masukkan argumen k sebesar 10. Tabel 2 Selisih nilai SSE pada k sebesar 2 hingga 10 Selisih k Nilai selisih 2 dan 3 23 465.22 3 dan 4 16 873.31 4 dan 5 6 826.54 5 dan 6 8 736.77 6 dan 7 4 742.01 7 dan 8 3 819.64 8 dan 9 1 335.63 9 dan 10 1 082.75 Hasil clustering menggunakan fungsi kmeans dengan masukan argumen k bernilai 10 dapat dilihat pada Tabel 3. Dan visualisasi hasil clustering digambarkan pada Gambar 4.
hari keGambar 4 Visualisasi hasil clustering menggunakan fungsi kmeans dengan nilai k = 10 Visualisasi yang terdapat pada Gambar 4 dibuat dengan menggunakan kode R yang dapat dilihat pada Lampiran 2. Pada Lampiran 2 perintah untuk membuat visualisasi clustering digunakan fungsi plot dan didukung fungsi lines dan text yang berguna untuk membuat garis centroid dan teks penjelas pada tahun dan nomor cluster.
10 Tabel 3 Hasil clustering menggunakan fungsi kmeans dengan nilai k = 10 Kelas Jumlah anggota kelas Centroid Min Maks Persentase 1 248 47.60 35 64 5.66% 2 138 81.19 65 103 3.15% 3 90 125.70 104 157 2.05% 4 40 190.50 159 218 0.91% 5 19 447.26 400 557 0.43% 6 520 20.55 12 34 11.86% 7 17 713.47 589 1118 0.39% 8 38 250.05 222 287 0.87% 9 3250 1.83 0 11 74.15% 10 23 337.61 295 388 0.52% Deteksi Pencilan Titik Api Berdasarkan Hasil Clustering K-Means Deteksi Pencilan Berdasarkan Pendekatan Pencilan Kolektif Penentuan pencilan kolektif didasarkan pada jumlah keanggotaan setiap cluster. Cluster yang memiliki anggota yang sedikit ditetapkan sebagai pencilan. Dari Tabel 3 dapat dilihat bahwa kelas yang memiliki anggota terkecil adalah cluster 7 dengan 17 anggota, cluster 5 dengan 19 anggota, dan cluster 10 dengan 23 anggota. Seluruh cluster 7, 5, dan 10 memiliki jumlah anggota jauh di bawah 1%. Maka berdasarkan pendekatan pencilan kolektif ditetapkan bahwa cluster 7, 5, dan 10 merupakan pencilan. Visualisasi pencilan kolektif dapat dilihat pada Gambar 5. Visualisasi dilakukan dengan menambahkan tanda pada cluster yang telah ditetapkan sebagai pencilan. Penandaan tersebut dilakukan dengan nambahkan perintah di bawah ini pada kode R untuk membuat visualisasi clustering: points(data[(hasil$cluster==5),c("no","frek")], cex=1.5) points(data[(hasil$cluster==7),c("no","frek")], cex=1.5) points(data[(hasil$cluster==10),c("no","frek")], cex=1.5)
pch=13,
col=2,
pch=13,
col=2,
pch=13, col=2,
Arti dari argumen pch dalam fungsi points adalah untuk memilih jenis karakter yang mewakili pencilan. Adapun argumen col digunakan untuk mengatur warna karakter dan cex digunakan untuk mengatur ukuran karakter. Deteksi Pencilan Berdasarkan Pendekatan Pencilan Global Penentuan pencilan berdasarkan pendekatan pencilan global, dilakukan dengan diambil 30 data frekuensi titik api yang memiliki nilai outlier score terbesar. Tiga puluh data yang memiliki outlier score terbesar diartikan sebagai objek yang memiliki nilai kesamaan yang rendah dalam cluster. Tiga puluh objek tersebut diidentifikasi sebagai pencilan. Data tersebut dapat dilihat pada Tabel 4. Pada Tabel 4 outlier score dihasilkan dari rasio jarak setiap objek kepada centroid ( ) dengan rata-rata seluruh jarak objek terhadap centroid ( ) yang bernilai sebesar 4.23. Cara untuk mendapatkan nilai outlier score adalah dengan cara menjalankan kode R berikut:
11 Tabel 4 Deteksi pencilan berdasarkan ukuran outlier score terbesar Outlier score Frekuensi harian Tanggal Kelas 95.71 1118 21/2/2005 7 57.38 956 7/8/2005 7 29.45 589 16/7/2006 7 28.50 593 15/10/2010 7 27.79 596 5/8/2006 7 26.85 600 14/2/2005 7 25.96 557 24/6/2005 5 21.40 623 25/1/2005 7 18.86 527 19/2/2008 5 18.58 792 7/2/2005 7 15.73 647 10/2/2005 7 15.49 648 7/3/2005 7 15.08 511 16/3/2005 5 14.54 652 12/2/2005 7 12.00 498 17/10/2010 5 11.92 388 9/8/2005 10 11.45 386 6/8/2006 10 11.24 761 10/8/2012 7 11.18 400 17/6/2009 5 10.98 384 4/8/2009 10 10.95 401 25/6/2005 5 10.74 383 3/3/2006 10 10.71 402 20/1/2005 5 10.08 295 16/8/2005 10 10.00 405 8/2/2006 5 9.84 296 4/3/2003 10 9.76 406 16/2/2005 5 8.86 676 10/6/2003 7 8.74 287 12/8/2012 8 8.03 284 3/7/2007 8 data <- read.csv('data/data.kmeansall.csv') set.seed(1000) hasil <- kmeans(data$frek, 10) centers <- hasil$centers[hasil$cluster] jarak <- sqrt((data$frek - centers)^2) lco <- mean(jarak) os <- jarak/lco outlier_index <- (data$no[order(os, decreasing=T)[1:30]]) outlier_frek <- (data$frek[outlier_index]) outlier_os <- (os[order(os, decreasing=T)[1:30]]) outlier_kelas <- (hasil$cluster[order(os, decreasing=T) [1:30]]) outlier_date <- (data$tgl[order(os, decreasing=T)[1:30]])
12 outlier <- data.frame(outlier_index, outlier_frek, outlier_os, outlier_kelas, outlier_date) write.csv(outlier, "30 pencilan outlier score.csv")
Perintah read.csv berfungsi untuk membaca data frekuensi titik api harian yang berada pada file data.kmeansall.csv. Kemudian dijalankan fungsi kmeans lalu dicari jarak setiap objek terhadap centroid-nya dengan menjalankan kode program centers <- hasil$centers[hasil$cluster] dan jarak <sqrt((data$frek - centers)^2). Selanjutnya rata-rata dari jarak dicari dengan menjalankan kode lco <- mean(jarak).
hari keGambar 5 Visualisasi pencilan dengan pendekatan kolektif global
hari keGambar 6 Visualisasi pencilan dengan pendekatan global
13 Analisis Pencilan Pencilan yang dihasilkan adalah objek-objek pada kelas 7, 5, dan 10 serta 30 objek yang memiliki nilai outlier score terbesar. Pencilan yang dihasilkan dapat dilihat pada Tabel 5. Dari objek-objek yang terdeteksi sebagai pencilan dapat dilihat objek merupakan titik api dengan frekuensi harian sangat tinggi. Pada pencilan global, anggota pencilan memiliki frekuensi titik api harian mulai dari 295 hingga 1118 titik api yang terdiri dari anggota kelas 5, 7, dan 10. Adapun anggota pencilan kolektif terdiri dari kelas 5, 7, 8, dan 10 dengan frekuensi titik api terkecil sebesar 284 dan tertinggi sebesar 1118. Kedua pendekatan pencilan tersebut menghasilkan pencilan yang berbeda. Pada pendekatan kolektif kelas yang dideteksi sebagai pencilan adalah 5, 7, dan 10 sedangkan dengan pendekatan global pencilan dideteksi terdapat pada anggota kelas 5, 7, 8, dan 10. Perbedaan ini disebabkan pada pendekatan global, pencilan dideteksi berdasarkan derajat kesamaan objek dengan anggota cluster-nya masingmasing yang diukur dengan outlier score. Objek-objek yang memiliki derajat kesamaan yang rendah terhadap anggota cluster-nya atau menyimpang dari objekobjek didalam cluster-nya maka diidentifikasi sebagai pencilan. Adapun pendekatan pencilan kolektif didasarkan pada pendeteksian cluster minoritas atau cluster yang berbeda dari cluster-cluster lainnya. Dalam penelitian ini perbedaan tersebut didasarkan pada jumlah keanggotaan cluster. Dalam pencilan global tidak seluruh objek pada cluster 5, 7, 8, dan 10 dideteksi sebagai pencilan. Hanya objek-objek yang memiliki outlier score terbesar saja yang dideteksi sebagai pencilan. Dari Tabel 5 dapat dilihat bahwa jumlah pencilan yang terdeteksi sebanyak 61 objek. Pencilan banyak terjadi pada bulan Februari, Maret, Juni dan Agustus. Kemudian terlihat ada pergeseran deteksi pencilan dari tahun ke tahun, mulanya pencilan muncul setiap awal tahun berubah menuju pertengahan tahun, yaitu bulan Juni dan Agustus mulai dari tahun 2006. Kemunculan pencilan paling banyak terdeteksi pada tahun 2005 yaitu sebanyak 24 objek. Rata-rata dari pencilan yang terdeteksi adalah 481.22 titik api. Jumlah deteksi pencilan dapat dilihat pada Gambar 5 dan 6. Dari Gambar 6 dapat dilihat bahwa, grafik jumlah pencilan pertahun yang ditampilkan menyerupai tren yang dihasilkan pada dekomposisi data time series frekuensi titik api harian. Jumlah deteksi pencilan terus menaik hingga tahun 2005 lalu menurun hingga tahun 2007 kemudian menaik kembali hingga tahun 2012. Adapun Gambar 5 menunjukkan seperti label seasonal (variasi musiman) hasil dekomposisi data time series frekuensi titik api harian. Pencilan muncul secara signifikan pada bulan Februari, Maret, Juni dan Agustus. Berarti frekuensi titik api harian dideteksi banyak muncul pada awal dan pertengahan tahun. Pada Tabel 5 tanggal dan frekuensi yang berpangkat d serta a atau b ataupun c berarti deteksi pencilan dihasilkan dari pendekatan kolektif dan global. Label pangkat a, b, dan c menjelaskan pencilan kolektif dari kelas 5, 7, dan 10 secara berurutan. Adapun label pangkat d berarti pencilan dideteksi hanya menggunakan pendekatan global.
a
20 (402)ad 22 (434)a 24 (337)c 25 (623)bd
19 (527) 21 (350)c
ad
7 (792)bd 9 (438)a 10 (647)bd 12 (652)bd 14 (600)bd 16 (406)ad 21(1118)bd 8 (405)ad
Feb
3 (383)cd
4 (335)c 5 (454)a 7 (648)bd 9 (736)b 16 (511)ad 20 (420)a
8 (304)c 12 (354)c 4 (296)cd
Mar
Apr
Jun
Jul
14 (462)
a
17 (400)ad
6 (341)c 8 (730)b 10 (676)bd 15 (435)a 17 (683)b 19 (344)c 20 (328)c 20 (349)c 24 (557)ad 25 (401)ad
12 (306)c
24 (334)c
3 (284)d
16 (589)bd 25 (414)a
Tanggal (frekuensi)
9 (453)a
Mei
Anggota cluster 5, banggota cluster 7, canggota cluster 10, danggota pencilan global
2011 2012
2010
2009
2007 2008
2006
2005
2004
2003
2001 2002
Tahun Jan
1 (729)b 8 (306)c 10 (761)bd 12 (287)d
2 (428)a 4 (384)cd 6 (305)c
6 (453)a
5 (596)bd 6 (386)cd 17 (354)c
7 (956)bd 9 (388)cd 10 (328)c 16 (295)cd
11 (337)c
Ags
Tabel 5 Pencilan pendekatan global dan kolektif
4 (321)c
Sep
15 (593)bd 17 (498)ad
Okt
Nov Des
14
15 20 15 15
12 10
10
10 5
4
4 0
1
Apr
Mei
1
2
Sep
Okt
0
0
Nov
Des
0 Jan
Feb
Mar
Jun
Jul
Ags
Gambar 7 Jumlah objek deteksi pencilan di setiap bulan pada tahun 2001 hingga 2012 30 24
25 20 15 10 5
0
2
4
5
7 3 0
5 2
3
4
0 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
Gambar 8 Jumlah objek deteksi pencilan per tahun Dari Gambar 6 dapat dilihat bahwa pencilan banyak terjadi pada tahun 2005 sebanyak 24 objek dan 2006 sebanyak 7 objek. Dari tiap tahun dibuat visualisasi pencilan yang terjadi pada tahun 2005 dan 2006. Visualisasi tersebut dapat dilihat pada Gambar 7 untuk visualisasi pencilan tahun 2005 dan Gambar 8 untuk visualisasi pencilan tahun 2006.
Hotspot Januari Hotspot Februari Hotspot Maret Hotspot Juni Hotspot Agustus
Gambar 9 Visualisasi pencilan tahun 2005 Dari Gambar 7 dapat dilihat bahwa objek yang terdeteksi sebagai pencilan pada tahun 2005 menyebar diseluruh Provinsi Riau. Pada bulan Januari pencilan
16 terdeteksi berkumpul pada tenggara Kota Dumai, bagian timur laut Kabupaten Indragiri Hilir, serta menyebar pada kabupaten Siak dan Bengkalis. Pada bulan Februari dan Maret pencilan mayoritas muncul di bagian timur dari Provinsi Riau. Pada bulan Januari hingga Maret pencilan tidak terdeteksi di kabupaten Kuantan Singing. Adapun pada bulan Juni pencilan mayoritas muncul di utara Provinsi Riau. Dan pada bulan Agustus pencilan muncul secara merata di seluruh Provinsi Riau.
Hotspot Februari Hotspot Maret Hotspot Juli Hotspot Agustus
Gambar 10 Visualisasi pencilan tahun 2006 Pada tahun 2006 dideteksi terdapat 7 objek pencilan. Dari visualisasi Gambar 8 dapat dilihat bahwa pada bulan Februari pencilan muncul pada kabupaten Rokan Hilir, Kota Dumai, Bengkalis, Siak, Kampar, Pelalawan, Indragiri Hulur. Pada bulan Maret pencilan dideteksi muncul pada kabupaten Rokan Hilir, Kota Dumai, dan Bengkalis. Pada bulan Juli pencilan muncul di wilayah utara dan timur Provinsi Riau. Adapun pada bulan Agustus pencilan menyebar di seluruh Provinsi Riau.
SIMPULAN DAN SARAN Simpulan Kesimpulan dari penelitian ini adalah objek yang menjadi pencilan adalah objek dengan frekuensi titik api terbesar, yaitu berada pada kelas 7, 5, dan 10 berdasarkan pendekatan kolektif sebanyak 59 titik api serta 30 objek berdasarkan pendekatan global. Pencilan terjadi pada bulan Januari, Februari, Maret, Mei, Juni, Juli, Agustus, September, dan Oktober tanpa bulan April, November, dan Desember. Rata-rata pencilan yang terdeteksi adalah sebesar 481.22 titik api. Frekuensi titik api minimum yang terdeteksi sebagai pencilan sebesar 284 titik api dan terbesar adalah 1118 titik api.
17 Saran Penelitian ini masih memiliki kekurangan, antara lain penentuan nilai k untuk fungsi kmeans, saran yang dapat disampaikan untuk penelitian selanjutnya adalah menggunakan algoritme lain selain kmeans salah satunya adalah k-medoids serta melakukan deteksi pencilan berdasarkan spasial dan temporal. Juga dapat dilakukan deteksi pencilan menggunakan pendekatan kontekstual berdasarkan kondisi cuaca dan tutupan lahan serta menambahkan data titik api hingga data terbarukan.
DAFTAR PUSTAKA Aggarwal C C. 2013. Outlier analysis[internet]. [diunduh 16 Des 2013]. Tersedia pada: http://www.charuaggarwal.net/outlierbook.pdf. Dinov I A. 2014. Hierarchical clustering pada data time series hotspot Provinsi Riau[skripsi]. Bogor (ID): Institut Pertanian Bogor. Giglio L. 2010. MODIS collection 5 active fire product user’s guide version 2.4[internet]. [diunduh 2014 Jan 16]. Tersedia pada : http://earthdata.nasa.gov/sites/default/files/field/document/MODIS_Fire_users_G uide_2.4.pdf. Hasan M I. 1999. Pokok-Pokok Materi Statistik 1: Statistik Deskriptif. Jakarta (ID): Bumi aksara. Han J, Kamber M, Pei J. 2012. Data Mining: Concepts and Techniques. Massachusetts (US): Morgan Kaufmann. [Kemenhut] Kementerian Kehutanan. 2012. Statistik kehutanan Indonesia 2011 [internet]. [diunduh 17 Des 2013 ]. Tersedia pada: http://agungwi.files.wordpress.com/2012/11/buku-statistik-juli-2012_terbaru.pdf. Sizer N, Anderson J, Stolle F, Alisjahbana A, Putraditama A. 2013. Indonesia burning: forest fires flare to alarming levels[internet]. [diakses 19 Mei 2014]. Tersedia pada: http://www.wri.org/blog/2013/08/indonesia-burning-forest-firesflare-alarming-levels. Tan P, Kumar V, Steinbach M. 2006. Introduction to Data Mining. Pearson Education. Zhao Y. 2012. R and data mining: examples and case studies[internet]. [diunduh 4 Sep 2013]. Tersedia pada : http://www.rdatamining.com/.
18 Lampiran 1 Data penelitian gid latitude 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
2.010000000000000 0.155000000000000 2.161000000000000 1.607000000000000 1.606000000000000 1.145000000000000 0.793000000000000 0.060000000000000 0.057000000000000 -0.206000000000000 -0.210000000000000 0.799000000000000 0.361000000000000 0.370000000000000 0.369000000000000 0.377000000000000 0.386000000000000 0.402000000000000 0.400000000000000 -0.827000000000000 -0.817000000000000 0.556000000000000 1.601000000000000 0.931000000000000 1.577000000000000 2.018000000000000 1.606000000000000 1.605000000000000 1.597000000000000 1.575000000000000 1.573000000000000 1.572000000000000 1.470000000000000 0.794000000000000 0.797000000000000 0.539000000000000
Longitude
acq_date
100.456000000000000 101.302000000000000 100.809000000000000 101.562000000000000 101.572000000000000 100.580000000000000 102.011000000000000 101.750000000000000 101.723000000000000 101.550000000000000 101.544000000000000 102.004000000000000 103.263000000000000 103.261000000000000 103.252000000000000 103.239999999999000 103.239000000000000 103.241000000000000 103.230999999999000 101.842000000000000 101.840000000000000 101.013000000000000 101.565000000000000 103.114999999999000 101.601000000000000 100.453000000000000 101.563000000000000 101.572000000000000 101.565000000000000 101.590000000000000 101.599000000000000 101.608000000000000 102.236000000000000 102.009000000000000 101.927000000000000 103.186000000000000
2001-01-07 2001-01-12 2001-01-14 2001-01-14 2001-01-14 2001-01-14 2001-01-14 2001-01-14 2001-01-14 2001-01-21 2001-01-21 2001-01-27 2001-02-12 2001-02-12 2001-02-12 2001-02-12 2001-02-12 2001-02-12 2001-02-12 2001-02-14 2001-02-14 2001-02-14 2001-02-15 2001-02-15 2001-02-16 2001-02-17 2001-02-17 2001-02-17 2001-02-17 2001-02-17 2001-02-17 2001-02-17 2001-02-17 2001-02-17 2001-02-17 2001-02-17
19 Lampiran 2 Perintah dalam R untuk visualisasi clustering opar <- par(bg = "white") w <- c(4,5,7,1,1,6,1,1,3,1) #pilihan warna untuk setiap cluster warna <- w[hasil$cluster] p <- c(1,1,1,6,3,1,4,0,1,2) #jenis karakter setiap cluster point <- p[hasil$cluster] plot(x=data$frek, pch=hasil$cluster, col=1, cex=0.8, ylab="frekuensi hotspot", xlab="hari ke-") #plot(x=data$frek, pch=1, col=hasil$cluster+1, cex=0.8, ylab="frekuensi hotspot", xlab="hari ke-") # plot cluster centers i<-1 for(i in 1:10){ lines(x=c(0,4383), y=c(hasil$centers[i], hasil$centers[i])) } kelas <- c('1','2','3','4','5','6','7','8','9','10') #text (x=rep(-100,10), y=hasil$centers, labels=kelas) text (x=-100, y=hasil$centers[c(9,1,3)]+5, labels=kelas[c(9,1,3)]) text (x=4480, y=hasil$centers[c(6,2,4)]+10, labels=kelas[c(6,2,4)]) text (x=-100, y=hasil$centers[c(8,10,5,7)]+10, labels=kelas[c(8,10,5,7)]) #tahun i<-0 j<-0 t<-2001 for(i in 0:11){ if(i %% 4 == 0){ if(i!=0){ j<-j+1 } lines(x=c(i*365+j,i*365+j), y=c(1000,1118)) } else{ lines(x=c(i*365+j,i*365+j), y=c(1000,1118)) } if(t %% 2 == 0){ text(x=i*365+j, y=1120, labels=t) } t<-t+1 }
20
RIWAYAT HIDUP Penulis dilahirkan di Bogor kelurahan Tanah Sareal kecamatan Tanah Sareal Provinsi Jawa Barat pada tanggal 25 Juli 1992. Penulis adalah anak pertama dari lima bersaudara, anak dari pasangan Dadang Baehaki dan Evalia Nurkurnia. Penulis menempuh awal pendidikan di Taman Kanak-Kanak Al-Quran Natsir Syafe’i Bogor pada tahun 1997 hingga 1998. Penulis melanjutkan pendidikan sekolah dasar pada tahun 1999 hingga 2004 di SD Yapis Tanah Sareal. Kemudian penulis melanjutkan pendidikan Sekolah Menengah Pertama di SMPN 5 Kecamatan Tanah Sareal Bogor dari tahun 2004 hingga 2007. Penulis menempuh pendidikan Sekolah Menengah Atas di SMA Negeri 2 Bogor pada tahun 2007 hingga 2010. Kemudian penulis melanjutkan pendidikan perguruan tinggi di Institut Pertanian Bogor, Fakultas Matematika dan Ilmu Pengetahuan Alam, Departemen Ilmu Komputer dari tahun 2010 hingga 2014.