Klasifikasi Data Kualitatif (C4.5)

9.5 Klasifikasi Data Kualitatif (C4.5)

Penelitian merupakan hal yang sangat penting dalam perkembangan kehidupan bermasyarakat maupun kemajuan peradaban. Dari hasil peneitian, banyak dihasilkan pengetahuan baru . Namun dalam pelaksanaannya terjadi berbagai kendala dan persoalan yang terjadi, salah satunya adalah kendala pada pengolahan data. Data merupakan sekumpulan dari catatan fakta yang kemudian di simbolkan dalam bentu angka (kuantitatif) maupun kata – kata (kualitatif). Masing-masing data didapat dari hasil pengamatan maupun hasil pengukuran sehingga menghasilkan nilai – nilai variable tertentu.

Pada era ini jumlah data semakin membeludak, baik dari sektor pendidikan, bisnis, maupun dari sumber – sumber data yang lain. Dari sekumpulan data tadi dapat diambil bebrbagai macam informasi yang bermanfaat bagi pihak pengolah data maupun bagi masyarakat pada umumnya. Kebanyakan dari data – data tersebut merupakan data berupa kata –kata yang menggambarkan kondisi atau merupakan karakteristik dari objek. Data bernilai kualitatif ini tentunya memerlukan metode tersendiri untuk dapat menghasikan informasi yang bermanfaat. Jika data kualitatif diolah dengan tepat dapat mendapatkan banyak informasi, diantaranya adalah rule yang bisa digunakan sebagai acuan untuk klasifikasi. Metode yang yang dapat digunakan untuk mengolah data kualitatif menjadi rule klasifikasi adalah C4.5. Algoritma C4.5 merupakan kelompok algoritma Decision Tree. Pohon keputusan merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal.

Dari permasalahan di atas sebenarnya sudah banyak sekali metode – metode yang ditemukan dan diterapkan. Fitur – fitur yang akan digunakan pada penelitian ini adalah cuaca, kelembapan, temperatur, dan kecepatan. Data yang digunakan tentu sangat besar dan bervariasi maka dari itu diperlukan sebuah framework tersendiri yang mampu melakukan pengolahan dan penyimpanan untuk data dengan jumlah yang besar.

Pada penelitian ini digunakan Map Reduce sebagai framework dan metode pengolahan datanya yaitu menggunakan algoritma decision tree C4.5. metode tersebut dipilih karena merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikan aturan. Hasil pada penelitian ini berupa rule.

9.5.1 Dasar Teori

7. Data Kualitatif Data kualitatif berbentuk deskriptif, berupa kata-kata lisan

atau tulisan tentang tingkah laku manusia yang dapat diamati (Taylor dan Bogdan, 1984). Data kualitatif dapat dipilah menjadi tiga jenis (Patton, 1990) [3]:

- Hasil pengamatan: uraian rinci tentang situasi, kejadian, interaksi, dan tingkah laku yang diamati di lapangan.

- Hasil pembicaraan: kutipan langsung dari pernyataan orang- orang tentang pengalaman, sikap, keyakinan, dan pemikiran mereka dalam kesempatan wawancara mendalam.

- Bahan tertulis: petikan atau keseluruhan dokumen, surat- menyurat, rekaman, dan kasus sejarah.

8. Big Data Era Big Data telah menjadi era baru yang merupakan hasil

perkembangan sejarah panjang media pemrosesan dan penyimpanan data. IBM 305 RAMAC adalah komputer komersial pertama yang menggunakan hard disk drive (magnetic disk storage) sebagai penyimpanan sekundernya. Sistem ini dipublikasikan pada tanggal 14 September 1958 dimana unit-unit percobaannya telah dipasang pada angkatan laut US dan perusahaan-perusahaan swasta. RAMAC, singkatan dari “Random Access Method of Accounting and Control”,

perancangannya dimotivasi oleh kebutuhan akuntansi real-time dalam bisnis. Saat itu, RAMAC hanya memiliki kapasitas 5 MB. Pada tahun 1963 ditemukan teknologi Audio Tape yang memiliki kapasitas 660 KB. Floppy Disk, kemudian muncul pada tahun 1971 dengan ukuran 8 inchi dan kapasitas 80 KB, tahun 1976 dengan ukuran 5,5 inchi dan kapasitas 100 KB, serta tahun 1981 semakin kecil secara fisik yaitu 3,5 inchi namun lebih besar dengan kapasitas 1,4 MB. Pada tahun-tahun selanjutnya, teknologi penyimpanan data berpindah pada Optical Disk yaitu CD (Compact Disk) dengan kapasitas 400 MB, DVD (Digital Versatile Disk) dengan kapasitas 4,7 GB hingga Blue Ray yang mampu menyimpan data hingga 25 GB[1].

Dari tahun ke tahun, harga media penyimpanan semakin murah, dengan ukuran yang semakin kecil, namun kapasitas yang semakin besar. Penelitian menunjukkan bahwa setiap hari, 2,5 triliun byte data diproduksi dan 90% data di dunia hari ini diproduksi dalam dua tahun terakhir. Fakta inilah yang memicu ledakan data hingga lahirlah istilah Big Data yang kita kenal sekarang. Terdapat 5 karakteristik dari Big Data yang disebut dengan istilah 5V, yaitu:

1. Volume Karakteristik ini mengacu pada kapasitas atau jumlah data

yang dihasilkan untuk setiap waktu. Dalam satu detik, media seperti E-Mail, Facebook, Youtube, Twitter menghasilkan berjuta data. Diperkirakan ledakan data yang membanjiri bumi mencapai

2.5 Exabyte (1 Exabyte = 1 Milyar Gigabyte). Pada tahun 2020, diperkirakan ledakan data yang dihasilkan perhari mencapai 35 Zettabyte (1 Zettabyte = 1000 Exabyte).

2. Variety Berbagai jenis media produksi data yang digunakan

mengakibatkan beragamnya jenis data yang dihasilkan. Dengan begitu banyaknya sensor, perangkat pintar dan teknologi kolaborasi sosial, data yang pada umumnya dihasilkan dalam bentuk data terstruktur, sekarang berkembang menjadi berbagai bentuk data yaitu data terstruktur, tidak terstruktur, dan semiterstruktur.

3. Velocity Velocity adalah kecepatan data yang terus meningkat.

Karakteristik ini mengacu pada kecepatan di mana data dibuat, diolah, dan dianalisis secara terus-menerus. Teknologi Big Data sekarang memungkinkan kita untuk menganalisis data sementara yang dihasilkan tanpa pernah memasukkannya ke dalam database.

4. Veracity Veracity merupakan ketidakpastian dari data. Veracity

mengacu pada tingkat kehandalan dari data dengan jenis tertentu. Big Data juga mengandung data-data yang rusak, tidak normal, dan tidak sesuai. Data tersebut tentu saja dapat menghasilkan informasi yang salah. Oleh karena itu, diperlukan kemampuan untuk meneliti dan mengidentifikasi ketidakpastian data tersebut.

5. Value Value mengacu pada nilai data yang terus bertambah.

Diperlukan kemampuan untuk mengubah data yang banyak tersebut menjadi bernilai agar dapat digunakan mendukung tujuan tertentu. Semua data yang tersedia tidak akan memiliki arti kecuali kita dapat mengambil nilai penting darinya.

9. Hadoop Apache Hadoop adalah suatu

framework yang memungkinkan pemrosesan data set besar pada kluster-kluster komputer secara terdistribusi dengan memanfaatkan model- model pemrograman sederhana. Hadoop dirancang untuk dapat framework yang memungkinkan pemrosesan data set besar pada kluster-kluster komputer secara terdistribusi dengan memanfaatkan model- model pemrograman sederhana. Hadoop dirancang untuk dapat

10. MapReduce MapReduce merupakan suatu model pemrograman dan

implementasi terkait untuk memproses dan menghasilkan dataset besar. Pengguna menspesifikasikan fungsi map yang memproses pasangan key/vaiue untuk menghasilkan sekumpulan pasangan intermediate

key/value. Sedangkan, fungsi reduce menggabungkan seluruh intermediate value yang berasosiasi dengan intermediate key yang sama. MapReduce adalah suatu teknik dan model pemrograman untuk komputasi terdistribusi. Keuntungan utama dari MapReduce adalah kemudahan untuk key/value. Sedangkan, fungsi reduce menggabungkan seluruh intermediate value yang berasosiasi dengan intermediate key yang sama. MapReduce adalah suatu teknik dan model pemrograman untuk komputasi terdistribusi. Keuntungan utama dari MapReduce adalah kemudahan untuk

model MapReduce memanfaatkan sekumpulan key/value sebagai input, dan menghasilkan output yang juga berupa pasangan key/value. Pengguna pustaka MapReduce mengekspresikan komputasi tersebut dalam dua buah fungsi, yaitu Map dan Reduce.

a. Map Fungsi Map menerima pasangan input dan menghasilkan

sekumpulan pasangan kunci/nilai perantara (intermediate key/value). Pustaka MapReduce mengelompokkan seluruh nilai perantara yang berasosiasi dengan kunci perantara yang sama, kemudian meneruskannya ke fungsi Reduce.

b. Reduce Fungsi Reduce menerima suatu kunci perantara dan

sekumpulan nilai untuk kunci tersebut. Fungsi ini menggabungkan nilai-nilai tersebut untuk kemudian membentuk sekumpulan nilai yang lebih sederhana atau jumlahnya lebih sedikit. Idealnya, setiap pemanggilan Reduce akan menghasilkan nol atau satu nilai output. Nilai perantara diberikan ke fungsi Reduce melalui suatu iterator. Hal ini memungkinkan kita untuk menangani nilai yang terlalu besar untuk dimasukkan ke dalam memori. Reduce mengambil output dari fungsi Map sebagai input, kemudian menggabungkan data tersebut menjadi satu set data yang lebih sederhana atau jumlahnya lebih sedikit. Fungsi Reduce ini selalu dilakukan setelah fungsi Map.

Dalam model pemrograman MapReduce, tipe data antara fungsi Map dan Reduce memiliki hubungan sebagai berikut:

map (k1,v1) → list(k2,v2) reduce (k2,list(v2)) → list(v2)

Tipe data input kunci/nilai pada fungsi Map (k1, v1) boleh saja berbeda dengan tipe data output fungsi Map (k2, v2). Namun tipe data input fungsi Reduce (k2, v2) harus sama dengan tipe data output fungsi Map. Tipe data output fungsi Reduce (v2) Tipe data input kunci/nilai pada fungsi Map (k1, v1) boleh saja berbeda dengan tipe data output fungsi Map (k2, v2). Namun tipe data input fungsi Reduce (k2, v2) harus sama dengan tipe data output fungsi Map. Tipe data output fungsi Reduce (v2)

11. Algoritma C4.5 Secara umum Algoritma C4.5 untuk membangun pohon

keputusan adalah sebagai berikut [2]: -

Memilih atribut untuk digunakan sebagai akar -

Membuat cabang untuk masing-masing nilai -

Membagi kasus dalam cabang -

Mengulangi proses untuk masing-masing cabang sampai semua kasus pada cabang memiliki kelas yang sama.

Untuk pemilihan atribut sebagai akar, didasarkan pada nilai gain tertinggi dari atribut-atribut yang ada., Rumus perhitungan gain adalah seperti yang tertera berikut:

Keterangan: S : Himpunan kasus

A : Atribut n : Jumlah partisi atribut A |Si| : Jumlah kasus pada partisi ke i |S| : Jumlah kasus dalam S

Sebelum mendapatkan nilai Gain adalah dengan mencari nilai Entropi. Entropi digunakan untuk menentukan seberapa informatif sebuah masukan atribut untuk menghasilkan sebuah atribut. Rumus dasar dari Entropi adalah sebagai berikut:

Keterangan: S : Himpunan Kasus n : Jumlah partisi S pi: Proporsi dari Si terhadap S

9.5.2 Implementasi

Berikut kode program dari kedua class, yaitu class GainRatio.java

1 public double entropy(int c[]){ 2 double entropy=0; 3 int i=0; 4 int sum=0; 5 double frac; 6 while(c[i]!=0) {

7 sum=sum+c[i]; 8 i++;} 9 i=0; 10 while(c[i]!=0){

11 frac=(double)c[i]/sum; 12 entropy=entropy-frac*(Math.log(frac)/Math.log(2)); 13 i++;} 14 return entropy;} 15 16 public double gainratio(int index,double enp){ 17 int c[][]=new int[1000][100]; 18 int sum[]=new int[1000]; // 19 String currentatrrval="@3#441get"; 20 double gainratio=0; 21 int j=0; 22 int m=-1; //index for split number 23 int lines=linenumber; 24 int totalsum=0; 25 for(int i=0;i<lines;i++){

26 if(Integer.parseInt(count[i][0])==index) { 27 if(count[i][1].contentEquals(currentatrrval)) { 28 j++; 29 c[m][j]=Integer.parseInt(count[i][3]); 30 sum[m]=sum[m]+c[m][j]; } 31 else{

32 j=0; 33 m++;

34 currentatrrval=count[i][1]; 35 c[m][j]=Integer.parseInt(count[i][3]); //(different class) data sets count 36 per m index split 37 sum[m]=c[m][j]; }

38 } 39 } 40 int p=0; 41 while(sum[p]!=0) { 42 totalsum=totalsum+sum[p]; //calculating total instance in node 43 p++;} 44 double wtenp=0; 45 double splitenp=0; 46 double part=0; 47 for(int splitnum=0;splitnum<=m;splitnum++){ 48 part=(double)sum[splitnum]/totalsum; 49 wtenp=wtenp+part*entropy(c[splitnum]); } 50 splitenp=entropy(sum); 51 gainratio=(enp-wtenp)/(splitenp); 52 return gainratio; 53 }

Langkah-langkah dimulai dari start sampai mengeluakan output dari metode c45:

7. Ketik start-all.sh

8. Cek JPS

9. Membuat folder c45 di hduser, kemudian membuat folder input didalam folder C45.

10. Mengecek folder di localhost:50070

11. Copy file dari local ke hdfs

12. Mengecek file di localhost:50070

13. Membuat folder folder output1 didalam folder C45.

14. Mengecek folder di localhost:50070

15. Menjalankan Eclipse

16. Memilih direktori workplace

17. File Input

18. Run Program

19. Download Output

20. Hasil Output