BAB III ANALISIS
3.1
Analisis Sistem
3.1.1
Model Bisnis Bagian Akademik Bagian Akademik adalah salah satu bagian dari unsur satuan peIaksana administrasi di bidang administrasi akademik pada Biro Administrasi Akademik dan Kemahasiswaan (A2K) UIN Sunan Gunung Djati Bandung. Dalam pelaksanaan kinerjanya Bagian Akademik mempunyai tugas pokok dan fungsi berdasarkan Peraturan Menter; Agama Republik Indonesia Nomor 6 Tahun 2006 Tanggal 16 Maret 2006 tentang Organisasi dan Tata Kerja Universitas Islam Negeri (UIN) Sunan Gunung Djati Bandung, bahwa Bagian Akademik mempunyai tugas melaksanakan administrasi pendidikan, registrasi, tata usaha pusat bahasa dan tata usaha pascasarjana.
Dalam
melaksanakan
tugasnya
Bagian
Akademik
menyelenggarakan fungsi pelaksanaan administrasi pendidikan dan registrasi, pelaksanaan administrasi tata usaha pusat bahasa dan pelaksanaan administrasi tata usaha pascasarjana.
24
Bagian Akademik terdiri dari: a. Subbagian Administrasi Pendidikan dan Registrasi Mempunyai tugas melakukan pelayanan administrasi di bidang pendidikan, registrasi dan statistik mahasiswa. b. Subbagian Tata Usaha Pusat Bahasa Mempunyai tugas melakukan pelayanan di bidang administrasi pusat bahasa c. Subbagian Tata Usaha Pascasarjana. Mempunyai tugas melakukan pelayanan di bidang administrasi pascasarjana.
Secara umum Bagian Akademik bertugas : 1. Menyusun rencana dan program kerja 2. Menyusun rencana konsep dan program bagian akademik 3. Melaksanakan pelayanan administrasi pendidikan dan pengajaran 4. Melaksanakan pelayanan registrasi/herregistrasi mahasiswa 5. Melaksanakan pelayanan administrasi pusat bahasa 6. Melaksanakan pelayanan administrasi pascasarjana 7. Melaksanakan penilaian prestasi dan proses penyelenggaraan kegiatan serta penyusunan laporan.
25
3.1.2
Analisis Proses Bisnis Pada awalnya data pendaftar/calon mahasiswa baru untuk setiap periode disimpan oleh Bagian Akademik hingga akhir proses seleksi penerimaan mahasiswa baru. Kemudian data tersebut akan di sinkronisasi dengan data calon mahasiswa yang melakukan registrasi pada bank, dengan demikian Bagian Akademik hanya akan memiliki data mahasiswa yang melakukan registrasi. Data-data tersebut dibiarkan saja tanpa adanya upaya mengekstraksi informasi dari tumpukan data tersebut. Disamping itu, data mahasiswa yang ditangani tidak selengkap yang diperkirakan. Seperti sedikitnya jumlah variabel penentu kelulusan (NEM, nilai ujian masuk). Sehingga dalam penelitian ini hanya menggunakan data yang tersedia dengan melakukan sedikit perubahan maupun penambahan sebagai sample agar dapat di peroleh pola yang di inginkan.
3.1.3
Ruang Lingkup Dari analisis proses bisnis di atas, diketahui bahwa data akan di modifikasi dari data sebenarnya guna mendapatkan pola yang di harapkan, sehingga data-data tersebut menjadi tidak valid dari kasus sebenarnya. Data-data tersebut akan di klasifikasikan ke dalam beberapa pola yang terbentuk dari hasil training dari data kasus yang telah di modifikasi. Sedangkan dalam proses klasifikasi itu sendiri hanya akan di terapkan salah satu dari algoritma yang ada untuk membuat pohon keputusan.
26
3.1.4
Usulan / Solusi Berdasarkan ruang lingkup di atas, maka solusi yang di usulkan adalah dengan mengimplementasikan data mining pada data pendaftaran mahasiswa UIN Sunan Gunung Djati Bandung tahun ajaran 2010/2011 dengan algoritma C4.5 yang merupakan salah satu algoritma unggulan dalam proses klasifikasi menggunakan pohon keputusan.
3.2
Analisis Kebutuhan
1.
Aplikasi harus dapat membantu proses analisis data (modifikasi) calon mahasiswa baru UIN Sunan Gunung Djati Bandung
2.
Data
yang
diproses
harus
berdasarkan
variabel
penentu
dalam
pembentukan pohon keputusan dan variabel keputusan itu sendiri 3.
Aplikasi harus mampu melakukan setting atribut tujuan, proses training data, testing dan membentuk daftar aturan dari data training tersebut
4.
Ada proses penyalinan daftar aturan yang terbentuk untuk memudahkan pelaporan
27
3.3
Pemilihan Variabel Data mahasiswa baru yang melakukan registrasi di UIN Sunan Gunung
Djati Bandung tahun ajaran 2010/2011 memiliki format seperti tampak pada Table 3.1 Table 3.1 Format Asli Data Mahasiswa NO_DAFTAR ANGKATAN NIM NAMA_LULUS FAKULTAS KODE_PRODI PRODI SEKOLAH.SEKOLAH NAMA_SEKOLAH RUMPUN KELAS JK JENIS_KELAMIN KODE_KTM KOTA_LAHIR TGL_LAHIR JK_L JK_P WARGA_NEGARA AGAMA ALAMAT DESA RT KECAMATAN KOTA KODE_POS NO_TELP NAMA_ORTU PENGHASILAN_ORTU
860510239 2010 1210101001 Abdillah Ushuluddin 101 Aqidah Filsafat MAN MAN 1 Sukabumi IPS A L LAKI-LAKI
231051962 2010 1210103007 Bahtiyar Rifai Ushuluddin 103 Tafsir Hadits MAS MA Mathu'ul Anwar IPS A P PEREMPUAN
Sukabumi 5-May-90 1 0 WNI Islam Citalaga Ciwalat 02/04 Pabuaran Sukabumi
Karawang 5-May-91 0 1 WNI Islam Batujaya Teluk Ambulu 07/03 Batujaya Karawang 41354 08567190231 H. Sholeh Rp5000000.0
Wahidin Rp560000.0
28
Pend_Ortu PEKERJAAN TEST
SD Wira Swasta BIDIK MISI
MA Pengusaha TULIS
Karena variabel yang dibutuhkan dalam aplikasi ini adalah Registrasi dengan nilai variabel Registrasi/Tidak, maka akan di tambahkan variabel Registrasi pada seluruh record yang nilainya akan di modifikasi dengan Registrasi/Tidak dan akan digunakan sebagai variabel keputusan. Sedangkan kolom yang diambil sebagai variabel penentu dalam pembentukan pohon keputusan adalah : 1. Prodi 2. Rumpun 3. Sekolah 4. Jenis Kelamin 5. Test Pemilihan variabel-variabel tersebut dengan pertimbangan bahwa jumlah nilai variabelnya tidak banyak sehingga diharapkan calon mahasiswa yang masuk dalam satu klasifikasi nilai variabel tersebut cukup banyak.
29
3.4
Perhitungan Dari 3583 jumlah data (record) pendaftaran mahasiswa baru yang telah di
modifikasi, berikut adalah penjelasan mengenai masing-masing langkah dalam pembentukan
pohon
keputusan
dengan
menggunakan
algoritma
C4.5
menggunakan persamaan yang telah di jelaskan pada Bab II. a.
Menghitung jumlah kasus, jumlah kasus untuk keputusan Registrasi, jumlah kasus untuk keputusan Tidak, dan Entropy dari semua kasus dan kasus yang dibagi berdasarkan atribut PRODI, SEKOLAH, RUMPUN, JENIS_KELAMIN,
TES,
REGISTRASI.
Setelah
itu
dilakukan
perhitungan Gain untuk masing-masing atribut. Hasil perhitungan ditunjukkan oleh Tabel 3.1 Table 3.2 Perhitungan Node 1
Node 1
Nama Atribut TOTAL PRODI
Nilai
Jumlah Reg Tidak Entropy Kasus 3583 2860 723 0.7255
Gain 0.00867
Administrasi Negara Agroteknologi Ahwal Al-Syakhsiyah Aqidah Filsafat Bahasa dan Sastra Arab Bahasa dan Sastra Inggris Bimbingan dan Penyuluhan Islam Biologi D-3 Terjemah Bahasa Inggris Fisika Hukum Pidana Islam Ilmu Hukum
128 62 66 16 85 156
106 51 48 13 68 135
22 11 18 3 17 21
0.662 0.6744 0.8454 0.6962 0.7219 0.57
114 63
89 53
25 10
0.7589 0.6313
8 37 17 126
6 28 13 98
2 9 4 28
0.8113 0.8004 0.7871 0.7642
30
Ilmu Komunikasi Humas Ilmu Komunikasi Jurnalistik Kependidikan Islam Kimia Komunikasi dan Penyiaran Islam Manajemen Manajemen Dakwah Manajemen Keuangan Syariah Matematika Muamalah Pendidikan Agama Islam Pendidikan Bahasa Arab Pendidikan Bahasa Inggris Pendidikan Biologi Pendidikan Fisika Pendidikan Guru MI Pendidikan Kimia Pendidikan Matematika Pengembangan Masyarakat Islam Perbandingan Agama Perbandingan Madzhab dan Hukum Psikologi Sejarah dan Peradaban Islam Siyasah Sosiologi Tafsir Hadits Tasawuf Psikoterapi Teknik Elektro Teknik Informatika
64
46
18
0.8571
108 115 53
80 95 42
28 20 11
0.8256 0.6666 0.7368
92 125 58
71 98 46
21 27 12
0.775 0.7528 0.7355
142 67 188 192 107
121 58 146 151 92
21 9 42 41 15
0.6045 0.5692 0.7663 0.7482 0.5847
108 119 111 109 112 106
84 97 91 89 94 85
24 22 20 20 18 21
0.7642 0.6906 0.6805 0.6876 0.636 0.7181
34 24
20 19
14 5
0.9774 0.7383
24 110
15 82
9 28
0.9544 0.8184
97 29 109 35 44 62 161
75 22 84 29 36 48 136
22 7 25 6 8 14 25
0.7724 0.7973 0.7769 0.661 0.684 0.7706 0.6229 0.00641
RUMPUN Administrasi Perkantoran Akuntansi Analisis Kimia Bahasa Bisnis Manajemen Elektro Grafika
11 22 13 112 28 11 1
10 14 13 95 24 8 0
1 8 0 17 4 3 1
0.4395 0.9457 0 0.6143 0.5917 0.8454 0
31
IPA IPS Keagamaan Kehutanan Kesehatan Kesejahteraan Masyarakat Kimia Lain-lain Mesin Multimedia Otomotif Penjualan Pertanian Sekretaris Seni dan Kerajinan Teknik Elektronikas Industri Teknik Industri Teknik Komputer dan Jaringan Teknik Listrik Industri Teknik Mesin Perkakas
1704 1376 1357 1069 123 95 1 1 11 9 1 1 15 12 23 17 16 14 12 10 30 23 6 6 21 15 6 5 3 2
328 288 28 0 2 0 3 6 2 2 7 0 6 1 1
0.7066 0.7457 0.7739 0 0.6840 0 0.7219 0.8281 0.5436 0.65 0.7838 0 0.8631 0.65 0.9183
5 1
2 0
3 1
0.971 0
37 10 3
29 8 2
8 2 1
0.7532 0.7219 0.9183 0.00118
SEKOLAH MAKN MAKS MAN MAS SMAN SMAS SMKN SMKS
2 1 8 6 570 463 826 645 1399 1125 482 388 149 112 147 120
1 2 107 181 274 94 37 27
1 0.8113 0.6967 0.7586 0.7136 0.7119 0.8086 0.688
367 356
0.7303 0.7206
JENIS_ KELAMIN
0.00003 LAKI-LAKI PEREMPUAN
1797 1430 1786 1430
0.00135
TEST BIDIK MISI PPA SNMPTN SPMB-PTAIN TULIS
80 65 688 566 411 338 66 54 2338 1837
15 122 73 12 501
0.6962 0.6742 0.6748 0.684 0.7496
32
Baris TOTAL kolom Entropy pada Tabel 3.1 dihitung dengan persamaan 2 sebagai berikut :
Sementara itu, nilai Gain pada baris TEST dihitung dengan persamaan 1 sebagai berikut :
0.00135
Dari hasil pada Tabel 3.1 dapat diketahui bahwa atribut dengan Gain tertinggi adalah PRODI, yaitu sebesar 0.00867. Dengan demikian, PRODI dapat menjadi node akar.
b.
Cara yang sama digunakan untuk menentukan node-node selanjutnya yang kasusnya dibagi berdasarkan atribut-atribut yang belum terpilih sebagai node akar, sampai akhirnya semua kasus sudah masuk dalam kelas. Dengan demikian, akan terbentuk pohon keputusan yang dapat mengklasifikasikan kasus berdasarkan kelasnya.
33
3.5
Pemodelan
3.5.1
Context Diagram Diagram tingkat atas dalam aplikasi ini ditunjukkan dalam context diagram berikut.
nila i_atrib ut Use r kasu s 0
klasifikasi
Dat a Mini ng atu ran
+
Gambar 3.1 Context Diagram
3.5.2
Data Flow Diagram Aliran data dalam aplikasi ini ditunjukkan dalam Data Flow Diagram level 1 berikut.
Use r atu ran 3 nila i_atrib ut
ent ropy
sub _kerja[ n]
kasu s
Pem bentu kan Atu ran 2 Testing
klasifikasi nila i
nod e 1 atri but
Tra ining
nod e
nod e
atri but
tree
atri but atri but gai n
kasu s
kasu s
d_a tribut kasu s kerj a[n]
Gambar 3.2 Data Flow Diagram Level 1
34
3.5.3
Kamus Data Tempat Penyimpanan Data (Data Store) a) D_atribut = @nama_atribut + is_aktif + is_hasil + ket b) Kasus = prodi + sekolah + rumpun + jenis_kelamin + tes + registrasi c) Tree = id_node + node + nilai + induk + is_atribut d) Kerja = nama_atribut + gain e) Sub_kerja = nama+atribut + nilai + entropy + result_1 + result_2 + jml_kasus
3.5.4
Spesifikasi Proses Proses 1 Training Begin Kosongkan tabel tree Atribut_hasil = nama_atribut dalam d_atribut yang is_hasil = ‘Y’ Q1 : select distinct atribut_hasil dari tabel kasus Jml_hasil = 0 While not EOF Q1 Do Hasil [jml_hasil] = ‘result_’ + jml_hasil Tampil [jml_hasil] = Q1. Fields[0] Inc(jml_hasil) Level = 0
35
Jml_node = 0 Bentuk node End
Proses 2 Testing Begin If BtnNext.Caption = 'Mulai' Then Cari node induk; Cari_Nilai(id_node); BtnNext.Enabled := true; LblHasil.Caption := ' '; LblPenjelasan.Caption := ' '; BtnNext.Caption := 'Selanjutnya' Else Tampilkan dalam table Cari cabang selanjutnya Cabang tree habis Tampilkan hasil BtnNext.Caption := 'Mulai' End
Proses 3 Pembentukan Aturan Begin noaturan := 1 cari node induk
36
While not EOF Do tampilkan dalam listview Inc(noaturan) Simpan ke Ms.Excel End
37
3.5.5
Algoritma Pembentukan Node
Mulai
1, Entopy = 0 2. v_jml_kasus = jumlah record dari tabel kasus yang memenuhi syarat dari node sampai cabang yang sedang aktif 3. I = 0
ya
I = jml_hasil-1?
1. Buat Tabel Kerja[level] 2. Buat Tabel Sub_Kerja[level]
1. Q[level] = jumlah record dari tabel kasus yang memenuhi syarat dari node sampai cabang yang sedang aktif dan atribut_hasilnya : hasil[i] 2. Entropy := Entropy + (- Q[level].Fields[0].AsInteger/ v_jml_kasus * log2 (Q[level].Fields[0].AsInteger/ v_jml_kasus)) 3. inc(i)
Q[level] : nama_atribut dari d_atribut yang hasil = T dan sudah terpakai = Y dan nama_atribut belum terpakai dalam nodenode induknya
P1
ya
tidak
Q[level].Eof?
tidak
1. Masukkan ke Tabel kerja[level] ( Atribut : Q[level].Fields[0] Gain : gain ) 2. Q[level].Next
1. Gain : 0 2. Q[leve;+1] ;jenis nilai dari Q[level].nama_atribut
Q[level+1].Eof? tidak V_sub_jml_kasus : jumlah record yang JenisNilai = Q[level+1].Jenis_Nilai
Q[level+1].Next
tidak
ya 1. Q[level+2] = jumlah data yang JenisNilai = Q[leve;+1].Jenis_Nilai dengan atribut_hasil = hasil[i] 2. Sub_entropy = Sub_entropy – ((Q[level+2].Fields[0].AsInteger/ v_sub_jml_kasus) * log2 (Q[level+2].Fields[0].AsInteger/ v_sub_jml_kasus)) 3. inc(i)
V_sub_jml_kasus > 0 ?
tidak
ya Sub_entropy = 0 I=0
I = jml_hasil-1? ya 1. Gain := Gain – (v_sub_jml_kasus/v_jml_kasus)*Sub_Entropy 2. Masukkan ke Tabel Sub_kerja[level] ( Atribut : Q[level].Fields[0] Nilai : Q[level+1].Fields[0] Entropy ; sub_entropy )
Gambar 3.3 Algoritma Pembentukan Node 1
38
P1
1. Q[level] = cari nama_atribut dari tabel kerja[level] dengan nilai gain tertinggi 2. id_node.Add(Jml_Node+1)
Q[level].Empty?
ya
1. Masukkan ke tabel tree ( Id_node : jml_node+1 Node : ‘tidak terklasifikasi’ Nilai : nilai_atribut_terpakai[level-1] Induk : id_node[level-1] Is_atribut=’T’ ) 2. inc(jml_node) 3. nilai_atribut_terpakai.Add(‘’) 4. atribut_terpakai.Add(‘’)
ya
1. Masukkan ke tabel tree ( Id_node : jml_node+1 Node : atribut_terpakai[level] ) 2. inc(jml_node)
tidak
1. Terpilih = Q[level].Fields[0] 2. atribut_terpakai.add(terpilih)
Level = 0?
tidak 1. Masukkan ke tabel tree ( Id_node : jml_node+1 Node : atribut_terpakai[level] Nilai : nilai_atribut_terpakai[level-1] Induk : id_node[level-1] ) 2. inc(jml_node)
Q[level] = cari data dari sub_kerja[level] yang nama_atributnya : atribut_terpakai[level]
Q[level].Empty? tidak Nilai_Atribut_Terpakai.Add(‘’) ya
P2
Gambar 3.4 Algoritma Pembentukan Node 2
39
P2
Q[level].Eof? Q[level].Next
1. Nilai_Atribut_Terpakai.Delete(level) 2. Atribut_Terpakai.Delete(level) 3. id_node.Delete(level) 4. Q[level] = cari jenis atribut_terpakai[level-1] dari tabel kasus yang atribut_terpakai[level-1]-nya belum ada dalam tabel tree
ya
tidak Exit
tidak
ketemu=false?
Selesai
1. Nilai_atribut_Teroakai[level] = Q[level].Fields[nilai] 2. I = 0 Ketemu = false
ya
tidak Q[level].Next
Q[level].Eof?
ya
Dec(level)
Inc(level) tidak
tidak I <= Jml_Hasil-1 dan ketemu=false?
Dec(level)
tidak
ketemu=false?
1. Nilai_Atribut_Terpakai[level-1] := Q[level].Fields(0) 2. Q[level+1] = cari jml_kasus, hasil[1]..hasil[n] dari sub_kerja[level-1] yang nama_atributnya : stribut_terpakai[i] dan nilai : nilai_atribut_terpakai[level-1] 3. ketemu = false
ya
ya
ya Q[level].Fields[Jm;_kasus] = Q[level].Fields[hasil[i]]?
tidak
Inc(i)
Buat node Q[level+1].Empty? ya
1. Masukkan ke tabel tree ( Id_node : jml_node+1 Node : tampil[i] Nilai : nilai_atribut_terpakai[level] Induk : id_node[level] Is_atribut=’T’ ) 2. inc(jml_node) 3. ketemu=true
tidak 1. Q[level+1].Next 2. buat node
i=0
ya
Q[level+1].Fields[Jm;_kasus] = Q[level+1].Fields[hasil[i]]
Gambar 3.5 Algoritma Pembentukan Node 3
i<=jml_hasil-1
1. Masukkan ke tabel tree ( Id_node : jml_node+1 Node : tampil[i] Nilai : nilai_atribut_terpakai[level] Induk : id_node[level] Is_atribut=’T’ ) 2. inc(jml_node) 3. ketemu=true 4. inc(i)
tidak
Ketemu = false