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.
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.
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.
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
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 860510239 231051962
ANGKATAN 2010 2010
NIM 1210101001 1210103007
NAMA_LULUS Abdillah Bahtiyar Rifai
FAKULTAS Ushuluddin Ushuluddin
KODE_PRODI 101 103
PRODI Aqidah Filsafat Tafsir Hadits
SEKOLAH.SEKOLAH MAN MAS
NAMA_SEKOLAH MAN 1 Sukabumi MA Mathu'ul Anwar
RUMPUN IPS IPS
KELAS A A
JK L P
JENIS_KELAMIN LAKI-LAKI PEREMPUAN
KODE_KTM
KOTA_LAHIR Sukabumi Karawang
TGL_LAHIR 5-May-90 5-May-91
JK_L 1 0
JK_P 0 1
WARGA_NEGARA WNI WNI
AGAMA Islam Islam
ALAMAT Citalaga Batujaya
DESA Ciwalat Teluk Ambulu
RT 02/04 07/03
KECAMATAN Pabuaran Batujaya
KOTA Sukabumi Karawang
KODE_POS 41354
NO_TELP 08567190231
NAMA_ORTU Wahidin H. Sholeh
Pend_Ortu SD MA
PEKERJAAN Wira Swasta Pengusaha
TEST BIDIK MISI 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.
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 Nama
Atribut Nilai
Jumlah
Kasus Reg Tidak Entropy Gain
1 TOTAL 3583 2860 723 0.7255 PRODI 0.00867 Administrasi Negara 128 106 22 0.662 Agroteknologi 62 51 11 0.6744 Ahwal Al-Syakhsiyah 66 48 18 0.8454 Aqidah Filsafat 16 13 3 0.6962
Bahasa dan Sastra Arab 85 68 17 0.7219
Bahasa dan Sastra Inggris 156 135 21 0.57
Bimbingan dan Penyuluhan Islam 114 89 25 0.7589 Biologi 63 53 10 0.6313 D-3 Terjemah Bahasa Inggris 8 6 2 0.8113 Fisika 37 28 9 0.8004
Hukum Pidana Islam 17 13 4 0.7871
Ilmu Komunikasi Humas 64 46 18 0.8571 Ilmu Komunikasi Jurnalistik 108 80 28 0.8256 Kependidikan Islam 115 95 20 0.6666 Kimia 53 42 11 0.7368 Komunikasi dan Penyiaran Islam 92 71 21 0.775 Manajemen 125 98 27 0.7528 Manajemen Dakwah 58 46 12 0.7355 Manajemen Keuangan Syariah 142 121 21 0.6045 Matematika 67 58 9 0.5692 Muamalah 188 146 42 0.7663
Pendidikan Agama Islam 192 151 41 0.7482
Pendidikan Bahasa Arab 107 92 15 0.5847
Pendidikan Bahasa Inggris 108 84 24 0.7642 Pendidikan Biologi 119 97 22 0.6906 Pendidikan Fisika 111 91 20 0.6805 Pendidikan Guru MI 109 89 20 0.6876 Pendidikan Kimia 112 94 18 0.636 Pendidikan Matematika 106 85 21 0.7181 Pengembangan Masyarakat Islam 34 20 14 0.9774 Perbandingan Agama 24 19 5 0.7383 Perbandingan Madzhab dan Hukum 24 15 9 0.9544 Psikologi 110 82 28 0.8184
Sejarah dan Peradaban
Islam 97 75 22 0.7724 Siyasah 29 22 7 0.7973 Sosiologi 109 84 25 0.7769 Tafsir Hadits 35 29 6 0.661 Tasawuf Psikoterapi 44 36 8 0.684 Teknik Elektro 62 48 14 0.7706 Teknik Informatika 161 136 25 0.6229 RUMPUN 0.00641 Administrasi Perkantoran 11 10 1 0.4395 Akuntansi 22 14 8 0.9457 Analisis Kimia 13 13 0 0 Bahasa 112 95 17 0.6143 Bisnis Manajemen 28 24 4 0.5917 Elektro 11 8 3 0.8454 Grafika 1 0 1 0
IPA 1704 1376 328 0.7066 IPS 1357 1069 288 0.7457 Keagamaan 123 95 28 0.7739 Kehutanan 1 1 0 0 Kesehatan 11 9 2 0.6840 Kesejahteraan Masyarakat 1 1 0 0 Kimia 15 12 3 0.7219 Lain-lain 23 17 6 0.8281 Mesin 16 14 2 0.5436 Multimedia 12 10 2 0.65 Otomotif 30 23 7 0.7838 Penjualan 6 6 0 0 Pertanian 21 15 6 0.8631 Sekretaris 6 5 1 0.65
Seni dan Kerajinan 3 2 1 0.9183
Teknik Elektronikas
Industri 5 2 3 0.971
Teknik Industri 1 0 1 0
Teknik Komputer dan
Jaringan 37 29 8 0.7532
Teknik Listrik Industri 10 8 2 0.7219
Teknik Mesin Perkakas 3 2 1 0.9183
SEKOLAH 0.00118 MAKN 2 1 1 1 MAKS 8 6 2 0.8113 MAN 570 463 107 0.6967 MAS 826 645 181 0.7586 SMAN 1399 1125 274 0.7136 SMAS 482 388 94 0.7119 SMKN 149 112 37 0.8086 SMKS 147 120 27 0.688 JENIS_ KELAMIN 0.00003 LAKI-LAKI 1797 1430 367 0.7303 PEREMPUAN 1786 1430 356 0.7206 TEST 0.00135 BIDIK MISI 80 65 15 0.6962 PPA 688 566 122 0.6742 SNMPTN 411 338 73 0.6748 SPMB-PTAIN 66 54 12 0.684 TULIS 2338 1837 501 0.7496
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.
3.5 Pemodelan
3.5.1 Context Diagram
Diagram tingkat atas dalam aplikasi ini ditunjukkan dalam context
diagram berikut. kasu s atu ran klasifikasi nila i_atrib ut Use r 0 Dat a Mini ng + Gambar 3.1 Context Diagram
3.5.2 Data Flow Diagram
Aliran data dalam aplikasi ini ditunjukkan dalam Data Flow
Diagram level 1 berikut.
gai n ent ropy nila i atri but atri but atri but atri but kasu s kasu s kasu s nod e nod e nod e atu ran klasifikasi nila i_atrib ut Use r 1 Tra ining 2 Testing 3 Pem bentu kan
Atu ran tree kasu s d_a tribut sub _kerja[ n] kerj a[n]
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)
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
While not EOF Do
tampilkan dalam listview Inc(noaturan)
Simpan ke Ms.Excel End
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
I = jml_hasil-1?
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) 1. Buat Tabel Kerja[level]
2. Buat Tabel Sub_Kerja[level]
Q[level] : nama_atribut dari d_atribut yang hasil = T dan sudah terpakai = Y dan nama_atribut belum terpakai dalam node-node induknya
Q[level].Eof?
1. Gain : 0
2. Q[leve;+1] ;jenis nilai dari Q[level].nama_atribut
Q[level+1].Eof?
V_sub_jml_kasus : jumlah record yang JenisNilai = Q[level+1].Jenis_Nilai
V_sub_jml_kasus > 0 ? Q[level+1].Next
Sub_entropy = 0
I = 0 I = jml_hasil-1?
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 )
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) ya tidak tidak tidak ya ya tidak tidak
1. Masukkan ke Tabel kerja[level] ( Atribut : Q[level].Fields[0] Gain : gain ) 2. Q[level].Next ya ya P1
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?
1. Terpilih = Q[level].Fields[0] 2. atribut_terpakai.add(terpilih)
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(‘’) Level = 0?
1. Masukkan ke tabel tree (
Id_node : jml_node+1 Node : atribut_terpakai[level] )
2. inc(jml_node)
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? Nilai_Atribut_Terpakai.Add(‘’) tidak ya tidak ya tidak ya P2
P2
Q[level].Eof?
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
Q[level].Eof?
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 Dec(level) Selesai tidak ya tidak ya Q[level+1].Empty? Q[level].Next ya i=0
i<=jml_hasil-1 Ketemu = false 1. Q[level+1].Next
2. buat node
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 ya tidak Q[level+1].Fields[Jm;_kasus] = Q[level+1].Fields[hasil[i]] 1. Nilai_atribut_Teroakai[level] = Q[level].Fields[nilai] 2. I = 0 Ketemu = false I <= Jml_Hasil-1 dan ketemu=false? Q[level].Fields[Jm;_kasus] = Q[level].Fields[hasil[i]]?
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 Inc(i) ya ya tidak Inc(level) ketemu=false? Buat node Dec(level) ketemu=false? Q[level].Next Exit tidak ya tidak tidak ya tidak