Spesifikasi Jalannya Program IMPLEMENTASI SISTEM

Pada form Tampil Data Test Set ini terdapat dua tombol, yaitu : a. Detail Jika pengguna memilih untuk menampilkan tabel Test Set maka tombol Detail berfungsi untuk menampilkan Form Detail Test Set . b. Unprunned Tree Tombol ini berfungsi untuk menampilkan Form Unprunned Tree. Berikut ini tampilan Form Detail Data Training Set jika pengguna menekan tombol Detail pada saat Form Tampil Data menampilkan tabel Training Set : Gambar 4.4 Form Detail Data Training Set Form ini berfungsi untuk memberikan informasi kepada pengguna mengenai detail data training set dengan menampilkan tabel training set dan PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI jumlah record data. Dalam program ini, tabel training set terdiri dari 310 records . Untuk mengetahui detail data dari setiap atribut kondisi training set, pengguna dapat memilih atribut yang terdapat dalam combo box Atribut Kondisi. Pengguna tidak dapat memilih Atribut Keputusan karena program telah mengatur default Atribut Keputusan adalah TARGET_B. Setelah memilih Atribut Kondisi, pengguna dapat menekan tombol Kejadian Atribut untuk mengetahui detail kejadian berdasarkan Atribut Kondisi. String grid Detail Data akan menampilkan nama kejadian dan jumlah data kejadian tersebut berdasarkan atribut keputusan, yaitu TARGET_B = YES dan TARGET_B = NO. Jika pengguna belum memilih Atribut Kondisi dan menekan tombol Kejadian Atribut maka akan program akan menampilkan pesan di bawah ini: Gambar 4.5 Kotak Pesan 1 Jika pengguna menekan tombol Unprunned Tree maka program akan menampilkan form selanjutnya, yaitu Form Unprunned Tree. Berikut ini tampilan Form Detail Data Test Set jika pengguna menekan tombol Detail pada saat Form Tampil Data menampilkan tabel Test Set : Gambar 4.6 Form Detail Data Test Set Form Detail Data Test Set berfungsi untuk memberikan informasi kepada pengguna mengenai detail data test set dengan menampilkan tabel test set dan jumlah record data. Dalam program ini, tabel test set terdiri dari 40 records. Untuk mengetahui detail data dari setiap atribut kondisi test set, pengguna dapat memilih atribut yang terdapat dalam combo box Atribut Kondisi. Pengguna tidak dapat memilih Atribut Keputusan karena program telah mengatur default Atribut Keputusan adalah TARGET_B. Setelah memilih Atribut Kondisi, pengguna dapat menekan tombol Kejadian Atribut untuk mengetahui detail kejadian berdasarkan Atribut Kondisi. String grid Detail Data akan menampilkan nama kejadian dan jumlah data kejadian tersebut berdasarkan atribut keputusan, yaitu TARGET_B = YES dan TARGET_B = NO. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Jika pengguna belum memilih Atribut Kondisi dan menekan tombol Kejadian Atribut maka akan program akan menampilkan pesan di bawah ini: Gambar 4.7 Kotak Pesan 2 Jika pengguna menekan tombol Unprunned Tree pada Form Detail Data Training Set dan Form Detail Data Test Set maka program akan menampilkan Form Unprunned Tree. Berikut ini tampilannya: Gambar 4.8 Form Unprunned Tree Pada saat pengguna menekan tombol Hitung Gain, program akan menghitung nilai gain semua atribut dengan memanggil procedure cari_node , function HitungInfo, procedure hitung dan function homogen yang tersimpan dalam Unit _Hitung_Gain. Procedure cari_node merupakan procedure pertama yang diproses dalam Unit _Hitung_Gain. Dalam procedure ini dilakukan proses pencarian atribut yang menjadi simpul awal sekaligus atribut yang menjadi simpul internal untuk setiap percabangan pohon keputusan . Berikut ini listing program p rocedure cari_node: procedure TF_Gain.CariNodeT:tdataset; var Node:String; Var InfoAwal:real; JmlData,JmlYes,JmlNo:integer; Entropi:array[1..maxkej] of real; Info:array[1..maxkej] of real; S1,S2:array[1..maxkej] of integer; i,j,NA:integer; nKolom:integer; jmlKej:integer; sama:boolean; DataKej:array [1..maxkej] of TrecKej; begin JmlYes:=0; JmlNo:=0; JmlData:=0; T.First; while not T.Eof do begin if T[TARGET_B]=YES then IncJmlYes else IncJmlNo; T.next; end; JmlData:=JmlYes+JmlNo; InfoAwal:=HitungInfoJmlYes,JmlNo; nKolom:= T.FieldCount-2; hitung jumlah atribut for i:=1 to nKolom do i utk looping atribut begin for j:=1 to maxkej do begin DataKej[j].nama:=; DataKej[j].frek[1]:=0; 1 utk Yes DataKej[j].frek[2]:=0; 2 utk No end; for j:=1 to maxkej T.First; DataKej[1].nama:=T.Fields[i].AsString; if T[TARGET_B]=YES then DataKej[1].frek[1]:=1 else DataKej[1].frek[2]:=1; jmlKej:=1; counter jml kejadian T.Next; while not T.Eof do begin sama:=False; for j:=1 to jmlKej do begin if DataKej[j].nama = T.Fields[i].AsString then begin sama:=True; if T[TARGET_B]=YES then begin incDataKej[j].frek[1]; end else begin incDataKej[j].frek[2]; end; break; end end; if not sama then begin incjmlKej; DataKej[jmlKej].nama:=T.Fields[i].AsString; if T[TARGET_B]=YES then DataKej[jmlkej].frek[1]:=1 else DataKej[jmlkej].frek[2]:=1; end; T.next; end; Entropi[i]:=0; hitung info utk tiap2 kejadian for j:=1 to jmlKej do begin S1[j]:=DataKej[j].frek[1]; S2[j]:=DataKej[j].frek[2]; Info[j]:=HitungInfoS1[j],S2[j]; DataKej[j].info:=info[j]; StatKej[i].Kej[j]:=DataKej[j]; hitung entropi utk tiap2 atribut Entropi[i]:=Entropi[i]+S1[j]+S2[j]JmlDataInfo[j]; Gain[i]:=InfoAwal-Entropi[i]; end;for j:=1 to jmlKej StatKej[i].jml:=jmlKej; end; for i:=1 to nKolom do Mencari Gain terbesar GainMax:=0; NA:=0; for i:=1 to nKolom do begin F_Detail_Gain.ComboBox1.Items.AddT.Fields[i].DisplayName; if Gain[i]GainMax then begin GainMax:=Gain[i]; NA:=i;Var utk menampilkan Gain Max end; end; Node:= T.Fields.Fields[NA].DisplayName; end; Data kejadian dari setiap atribut dideklarasikan dalam sebuah tipe data record sebagai berikut : Type TrecKej=record nama: string; frek: array [1..2] of integer; info:real; end; Deklarasi tipe data record TrecKej terdiri dari beberapa field dengan tipe data yang berbeda-beda yaitu : o Nama : variabel untuk menyimpan nama kejadian dengan tipe string. o Frek : variabel array untuk menyimpan jumlah kejadian berdasarkan konsekuen TARGET_B = YES dan TARGET_B = NO. o Info : variabel untuk menyimpan nilai info tiap-tiap kejadian dengan tipe real. Berikut ini struktur tabel tipe data record TrecKej : Tabel 4.1 Struktur Tabel Tipe Data Record TrecKej Frek Nama Yes No Info Untuk mendapatkan simpul awal dan simpul internal dilakukan perhitungan entropi, nilai rata-rata entropi dan gain untuk setiap atribut. Proses perhitungan entropi berlangsung saat pemanggilan function HitungInfo berikut ini : function HitungInfoS1,S2:integer:Real; Var Jml:integer; Begin Jml:=S1+S2; If S1=0 or S2=0 then Result:=0 Else Result:=-S1Jmllog2S1Jml-S2JmlLog2S2Jml; End; Pada saat p rocedure cari_node menemukan simpul awal maupun simpul internal, proses mining berlanjut ke procedure hitung dengan listing sebagai berikut: listing program selengkapnya dapat dilihat pada file listing.pdf procedureTF_Gain.hitungh1,h2,str1,cnode:string; kolom:string; dftKej:TarrKej; jmlKej:integer; var xxx,str2,jenis,cnode1:string; jmlYes,jmlNo:integer; i,j,jmlKej1:integer; q:TQuery; H1A,H2A:string; dftKej1:TarrKej; begin q:=Tquery.createself; q.DatabaseName:=..\prog_mining\basisdata; proses mining............ for j:=1 to jmlKej do begin q.sql.Clear; xxx:=select +kolom+ from member where +cnode+ = + QuotedStrDftKej[j]+ +str1; q.sql.Addxxx; q.open; q.Last; q.First; if q.RecordCount 0 then hitung jml yes no pd dataset begin if homogenq,jenis then begin DataSource1.DataSet := q; h1a:=h1+,+cnode; h2a:=h2+,+QuotedStrDftKej[j]; memo2.Lines.Addcnode+= + QuotedStrDftKej[j]+ +str1+ -- Homogen +jenis;cnode:rootnode tingkat ke 2, dst h1a:=copyh1a,2,lengthh1a-1; h2a:=copyh2a,2,lengthh2a-1; Q1.SQL.Clear; Q1.SQL.AddINSERT INTO ATURAN +h1a+,TARGET_B; Q1.SQL.AddVALUES +h2a+,+jenis+; tampil jml aturan YesNo pd form Pohon Q2.SQL.Clear; Q2.sql.addselect count as jumlah from aturan where TARGET_B=YES; Q2.Open; Q2.Last; Q2.First; JmlYes:=Q2.RecordCount; F_Pohon.Edit1.Text:=InttoStrJmlYes; Q2.SQL.Clear; Q2.sql.addselect count as jumlah from aturan where TARGET_B=NO; Q2.Open; Q2.Last; Q2.First; JmlNo:=Q2.RecordCount; F_Pohon.Edit2.Text:=InttoStrJmlNo; Q1.ExecSQL; end else jika TIDAK homogen kerjakan yg ini begin if q.FieldCount 1 then begin cnode1:=; carinodeq,cnode1; cari kolom tanpa cnode1 baca nama kolom tanpa kolom yg sdh jadi root node kolom:=; for i:=0 to q.FieldCount-1 do ifq.FieldDefs[i].DisplayName cnode1 and q.FieldDefs[i].DisplayName cnode then kolom:=kolom+,+q.FieldDefs[i].DisplayName; hitung jml kejadian buat daftar kejadian Q1.SQL.Clear; Q1.SQL.AddSelect +cNode1 + from member Group by +cNode1; Q1.open; Q1.First; jmlKej1:=Q1.RecordCount; for i:=1 to jmlKej1 do begin dftKej1[i]:=Q1.Fields[0].AsString; Q1.Next; end; kolom:=copykolom,2,lengthkolom-1; str2:=str1+ and +cnode+ = + QuotedStrdftKej[j]; h1:=h1+,+cnode; h2:=h2+,+QuotedStrdftKej[j]; hitungh1,h2,str2,cnode1,kolom,dftKej1,jmlKej1; end; end; end; end; for j:=1 to jmlKej do q.Destroy; end; Pada saat melakukan proses pembentukan pohon, program akan menampilkan form pesan yang dilengkapi dengan komponen animasi penghitung waktu sebagai berikut : Gambar 4.9 Form Pesan Saat Proses Mining Sedang Berlangsung Setelah memperoleh simpul awal dan nilai gain, program akan menampilkan pesan di bawah ini : Gambar 4.10 Kotak Pesan 3 Nama atribut dan nilai gain atribut yang menjadi simpul awal ditampilkan dalam komponen edit Node Awal dan komponen edit Nilai Gain. Pada program ini yang menjadi simpul awal adalah atribut RFA_2F dengan nilai gain sebesar 0.0283. Tabel aturan yang membentuk pohon keputusan dalam program ini disimpan dalam deklarasi variabel berikut : Const maxkej=250; T:array [1..maxkej] of TDataSet; Variabel T merupakan variabel berbentuk tabel dinamis yang disusun dalam bentuk array dengan kapasitas maksimum sebanyak 250 elemen. Struktur array variabel T dapat berubah-ubah sesuai dengan banyaknya kejadian dari atribut simpul awal maupun simpul internal yang membentuk percabangan pohon. Struktur array yang berubah-ubah ini dikarenakan jumlah kejadian untuk setiap atribut berbeda-beda. Misalnya, diperoleh atribut RFA_2F sebagai simpul awal tingkat pertama dengan jumlah kejadian pada atribut RFA_2F sebanyak 4 kejadian yaitu 1, 2, 3 dan 4. Untuk tingkat pertama dari pohon keputusan terbentuk 4 percabangan sesuai kejadian atribut RFA_2F. Variabel T akan membuat tabel baru yang bersifat temporer dengan menyimpan atribut tersisa tanpa mengikutsertakan atribut RFA_2F. Atribut-atribut dalam tabel baru ini kemudian dihitung nilai entropi, nilai rata-rata entropi dan nilai gainnya untuk mendapatkan simpul internal selanjutnya tingkat kedua. Begitu seterusnya proses yang terjadi dalam PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI deklarasi variabel T dimana percabangan pohon keputusan tidak sama pada setiap tingkatan simpul. Selain variabel T, ada beberapa variabel yang juga merupakan variabel dinamis, yaitu: • Entropi:array[1..maxkej] of real; • Info:array[1..maxkej] of real; • S1,S2:array[1..maxkej] of integer; Pendeklarasian variabel dinamis ini dimaksudkan agar program memiliki kemampuan yang fleksibel untuk menyimpan data sehingga dapat menangani percabangan pohon keputusan. Setelah pengguna menekan tombol OK pada form Kotak Pesan 3, program melanjutkan proses pembentukan pohon keputusan dengan membuat percabangan dari simpul awal berdasarkan banyaknya kejadian pada simpul awal RFA_2F. Proses pembentukan pohon keputusan selanjutnya dilakukan dengan memanggil kembali procedure cari_node , function HitungInfo, procedure hitung dan function homogen dalam Unit _Hitung_Gain . Pada saat program mengeksekusi function homogen dan menemukan sampel data yang homogen maka sampel data tersebut ditampilkan dalam komponen memo . Berikut ini listing function homogen untuk mengecek sampel data yang homogen: FunctionTF_Gain.homogent:tdataset;var jenis:string:boolean; var jmlya,jmltdk,jml:integer; begin jmlya:=0; jmltdk:=0; jml:=0; T.First; while not T.Eof do begin if T[TARGET_B]=YES then jmlya:=jmlya+1; if T[TARGET_B]=NO then jmltdk:=jmltdk+1; jml:=jml+1; T.Next; end;while not T.Eof do if jml=jmlya then begin homogen:=true; Jenis:=YES; end; if jml=jmlya then if jml=jmltdk then begin homogen:=true; jenis:=NO; end; if jml=jmltdk then end; Pemanggilan procedure dan function dalam tombol Hitung Gain dilakukan secara rekursif sampai proses pembentukan pohon keputusan selesai. Sampel data homogen yang terbentuk dari hasil perhitungan gain merupakan suatu aturan pembentuk pohon keputusan. Di bawah ini merupakan contoh sampel data homogen: Tabel 4.2 Sampel Data Homogen No Aturan Homogen 1 AGE=OLD and RFA_2F=1 and TCODE=1002 YES 2 AGE=OLDER and RFA_2F=1 and TCODE=1002 NO Penjelasan : Dari aturan di atas dapat diketahui bahwa anggota organisasi yang memiliki profil: 1. AGE=OLD dan RFA_2F=1 dan TCODE=1002 memberikan respon terhadap layanan NK Target_B=YES. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2. AGE=OLDER dan RFA_2F=1 dan TCODE=1002 tidak memberikan respon terhadap layanan NK Target_B=NO. Aturan-aturan tersebut disimpan dalam tabel aturan.db melalui statement dalam listing program berikut: memo2.Lines.Addcnode+=+QuotedStrDftKej[j]++str1+-- Homogen+jenis; h1a:=copyh1a,2,lengthh1a-1; h2a:=copyh2a,2,lengthh2a-1; Q1.SQL.Clear; Q1.SQL.AddINSERT INTO ATURAN +h1a+,TARGET_B; Q1.SQL.AddVALUES +h2a+,+jenis+; Q1.ExecSQL; Susunan dan jumlah field pada tabel aturan diharuskan sama dengan tabel training. Hal ini bertujuan untuk memudahkan program membaca isi tabel aturan pada saat pengujian aturan ke dalam tabel tes. Isi record dalam tabel aturan diurutkan sesuai dengan nomor aturan yang terbentuk. Misalnya, sampel data homogen yang pertama diperoleh adalah : INCOME=HIGH and RFA_2F=1 and TCODE=0 and WEALTH=0 and PEPSTRFL=B and GENDER=F -- Homogen YES Sampel data di atas menjadi aturan pertama dalam tabel aturan. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Berikut ini tampilan form setelah program memperoleh pohon keputusan: Gambar 4.11 Tampilan Form Unprunned Tree Setelah Program Memperoleh Pohon Keputusan Jika program telah menyelesaikan proses pembentukan pohon, program akan menampilkan sampel data homogen pada komponen memo dan kotak pesan tentang lamanya proses berlangsung. Berikut ini tampilan kotak pesan tersebut : Gambar 4.12 Kotak Pesan 4 Jika pengguna menekan tombol Detail Gain pada Form Unprunned Tree maka program akan menampilkan Form Detail Gain seperti di bawah ini: Gambar 4.13 Form Detail Gain Form ini berfungsi menampilkan nama kejadian, jumlah kejadian dengan TARGET_B = YES dan TARGET_B = NO serta jumlah info setiap atribut berdasarkan nama atribut yang dipilih oleh pengguna. Informasi di atas ditampilkan dalam string grid Detail Statistik Atribut. Informasi yang ditampilkan dalam string grid Detail Gain Atribut merupakan informasi nilai gain untuk keseluruhan atribut. Tombol Unprunned Rule pada Form Detail Gain berfungsi untuk menampilkan Form Unprunned Rule. Jika pengguna menekan tombol Lihat Aturan pada Form Unprunned Tree maka program akan menampilkan Form Unprunned Rule seperti di bawah ini: Gambar 4.14 Form Unprunned Rule Pada form ini pengguna dapat melihat aturan yang terbentuk dari pohon keputusan dimana aturan-aturan yang ada ditampilkan dalam bentuk string grid dengan contoh struktur sebagai berikut: Tabel 4.3 Struktur String Grid Pada Form Unprunned Rule No Anteseden Konsekuen 1 INCOME=HIGH and RFA_2F=1 and TCODE=0 and WEALTH=0 and PEPSTRFL=B and GENDER=F YES PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Jumlah aturan dengan Target_B=’YES’ dan Jumlah aturan dengan Target_B=’NO’ ditampilkan dalam group box Summary. Tombol ALL berfungsi menampilkan semua aturan pada string grid. Tombol Lihat Aturan YES berfungsi menampilkan aturan-aturan dengan konsekuen Target_B=’YES’ pada string grid. Berikut ini tampilan Form Unprunned Rule dengan konsekuen ‘YES’: Gambar 4.15 Form Unprunned Rule dengan Konsekuen ‘YES’ Tombol Lihat Aturan NO berfungsi menampilkan aturan-aturan dengan konsekuen Target_B=’NO’ pada string grid. Berikut ini tampilan Form Unprunned Rule dengan konsekuen ‘NO’: Gambar 4.16 Form Unprunned Rule dengan Konsekuen ‘NO’ Jika pengguna menekan tombol Kamus Atribut pada Form Unprunned Rule maka program akan menampilkan Form Keterangan Anteseden seperti gambar di bawah ini : Gambar 4.17 Form Keterangan Anteseden Pada form di atas pengguna dapat melihat keterangan dari setiap atribut dan kejadian-kejadiannya yang menjadi anteseden dalam sebuah aturan. Tombol Lanjut pada Form Unprunned Rule dan tombol Lanjut pada Form Keterangan Anteseden berfungsi untuk melanjutkan proses ID3 dengan menampilkan Form Uji Aturan seperti di bawah ini: Gambar 4.18 Form Uji Aturan Untuk melakukan pengujian aturan ke dalam tabel test set pengguna terlebih dahulu membuka tabel tes dengan menekan tombol Buka Tabel Tes. Program akan membuka kotak dialog dan menampilkan pilihan tabel test set yang ada seperti pada form di bawah ini : Gambar 4.19 Form Uji Aturan Saat Pengguna Menekan Tombol Buka Tabel Tes Tabel test set yang diuji diharuskan memenuhi syarat-syarat berikut, yaitu: o Memiliki susunan field yang sama dengan tabel training set. o Memiliki satu field tambahan setelah atribut keputusan TARGET_B untuk menyimpan hasil pengujian aturan. Dengan kata lain jumlah field tabel test set adalah jumlah field tabel training set + 1. Pada program ini field tambahan tersebut diberi nama PREDIKSI. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Jika pengguna memilih tabel test set yang tidak memenuhi syarat- syarat di atas maka program akan menampilkan pesan-pesan di bawah ini : Gambar 4.20 Kotak Pesan 5 Gambar 4.21 Kotak Pesan 6 Jika pengguna memilih tabel yang memenuhi syarat untuk menjadi tabel test set maka program akan menampilkan kotak pesan di bawah ini: Gambar 4.22 Kotak Pesan 7 Selanjutnya, untuk melakukan pengujian aturan pengguna harus menekan tombol Uji Aturan. Selanjutnya, tombol Uji Aturan melakukan pengujian aturan dengan menjalankan procedure TF_Uji. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Sebelum melakukan pengujian, program akan menampilkan kotak pesan di bawah ini : Gambar 4.23 Kotak Pesan 8 Dalam pengujian aturan, program tidak menggunakan uji statistik uji Chi-Square karena data-data yang ada tidak memenuhi syarat untuk melakukan uji Chi-Square. Pengujian aturan dilakukan dengan menyederhanakan aturan Unprunned Rule menggunakan default rule. Default rule diperoleh dari konsekuen terbanyak dalam tabel aturan. Kemudian program akan menampilkan kotak pesan berikut: Gambar 4.24 Kotak Pesan 9 Program akan melakukan pengujian aturan dan mengeliminasi aturan- aturan berdasarkan default rule = NO. Pada saat melakukan proses pengujian aturan, program akan menampilkan form pesan yang dilengkapi dengan komponen animasi penghitung waktu sebagai berikut : Gambar 4.25 Form Pesan Saat Proses Mining Sedang Berlangsung Di bawah ini tampilan form setelah program memperoleh hasil pengujian aturan : Gambar 4.26 Form Uji Aturan Setelah Memperoleh Hasil Uji Aturan Hasil pengujian aturan memperoleh tingkat persentase keberhasilan sebesar 77.5000 atau 77.5 . Total aturan dengan prediksi benar sebanyak 31 aturan dan total aturan dengan prediksi salah sebanyak 9 aturan. Jika pengguna menekan tombol Dialog pada form uji aturan maka program akan menampilkan Form Uji Sampel Data Pengguna seperti di bawah ini : Gambar 4.27 Form Uji Sampel Data Pengguna Form Uji Sampel Data Pengguna berfungsi untuk melakukan pengujian aturan berdasarkan input aturan dari pengguna. Sebelum melakukan pengujian aturan, pengguna terlebih dahulu memasukkan nama dan nilai atribut yang terdapat dalam menu pilihan combo box Nama Atribut dan combo box Nilai Atribut. Setelah nama dan nilai atribut dipilih, pengguna harus menekan tombol Tambah Aturan untuk menampilkan pilihan atribut tersebut ke dalam string grid data. Jika pengguna belum memilih nama atribut tetapi langsung memilih nilai atribut maka program akan menampilkan kotak pesan di bawah ini: Gambar 4.28 Kotak Pesan 10 Setelah memasukkan aturan yang ingin diuji, pengguna diharuskan menekan tombol Uji Aturan untuk mengetahui hasil uji aturan. Sampel aturan yang dimasukkan pengguna kemudian dicek dengan aturan yang tersimpan dalam tabel aturan. Jika ada aturan yang sesuai dengan sampel aturan pengguna maka nomor aturan dan nilai konsekuen Target_B ditampilkan. Dimisalkan, pengguna memasukkan sampel data sebagai berikut : Tabel 4.4 Contoh Sampel Data Pada Form Uji Sampel Data Pengguna No Nama Atribut Nilai Atribut 1 TCODE 3 2 RFA_2F 1 Berdasarkan tabel aturan, contoh sampel data tersebut mengindikasikan bahwa anggota dengan profil TCODE =3 dan RFA_2F =1 akan memberikan respon terhadap layanan NK Target_B = YES. Aturan yang sesuai dengan contoh profil tersebut adalah aturan nomor 58 pada tabel aturan TCODE =3 and RFA_2F =1 -- Target_B = YES. Berikut ini tampilan Form Uji Sampel Data Pengguna: Gambar 4.29 Form Uji Sampel Data Pengguna Setelah Pengguna Memasukkan Sampel Aturan Jika tidak ada aturan yang sesuai dengan sampel aturan pengguna maka nilai konsekuen TARGET_B tidak dapat diprediksikan. Berikut ini tampilannya : Gambar 4.30 Form Uji Sampel Data Pengguna Dengan Nilai Konsekuen TARGET_B Tidak Dapat Diprediksi Hasil uji aturan berupa nomor aturan dan konsekuen TARGET_B ditampilkan dalam string grid Hasil Uji Aturan. Tombol Reset berfungsi bagi pengguna untuk memasukkan daftar aturan baru yang ingin diuji. Tombol Selesai berfungsi untuk mengakhiri program dengan menampilkan kotak pesan di bawah ini : Gambar 4.31 Kotak Pesan 11 Main menu yang terdapat dalam setiap form berisi informasi berikut: o Program, berisi sub menu a. Tutup, yang berfungsi untuk menutup form yang sedang aktif. o Bantuan, berisi sub menu : a. Tentang Program. Jika pengguna memilih sub menu ini maka program akan menampilkan penjelasan tentang program dengan tampilan sebagai berikut: Gambar 4.32 Form Tentang Program Tombol Ke Awal berfungsi untuk menampilkan Form Tampil Data Training Set Test Set. Tombol Keluar berfungsi untuk menutup form ini. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI b. Tentang Pembuat Program Jika pengguna memilih sub menu ini maka program akan menampilkan penjelasan tentang pembuat program dengan tampilan sebagai berikut: Gambar 4.33 Form Pembuat Program Tombol Ke Awal berfungsi untuk menampilkan Form Tampil Data Training Set Test Set. Tombol Keluar berfungsi untuk menutup form ini.

C. Analisa Hasil Program

Hasil uji aturan dalam program ini dapat digunakan untuk mengidentifikasi profil anggota organisasi yang memberikan respon terhadap layanan pengiriman surat dengan kartu kosong NK. Dalam tugas akhir ini penulis melakukan 3 jenis percobaan yaitu: • Menggunakan data training set sekaligus berfungsi sebagai data test set. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI • Menetapkan 310 records data sebagai data pada training set dan mengubah proporsi jumlah sampel data pada test set. • Mengubah-ubah proporsi jumlah sampel data training set dan menetapkan jumlah sampel test set sebanyak 50 records. Detail hasil percobaan-percobaan di atas adalah sebagai berikut: o Percobaan 1 Pada percobaan ini penulis menggunakan data training set sekaligus berfungsi sebagai data test set. Hasil yang diperoleh sebagai berikut : Tabel 4.5 Hasil Percobaan 1 Jumlah Sampel No Training Set Test Set Node Awal Jumlah Aturan Persentase keberhasilan 1 291 291 MALEMILI 87 100 Di bawah ini detail jumlah aturan untuk setiap tahap pengujian dari percobaan 1: Tabel 4.6 Detail Jumlah Aturan Percobaan 1 Aturan dengan Konsekuen TARGET_B Total Aturan dengan Prediksi.. No YES NO Benar Salah Total Aturan 1 39 48 291 87 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI o Percobaan 2 Pada percobaan ini penulis menetapkan 310 records data sebagai data pada training set dan mengubah-ubah proporsi jumlah sampel data pada test set. Hasil yang diperoleh sebagai berikut: Tabel 4.7 Hasil Percobaan 2 Jumlah Sampel Percobaan Training Set Test Set Node Awal Jumlah Aturan Persentase Keberhasilan 1 310 5 RFA_2F 146 80 2 310 10 RFA_2F 146 60 3 310 15 RFA_2F 146 73.3333 4 310 20 RFA_2F 146 70 5 310 25 RFA_2F 146 76 6 310 30 RFA_2F 146 73.3333 7 310 35 RFA_2F 146 74.2857 8 310 40 RFA_2F 146 77.5 Rerata Persentase Keberhasilan 66.1815 Di bawah ini detail aturan untuk setiap tahap pengujian dari percobaan 2: Tabel 4.8 Detail Jumlah Aturan Percobaan 2 Jumlah Sampel Aturan dengan Konsekuen TARGET_B Total Aturan dengan Prediksi… No Training Set Test Set YES NO Benar Salah Total Aturan 1 310 5 68 78 4 1 146 2 310 10 68 78 6 4 146 3 310 15 68 78 11 4 146 Tabel 4.8 Detail Jumlah Aturan Percobaan 2 Lanjutan Jumlah Sampel Aturan dengan Konsekuen TARGET_B Total Aturan dengan Prediksi… No Training Set Test Set YES NO Benar Salah Total Aturan 4 310 20 68 78 14 6 146 5 310 25 68 78 19 6 146 6 310 30 68 78 22 8 146 7 310 35 68 78 26 9 146 8 310 40 68 78 31 9 146 Hasil percobaan di atas dapat dilihat pada grafik di bawah ini: Gambar 4.34 Grafik Persentase Keberhasilan Percobaan 2 o Percobaan 3 Pada percobaan ini penulis hanya mengubah-ubah proporsi jumlah sampel data training set. Dimisalkan jumlah sampel test set untuk setiap tahap percobaan sebanyak 50 records.