Tag Archives: Countifs

Penyelesaian Algoritma Decision Tree C4.5 dengan Ms Excel

Contoh kasus kali ini penulis akan memberikan contoh penyelesaian algoritma decision tree C4.5 menggunakan Ms Excel. Namun tidak akan menjelaskan panjang lebar apa tu algoritma decision tree C4.5, untuk jelasnya anda bisa membaca teori nya dari artikel Algoritma Decision Tree C4.5.

Sebagai contoh kasus awal merupakan Soal Ujian Tengah Semester Pascasarjana STMIK LIKMI Bandung, berikut penulis gambarkan deskripsi kasus yang akan dipecahkan menggunakan algoritma decision tree C4.5.  Penulis memiliki serangkaian data  yang tersimpan dalam format tabel dimana data merupakan hasil observasi dari 11 proses produksi dengan tingkat kecepatan, kelembaban dan temperatur yang berbeda-beda sehingga menghasilkan produk dengan dua kategori yaitu produk baik dan produk cacat, dengan algoritma decision tree akan mencoba mengklasifikasikan produk dengan kriteria apa yang akan dikelompokan kedalam hasil baik dan buruk, untuk jelasnya perhatikan tabel dibawah ini :

Untuk menyelesaikan kasus diatas dengan algoritma decision tree C4.5 berikut langkah-langkahnya :

1. Buat nama pada cell area dengan ketentuan sebagai berikut :

  • cell C3 sampai cell C14 diberi nama data_temp
  • cell D3 sampai cell D14 diberi nama data_cepat
  • cell E3 sampai cell E14 diberi nama data_suhu
  • cell F3 sampai cell F14 diberi nama data_hasil

Untuk memberi nama cell seperti diatas silahkan baca artikel Memberi Nama Pada Cell Area

2. Berdasarkan data pada tabel pertama buat calon percabangan, adapun calon percabangan yang mungkin terjadi dari tabel pertama adalah :

3. Berikutnya buat tabel untuk menghitung frekwensi yang muncul dari setiap hasil produk berikut dengan proporsi-nya serta entropy-nya / H(t), sehingga tampak seperti berikut :

Berikut adalah formula-formula yang digunakan untuk mengisi tabel diatas:

  • Cell I17 (Frekwensi Baik)  :
    =COUNTIFS(data_hasil,H17)
  • Cell J17 (Proporsi Baik /Pj) :
    =I17/I19
  • Cell K17 (log2.Pj) :
    =Log(J17,2)
  • Cell L17 (Entropy Baik / -P.log2.Pj) :
    =(-K17)*J17
  • Untuk mengisi baris berikutnya anda cukup melakukan copy paste pada baris dibawahnya:
  • Cell I19 (Total Frekwensi ) :
    =SUM(I17:I18)
  • Cell L19 (Total Entropy ) :
    =SUM(L17:L18)

4. Berikutnya kita akan menghitung Gain dari masing-masing kriteria untuk mencari gain tertinggi yang akan dijadikan cabang keputusan, untuk itu gunakan bantuan tabel seperti dibawah ini :

Adapun formula-formula yang digunakan untuk mengisi kolom-kolom diatas adalah :

  • Cell E25 (Produk dengan hasil baik pada  temperatur tinggi) :
    =COUNTIFS(data_temp,D25,data_hasil,$E$24)
  • Cell F25 (Produk dengan hasil cacat pada  temperatur tinggi) :
    =COUNTIFS(data_temp,D25,data_hasil,$F$24)
  • Cell G25 (Proporsi Produk baik terhadap keseluruhan produk pada temperatur tinggi):
    =IFERROR((E25/(E25+F25)),0)
  • Cell H25 (Proporsi Produk cacat terhadap keseluruhan produk pada temperatur tinggi):
    =IFERROR(F25/(E25+F25),0)
  • Cell I25 (-P(baik) X LOG2 P(baik)) :
    =IFERROR((-G25*LOG(G25,2)),0)
  • Cell J25 (-P(cacat) X LOG2 P(cacat)) :=IFERROR((-H25*LOG(H25,2)),0):
  • Cell K25 (Total) :=I25+J25
  • Cell L25 (P=Temp..) :
    =COUNTIFS(data_temp,D25)/COUNTA(data_temp)
  • Cell M25 (Total X P(Temp=..)) :
    =K25*L25
  • Cell N25 (E(Total*P(Temperatur=..))):
    =SUM(M25:M26)
  • Cell O25 (Gain masing-masing cabang) :
    =$L$19-N25

 

5. Selanjutnya untuk mengisi Cell E26 sampai M26 (Cabang 1 Temperatur Normal), anda cukup mengcopy dari Cell E25 sampai M25 (Cabang 1 Temperatur Tinggi).

6. Berikutnya untuk mengisi cell E27 sampai O25, anda ulangi langkah nomor 4 dengan cara meng-copy cell E25 sampai O25, namun anda ubah pada bagian data_temp didalam formula dengan data_cepat, karena kita akan mengisi calon cabang 2 Kecepatan tinggi dan kecepatan rendah

7. Dan untuk mengisi Cell E28 sampai M28 (Cabang 2 Kelembaban Normal), anda cukup mengcopy dari Cell E27 sampai M27 (Cabang 2 Kelembaban Tinggi).

8. Selanjutnya untuk mengisi cell E29 sampai O29, anda ulangi langkah nomor 4 dengan cara meng-copy cell E25 sampai O25, namun anda ubah pada bagian data_temp didalam formula dengan data_suhu, karena kita akan mengisi calon cabang 3 Kelembaban tinggi, kelembaban normal, dan kelembaban rendah.

9. Dan untuk mengisi Cell E30 sampai M30 dan  Cell E31 sampai M31  (Cabang 2 Kelembaban sedang dan rendah), anda cukup mengcopy dari Cell E29 sampai M29 (Cabang 2 Kelembaban Tinggi).

10. Setelah selesai terisi semua saatnya menarik kesimpulan calon cabang yang mana yang akan dijadikan cabang sesungguhnya, hal ini dilakukan dengan mencari nilai tertinggi dari kolom Gain , dari kolom tersebut didapat gain 0,46 (calon cabang 1) yang akhirnya menjadi cabang, sehingga tahap pertama kita bisa membuat pohon keputusan level pertama seperti berikut :

Dari gambar diatas terlihat dua simbol yaitu simbol kotak dan simbol elips, simbol kotak menandakan keputusan final artinya, jika temperatur nya tinggi maka hasil produksi nya pasti cacat, namun jika temperatur nya rendah kita tidak bisa menentukan apakah cacat atau baik, karena belum final keputusannya maka langkah pertama pada langkah-langkah diatas anda ulang lagi, namun membuang bagian produk yang diproduksi menggunakan temperatur tinggi (proses 1 s.d. 6), sehingga tabel data pertama akan menjadi seperti berikut setelah mengeliminasi hasil produk dengan temperatur tinggi.

  • cell C3 sampai cell C8 diberi nama data_temp_2
  • cell D3 sampai cell D8 diberi nama data_cepat_2
  • cell E3 sampai cell E8 diberi nama data_suhu_2
  • cell F3 sampai cell F8 diberi nama data_hasil_2

Untuk memberi nama cell seperti diatas silahkan baca artikel Memberi Nama Pada Cell Area

11. Hitung  entropi untuk tabel diatas (setelah mengeliminasi temperatur tinggi)

Untuk formula menghitung sama dengan pada langkah ke3, tugas anda hanya mengganti area data_hasil dengan data_hasil_2.

12. Berikutnya kita akan menghitung Gain dari masing-masing kriteria untuk mencari gain tertinggi yang akan dijadikan cabang keputusan, untuk itu gunakan bantuan tabel seperti dibawah ini :

Hitung kolom-kolom diatas menggunakan formula pada langkah-langkah ke-4 tugas anda hanya mengganti cell area data_hasil menjadi data_hasil_2, data_temp menjadi data_temp_2, data_hasil menjadi data_hasil_2.

13. Setelah seluruhnya terisi cari Gain tertinggi, kebetulan kedua calon memiliki gain yang sama yaitu 0.00 jika ditemukan hal demikian gunakan yang yang mana saja dalam hal ini calon cabang 3 yang terpilih untuk cabang ke-dua.

14. Dari hasil tersebut maka Decision Tree-nya adalah sebagai berikut :

Sebagai bahan latihan silahkan download file latihan excel-nya.

DOWNLOAD

Membuat Rekap Data dengan Count, Counta,Countif, dan Countifs

Tutorial kali ini akan dijelaskan bagaimana cara membuat sebuah rekapitulasi data, tutorial kali ini pula merupakan kasus dari Sekolah tempat dimana penulis mengajar. Pada kasus yang ditemukan petugas Tata Usaha ketika membuat data pendaftar di Excel menginginginkan suatu laporan dalam bentuk rekapitulasi seperti tampak pada gambar dibawah ini :


Sementara data yang dimiliki adalah tampak seperti pada gambar dibawah ini :



dimana data tersebut telah dimanipulasi se-simple mungkin untuk memudahkan dalam penggambaran kasus kali ini. Kembali ke permasalah, bagai mana caranya kita membuat rekapitulasi yang tampak seperti pada gambar pertama ?? Untuk melakukan hal kita bisa menggunakan fungsi database yaitu :

  • COUNTA untuk menghitung banyak data pada suatu range area dengan mengabaikan cell yang kosong.
  • COUNTIF untuk menghitung banyaknya data pada suatu range area dengan satu kondisi tertentu.
  • COUNTIFS untuk menghitung banyaknya data pada suatu range area dengan lebih dari satu kondisi tertentu.

Baiklah kita mulai pekerjaan membuat rekapitulasi data, berikut tahap-tahapan pengerjaannya :

  1. Siapkan data seperti tampak pada gambar kedua Karena kita akan mengitung jumlah data pendaftar berdasarkan jurusan dan asal sekolah, maka buat dua buah range area dengan fasilitas insert name define, yaitu area range dengan nama sekolah dengan jangkauan cell D7 sampai D26 dan area range dengan nama sekolah dengan jangkauan cell E7 sampai E26
  2. Buat Tabel rekapitulasi seperti tampak pada gambar pertama, dan beri nama cell I6 dengan nama AK, J6 dengan nama AP, dan K6 dengan nama PN menggunakan fasilitas insert name define.
  3. Untuk mengisi kolom I7 sampai K6 kita gunakan formula COUNTIFS dengan format :

    =COUNTIFS(range_kriteria_1,kriteria_1,range_kriteria_2,kriteria_2, … ,range_kriteria_n,kriteria_n)
    Jadi dari formula diatas karena kita sudah membuat range_kriteria_1 yaitu sekolah dan range_kriteria_2 yaitu jurusan dan tiga kriteria masing-masing AK, AP dan PN maka untuk mengisi cell I7 formulanya :

    =COUNTIFS(sekolah,H7,jurusan,AK)
    Sedangkan cell J7 formulanya :
    =COUNTIFS(sekolah,H7,jurusan,AP)
    dan cell K7 formulanya :
    =COUNTIFS(sekolah,H7,jurusan,PN)
    Untuk baris ke-dua dan seterusnya anda tinggal meng-copy saja bari 7 sampai 10
  4. Untuk mengisi kolom L7 menggunakan Fungsi COUNTA yaitu untuk menghitung cell yang tidak kosong dari range area cell tertentu yaitu range area sekolah dengan formula :

    =COUNTA(sekolah)

    Untuk baris selanjutnya tinggal meng-copy saja
  5. Dan untuk menghitung jumlah tiap kolom jurusan menggunakan fungsi COUNTIF, yang akan menghitung range area cell tertentu dalam hal ini jurusan dengan kriteria tertentu, misal untuk akuntansi maka kriterianya AK,perkantoran AP dan pemasaran PN, atas dasar tersebut maka pada cell I11 formulanya :

    =COUNTIF(jurusan,AK)

    Dan untuk cell J11 formulanya :
    =COUNTIF(jurusan,PN)

    Sedangkan cell K11 formulanya :

    =COUNTIF(jurusan,AP)
  6. Terakhir untuk menghitung total pendaftar pada cell L11 kita gunakan fungsi COUNTA sehingga bisa menggunakan formula :
    =COUNTA(sekolah) atau boleh juga
    =COUNTA(jurusan)

    Demikian penjelasan tentang kelompok fungsi count untuk membuat rekapitulasi data dari serangkaian data dalam tabel. Sebagai bahan pembelajaran silahkan download file latihannya.

DOWNLOAD