TUGAS AKHIR
Disusun untuk memenuhi syarat kelulusan pada Program Studi Sistem Komputer Strata Satu di Jurusan Teknik Komputer
Oleh Emi Latifah
10207094
Pembimbing
Selvia Lorena Br Ginting, M.T Wendi Zarman, M.Si
JURUSAN TEKNIK KOMPUTER
FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA
vi
mining merupakan salah satu bagian dari sistem informasi itu sendiri. Data mining adalah proses pencarian secara otomatis informasi yang berguna dalam tempat penyimpanan data berukuran besar. Data mining memiliki beberapa teknik salah satunya teknik klasifikasi, sedangkan decision tree merupakan salah satu metode dari teknik klasifikasi yang berfungsi untuk memetakan alternatif-alternatif dalam pemecahan suatu masalah. Salah satu algoritma yang mengimplementasikan klasifikasi dengan metode decision tree yaitu algoritma ID3(Iterative Dichotomocer 3). Dengan memanfaatkan sistem data mining khususnya algritma ID3 dibuat perancangan aplikasi untuk memprediksi masa studi mahasiswa berdasarkan data nilai akademik. Proses yang dilakukan berdasarkan dua buah data input yaitu data training dan data testing, langkah pertama yang dilakukan proses data training menjadi sebuah pohon keputusan berdasarkan perhitungan gain dan entropy. Dari tree tersebut kemudian dibuat sebuah aturan yang kemudian akan digunakan dalam proses pengujian berdasarkan data testing. Output yang dihasilkan berupa persentase hasil prediksi dari algoritma yang dibuat dibandingkan dengan data masa studi yang asli. Pengujian dilakukan dengan menggunakan jumlah data training yang berbeda.
vii
ABSTRACT
From year to year development of information systems increasing and data mining is a part of the information system. Data mining is the process of automatically searching useful information in large data storage. Data mining has one of several techniques of classification techniques, while the decision tree is one method of classification techniques that serve to map out alternatives in solving a problem. One algorithm that implements the method of decision tree classification algorithm is ID3 (Iterative Dichotomocer 3). By utilizing the data mining system specifically created algritma ID3 application design to predict the student's study is based on academic values. Process carried out by two pieces of data that is input training data and testing the data, the first step training process the data into a decision tree based on the calculation of gain and entropy. Of the tree is then created a rule which will then be used in the testing process based on data testing. The resulting output of the percentage predicted results of the algorithm are made in comparison with the data of the original study period. Tests carried out using different amount of training data.
iv
Alhamdulilah,segala puji hanya milik Allah SWT yang telah memberikan begitu banyak nikmat kepada penulis, sehingga bisa menyelesaikan skripsi yang
berjudul “Perancangan Dan Implentasi Sistem Klasifikasi Masa Studi Menggunakan Data Mining Berbasis Algoritma ID3 (Studi Kasus: Jurusan Teknik Komputer- Unikom)”. Shalawat serta salam semoga tetap tercurah pada Nabi Muhammad SAW, keluarganya, sahabatnya, dan para pengikutnya hingga akhir zaman.
Dalam proses penyusunan skripsi ini banyak hal atau pihak yang telah memberikan dukungan sehingga skripsi ini dapat terselesaikan. Banyak pihak yang tak mungkin Penulis sebutkan satu persatu, namun dengan segala kerendahan hati, Penulis mengucapkan terima kasih kepada:
1. Ibu Sri Nurhayati, M.Si., selaku Ketua Jurusan Teknik Komputer, Universitas Komputer Indonesia dan Dosen Wali kelas 07 TK-3.
2. Ibu Selvia Lorena Br. Ginting, M.T., selaku Pembimbing I yang telah banyak memberikan waktu, saran, nasihat, motivasi dan bimbingan kepada Penulis selama menempuh studi.
3. Bapak Wendi Zarman, M.Si., selaku Pembimbing II dan Koordinator Lab. Fisika yang telah memberikan arahan, bantuan, saran, nasihat, motivasi dan bimbingan kepada penulis.
4. Seluruh dosen Jurusan Teknik Komputer Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia, yang telah banyak memberikan ilmu, mengajarkan kejujuran, kedisiplinan, motivasi dan bantuan kepada penulis.
5. Sekretariat Jurusan Teknik Komputer, kelancaran administrasi dan keramahtamahan yang diberikan khususnya kepada penulis.
v
7. Keluarga besar Laboratorium Fisika serta seluruh Asisten Laboratorium jurusan Teknik Komputer, terima kasih atas motivasi, saran, kerjasamanya dan bantuannya selama ini.
8. Teman–teman angkatan 2007 dan khususnya kelas 07 TK-3 yang telah banyak membantu selama studi maupun selama proses pengerjaan tugas akhir.
9. Semua pihak yang telah banyak membantu yang tidak dapat penulis sebutkan satu persatu, terima kasih banyak atas bantuan, dukungan dan motivasinya selama melaksanakan studi dan menyelesaikan Tugas Akhir
ini.
Semoga segala amal dan kebaikannya mendapat limpahan rahmat dan pahala yang berlipat ganda dari Allah SWT. Akhir kata dari penulis hanyalah sebuah harapan semoga skripsi ini bermanfaat bagi dunia sains dan teknologi di
Indonesia, khususnya disiplin keilmuan yang penulis dalami.
Bandung, Juli 2012
viii
1.2 Maksud dan Tujuan ... 2
1.3 Batasan Masalah ... 2
1.4 Metode Penelitian ... 2
1.5 Sistematika Penulisan ... 3
BAB II ... 5
TINJAUAN PUSTAKA ... 5
2.1 Data Mining ... 5
2.1.1 Pengertian Data Mining ... 5
2.1.2 Fungsi –Fungsi Data Mining ... 6
2.1.3 Proses Data Mining ... 7
2.1.4 Pengelompokan Data Mining ... 8
2.2 Klasifikasi ... 9
2.2.1 Klasifikasi Dengan Decision Tree... 10
2.3 Pohon Keputusan (Decision Tree) ... 11
2.3.1 Proses Pembentukan Pohon Keputusan (Decision Tree) ... 12
2.4 Algoritma ID3 ... 15
2.4.1 Entropy Information Gain ... 16
2.4.2 Information Gain ... 17
2.4.3 Berikut algoritma dari ID3 ... 17
ix
PERANCANGAN SISTEM ... 20
3.1 Analisis Sistem ... 20
3.1.1 Analisis Masalah ... 20
3.1.2 Analisis Data ... 20
3.1.3 Penggunaan Algoritma ID3 ... 22
3.1.4 Analisis Kebutuhan Non Fungsional ... 28
3.1.5 Spesifikasi Kebutuhan Fungsional ... 30
3.1.6 Pemodelan Fungsi ... 30
3.1.7 Spesifikasi Proses ... 32
3.2 Perancangan Sistem ... 48
3.2.1 Perancangan Data ... 48
3.2.2 Arsitektur Menu ... 49
3.2.3 Perancangan Antar Muka ... 50
3.2.4 Perancangan Form ... 50
3.2.5 Flowchart Pembuatan Pohon Keputusan ... 55
3.2.6 Flowchart Sistem ... 57
BAB IV ... 59
HASIL PEMBAHASAN DAN PENGUJIAN ... 59
4.1 Hasil Pembahasan ... 59
4.1.1 Pembahasan Antarmuka ... 59
4.2 Pengujian ... 65
BAB V ... 97
SIMPULAN DAN SARAN ... 97
5.1 Simpulan ... 97
5.2 Saran ... 98
1 1.1 Latar Belakang
Setiap perguruan tinggi baik negeri maupun swasta tentunya memiliki kebijakan kurikulum yang berbeda, contohnya UNIKOM khususnya program studi Teknik Komputer. Di Jurusan Teknik Komputer terdapat dua program studi yaitu program studi S1 dan program studi D3. Program studi S1 di jurusan teknik komputer memiliki 144 sks (satuan kredit semester) dari beberapa matakuliah. Di UNIKOM khususnya pada program studi S1 Teknik Komputer tingkat kelulusan masih terbilang rendah hal ini disebabkan oleh beberapa faktor, yang diantaranya: kurangnya strategi mahasiswa dalam belajar, sistem pengajaran yang kurang baik dan adanya perbedaan kemampuan setiap mahasiswa. Dari beberapa faktor tersebut menyebabkan banyak mahasiswa yang menempuh masa studi lebih dari lima tahun. Untuk mengatasi permasalahan tersebut maka penulis membuat solusi mengimplementasikan data mining, dengan memanfaatkan nilai akademik.
Data mining adalah suatu proses pencarian informasi terhadap data yang sudah ada, data yang diproses berupa data yang sangat besar. Data mining memiliki beberapa teknik salah satunya adalah teknik klasifikasi. Klasifikasi ini adalah proses untuk menemukan model atau fungsi yang menggambarkan kelas
atau konsep dari suatu data sedangkan decision tree merupakan salah satu metode dari teknik klasifikasi. Salah satu algoritma yang mengimplementasikan klasifikasi dengan metode decision tree yaitu algoritma ID3(Iterative
Dichotomocer 3). Dengan memanfaatkan sistem data mining khususnya
2
1.2 Maksud dan Tujuan
Tujuan utama dari pelaksanaan tugas akhir ini adalah membuat perangkat lunak untuk memprediksi masa studi mahasiswa, berdasarkan beberapa nilai matakuliah menggunakan algoritma ID3.
Adapun tujuan rincinya adalah:
a. Mengimplementasikan algoritma ID3 untuk memprediksi kelulusan mahasiswa berdasarkan mata kuliah.
b. Membangun perangkat lunak yang mengimplentasikan algoritma ID3.
c. Mengembangkan perangkat lunak untuk mengkonstruksi pohon keputusan (decision tree) dengan algoritma ID3.
1.3 Batasan Masalah
Batasan masalah pada tugas akhir ini adalah:
1. Data yang digunakan (database) dalam studi kasus adalah data yang lengkap jurusan teknik komputer S1.
2. Visual Basic 6.0sebagai aplikasi interface sistem
3. Data-data mata kuliah yang digunakan dari semester 1 -2 untuk jenjang S1 4. Pengolahan basisdata menggunakan Microsoft Office Access 2007
5. Algoritma ID3 yang digunakan sebagai dasar konstruksi struktur decision
tree dengan data yang lengkap.
1.4 Metode Penelitian
Metode yang digunakan penulis dalam penyusunan proposal tugas akhir ini adalah:
1. Kajian Pustaka
Yaitu suatu metode pengumpulan data dengan cara membaca atau mempelajari buku-buku yang berhubungan dengan masalah yang menjadi topik dalam skripsi, Sumber- sumber pustaka ini dapat berupa buku, paper,
2. Perancangan Perangkat Lunak
Melakukan perancangan terhadap sistem yang akan dikembangkan berdasarkan hasil yang diperoleh dari analisis. Perancangan tersebut meliputi rancangan untuk melakukan konstruksi decision tree ID3 untuk data yang lengkap.
3. Implementasi
Melakukan implementasi terhadap perangkat lunak yang akan dikembangkan berdasarkan hasil yang diperoleh dari perancangan.
4. Pengujian
Melakukan pengujian perangkat lunak dengan menggunakan studi kasus yang telah ditentukan.
5. Evaluasi
Mengevaluasi hasil konstruksi perangkat lunak yang dikembangkan dalam hal keakuratan hasil dan pengaruh missing value terhadap struktur decision tree yang di konstruksi.
1.5 Sistematika Penulisan
Sistematika penulisan pada tugas akhir ini adalah :
BAB I PENDAHULUAN
Dalam bab ini dibahas latar belakang tugas akhir yang dilaksanakan, maksud dan tujuan, rumusan masalah, batasan masalah, metodologi penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Dalam bab ini membahas teori-teori pendukung mengenai dasar-dasar dari pembuatan sistem.
BAB III PERANCANGAN SISTEM
Dalam bab ini membahas tentang perancangan sistem yang penulis rancang.
4
Dalam bab ini membahas tentang analisa kerja sistem yang penulis rancang.
BAB V KESIMPULAN DAN SARAN
5 2.1 Data Mining
2.1.1 Pengertian Data Mining
Dengan semakin besarnya jumlah data dan kebutuhan akan analisis data yang akurat maka dibutuhkan metode analisis yang tepat. Data mining merupakan teknik yang menggabungkan teknik analisis data dengan algoritma untuk melakukan analisis data dan menemukan pola-pola penting data.
Secara sederhana, data mining atau penambangan data dapat didefinisikan sebagai proses seleksi, eksplorasi, dan pemodelan dari sejumlah besar data untuk menemukan pola atau kecenderungan yang biasanya tidak disadari keberadaannya [HAN-01]. Data mining dapat dikatakan sebagai proses mengekstrak pengetahuan dari sejumlah besar data yang tersedia [HAN-01]. Pengetahuan yang dihasilkan dari proses data mining harus baru, mudah dimengerti, dan bermanfaat. Dalam data mining, data disimpan secara elektronik dan diproses secara otomatis oleh komputer menggunakan teknik dan perhitungan tertentu.
Alasan-alasan utama dalam penggunaan data mining adalah [HAN-01]:
1. Banyaknya jumlah data yang ada dan akan terus meningkatnya jumlah data.
2. Kebutuhan untuk menginterpretasikan data
Ada beberapa definisi data mining, diantaranya:
6
2. Data mining adalah suatu proses otomatis terhadap data yang sudah ada, data yang diproses berupa data yang sangat besar [2].
3. Data mining ( knowledge discovery in database ) adalah kegiatan yang meliputi pengumpulan, pemakaian data historis untuk menemukan keteraturan, pola atau hubungan dalam set data beukuran besar [3].
4. Data mining adalah bagian integral dari knowledge discovery in
databases (KDD).
5. Data mining adalah sebuah proses percarian secara otomatis informasi
yang berguna dalam tempat penyimpanan data berukuran besar
Dari beberapa definisi diatas maka dapat disimpulkan bahwa, data mining adalah metode secara otomatis menemukan informasi yang berguna dan tersimpan pada data dengan ukuran yang sangat besar sehingga ditemukan pola menarik yang sebelumnya tidak diketahui. Teknik data mining difungsikan untuk mendapatkan deskripsi dari data dan mendapatkan model dari data yang berguna untuk prediksi. Deskripsi berarti menemukan pola yang mudah dipahami oleh pengguna dalam menggambarkan data, contohnya: Clustering, Association Rule
Discovery, Sequential Pattern Discovery, sedangkan prediksi berarti menemukan
pola untuk memprediksi nilai dari suatu variabel yang nilainya belum diketahui contohnya: Classification, Regression, Deviation Detection. Kata mining sendiri berarti usaha untuk mendapatkan sedikit barang berharga dari sejumlah besar material dasar.
Ada beberapa karakteristik dari data mining diantaranya:
a. Data mining berhubungan dengan penemuan sesuatu yang tersembunyi
dan pola data tertentu yang tidak diketahui sebelumnya.
b. Data mining biasa menggunakan data yang sangat besar. Biasanya data
yang besar digunakan untuk membuat hasil lebih dipercaya.
c. Data mining berguna untuk membuat keputusan yang kritis, terutama
2.1.2 Fungsi –Fungsi Data Mining
Beberapa fungsi dalam data mining, yaitu: 1. Fungsi Prediksi ( prediction )
Proses untuk menemukan pola dari data dengan menggunakan beberapa variabel untuk memprediksikan variabel lain yang tidak diketahui jenis atau nilainya.
2. Fungsi Deskripsi ( description )
Proses untuk menemukan suatu karakteristik penting dari data dalam suatu
basis data.
3. Fungsi Klasifikasi ( classification )
Klasifikasi merupakan suatu proses untuk menemukan model atau fungsi untuk menggambarkan class atau konsep dari sutau data. Proses yang digunakan untuk mendeskripsikan data yang penting serta dapat meramalkan kecenderungan data pada masa depan.
4. Fungsi Asosiasi ( association )
Proses ini digunakan untuk menemukan suatu hubungan yang terdapat pada nilai atribut dari sekumpulan data.
2.1.3 Proses Data Mining
1. Mendefinisikan masalah, menentukan input dan output untuk form, menentukan nilai efisiensi, menentukan keakuratan dan sebagainya.
2. Mengumpulkan dan memilih data yang akan digunakan.
3. Mempersiapkan data, seperti mengubah bentuk data ke bentuk yang sesuai, pembersihan data, atau menggabungkan data dari sumber yang berbeda.
4. Menentukan metode yang sesuai terdiri dari dua bagian:
a. Memilih model atau algoritma, seprti menggunakan model yang seperti
apa, memilih untuk menggunakan algoritma apa
b. Memilih parameter model, misalnya jumlah node pada tiap tingkat jika artificial network digunakan.
8
6. Interpretasi, evaluasi dan visualisasi pola: adanya sesuatu yang baru dan menarik, lakukan iterasi jika diperlukan.
2.1.4 Pengelompokan Data Mining
Data mining dibagi menjadi beberapa kelompok berdasarkan tugas yang dapat dilakukan, yaitu:
1. Klasifikasi
Klasifikasi merupakan tugas data mining yang paling umum. Ciri dari
klasifikasi adalah memiliki definisi yang jelas tentang kelas-kelas (predifined
classes) dan training set. Klasifikasi bertujuan memprediksi kelas dari suatu
data yang belum diketahui kelasnya. Dalam mencapai tujuan tersebut, proses klasifikasi membentuk suatu model yang mampu membedakan data kedalam kelas-kelas yang berbeda berdasarkan aturan atau fungsi tertentu.
2. Deskripsi
Deskripsi adalah cara untuk menggambarkan pola dan kecenderungan yang terdapat dalam data.
3. Estimasi
Estimasi hampir sama dengan klasifikasi, kecuali variabel target estimasi lebih ke arah numerik daripada ke arah kategori. Model dibangun menggunakan
record lengkap yang menyediakan nilai dari variabel target sebagai nilai
prediksi. Selanjutnya, pada peninjauan berikutnya estimasi nilai dari variabel target dibuat berdasarkan nilai variabel prediksi.
4. Pengelompokan (clustering)
Pengelompokan adalah tugas data mining yang menggunakan metode populasi yang heterogen menjadi sejumlah kelompok data yang homogen. Data dikelompokan berdasarkan ciri-ciri yang sama tidak tergantung pada
predefined classes dan training set.
Prediksi hampir sama dengan klasifikasi dan estimasi, kecuali bahwa dalam prediksi nilai dari hasil akan ada di masa mendatang. Beberapa metode dan teknik yang digunakan dalam klasifikasi dan estimasi dapat pula digunakan (untuk keadaan yang tepat) untuk prediksi.
2.2 Klasifikasi
Teknik klasifikasi adalah suatu proses yang menemukan properti-properti yang sama pada sebuah himpunan obyek di dalam sebuah basis data, dan mengKlasifikasikannya ke dalam kelas-kelas yang berbeda menurut model
klasifikasi yang ditetapkan. Klasifikasi dalam data mining dikelompokkan ke dalam teknik pohon keputusan, Bayesian (Naïve Bayesian dan Bayesian Belief Networks), Jaringan Saraf Tiruan (Backpropagation), teknik yang berbasis konsep dari penambangan aturan-aturan asosiasi, dan teknik lain (k-Nearest Neighboor, algoritma genetik, teknik dengan pendekatan himpunan rough dan fuzzy). Setiap teknik memiliki kelebihan dan kekurangannya sendiri, berikut gambar pengelompokan teknik klasifikasi.
Gambar 1 Pengelompokan Teknik Klasifikasi
10
pengambilan keputusan (Han et al.,2001; Quinlan, 1993). Kelas yang dapat diprediksi adalah kelas-kelas yang sudah terdefinisi pada data pelatihan. Karena proses klasifikasi kasus baru cukup sederhana, penelitian lebih banyak ditujukan untuk memperbaiki teknik-teknik pada proses belajar.
Gambar 2 Skema Klasifikasi secara Umum
2.2.1 Klasifikasi Dengan Decision Tree
Beberapa contoh algoritma yang mengimplementasikan klasifikasi dengan metode decision tree antara lain:
1. Hunt’s Algorithm.
2. ID3 Algorithm (Algoritma ID3).
3. C4.5 Algorithm (Algoritma C4.5).
4. CART ( Classification and Regrssion Trees) Algorithm (Algoritma
CART).
5. CHAID (Chi-squared Automatic Interaction Detector) Algorithm
(Algoritma CHAID).
6. SLIQ Algorithm.
7. SPRINT Algorithm, dan lain-lain.
Keberhasilan suatu algoritma klasifikasi dan prediksi biasanya ditentukan oleh kriteria-kriteria berikut:
Kemampuan dalam ketepatan memprediksikan nilai ke kelas yang tepat.
2. Kecepatan
Kecepatan komputasi dalam menghasilkan suatu model prediksi. 3. Efisiensi
Kemampuan dalam membuat pemodelan yang efisiensi dengan banyaknya data yang diberikan.
4. Interpretasi
Kemampuan pemahaman dan pengetahuan yang dapat
dipresentasikan. Teknik yang dapat diimplementasikan untuk klasifikasi dan prediksi dalam data mining, antara lain: teknik pembuatan pohon keputusan (decision tree), bayesian (naive bayesian
dan bayesian belief network), jaringan sarap tiruan (back
propagation), dan teknik lainnya (k-nearest neighboor, algoritma
genetik, pendekatan himpunan rough dan fuzzy).
Setiap teknik memiliki kelebihan dan kekurangan masing-masing. Beberapa teknik akan sangat efektif untuk diimplementasikan pada kondisi tertentu dan beberapa akan menghasilkan yang sebaliknya. Dengan pemilihan teknik yang tepat, akan didapatkan hasil yang maksimal dari penambangan data.
Didalam data mining, pemodelan tree dapat dideskripsikan kedalam tiga kategori, yakni:
1. Classification tree, menganalisis ketika keluaran prediksi merupakan
bagian data dari kelas yang dimiliki.
2. Regression tree, menganalisis ketika keluaran prediksi dapat berupa
angka (seperti: harga murah, lamanya pasien tinggal, dan sebagainya).
3. Classification and regression Tree, digunakan ketika keluaran
12
2.3 Pohon Keputusan (Decision Tree)
Pohon keputusan adalah struktur flowcart yang mempunyai tree (pohon), dimana setiap simpul internal menandakan suatu tes atribut. Setiap cabang merepresentasikan kelas atau distribusi kelas, alur pada decision tree ditelusuri dari simpul ke akar ke simpul daun yang memegang prediksi kelas untuk contoh tersebut. Decision tree mudah untuk dikonversikan keaturan klasifikasi
(classification rule). Konsep data dalam decision tree dinyatakan dalam bentuk
tabel dengan atribut dan record.
Decision tree digunakan untuk kasus-kasus yang keluarannya bernilai
diskrit. Banyak variasi model decision tree dengan tingkat kemampuan dan syarat yang berbeda, pada umumnya beberapa ciri yang cocok untuk diterapkannya decision tree adalah sebagai berikut :
1. Data dinyatakan dengan pasangan atribut dan nilainya 2. Label atau keluaran data biasanya bernilai diskrit
3. Data mempunyai missing value (nilai dari suatu atribut tidak diketahui). Dengan cara ini akan mudah mengelompokkan obyek kedalam beberapa kelompok. Untuk membuat decision tree perlu memperhatikan hal-hal berikut ini:
a. Atribut mana yang akan dipilih untuk pemisahan obyek b. Urutan atribut mana yang akan dipilih terlebih dahulu c. Struktur tree
d. Kriteria pemberhentian e. Pruning
2.3.1 Proses Pembentukan Pohon Keputusan (Decision Tree)
Decision Tree adalah sebuah struktur pohon, dimana setiap node pohon
merepresentasikan atribut yang telah diuji, setiap cabang merupakan suatu pembagian hasil uji, dan node daun (leaf) merepresentasikan kelompok kelas
Pembuatan model, pada tahap ini setiap data diasumsikan telah digolongkan kedalam sejumlah kelas (predefined class). Himpunan data yang akan menyusun model ini disebut sebagai training data. Model yang dihasilkan dipresentasikan dalam bentuk aturan klasifikasi, pohon keputusan atau formula matematika.
Gambar 3 Ilustrasi Pembuatan Pohon Keputusan
14
Gambar 4 Ilustrasi Pemanfaatan Pohon Keputusan
Representasi pohon keputusan ini dianggap sebagai metode logis yang sering digunakan pada bahasan mengenai statistik terapan dan pembelajaran mesin (machine learning). Pembuatan pohon keputusan sendri menggunakan metode supervised learning yaitu proses pembelajaran dimana data ini terdiri dari nodes atau simpul yang merupakan atribut dari data sampel. Cabang (branches) yang keluar dari node tersebut merupakan nilai atau outcome yang dimiliki oleh atribut (nodes) bersangkutan. Sedangkan daun yang ada pada pohon keputusan tersebut menunjukan kelas dari data sampel yang diuji. Sebagai ilustrasi dapat
dilihat pada contoh gambar berikut:
Gambar 5 Model Pohon Keputusan
(root node) sedangkan Y dan Z terdapat di dalam internal node atau simpul dalam. Tiap cabang yang keluar dari simpul tersebut menunjukkan nilai masing-masing atribut yang dimiliki oleh data pengujian. Pada simpul daun (leaf node)
terdapat kelas yang menjadi keluaran akhir dari classifier. Untuk mengetahui kelas dari suatu data pengujian maka jalur yang ada dari akar hingga daun dapat ditelusuri.
Dalam pohon keputusan, leaf node merupakan sebuah label kelas sedangkan non terminal node yang terdiri dari root dan internal node lainnya,
mengandung kondisi uji atribut untuk memisahkan record yang memiliki karakteristik berbeda.
Setelah pohon keputusan dikonstruksi, data tes dapat diklasifikasi. Bermula dari root, kondisi tes diaplikasikan ke record dan mengikuti cabang yang sesuai berdasarkan keluaran dari tes.
2.4 Algoritma ID3
Iterative Dichotomicer 3 (ID3) adalah algoritma decision tree learning
(algoritma pembelajaran pohon keputusan) yang paling dasar. Algoritma ini melakukan pencarian secara rakus atau menyeluruh (greedy), pada semua kemungkinan pohon keputusan. Salah satu algoritma induksi pohon keputusan yaitu ID3 (Iterative Dichotomiser 3). ID3 dikembangkan oleh J. Ross Quinlan. Algoritma ID3 dapat diimplementasikan menggunakan fungsi rekursif (fungsi yang memanggil dirinya sendiri). Algoritma ID3 berusaha membangun decision tree (pohon keputusan) secara top-down (dari atas kebawah), mulai dengan
pertanyaan : “atribut mana yang pertama kali harus dicek dan diletakkan pada
root?” pertanyaan ini dijawab dengan mengevaluasi semua atribut yang ada dengan menggunakan suatu ukuran statistik (yang banyak digunakan adalah
information gain) untuk mengukur efektivitas suatu atribut dalam
mengklasifikasikan kumpulan sampel data. Berikut adalah cara kerja dari algoritma ID3:
16
2. Pilih atribut dimana nilai gainnya paling besar. 3. Buat simpul yang berisi atribut tersebut.
4. Proses perhitungan Information Gain akan terus dilaksanakan sampai semua data masuk kedalam kelas yang sama, sedangkan atribut yang telah dipilih tidak diikutkan lagi dalam perhitungan nilai information gain.
Gain mengukur seberapa baik suatu atribut memisahkan training exm
ple kedalam kelas target. Atribut dengan informasi tertinggi akan dipi
lih. Dengan tujuan untuk mendefinisikan gain,
pertama-tama digunakanlah ide
dari teori informasi yang disebut entropi. Entropi mengukur jumlah dari informasi .
2.4.1 Entropy Information Gain
Sebuah obyek yang diklasifikasikan dalam pohon harus dites nilai entropinya. Entropy adalah ukuran dari teori informasi yang dapat mengetahui karakteristik dari impuryt ,dan homogenity dari kumpulan data. Dari nilai entropy tersebut kemudian dihitung nilai information gain (IG) masing-masing atribut.
Rumus menghitung entropi informasi adalah:
Entropy(S) =( - p+ log2p+) + (-p- log2p-)...(1)
Keterangan:
S = Himpunan kasus atau ruang (data) sampel yang digunakan untuk training.
P+ = jumlah yang bersolusi positif (mendukung) pada data sampel untuk kriteria tertentu.
nilai dari suatu entropy maka semakin baik digunakan dalam mengekstraksi suatu kelas.
Panjang kode untuk menyatakan informasi secara optimal adalah log2p bits untuk message yang mempunyai probabilitas p. Sehingga jumlah bit yang diperkirakan untuk mengekstraksi S kedalam kelas adalah: = - p+ log2p+ + -p- log2p-
2.4.2 Information Gain
Setelah mendapatkan nilai entropy untuk suatu kumpulan data, maka kita
dapat mengukur efektivitas suatu atribut dalam mengklasifikasikan data. Ukuran efektifitas ini disebut informasi gain. Secara matematis, informasi gain dari suatu atribut A, dituliskan sebagai berikut:
Gain (S,A)= Entropy(S) - ∑
|S| = jumlah seluruh sampel data
Entropy(Sv) = entropy untuk sampel-sampel yang memiliki nilai v
Entropy (S) = 0 jika semua contoh pada S berada dalam kelas yang sama.
Entropy (S) = 1 jika semua jumlah contoh positif dan jumlah negatif dalam S
adalah sama.
Entropy (S) = < 1 jika jumlah contoh positif dan negatif dalam S tidak sama 2.4.3 Berikut algoritma dari ID3
Input: sampel training, label training, atribut
1. Membuat simpul akar untuk tree yang dibuat,
18
3. Jika semua sampel negatif, berenti dengan suatu pohon dengan satu simpul akar, beri label (-),
4. Jika atribut kosong, berhenti dalam dengan satu pohon dengan satu simpul akar dengan label sesuai nilai yang terbanyak yang ada pada label training untuk yang lain,
Mulai
a. A atribut yang mengklasifikasikan sample dengan hasil terbaik (berdasarkan information gain),
b. Atribut keputusanuntuk simpul akar A,
c. Untuk setiap nilai, vi , yang mungkin untuk A,
d. Tambahkan cabang dibawah akar yang berhubungan dengan A = vi,
e. Tentukan sampel Svi sebagai subset dari sampel yang mempunyai nilai vi untuk atribut A,
f. Jika sampel Svi kosong, dibawah cabang tambahkan simpul daun dengan label = nilai yang terbanyak yang ada pada label training, yang lain tambah cabang baru dibawah cabang yang sekarang ID3 (sampel training, label training, atribut-[A])
5. Berhenti
Adapun sample data yang digunakan oleh ID3 memiliki beberapa syarat, yaitu:
1. Deskripsi atribut nilai, atribut yang sama harus mendeskripsikan tiap contoh dan memiliki jumlah nilai yang sudah ditentukan.
2. Kelas yang sudah didefinisikan sebelumnya, suatu atribut contoh harus sudah didefinisikan, karena tidak dipelajari oleh ID3.
3. Kelas-kelas yang diskrit, kelas harus digambarkan dengan jelas. Kelas
4. Jumlah contoh (example) yang cukup, karena pembangkitan induktif digunakan, maka dibutuhkan test case yang cukup untuk membedakan pola yang valid dari peluang suatu kejadian.
5. Pemillihan atribut pada ID3 dilakukan dengan properti statistik, yang disebut dengan information gain. Gain mengukur seberapa baik suatu atribut memisahkan training example ke dalam kelas target. Atribut dengan informasi tertinggi akan dipilih. Dengan tujuan untuk mendefinisikan gain, pertama-tama digunakanlah ide dari teori informasi
20
BAB III
PERANCANGAN SISTEM
3.1 Analisis Sistem
Tahapan analisis sistem ini, mempunyai tugas mendefinisikan masalah sistem, melakukan studi kelayakan, menganalisis kebutuhan sistem dan elemen-elemen yang terkait, seperti user, administrator, dan semua yang diperlukan dalam proses prediksi masa studi mahasiswa di jurusan teknik komputer UNIKOM. 3.1.1 Analisis Masalah
Setiap perguruan tinggi baik negeri maupun swasta tentunya memiliki kebijakan kurikulum yang berbeda. Di UNIKOM khususnya pada program studi S1 Teknik Komputer tingkat kelulusan masih terbilang rendah hal ini disebabkan oleh beberapa faktor, yang diantaranya: kurangnya strategi mahasiswa dalam belajar, sistem pengajaran yang kurang baik dan adanya perbedaan kemampuan setiap mahasiswa. Dari beberapa faktor tersebut menyebabkan banyak mahasiswa yang menempuh masa studi lebih dari lima tahun. Untuk mengatasi permasalahan tersebut maka penulis membuat solusi mengimplementasikan data mining, dengan memanfaatkan nilai akademik.
Dengan memanfaatkan sistem data mining khususnya algoritma ID3 dibuat sebuah perancangan aplikasi untuk memprediksi masa studi mahasiswa
berdasarkan data nilai akademik, dengan dua kategori masa studi kurang dari lima tahun dan lebih dari lima tahun. Dengan adanya aplikasi ini diharapkan dapat dimanfaatkan dosen dan staff jurusan untuk memprediksi kelulusan mahasiswa dalam masa studinya.
3.1.2 Analisis Data
pemrograman1. Sedangkan Atribut tujuan dari prediksi masa studi mahasiswa terdiri dari dua kategori yaitu masa studi <= 5 tahun dan > 5tahun. Diman 0 mewakili kelas yang <= 5 tahun dan 1 > mewakili kelas yang > 5 tahun.
3.1.2.1 Sumber Data
Data mahasiwa yang digunakan untuk uji data (testing) dan data latih
(training) adalah data mahasiswa angkatan 2000-2006. Hal ini didasarkan pada
kebutuhan data yang akan dihubungkan dengan sistem prediksi yang akan dirancang dari data kelulusan, data tersebut diperoleh dari sekretariat jurusan
Teknik Komputer. Data yang diambil semester1 dan semester 2 dari data mahasiswa S1 yang telah lulus di Jurusan Teknik Komputer. Berikut adalah tabel atribut yang digunakan dalam aplikasi ini:
Tabel 1 Tabel 6 Atribut
NO Nama Matakuliah Bobot Nilai
22
Perhitungan algoritma ID3 terlihat pada contoh kasus dan perhitungan node ke- pada tabel dibawah ini, dimana diambil 4 matakuliah sebagai atribut yaitu fisika1, kalkulus1, fisika2, dan kalkulus2. Dari 4 atribut tersebut, terdapat 5 nilai yang digunakan yaitu: A, B, C, D, dan E. Sedangkan ada 2 target atau atiribut tujuan yang dihasilkan yaitu masa studi kurang dari lima tahun diwakili dengan 0 dan lebih dari lima tahun diwakili 1. Pengambilan atribut-atribut tersebut diambil dari 2 semester yang terdapat di jurusan teknik komputer.
Tabel 2 Contoh Tabel Kasus
no fisika1 kalkulus1 fisika2 kalkulus2 masa_studi
kurang dari 5 tahun dengan simbol 0. Untuk melakukan proses klasifikasi maka dilakukan pengecekan isi dari atribut kelas data (matakuliah), karena isi atribut tersebut berbeda maka digunakan fungsi entropy untuk mendapatkan informasi tertinggi dengan perhitungan dari atribut matakuliah berikut:
Entropy ( [6+,4-] ) = - ( ) log2 ( ) – ) log2( ) = 0.97095
Dari tabel diatas misalnya atribut diterima = ”lulus kurang dari 5 tahun” merupakan sampel (+) dan atribut diterima = ”lebih dari 5 tahun” merupakan sampel (-). Untuk mencari atribut yang akan dijadikan root dapat dilakukan dengan menghitung gain ratio tertinggi, dengan menggunakan rumus (2), dapat dilihat dari tabel dibawah ini:
1. Perhitungan mencari atribut yang akan dijadikan root.
Tabel 3 Perhitungan Menentukan Node ke-1
nod
> 5 thn Entropy Gain
24
Dari perhitungan diatas maka didapat Informasi Gain dari empat atribut matakuliah (Kalkulus1,Fisika1, Kalkulus 2, dan Fisika 2,)
IG Kalkulus1 = 0,219973
IG Fisika1 = 0, 134498
IG Kalkulus2 = 0,609987
IG Fisika2 = 0,446439
Dari keempat atribut nilai Informasi Gain (Skalkulus2) adalah nilai informasi gain terbesar sehingga atribut kalkulus 2 merupakan kelas yang terbaik dan harus diletakan sebagai root. Dengan perhitungan entropy dan gain untuk kalkulus2:
Pencarian Entropy untuk matakuliah kalkulus2: Nilai (kalkulus2) = A, B, C, D, E
Entropy (SA)= [ 1+, 0-] = - ( ) log2 ( ) – ) log2( ) = 0
Entropy (SC) = [ 4+, 1-] = - ( ) log2 ( ) – ) log2( ) =0,721928
Entropy (SD)= [ 1+, 0-] = - ( ) log2 ( ) – ) log2( ) = 0
Entropy (SE)= [ 0+, 1-] = - ( ) log2 ( ) – ) log2( ) = 0
Pencarian Gain pada matakuliah kalkulus 2:
Gain (S,A) = Entropy(S)
-= 0,609987
Dari perhitungan diatas didapat pohon keputusan sebagai berikut:
Kalkulus2
Gambar 1 Pohon Keputusan Hasil Perhitungan Node Ke-1
2. Perhitungan mencari atribut yang akan dijadikan leaf untuk Node ke-2 dari atribut kalkulus 2 dengan nilai C.
Tabel 4 Hasil Perhitungan Node Ke-2 dari Atribut kalkulus2
node Jumlah_kasus <=5thn > 5 thn Entropy Gain
2 kalkulus2C 5 4 1 0,721928
fisika1 0,321928
A 0 0 0 0
26
Tabel diatas merupakan perhitungan mencari atribut yang akan dijadikan leaf
pada node ke-2 dari atribut kalkulus 2 dengan nilai C.
IG Kalkulus1 = 0,072906
IG Fisika1 = 0,321928
IG Fisika2 = 0,721926
Dari perhitungan tiga atribut diatas didapat nilai Informasi Gain fisika2 adalah
nilai informasi gain terbesar, maka yang akan menjadi cabang node kalkulus2
selanjutnya adalah matakuliah fisika2 dengan perhitungan entropy dan gain sebagai
berikut:
Perhitungan entropy untuk matakuliah fisika2:
Entropy (SA)= [ 0+, 0-] = - ( ) log2 ( ) – ) log2( ) = 0
Entropy (SB)= [ 0+, 1-] = - ( ) log2 ( ) – ) log2( ) = 0
Entropy (SC)= [2+, 0-] = - ( ) log2 ( ) – ) log2( ) = 0
Entropy (SE)= [ 0+, 0-] = - ( ) log2 ( ) – ) log2( ) = 0
Perhitungan gain untuk matakuliah fisika2:
= 0,721928
Nilai A dan E pada fisika 2 jumlah kasusnya 0 artinya tidak ada data yang < = 5
tahun dan > 5 tahun, maka pohon keputusan yang didapat adalah:
Kalkulus2
Gambar 2 Pohon Keputusan Hasil Perhitungan Node Ke-2
Dari data kasus diatas maka dapat ditarik sebuah aturan bahwa: a. JikaKalkulus2 = A maka masa studi < = 5 tahun.
b. JikaKalkulus2 = B maka masa studi > 5 tahun.
c. Jika Kalkulus2 = C dan Fisika2 = B maka masa studi > 5 tahun. d. Jika Kalkulus2 = C dan Fisika2 = C maka masa studi < = 5 tahun. e. Jika Kalkulus2 = C dan Fisika2 = D maka masa studi < = 5 tahun. f. Jika Kalkulus2 = D maka masa studi < = 5 tahun.
28
3.1.4 Analisis Kebutuhan Non Fungsional
Analisis non fungsional adalah sebuah langkah dimana seorang pembangun perangkat lunak menganalisis sumber daya yang akan menggunakan perangkat lunak yang dibangun.
Analisis non fungsional tidak hanya menganalisis siapa saja yang akan menggunakan aplikasi tetapi juga menganalisis perangkat keras dan perangkat lunak yang dimiliki oleh pemesan, sehingga dapat ditentukan kompabilitas aplikasi yang dibangun terhadap sumber daya yang ada. Setelah melakukan
analisis non fungsional, maka dilanjutkan kelangkah berikutnya yaitu menentukan kebutuhan non fungsional sistem yang akan dibangun untuk disesuaikan dengan fakta yang ada.
Apabila terjadi ketidakcocokan antara fakta dan kebutuhan maka perlu adanya penyesuaian fakta terhadap kebutuhan yang ada. Apabila kebutuhan tidak dipenuhi maka sistem yang dibangun tidak akan berjalan baik sesuai yang diharapkan.
Analisis non fungsional dan kebutuhan non fungsional yang dilakukan dibagi dalam tiga tahapan, yaitu:
1. Kebutuhan pengguna (user)
2. Kebutuhan perangkat keras (hardware)
3. Kebutuhan perangkat lunak (software)
3.1.4.1Analisis Kebutuhan Pengguna (user)
Aplikasi sistem prediksi ini akan digunakan oleh dosen dan staff jurusan teknik komputer. Dengan ketentuan sebagai berikut:
1. Terbiasa menggunakan aplikasi yang ada di sistem operasi Windows.
2. Memiliki pengetahuan tentang database.
3. Mengetahui atribut yang dianggap kuat untuk dilibatkan dalam proses
3.1.4.2Analisis Kebutuhan Perangkat keras (Hardware)
Berdasarkan analisis yang telah dilakukan, dapat diketahui spesifikasi perangkat keras yang digunakan jurusan Teknik Komputer adalah sebagai berikut:
a. Processor 1.8 GHz
b. Harddisk 80 GB
c. RAM 504 MB
d. Monitor 14 inch dengan kualitas warna 32 bit.
Kebutuhan hardware yang disarankan untuk menjalankan spesifikasi ini
minimal memiliki spesifikasi sebagai berikut:
a. Processor 1,5 GHz
b. Harddisk 20 GB
c. RAM 512 MB
d. Monitor yang mendukung kualitas warna 16 bit dengan resolusi 800 x
600 pixels.
Berdasarkan spesifikasi yang telah ada, secara keseluruhan kebutuhan perangkat keras untuk aplikasi ini telah terpenuhi.
3.1.4.3Analisis Perangkat Lunak (Software)
Perangkat Lunak yang dikembangkan dalam Aplikasi Data Mining ini berbasis desktop dengan database lokal. Perangkat lunak yang disarankan untuk menjalankan aplikasi ini adalah sebagai berikut:
a. Sistem Operasi
Untuk sistem operasi windows disarankan, karena sistem operasi ini banyak dikenal oleh user awam dan lebih mudah dipelajari.
b. Microsoft Office
30
Database Management System (DBMS) adalah sistem untuk mengelola
basisdata yang digunakan. Untuk aplikasi Data mining ini digunakan Microsoft Access sebagai DBMS.
3.1.5 Spesifikasi Kebutuhan Fungsional
Spesifikasi kebutuhan fungsional pada Aplikasi Data Mining ini merujuk pada kebutuhan akan perancangan data mining, seperti berikut ini :
1. Dapat menggabungkan data yang akan diproses mining dari data matakuliah dan data mahasiswa.
2. Dapat menghapus data-data yang tidak relevan serta atribut yang tidak dipakai .
3. Dapat merubah data menjadi data yang siap diproses. 4. Dapat memproses data untuk dimining.
5. Dapat menampilkan hasil proses mining dengan nilai support dan
confidence.
3.1.6 Pemodelan Fungsi
Pemodelan fungsi digambarkan dengan DCD (Data Context Diagram),
DFD (Data Flow Diagram) dan kamus data (Data Dictionary).
3.1.6.1 Diagram Konteks
Diagram konteks ini menggambarkan suatu sistem secara garis besarnya, yang menjelaskan bagian-bagian umum yang terdapat dalam sistem.
Admin
3.1.6.2Diagram Alir Data Level 1
Diagram ini menggambarkan bagian-bagian yang saling berhubungan, yang terdapat dalam sistem. Dapat dilihat diagram alir data level1 sebagai
Gambar 4 DFD Level 1 Proses Data Mining
32
Gambar 6 DFD Level 2 Proses Data Mining
3.1.7 Spesifikasi Proses
Pada spesifikasi proses ini menjelaskan proses-proses yang terdapat dalam diagram aliran data. Dapat dilihat dalam tabel sebagai berikut:
Tabel 5 Tabel Proses
No. Proses Keterangan
1. No. Proses 1
Nama Proses Proses Training
Sumber User, Tabel DataBase Kasus
Input Atribut, Data Kasus
Output Info Data Kasus, Data Tree
Deskripsi Melakukan proses Training untuk menghasilkan pohon
keputusan
Logika Proses Melakukan proses training data kasus
Nama Proses Proses Testing
Sumber User, Tabel TREE
Input Data Tree
Output Info Uji Data
Deskripsi Melakukan proses testing (pengujian) data kasus
Logika Proses User memilih menu testing
3. No. Proses 1.1
Nama Proses Seting Atribut
Sumber User, Tabel KASUS
Input Atribut
Output Data Atribut
Deskripsi Melakukan pemilihan atribut yang akan digunakan
34
Do Until lup = "stop"
Adodc1.Recordset.Requery
total = Adodc1.Recordset.RecordCount
Adodc1.Recordset.MoveNext
Next
If total <> 0 Then
If a1.Value = Checked Then
If (hil1 <> "F1") And (hil2 <> "F1") And (hil6 <> "F1") And (hil3 <> "F1") And (hil4 <> "F1") And (hil5 <> "F1") Then
If Fisika1AKurang = 0 Then
EntropiFisika1A = 0
hasil1 = "Lebih"
ElseIf Fisika1ALebih = 0 Then
EntropiFisika1A = 0
hasil1 = "Kurang"
Else
fisika1A)) * (Log(Fisika1AKurang / fisika1A) / Log(2))) + ((-1 * (Fisika1ALebih / fisika1A)) * (Log(Fisika1ALebih / fisika1A) / Log(2)))
End If
gainfisika1 = gainfisika1 - ((fisika1A / total) * EntropiFisika1A
If a3.Value = Checked Then
If (hil1 <> "Or") And (hil2 <> "Or") And (hil6 <> "Or") And (hil3 <> "Or") And (hil4 <> "Or") And (hil5 <> "Or") Then
ElseIf pskomALebih = 0 Then
EntropipskomA = 0
ElseIf pskomBLebih = 0 Then
EntropipskomB = 0
hasil2 = "Kurang"
36
ElseIf pskomCLebih = 0 Then
EntropipskomC = 0
ElseIf pskomDLebih = 0 Then
EntropiAlgo1D = 0
hasil4 = "Lebih"
ElseIf algo1DLebih = 0 Then
EntropiAlgo1D = 0
hasil4 = "Kurang"
Else
EntropiAlgo1D = ((-1 * (algo1DKurang / algo1D)) * (Log(algo1DKurang / algo1D) / Log(2))) + ((-1 * (algo1DLebih / algo1D)) * (Log(algo1DLebih / algo1D) / Log(2)))
ElseIf algo1ELebih = 0 Then
EntropiAlgo1E = 0
hasil5 = "Kurang"
Else
38
Input Data Atribut
Output Info Data Tree
Logika Proses Algorithm : Generete_decision_tree.
Narrative : Generate a decision tree from the
given training data.
Input : The training samples, samples,
represented by discrete-valued attribute, the set of candidate attributes, attribute-list.
Output : A dicision tree.
Method
1) Craete a node N;
2) If samples are all of the same class, C then
3) Return N as a leaf node labeled with class C
4) If attribute-list is empty then
5) Return N as leaf node labeled with the most common class in samples; // majority voting
6) Selsct test-attribute, the attribute among attribute-list with the highest gain ratio;
7) Label node N with last attribute;
8) For each known value a, of test-attribute
9) Grow a branch from node N for the condition test-attribute =
10) Let be the set of samples in samples for
wichh test-attribute = // a partition
11)If is empty then
12) attach a leaf labeled with the most common class in sample;
Else attach the node returned by
Generate_decision_tree ( , attribute-list-list-attribute);
5. No.Proses 2.1
Nama Proses Testing 1 Data
Input Nilai Atribut
Output Info Uji Data
No.Proses 2.2
Nama Proses Testing 1 Database
Sumber Tabel Uji
Input Data Uji Atribut
Output Info Data Uji 1 Database
3.2 Perancangan Sistem 3.2.1 Perancangan Data
Perancangan data atau perancangan database pada tugas akhir ini menggunakan microsoft access 2007, dengan nama databasenya adalah ”tugas”. Berikut ini nama tabel yang digunakan beserta field-field yang terdapat pada tabel berikut:
1. Tabel Akhir, tabel akhir ini adalah tabel training yang berfungsi untuk menyimpan data matakuliah beserta masa studi mahasiwa yang telah lulus.
Tabel 6 Tabel Akhir untuk Data Training
No Field Name Data Type Field Size keterangan
1 No AutoNumber Long Integer Primary Key
2 Nama Matakuliah Teks 50 -
3 Masa Studi Teks 50 -
2. Tabel Uji, tabel ini adalah tabel testing yang berfungsi untuk menguji
data yang terdapat dalam data base dengan algoritma yang digunakan.
40
Berikut ini adalah perancangan menu yang terdapat dalam sistem aplikasi prediksi masa studi mahasiswa:
Menu Utama
Training
Setting Atribut
Testing
Uji Tunggal
Pohon (Tree) Uji 1 Database
Keluar
Gambar 7 Arsitektur Menu
3.2.3 Perancangan Antar Muka
Perancangan antar muka merupakan suatu bentuk tampilan dari program yang akan dibuat untuk kebutuhan interface dengan user. Spesifikasi antarmuka terdiri dari perancangan tampillan menu, tampilan form, tampilan pesan, dan keluaran
3.2.4 Perancangan Form
Dalam perancangan form di sini dilakukan perancangan baik terhadap form input dan form output. Adapun form-form yang terdapat dalam aplikasi data mining ini adalah sebagai berikut.
Tampilan form utama merupakan tampilan utama ketika sistem aplikasi data mining dijalankan, yang terdiri dari beberapa form-form dapat dilihat sebagai berikut:
TO1
Training Testing Keluar
Perancangan Sistem Klasifikasi Masa Studi Mahasiswa Menggunakan Data Mining Berbasis Algoritma ID3
(Studi Kasus: jurusan Teknik Komputer-Unikom)
Oleh: Emi Latifah (10207094)
Gambar 8 Gambar Form Utama pada Aplikasi Data Mining
2. Form Pemilihan Atribut dan Proses
Pada form ini menampilkan 6 atribut yang harus dipilih oleh user, setelah
42
Gambar 9 Form Pemilihan Atribut dan Proses
3. Form Tree
Pada form ini menampilkan pohon keputusan mulai dari akar sampai
kecabang-cabangnya hingga menemukan suatu keputusan masa studi mahasiswa yang lebih dari 5 tahun dan kurang dari 5 tahun.
Gambar 10 Form Decision Tree pada Aplikasi Data Mining
4. Form Pengujian Tunggal
Pada form ini terdapat pengujian tunggal untuk beberapa atribut dimana hasil dari pengujian tersebut sesuai dengan tree yang telah dibuat.
TO1
Masukan Nalai Untuk masing-Masing Matakuliah Yang telah Dipilih.... T04
Hasil Prediksi Masa Studi Mahasiswa
???
Gambar 11 Form Pengujian Tunggal pada Aplikasi DataMining
5. Form Pengujian DataBase
44
3.2.5 Flowchart
Mulai
Data Training
Algoritma ID3
Prediksi Masa Studi Mahasiswa
Selesai
Gambar 13 Flowchart Aplikasi Sistem
Secara garis besar proses aplikasi sistem diatas adalah sebagai berikut:
1. Input data training.
2. Masuk ke proses algoritma untuk dihitung berdasarkan langkah-langkah algoritma, hasilnya adalah tree.
46
4. Dari aturan yang ada akan dilakukan proses pengujian dengan data testing berdasarkan pohon keputusan yang telah terbentuk.
5. Hasil dari prediksi prohon keputusan tersebut berupa hasil prediksi.
3.2.6 Flowchart Pencarian Entropy dan Gain
Mulai
If entropy= 0
Jadikan node N sebagai suatu node daun dengan label kelas data terbanyak yang ditentukan dari sampel
data
Selesai
Pilih atribut untuk diuji dengan mencari nilai Menghitung entropy untuk setiap
atribut
Entropy(S) =(- p+ log2p+) + (-p- log2p)
Pilih Informasi Gain yang tertinggi
Data Training
3.2.7 Flowchart Pembuatan Pohon Keputusan
Mulai
Buat node N
If kelas dari semua sampel data C
Pilih atribut untuk diuji dengan mencari nilai informasi tertinggi (Highest Information Gainratio) Beri node label dengan atribut
terpilih yang diuji For each isi atribut yang diketahui of atribut atribut yang
diuji:
Partisi data sesuai dengan atribut terpilih
48
Secara garis besar langkah-langkah yang dilakukan algoritma ID3 untuk membentuk sebuah pohon keputusan adalah sebagai berikut:
1. Pada saat awal pembentukan pohon akan dimulai dengan membuat suatu
node yang melambangkan training sampel.
2. Jika sampel-sampel tersebut memiliki kelas yang sama, maka node tersebut dijadikan leaf node dengan label kelas tersebut.
3. Jika sampel-sampel tersebut tidak memiliki kelas yang sama maka algoritma ini akan mencari gain tertinggi dari atribut yang tersedia,
sebagai cara untuk memilih atribut yang berpengaruh pada training sampel yang tersedia.
4. Cabang untuk setiap node akan dibentuk berdasarkan nilai-nilai yang diketahui dari atribut pengujian.
49 4.1 Hasil Pembahasan
Hasil pembahasan system ini bertujuan untuk menerapkan modul-modul yang telah dikerjakan pada tahap perancangan dan pengujian.
4.1.1 Pembahasan Antarmuka
Didalam penjelasan sitem aplikasi program ini dijelaskan tentang alur pembuatan dan kegunaan program yang dibuat beserta tampilan desainnya. Berikut ini tampilan halaman yang ada dalam program yang dibuat.
4.1.1.1Form Menu Utama
Menu utama merupakan menu paling awal keluar setelah program dijalankan, dalam menu utama ini terdapat beberapa menu yang diantaranya training yang didalamnya terdapat dua submenu yaitu menu pemilihan atribut dan proses, menu yang kedua adalah mennu testing dimana didalam menu ini terdapat dua submenu yaitu menu untuk pengujian tunggal dan menu untuk pengujian satu
database, dan keluar.
50
4.1.1.2Form Pemilihan Atribut dan Proses
Pada form pemilihan atribut dan proses ini, terdapat open file yang berfungsi untuk memilih database mana yang akan dijadikan sebagai data training. Ada 6 matakuliah sebagai atribut yang harus dipilih yaitu fisika1,kalkulus1,pengantar sistem komputer, fisika2, kalkulus2 dan pemrograman algoritma1. Setelah melakukan pemilihan maka selanjutnya diproses, banyaknya atribut yang dipilih akan mempengaruhi sebuah root maupun leaf yang terdapat dalam pohon keputusan. Hasil implementasi antarmuka form pemilihan atribut
dan proses dapat dilihat pada gambar dibawah ini.
4.1.1.3Form Tree
Pada form tree akan menghasilkan sebuah pohon keputusan setelah melakukan proses pemilihan atribut. Dimana root dihasilkan dari beberapa atribut yang dipilih, berdasarkan algoritma ID3 dengan perhitungan entropy dan gain.
Gain yang paling tinggi akan dijadikan root sebagai node 1, sedangkan gain tertinggi kedua akan dijadikan node berikutnya sampai mencapai suatu keputusan (atribut tujuan). Proses tree berdasarkan 5 atribut yang dipilih yaitu fisika1,kalkulus1,pengantar sistem komputer,fisika2,dan kalkulus2. Tree tersebut
dapat dilihat dibawah ini.
52
4.1.1.4Form Pengujian Tunggal
Pada proses pengujian tunggal, user dapat memasukan nilai berdasarkan atribut matakuliah yang telah dipilih. Setelah semua nilai dimasukan maka akan menghasilkan sebuah keputusan yaitu masa studi < = 5 tahun dan > 5 tahun, apabila nilai yang dimasukan tidak ada dalam aturan pohon keputusan maka akan menghasilkan keterangan tidak ada data 5 tahun dapat dilihat pada gambar dibawah ini:
Gambar 5 Form Pengujian Tunggal Kurang dari 5 tahun
54
Gambar 7 Pengujian Tunggal Tidak ada dari 5 tahun
4.1.1.5Form Pegujian 1 Database.
Pada pengujian database, user dapat menguji sebuah database yang tersedia, dimana dalam proses ini akan menghasilkan persentase kebenaran data
dan jumlah data yang tidak terklasifikasi dari data yang diuji dengan sistem aplikasi yang dibuat, untuk kelas dengan masa studi < = 5 tahun diwakili dengan
Gambar 8 Form Pengujian Tunggal
Pada gambar diatas terliat hasil persentase dari pengujian 35 data yaitu 54,29%, didapat dari jumlah data uji yang tidak cocok dengan data training sebanyak 15 data dan 1 data yang tidak ada antara data latih dengan data uji
sehingga berjumlah 16 jadi:
persentase = 35-16 = 19
19/35 x100 = 54,29%
4.2 Pengujian
56
lebih dari lima tahun (>5tahun). Berikut ini adalah keterangan nilai- nilai dari atribut-atribut tersebut:
Tabel 1 Tabel Atribut dan Nilai
No Nama Matakuliah Bobot Nilai
1 Fisika1 A,B,C,D,E proses data training menjadi sebuah pohon keputusan berdasarkan perhitungan
gain dan entropy. Dari sebuah pohon keputusan tersebut kemudian dibuat sebuah aturan yang kemudian akan digunakan dalam proses pengujian berdasarkan data
testing. Output yang dihasilkan berupa persentase hasil prediksi dari algoritma
yang dibuat dibandingkan dengan data masa studi yang asli. Persentase ini merupakan perbandingan antara data testing (jumlah pengujian bernilai benar) dengan banyaknya data training sehingga akan menghasilkan berapa persen data yang cocok dengan data aslinya berdasarkan algoritma ID3.
1. Testing Data Tunggal untuk Training 70 a) Menggunakan 4 atribut
1) Fisika1, Kalkulus1, Pengantar Sitem Komputer, dan Kalkulus2.
Tabel 2 Fisika1, Kalkulus1, Pengantar Sitem Komputer, dan Kalkulus2.
Fisika1 Kalkulus1 Pskom Kalkulus2 Masa Studi
(Asli)
Tingkat Kecocokan antara hasil program dengan data asli adalah:
Jumlah yang sama = 6
Jumlah data = 10
Persentase keberhasilan = 6/10 x 100% = 60%
2) Fisika1, Kalkulus1, Pengantar Sistem Komputer, Fisika2
Tabel 3 Fisika1, Kalkulus1, Pskom, Fisika2
Fisika1 Kalkulus1 Pskom Fisika2 Masa Studi
(Asli)
Hasil Prediksi
58
Tingkat Kecocokan antara hasil program dengan data asli adalah:
Jumlah yang sama = 7
Jumlah data = 10
Persentase keberhasilan = 7/10 x 100% = 70%
b) Menggunakan 5 Atribut
1) Fisika1, Pskom (Pengantar Sistem Komputer), Fisika2, Kalkulus2, Algoritma
Tabel 4 Fisika1, Pskom, Fisika2, Kalkulus2, Algoritma,
Algoritma Fisika1 Fisika2 Kalkulus2 PSK Masa Studi
E B B C D > 5 Tahun > 5 Tahun Sama
C A B C B <= 5 Tahun > 5 Tahun Tidak
A A A B A <= 5 Tahun > 5 Tahun Tidak
C E A B B > 5 Tahun > 5 Tahun Sama
Tingkat kecocokan antara hasil program dengan data asli adalah: Jumlah yang sama = 7
Jumlah data = 10
Persentase keberhasilan 7/10 x 100% = 70%
2) Fisika1, Kalkulus1, Pskom (Pengantar Sistem Komputer), Fisika2, Algoritma
Tabel 5 Fisika1, Kalkulus1, Pskom, Fisika2, Algoritma,
Fisika1 Kalkulus1 Pskom Fisika2 Algo1 Masa Studi
(Asli)
Tingkat kecocokan antara hasil program dengan data asli adalah: Jumlah yang sama = 7
Jumlah data = 10
Persentase keberhasilan 7/10 x 100% = 70%
2. Testing 1 Database dengan perbedaan jumlah data training dan atribut A. Empat Atribut dengan 70 data training
60
1) Fisika1, Kalkulus1, Pskom (Pengantar Sistem Komputer), Fisika2
Gambar 9 Pemilihan Atrbut Fisika1, Kalkulus1, Pskom, Fisika2
Gambar 10 Hasil Uji Fisika1, Kalkulus1, Pskom, Fisika2(a)
Gambar diatas merupakan pengujian 1 database dengan 4 atribut matakuliah yaitu: fisika1, kalkulus1, pskom, dan fisika2. Menggunakan data
training sejumlah 70 data dan data testing sejumlah 35 data, menghasilkan
persentase 60% . Jumlah data tidak cocok dengan artinya banyaknya data yang tidak cocok antara data testing dengan data asli, sedangkan data yang tidak ada artinya tidak data dalam pohon keputusan dan data asli perhitungan:
Jumlah data tidak cocok = 13
Jumlah data tidak ada = 1
Persentase = 35-14 =21
=21/35x100 =60%
2) Fisika1, Pskom (Pengantar sistem komputer), Fisika2, kalkulus2
Gambar 12 Pemilihan Atribut Fisika1, Pskom, Fisika2, kalkulus2
62
Gambar 14 Hasil Uji Fisika1, Pskom, Fisika2, kalkulus2(b)
Gambar diatas merupakan cuplikan dari pengujian 1 database dengan 4 atribut fisika1, pskom, fisika2 dan kalkulus2. dengan data training sejumlah 70
data dan data testing sejumlah 35 data, menghasilkan persentase 65,71% dengan perhitungan:
Jumlah data tidak cocok = 12
Jumlah data tidak ada = 0
Persentase = 35-12 =23
=23/35x100 =65,71%
3) Fisika1, Fisika2, Kalkulus2, Algo1
Gambar 16 Hasil Uji Fisika1, Fisika2, Kalkulus2, Algo1
Gambar 17 Hasil Uji Fisika1, Fisika2, Kalkulus2, Algo1
Gambar diatas merupakan cuplikan dari pengujian 1 database dengan 4 atribut fisika1, fisika2, kalkulus2 dan algo1. Dengan data training sejumlah 70 data dan data testing sejumlah 35 data, menghasilkan persentase 71,43% dengan perhitungan:
64
Jumlah data tidak ada = 0
Persentase = 35-10 =25
=25/35x100 =71,43%
4) Kalkulus1, Fisika2, Kalkulus2, Algo1
Gambar 18 Pemilihan Atribut Kalkulus1, Fisika2, Kalkulus2, Algo1
Gambar 20 Hasil Uji Kalkulus1, Fisika2, Kalkulus2, Algo1(b)
Gambar diatas merupakan pengujian 1 database dengan 4 atribut kalkulus1, fisika2, kalkulus2 dan algo1. Dengan data training sejumlah 70 data dan data testing sejumlah 35 data, menghasilkan persentase 68,57% dengan perhitungan:
Jumlah data tidak cocok = 11
Jumlah data tidak ada = 0
Persentase = 35-11 =24
=24/35x100 =68,57%
B.Empat Atribut dengan 112 Data Training
66
Gambar 21 Hasil Uji Fisika1, Kalkulus1, Pskom, Fisika2(a)
Gambar 22 Hasil Uji Fisika1, Kalkulus1, Pskom, Fisika2(b)
Gambar diatas merupakan pengujian 1 database dengan 4 atribut fisika1, kalkulus1, Pskom, dan fisika2. Dengan data training sejumlah 112 data dan data
testing sejumlah 35 data, menghasilkan persentase 54,29% dengan perhitungan:
Jumlah data tidak ada = 1
Persentase = 35-16 =19
=19/35x100 =54,29%
2) Fisika1, Pskom, Fisika2, Kalkulus2
68
Gambar 24 Hasil Uji Fisika1, Pskom, Fisika2, Kalkulus2(b)
Gambar diatas merupakan pengujian 1 database dengan 4 atribut fisika1, Pskom, fisika2, dan kalkulus2. Dengan data training sejumlah 112 data dan data
testing sejumlah 35 data, menghasilkan persentase 62,86% dengan perhitungan:
Jumlah data tidak cocok = 12
Jumlah data tidak ada = 1
Persentase = 35-13 =22
=22/35x100 =62,86%
Gambar 25 Hasil Uji Fisika1, Fisika2, Kalkulus2, Algo1(a)
Gambar 26 Hasil Uji Fisika1, Fisika2, Kalkulus2, Algo1(b)
Gambar diatas merupakan pengujian 1 database dengan 4 atribut fisika1, fisika2, kalkulus2 dan algo1. Dengan data training sejumlah 112 data dan data
testing sejumlah 35 data, menghasilkan persentase 65,71% dengan perhitungan:
Jumlah data tidak cocok = 11
70
Persentase = 35-12 =23
=23/35x100 =65,71%
4) Kalkulus1,Fisika2, Kalkulus2, algo1
Gambar 27 Hasil Uji Kalkulus1,Fisika2, Kalkulus2, algo1(a)
Gambar 28 Hasil Uji Kalkulus1,Fisika2, Kalkulus2, algo1(b)
Gambar diatas merupakan pengujian 1 database dengan 4 atribut kalkulus1, fisika2, kalkulus2 dan algo1. Dengan data training sejumlah 70 data dan data testing sejumlah 35 data, menghasilkan persentase 60,00% dengan perhitungan:
Jumlah data tidak ada = 1
Persentase = 35-14 =21
=21/35x100 =60,00%
C.Lima Atribut dengan 70 Data Training
1. Fisika1, Kalkulus1, Pskom, Fisika2, Kalkulus2
72
Gambar 30 Hasil Uji Fisika1, Kalkulus1, Pskom, Fisika2, Kalkulus2(b)
Gambar diatas merupakan pengujian 1 database dengan 5 atribut fisika1, kalkulus1, pskom, fisika2, kalkulus2. Dengan data training sejumlah 70 data dan data testing sejumlah 35 data, menghasilkan persentase 62,86% dengan
perhitungan:
Jumlah data tidak cocok = 13
Jumlah data tidak ada = 0
Persentase = 35-13 =22
=22/35x100 =62,86%
Gambar 31 Hasil Uji Kalkulus1, Pskom, Fisika2, Kalkulus2, Algo1(a)
Gambar 32 Hasil Uji Kalkulus1, Pskom, Fisika2, Kalkulus2, Algo1(b)
74
data dan data testing sejumlah 35 data, menghasilkan persentase 57,14% dengan perhitungan:
Jumlah data tidak cocok = 15
Jumlah data tidak ada = 0
Persentase = 35-15 =20
=20/35x100 =57,14%
3. Fisika1, Pskom, Fisika2, Kalkulus2, Algo1
Gambar 34 Hasil Uji Fisika1, Pskom, Fisika2, Kalkulus2, Algo1(b)
Gambar diatas merupakan pengujian 1 database dengan 4 atribut fisika1, pskom, fisika2, kalkulus2 dan algo1. Dengan data training sejumlah 70 data dan data testing sejumlah 35 data, menghasilkan persentase 60,00% dengan
perhitungan:
Jumlah data tidak cocok = 14
Jumlah data tidak ada = 0
Persentase = 35-14 =21
=21/35x100 =60,00%