Anda di halaman 1dari 86

PP/018/VII/R5

LABORATORIUM
TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS AHMAD DAHLAN

PETUNJUK
PRAKTIKUM
DATA MINING

Penyusun:
Lisna Zahrotun, S.T., M.Cs.
Tedy Setiasi, M.T

2019
1

KATA PENGANTAR

Alhamdulilllah, segala puji dan syukur kehhadirat Allah SWT, hanya atas rahmat dan
hidayah-Nya lah akhirnya modul praktikum ini dapat terselesaikan. Cakupan Data Mining
sangat luas, akan tetapi dalam diktat ini hanya membahas sebagian saja. Dalam awal pertemuan
akan dibahas bagaimana mebuat data set dengan melakukan proses cleaning, transformasi dan
selection, kemudian akan dibahas satu-persatu langkah-langkah proses dalam pembentukan
data mining untuk menemukan pola atau pengetahuan dari data ware house yang berjumlah
besar.

Banyak algoritma-algoritma yang digunakan dalam data mining akan tetapi dalam diktat
ini akan dibahas empat algoritma saja, yaitu algoritma asosiasi, algoritma pengelompokan,
algoritmas klasifikasi pohon keputusan yang terdiri dari algoritma C4.5 dan algoritma CART,
terakhir adalah time series. Selain empat teknik tersebut juga ditambahkan penerapan data
mining dengan data text dan CRM dalam data mining. Penulis mengucapkan terima kasih
kepada Rita Melina Anggraeni, Gema Antika Hariadi dan semua pihak yang tentunya tidak
bisa penulis sebutkan satu persatu yang telah membantu dalam penyusunan modul praktikum
ini.

Tentu saja modul praktikum ini masih jauh dari memuaskan, namun penulis berharap diktat
ini dapat bermanfaat bagi mahasiswa dalam mengkaji dan mengembangkan ilmu data ware
house dan data mining. Saran dan kritik sangatlah penulis harapkan, untuk perkembangan
selanjutnya.

Yogyakarta, Agustus 2019

Lisna Zahrotun, S.T., M.Cs.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


2

DAFTAR PENYUSUN

1. Lisna Zahrotun, S.T., M.Cs.


2. Tedy Setiadi, S.T, M.T

Praktikum Data Mining - Teknik Informatika – UAD - 2019


3

HALAMAN REVISI

Yang bertanda tangan di bawah ini:

Nama : Lisna Zahrotun, S.T., M.Cs.

NIK/NIY : 60150773

Jabatan : Koordinator Mata Kuliah Data Mining

Dengan ini menyatakan pelaksanaan Revisi Petunjuk Praktikum Data Mining untuk Program Studi
Teknik Informatika telah dilaksanakan dengan penjelasan sebagai berikut:
No Keterangan Detail Revisi (Per Pertemuan) Tanggal Revisi Nomor Modul
1 a. Penambahan software yang digunakan dari weka 2013 PP/018/VII/R1
menjadi weka, dan Microsoft excel
b. Mocrosoft excel digunakan praktikum pada materi time
series
c. Penambahan materi pada preprocessing data
2 a. Penambahan software yang digunakan dari weka 2015 PP/018/VII/R2
menjadi weka, winQSB, dan rapid miner
b. Penambahan materi, referensi dan contoh studi kasus
pada praktikum teknik association, clustering dan
klasifikasi

3 a. Perubahan pada software yang digunakan menjadi 2016 PP/018/VII/R3


piton.
b. Penghapusan materi pencarian data dan membangun
data warehouse
c. Penambahan materi preprocessing

4 a. Penggantian semua studi kasus untuk setiap teknik data 2018 PP/018/VII/R4
mining
b. Penambahan materi praktikum text mining
c. Penambahan materi CRM Data mining
Penambahan 3 materi praktikum yaitu pengujian, text
mining, pembuatan user interface menggunakan flash

5. a. Merevisi petunjuk praktikum ke template yang baru. 2019 PP/018/VII/R5


b. Penambahan teori dan petunjuk praktikum pada Materi
Interface.

Yogyakarta, 23 Agustus 2019


Koordinator Penyusun

Lisna Zahrotun, S.T., M.Cs.


NIY. 60150773
Praktikum Data Mining - Teknik Informatika – UAD - 2019
4

HALAMAN PERNYATAAN

Yang bertanda tangan di bawah ini:

Nama : Lisna Zahrotun, S.T., M.Cs.

NIK/NIY : 60150773

Jabatan : Kepala Laboratorium Praktikum Teknik Informatika

Menerangkan dengan sesungguhnya bahwa Petunjuk Praktikum ini telah direview dan akan digunakan
untuk pelaksanaan praktikum di Semester Gasal Tahun Akademik 2019/2020 di Laboratorium
Praktikum Teknik Informatika, Program Studi Teknik Informatika, Fakultas Teknologi Industri,
Universitas Ahmad Dahlan.

Yogyakarta, 23 Agustus 2019

Mengetahui,
Ketua Kelompok Keilmuan Rekayasa Perangkat Kepala Laboratorium Praktikum Teknik
Lunak dan Data (RELATA) Informatika

Drs., Tedy Setiadi, M.T. Lisna Zahrotun, S.T., M.Cs.


NIY. 60030475 NIY. 60150773

Praktikum Data Mining - Teknik Informatika – UAD - 2019


5

VISI DAN MISI PRODI TEKNIK INFORMATIKA

VISI
Menjadi Program Studi Informatika yang diakui secara internasional dan unggul dalam bidang
Informatika serta berbasis nilai-nilai Islam.

MISI
1. Menjalankan pendidikan sesuai dengan kompetensi bidang Informatika yang diakui nasional dan
internasional
2. Meningkatkan penelitian dosen dan mahasiswa dalam bidang Informatika yang kreatif, inovatif
dan tepat guna.
3. Meningkatkan kuantitas dan kualitas publikasi ilmiah tingkat nasional dan internasional
4. Melaksanakan dan meningkatkan kegiatan pengabdian masyarakat oleh dosen dan mahasiswa
dalam bidang Informatika.
5. Menyelenggarakan aktivitas yang mendukung pengembangan program studi dengan melibatkan
dosen dan mahasiswa.
6. Menyelenggarakan kerja sama dengan lembaga tingkat nasional dan internasional.
7. Menciptakan kehidupan Islami di lingkungan program studi.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


6

TATA TERTIB LABORATORIUM TEKNIK INFORMATIKA

DOSEN/KOORDINATOR PRAKTIKUM
1. Dosen harus hadir saat praktikum minimal 15 menit di awal kegiatan praktikum dan
menandatangani presensi kehadiran praktikum.
2. Dosen membuat modul praktikum, soal seleksi asisten, pre-test, post-test, dan responsi dengan
berkoordinasi dengan asisten dan pengampu mata praktikum.
3. Dosen berkoordinasi dengan koordinator asisten praktikum untuk evaluasi praktikum setiap
minggu.
4. Dosen menandatangani surat kontrak asisten praktikum dan koordinator asisten praktikum.
5. Dosen yang tidak hadir pada slot praktikum tertentu tanpa pemberitahuan selama 2 minggu
berturut-turut mendapat teguran dari Kepala Laboratorium, apabila masih berlanjut 2 minggu
berikutnya maka Kepala Laboratorium berhak mengganti koordinator praktikum pada slot
tersebut.

PRAKTIKAN
1. Praktikan harus hadir 15 menit sebelum kegiatan praktikum dimulai, dan dispensasi terlambat 15
menit dengan alasan yang jelas (kecuali asisten menentukan lain dan patokan jam adalah jam yang
ada di Laboratorium, terlambat lebih dari 15 menit tidak boleh masuk praktikum & dianggap Inhal).
2. Praktikan yang tidak mengikuti praktikum dengan alasan apapun, wajib mengikuti INHAL,
maksimal 4 kali praktikum dan jika lebih dari 4 kali maka praktikum dianggap GAGAL.
3. Praktikan harus berpakaian rapi sesuai dengan ketentuan Universitas, sebagai berikut:
a. Tidak boleh memakai Kaos Oblong, termasuk bila ditutupi Jaket/Jas Almamater (Laki-laki /
Perempuan) dan Topi harus Dilepas.
b. Tidak Boleh memakai Baju ketat, Jilbab Minim dan rambut harus tertutup jilbab secara
sempurna, tidak boleh kelihatan di jidat maupun di punggung (khusus Perempuan).
c. Tidak boleh memakai baju minim, saat duduk pun pinggang harus tertutup rapat (Laki-laki /
Perempuan).
d. Laki-laki tidak boleh memakai gelang, anting-anting ataupun aksesoris Perempuan.
4. Praktikan tidak boleh makan dan minum selama kegiatan praktikum berlangsung, harus menjaga
kebersihan, keamanan dan ketertiban selama mengikuti kegiatan praktikum atau selama berada
di dalam laboratorium (tidak boleh membuang sampah sembarangan baik kertas, potongan kertas,
bungkus permen baik di lantai karpet maupun di dalam ruang CPU).
5. Praktikan dilarang meninggalkan kegiatan praktikum tanpa seizin Asisten atau Laboran.
6. Praktikan harus meletakkan sepatu dan tas pada rak/loker yang telah disediakan.
7. Selama praktikum dilarang NGENET/NGE-GAME, kecuali mata praktikum yang membutuhkan atau
menggunakan fasilitas Internet.
8. Praktikan dilarang melepas kabel jaringan atau kabel power praktikum tanpa sepengetahuan
laboran
9. Praktikan harus memiliki FILE Petunjuk praktikum dan digunakan pada saat praktikum dan harus
siap sebelum praktikum berlangsung.
10. Praktikan dilarang melakukan kecurangan seperti mencontek atau menyalin pekerjaan praktikan
yang lain saat praktikum berlangsung atau post-test yang menjadi tugas praktikum.
11. Praktikan dilarang mengubah setting software/hardware komputer baik menambah atau
mengurangi tanpa permintaan asisten atau laboran dan melakukan sesuatu yang dapat merugikan
laboratorium atau praktikum lain.
Praktikum Data Mining - Teknik Informatika – UAD - 2019
7

12. Asisten, Koordinator Praktikum, Kepala laboratorium dan Laboran mempunyai hak untuk
menegur, memperingatkan bahkan meminta praktikan keluar ruang praktikum apabila dirasa anda
mengganggu praktikan lain atau tidak melaksanakan kegiatan praktikum sebagaimana mestinya
dan atau tidak mematuhi aturan lab yang berlaku.
13. Pelanggaran terhadap salah satu atau lebih dari aturan diatas maka Nilai praktikum pada
pertemuan tersebut dianggap 0 (NOL) dengan status INHAL.

ASISTEN PRAKTIKUM
1. Asisten harus hadir 15 Menit sebelum praktikum dimulai (konfirmasi ke koordinator bila
mengalami keterlambatan atau berhalangan hadir).
2. Asisten yang tidak bisa hadir WAJIB mencari pengganti, dan melaporkan kepada Koordinator
Asisten.
3. Asisten harus berpakaian rapi sesuai dengan ketentuan Universitas, sebagai berikut:
a. Tidak boleh memakai Kaos Oblong, termasuk bila ditutupi Jaket/Jas Almamater (Laki-laki /
Perempuan) dan Topi harus Dilepas.
b. Tidak Boleh memakai Baju ketat, Jilbab Minim dan rambut harus tertutup jilbab secara
sempurna, tidak boleh kelihatan di jidat maupun di punggung (khusus Perempuan).
c. Tidak boleh memakai baju minim, saat duduk pun pinggang harus tertutup rapat (Laki-laki /
Perempuan).
d. Laki-laki tidak boleh memakai gelang, anting-anting ataupun aksesoris Perempuan.
4. Asisten harus menjaga kebersihan, keamanan dan ketertiban selama mengikuti kegiatan
praktikum atau selama berada di laboratorium, menegur atau mengingatkan jika ada praktikan
yang tidak dapat menjaga kebersihan, ketertiban atau kesopanan.
5. Asisten harus dapat merapikan dan mengamankan presensi praktikum, Kartu Nilai serta tertib
dalam memasukan/Input nilai secara Online/Offline.
6. Asisten harus dapat bertindak secara profesional sebagai seorang asisten praktikum dan dapat
menjadi teladan bagi praktikan.
7. Asisten harus dapat memberikan penjelasan/pemahaman yang dibutuhkan oleh praktikan
berkenaan dengan materi praktikum yang diasisteni sehingga praktikan dapat melaksanakan dan
mengerjakan tugas praktikum dengan baik dan jelas.
8. Asisten tidak diperkenankan mengobrol sendiri apalagi sampai membuat gaduh.
9. Asisten dimohon mengkoordinasikan untuk meminta praktikan agar mematikan komputer untuk
jadwal terakhir dan sudah dilakukan penilaian terhadap hasil kerja praktikan.
10. Asisten wajib untuk mematikan LCD Projector dan komputer asisten/praktikan apabila tidak
digunakan.
11. Asisten tidak diperkenankan menggunakan akses internet selain untuk kegiatan praktikum, seperti
Youtube/Game/Medsos/Streaming Film di komputer praktikan.

LAIN-LAIN
1. Pada Saat Responsi Harus menggunakan Baju Kemeja untuk Laki-laki dan Perempuan untuk
Praktikan dan Asisten.
2. Ketidakhadiran praktikum dengan alasan apapun dianggap INHAL.
3. Izin praktikum mengikuti aturan izin SIMERU/KULIAH.
4. Yang tidak berkepentingan dengan praktikum dilarang mengganggu praktikan atau membuat
keributan/kegaduhan.
5. Penggunaan lab diluar jam praktikum maksimal sampai pukul 21.00 dengan menunjukkan surat
ijin dari Kepala Laboratorium Prodi Teknik Informatika.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


8

Yogyakarta, 23 Agustus 2019

Kepala Laboratorium Praktikum Teknik


Informatika

Lisna Zahrotun, S.T., M.Cs.


NIY. 60150773

Praktikum Data Mining - Teknik Informatika – UAD - 2019


9

DAFTAR ISI

KATA PENGANTAR ....................................................................................................................................1


DAFTAR PENYUSUN ..................................................................................................................................2
HALAMAN REVISI......................................................................................................................................3
HALAMAN PERNYATAAN..........................................................................................................................4
VISI DAN MISI PRODI TEKNIK INFORMATIKA ...........................................................................................5
TATA TERTIB LABORATORIUM TEKNIK INFORMATIKA.............................................................................6
DAFTAR ISI ................................................................................................................................................9
PRAKTIKUM 1: IMPORT DATA DAN PEMBERSIHAN DATA ................................................................. 10
PRAKTIKUM 2: SELEKSI DATA............................................................................................................. 14
PRAKTIKUM 3: TRANSFORMASI DATA ............................................................................................... 17
PRAKTIKUM 4: ASSOCIATION RULE ................................................................................................... 23
PRAKTIKUM 5: CLUSTERING .............................................................................................................. 32
PRAKTIKUM 6: KLASIFIKASI ................................................................................................................ 38
PRAKTIKUM 7: FORECASTING ............................................................................................................ 46
PRAKTIKUM 8: PENGUJIAN METODE ................................................................................................. 55
PRAKTIKUM 9: PREPROCESSING ........................................................................................................ 63
PRAKTIKUM 10: INTERFACE ............................................................................................................. 69
PRAKTIKUM 11: INTERFACE ............................................................................................................. 74
DAFTAR PUSTAKA .................................................................................................................................. 84

Praktikum Data Mining - Teknik Informatika – UAD - 2019


10

PRAKTIKUM 1: IMPORT DATA DAN PEMBERSIHAN DATA

Pertemuan ke :1

Total Alokasi Waktu : 90 menit


• Pre-Test : 15 menit
• Praktikum : 60 menit
• Post-Test : 15 menit

Total Skor Penilaian : 100%


• Pre-Test : 20 %
• Praktikum : 50 %
• Post-Test : 30 %

1.1. TUJUAN DAN INDIKATOR CAPAIAN


Setelah mengikuti praktikum ini mahasiswa diharapkan:
1. Mahasiswa mampu menjelaskan pengertian data mining.
2. Mahasiswa mampu melakukan proses import data dan pembersihan data.

Indikator ketercapaian diukur dengan:


1. Import data untuk data mining dapat dilakukan dengan baik.
2. Dapat melakukan pembersihan data pada dataset yang diperoleh sebelumnya.

1.2. TEORI PENDUKUNG


Saat memulai suatu proyek tentang data science, kemungkinan besar kita akan sering
mengambil data melalui web scrapping, dan tidak menutup kemungkinan juga mengambil data dari
kumpulan data yang di unduh dari tempat lain, seperti Kaggle, Quandl, dll. Data tersebut mungkin
dalam format file Excel atau disimpan dalam ekstensi .csv.

Pembersihan Data
Menurut Han dan Kamber (2006) Proses Cleaning dan pembersihan data adalah sebagai berikut:
Pembersihan data dan (cleaning) merupakan Proses ini digunakan untuk membuang data yang tidak
konsisten dan bersifat noise dari data yang terdapat di berbagai basis data yang mungkin berbeda
format maupun platform yang kemudian diintegrasikan dalam satu database datawarehouse. Garbage
in garbage out (hanya sampah yang akan dihasilkan bila yang dimasukkan juga sampah) merupakan
istilah yang sering dipakai untuk menggambarkan tahap ini. Pembersihan data juga akan
mempengaruhi formasi dari sistem data mining karena data yang ditangani akan berkurang jumlah dan
kompleksitasnya.

1.3. ALAT DAN BAHAN


Alat dan bahan yang digunakan dalam praktikum ini yaitu:
1. Komputer.
Praktikum Data Mining - Teknik Informatika – UAD - 2019
11

2. Anaconda app
3. Dataset

1.4. LANGKAH PRAKTIKUM


Ikuti langkah praktikum berikut ini:

1. Lakukan analisis data mining menggunakan Data Alumni untuk dilakukan proses import data.
2. Buka data set alumni dengan nama Data Alumni.xlxs
3. Perhatikan record-record pada tabel tersebut
4. Lakukan langkah berikut :
1) Membuka Anaconda Jupyter Notebook.
2) Import library yang akan digunakan.

a. openpyxl : library yang digunakan untuk read dan write file Excel
b. pandas : library data analysis, untuk mengolah data secara terstruktur
3) Inisialisasi file excel yang akan di import

a. load_workbook : nama function dari library openpyxl yang digunakan melakukan


import data dari excel (kemudian disimpan dalam variabel wb).
b. sheet_ranges : variable yang menampung data dari sheet mana yang akan diambil
dalam file excel (pada contoh ini adalah Sheet5).
c. DataFrame : adalah function dari library pandas yang digunakan untuk melakukan
parsing data terstruktur kedalam bentuk kolom dan baris, dengan demikian data yang
telah diparsing akan menjadi sebuah table yang nampak seperti susunan pada
relational database, dimana sebuah baris tunggal mewakili sebuah contoh tunggal
dan kolom mewakili atribut tertentu. (Kemudian dimasukkan ke dalam variabel
df ).
4) Setting data ke dalam template

a. d = df[1:12][[1,3,12,9,6,7,10,11]] : digunakan untuk memasukkan dataframe df ke


dalam variable d
b. columns : function dari library pandas
5) Menampilkan data pada kolom TTL

6) Menampilkan data pada kolom TTL dengan bentuk tabel

7) Menampilkan data dengan jumlah tertentu

Praktikum Data Mining - Teknik Informatika – UAD - 2019


12

8) Menampilkan data secara ascending atau descending berdasarkan kolom TTL

PEMBERSIHAN DATA
Ikuti langkah praktikum berikut ini:

1. Jika akan dilakukan analisis data mining dengan menghapus data yang kosong pada atribut Umur,
IPK, Toefl, lama studi, gaji pertama bekerja dan lama masa tunggu mencari kerja. Maka lakukanlah
analisis data siswa untuk kemudian dilakukan proses pembersihan data. Data kosong pada
dataframe biasanya ditampilkan dengan None. None adalah objek tunggal Python yang sering
digunakan untuk mewakili data yang hilang pada Python. NA adalah istilah yang digunakan untuk
data hilang.
2. Buka data set siswa dengan nama Data Alumni.xlxs
3. Perhatikan record-record pada tabel tersebut
4. Lakukan pembersihan data menggunakan

a. dropna() : akan menghapus semua baris di mana ada (any) nilai null. sebagai alternatif, kita dapat
menurunkan nilai NA sepanjang sumbu yang berbeda,
b. axis = 0 : digunakan untuk menghapus semua baris yang mengandung nilai null.
Hasil :

1.5. TUGAS
1. Carilah data set minimal 30 data dengan minimal 5 atribut lakukanlah import data dari data
set tersebut.
2. Tampilkan data secara ascending dan descending salah satu kolom.
3. Tampilkan salah satu data kolom dalam bentuk tabel.
4. Dari data set tersebut lakukanlah pembersihan data dan analisis hasilnya.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


13

LEMBAR JAWABAN PRE-TEST / POST-TEST / EVALUASI PRAKTIKUM 1

Nama : Asisten: Tanggal:


NIM : Paraf Asisten: Nilai:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


14

PRAKTIKUM 2: SELEKSI DATA

Pertemuan ke :2
Total Alokasi Waktu : 90 menit
• Pre-Test : 15 menit
• Praktikum : 60 menit
• Post-Test : 15 menit

Total Skor Penilaian : 100%


• Pre-Test : 20 %
• Praktikum : 50 %
• Post-Test : 30 %

2.1. TUJUAN DAN INDIKATOR CAPAIAN


Setelah mengikuti praktikum ini mahasiswa diharapkan:
1. Mampu memahami konsep data selection (seleksi data).
2. Mampu memahami proses dalam seleksi data.
3. Mampu melakukan proses data selection pada studi kasus menggunakan python.

Indikator ketercapaian diukur dengan:


1. Mahasiswa memahami dan menerapkan data selection pada studi kasus.
2. Mahasiswa mampu menghasilkan data selection pada studi kasus menggunakan python.

2.2. TEORI PENDUKUNG


Seleksi data menurut Han dan Kamber (2006) Data yang terdapat dalam database
datawarehouse kemudian direduksi dengan berbagai teknik. Proses reduksi diperlukan untuk
mendapatkan hasil yang lebih akurat dan mengurangi waktu komputasi terutama untuk masalah
dengan skala besar (large scale problem).

Beberapa cara seleksi, antara lain :

1. Sampling, adalah seleksi subset representative dari populasi data yang besar.
2. Denoising, adalah proses menghilangkan noise dari data yang akan ditransformasikan.
3. Feature extraction, adalah proses membuka spesifikasi data yang signifikan dalam konteks
tertentu.

2.3. ALAT DAN BAHAN


Alat dan bahan yang digunakan dalam praktikum ini yaitu:
1. Komputer.
2. Anaconda app
3. dataset

2.4. LANGKAH PRAKTIKUM


Ikuti langkah praktikum berikut ini:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


15

1. Jika akan dilakukan analisis data mining menggunakan Data Alumni untuk mengetahui hubungan
antara Tempat & tanggal lahir, Tahun masuk, Tahun lulus, Status pekerjaan, Lama masa tunggu,
Nilai TOEFL dan IPK. Maka lakukanlah analisis Data Alumni untuk kemudian dilakukan proses
seleksi data.
2. Buka data set alumni dengan nama Data Alumni.xlxs
3. Perhatikan record-record pada tabel tersebut.
4. Lakukan proses seleksi data menggunakan Anaconda Jupyter Notebook.
a. Mencari umur
Untuk mencari umur, kita bisa menggunakan kolom TTL/Tempat dan tanggal Lahir. Dari
kolom TTL, kita akan mengambil nilai tahun atau 4 karakter dari belakang. Kemudian kita
akan hitung dengan menggunkan rumus, Tahun sekrag dikurangi dengan tahun lahir.
- Mengambil 4 karakter terakhir dari kolom TTL, dan memasukkan ke dalam kolom Tahun
Lahir.

- Setelah tahun lahir didapatkan, langkah berikutnya adalah mencari tahun sekarang,
kemudian mengurangi tahun sekarang dengan tahun lahir untuk mendapatkan umur.

b. Mencari Masa Studi


Untuk mencari masa studi yaitu didapatkan dari tahun lulus dikurangi dengan tahun masuk.

5. Sebutkan data-data yang diseleksi, mengapa dan berikan penjelasannya!


6. Analisi dan berikan penjelasan hasil dari seleksi data!

2.5. TUGAS
Jika diketahui akan dilakukan analisis data mining pada dataset sebelumnya, dengan langkah seperti
pada saat praktikum, lakukanlah seleksi data pada setiap atribut

Praktikum Data Mining - Teknik Informatika – UAD - 2019


16

LEMBAR JAWABAN PRE-TEST / POST-TEST / EVALUASI PRAKTIKUM 2

Nama : Asisten: Tanggal:


NIM : Paraf Asisten: Nilai:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


17

PRAKTIKUM 3: TRANSFORMASI DATA

Pertemuan ke :3

Total Alokasi Waktu : 90 menit


• Pre-Test : 15 menit
• Praktikum : 60 menit
• Post-Test : 15 menit

Total Skor Penilaian : 100%


• Pre-Test : 20 %
• Praktikum : 50 %
• Post-Test : 30 %

3.1. TUJUAN DAN INDIKATOR CAPAIAN


Setelah mengikuti praktikum ini mahasiswa diharapkan:
1. Mampu memahami konsep data transformation (transformasi data).
2. Mampu memahami jenis-jenis data transformation.
3. Mampu memahami dan menerapkan beberapa proses pada data transformation seperti:
centering, normalisasi, dan scaling.

Indikator ketercapaian diukur dengan:


1. Mahasiswa dapat menghasilkan Transformasi data pada studi kasus dapat dilakukan dengan baik.

3.2. TEORI PENDUKUNG

Transformasi merupakan proses transformasi data yaitu proses pengkategorian atau


perubahan data ke format yang sesuai untuk proses dalam data mining sehingga lebih mudah untuk
diolah. Adapaun proses transformasi dapat dilakukan dengan cara :

1. smoothing (binning, clustering dan regresi)


2. agregasi (summarize, menggunakaan dimensi yang lebih general (cube construction ))
3. generalisasi, misal menggunakan dimensi propinsi daripada kabupaten atau grouping (hirarki
konsep)
4. Normalisasi, mengelompokkan data sesuai skala tertentu, misal IPK.
5. Normalisasi min-max, standarisasi data dengan menempatkan data dalam range 0 sampai 1, nilai
terkecil sebagai 0, dan nilai terbesar sebagai 1. nilai baru = ((nilai lama – nilai minimal) / (nilai
maksimal – nilai minimal)) (range maksimal – range minimal) + range minimal. range minimal = 0,
range maksimal = 1.
6. normalisasi z-index, nilai baru = (nilai lama – rata-rata)/standar deviasi
7. normalisasi skala desimal, nilai baru = nilai lama / 10 ^ x,
8. Centering, mengurangi setiap data dengan rata-rata dari setiap atribut yang ada.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


18

9. Normalization, membagi setiap data yang di centering denga standar deviasi dari atribut
bersangkutan.
10. Scalling, mengubah data sehingga berada dalam skala tertentu.

3.3. ALAT DAN BAHAN


Alat dan bahan yang digunakan dalam praktikum ini yaitu:
1. Komputer.
2. Anaconda app
3. dataset

3.4. LANGKAH PRAKTIKUM


Ikuti langkah praktikum berikut ini:

1. Jika akan dilakukan analisi data mining menggunakan Data Alumni untuk mengetahi hubungan
antara IPK, TOEFL, Waktu mendapatkan pekerjaan, Lama studi, Umur, Gaji. Maka lakukanlah
analisis Data Alumni untuk kemudian dilakukan proses transformasi data.
2. Buka data set alumni dengan nama Data Alumni.xlxs
3. Perhatikan record-record pada tabel tersebut
4. Lakukan proses transformasi data menggunakan Anaconda Jupyter Notebook.
a. IPK
Nilai IPK dikategorikan menjadi 3, seperti yang terlihat pada tabel dibawah ini:

- Merubah format data pada kolom IPK.

- Mengkategorikan IPK menjadi 3, seperti pada tabel

b. TOEFL
Nilai Toefl dikategorikan menajdi 3, seperti yang terlihat pada tabel dibawah ini:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


19

maka dapat di terapkan pada syntax seperti berikut ni :

c. Waktu mendapatkan pekerjaan


Nilai waktu tunggu mendapatkan pekerjaan dikategorikan menjadi 4, seperti yang terlihat pada
tabel dibawah ini :

Maka dapat diterapkan seperti ini pada syntax :

d. Lama studi
Nilai lama studi dikategorikan menajdi 2, seperti yang terlihat pada tabel dibawah ini:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


20

Maka dapat diterapkan seperti ini pada syntax :

e. Umur
Nilai umur dikategorikan menjadi 2, seperti yang terlihat pada tabel dibawah ini:

Maka dapat diterapkan pada syntax seperti berikut ini :

f. Gaji

Nilai gaji dikategorikan menjadi 2, seperti yang terlihat pada tabel dibawah ini :

Maka dapat diterpakan di dalam syntax seperti berikut :

Praktikum Data Mining - Teknik Informatika – UAD - 2019


21

3.5. TUGAS
Jika diketahui akan dilakukan analisis data mining pada dataset sebelumnya, dengan langkah seperti
pada saat praktikum, lakukanlah transformasi data.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


22

LEMBAR JAWABAN PRE-TEST / POST-TEST / EVALUASI PRAKTIKUM 3

Nama : Asisten: Tanggal:


NIM : Paraf Asisten: Nilai:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


23

PRAKTIKUM 4: ASSOCIATION RULE

Pertemuan ke :4

Total Alokasi Waktu : 90 menit


• Pre-Test : 15 menit
• Praktikum : 60 menit
• Post-Test : 15 menit

Total Skor Penilaian : 100%


• Pre-Test : 20 %
• Praktikum : 50 %
• Post-Test : 30 %

4.1. TUJUAN DAN INDIKATOR CAPAIAN


Setelah mengikuti praktikum ini mahasiswa diharapkan:
1. Mampu memahami pengertian association rule mining.
2. Mampu memahami metode-metode pada association rule.

Indikator ketercapaian diukur dengan:


1. Mahasiswa dapat menerapkan Associative and sequential patterns, Market Based Analisys
2. Mahasiswa dapat membuat data mining dengan teknik Association Rule dan menganalisa hasil
data mining dengan teknik Association Rule.

4.2. TEORI PENDUKUNG


Association Rule adalah teknik data mining yang berguna untuk menemukan suatu korelasi
atau pola yang terpenting/menarik dari sekumpulan data besar (Margaret, 2003). Motivasi awal
Association Rule berasal dari keinginan untuk menganalisa data transaksi supermarket ditinjau dari
perilaku pelanggan dalam membeli produk. Association Rule menjelaskan seberapa sering suatu
produk dibeli secara bersamaan. Sebagai contoh: seorang pelanggan membeli sabun maka seberapa
mungkin juga ia membeli pasta gigi (Kuswardani dkk, 2011)
Dengan pengetahuan tersebut, pemilik pasar swalayan orang dapat mengatur penempatan
barangnya atau merancang kampanye pemasaran memakai kupon diskon untuk kombinasi barang
tertentu. Penting tidaknya suatu aturan asosiatis dapat diketahui dengan dua parameter, support yaitu
persentase kombinasi item tersebut. Dan confidence yaitu kuatnya hubungan antar item dalam aturan
asosiatif. Penting tidaknya suatu aturan assosiatif dapat diketahui dengan dua parameter, support
yaitu persentase kombinasi item tsb. dalam database dan confidence yaitu kuatnya hubungan antar
item dalam aturan assosiatif (Ernawati,2007).

4.3. ALAT DAN BAHAN


Alat dan bahan yang digunakan dalam praktikum ini yaitu:
1. Komputer.
2. Anaconda app
Praktikum Data Mining - Teknik Informatika – UAD - 2019
24

3. dataset

4.4. LANGKAH PRAKTIKUM


Ikuti langkah praktikum berikut ini:

1. Jika akan dilakukan analisis data mining menggunakan data alumni untuk mengetahui hubungan
antara fasilitas memadai, sdm berpengaruh, kerja sesuai jurusan dan kurikulum sesuai dengan
dunia kerja. Maka lakukanlah analisis data alumni untuk kemudian dilakukan proses
Asosiasi/Apriori data.
2. Buka data set siswa dengan nama Data Alumni.xlxs
3. Lakukan proses clustering data menggunakan python.
4. Melakukan Import Library yang akan digunakan untuk clustering:

5. Kemudian import library untuk menyelesaikan algoritma apriori


def subsets(arr):

""" Returns non empty subsets of arr"""

return chain(*[combinations(arr, i + 1) for i, a in enumerate(arr)])

def returnItemsWithMinSupport(itemSet, transactionList, minSupport, freqSet):

"""calculates the support for items in the itemSet and returns a subset

of the itemSet each of whose elements satisfies the minimum support"""

_itemSet = set()

localSet = defaultdict(int)

for item in itemSet:

for transaction in transactionList:

if item.issubset(transaction):

freqSet[item] += 1

localSet[item] += 1

for item, count in localSet.items():

support = float(count)/len(transactionList)

Praktikum Data Mining - Teknik Informatika – UAD - 2019


25

if support >= minSupport:

_itemSet.add(item)

return _itemSet

def joinSet(itemSet, length):

"""Join a set with itself and returns the n-element itemsets"""

return set([i.union(j) for i in itemSet for j in itemSet if len(i.union(j)) == length])

def getItemSetTransactionList(data_iterator):

transactionList = list()

itemSet = set()

for record in data_iterator:

transaction = frozenset(record)

transactionList.append(transaction)

for item in transaction:

itemSet.add(frozenset([item])) # Generate 1-itemSets

return itemSet, transactionList

def runApriori(data_iter, minSupport, minConfidence):

"""

run the apriori algorithm. data_iter is a record iterator

Return both:

- items (tuple, support)

- rules ((pretuple, posttuple), confidence)

"""

itemSet, transactionList = getItemSetTransactionList(data_iter)

freqSet = defaultdict(int)

largeSet = dict()

Praktikum Data Mining - Teknik Informatika – UAD - 2019


26

# Global dictionary which stores (key=n-itemSets,value=support)

# which satisfy minSupport

assocRules = dict()

# Dictionary which stores Association Rules

oneCSet = returnItemsWithMinSupport(itemSet,

transactionList,

minSupport,

freqSet)

currentLSet = oneCSet

k=2

while(currentLSet != set([])):

largeSet[k-1] = currentLSet

currentLSet = joinSet(currentLSet, k)

currentCSet = returnItemsWithMinSupport(currentLSet,

transactionList,

minSupport,

freqSet)

currentLSet = currentCSet

k=k+1

def getSupport(item):

"""local function which Returns the support of an item"""

return float(freqSet[item])/len(transactionList)

toRetItems = []

for key, value in largeSet.items():

toRetItems.extend([(tuple(item), getSupport(item))

Praktikum Data Mining - Teknik Informatika – UAD - 2019


27

for item in value])

toRetRules = []

for key, value in largeSet.items()[1:]:

for item in value:

_subsets = map(frozenset, [x for x in subsets(item)])

for element in _subsets:

remain = item.difference(element)

if len(remain) > 0:

confidence = getSupport(item)/getSupport(element)

if confidence >= minConfidence:

toRetRules.append(((tuple(element), tuple(remain)),

confidence))

return toRetItems, toRetRules

def printResults(items, rules):

"""prints the generated itemsets sorted by support and the confidence rules sorted
by confidence"""

dSupport = {}

for item, support in sorted(items, key=lambda (item, support): support):

dSupport[item] = support

print("item: %s , %.3f" % (str(item), support))

for rule, confidence in sorted(rules, key=lambda (rule, confidence): confidence):

pre, post = rule

tempRule=()

tempRule+=pre

tempRule+=post

supportAimplikasiB = getSupportAimplikasiB(tempRule, dSupport)

lift = supportAimplikasiB/(dSupport[pre]*dSupport[post])

Praktikum Data Mining - Teknik Informatika – UAD - 2019


28

print("Rule: %s ==> %s : [confidence is %.3f, lift is %.3f]" % (str(pre), str(post),


confidence, lift))

def getSupportAimplikasiB(A, B):

rule = list(A)

dict_support = B

result = 0

for index_dict_support in dict_support:

list_index_dict_support = list(index_dict_support)

check = []

for data_index in list_index_dict_support:

if data_index in rule and len(list_index_dict_support) >= len(rule):

check.append(True)

else:

check.append(False)

if(reduce(mul, check, 1)==True):

# print(list_index_dict_support)

# print(dict_support[index_dict_support])

result = dict_support[index_dict_support]

return result

def dataFromFile(fname):

"""Function which reads from the file and yields a generator"""

file_iter = open(fname, 'rU')

for line in file_iter:

line = line.strip().rstrip(',') # Remove trailing comma

record = frozenset(line.split(','))

yield record

6. Load data excel yang akan dilakukan proses asosiasi:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


29

Output:

7. Templating data yang dibutuhkan kedalam format tabel.

8. Lakukan konversi data kedalam format yang siap untuk dilakukan asosiasi:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


30

9. Panggil fungsi runApriori dengan parameter masukan variable list_data hasil dari konversi
sebelumnya, minSupport = 0.1, minConfidence = 0.2. dapat dilihat sebagai berikut.

4.5. TUGAS
Jika diketahui akan dilakukan analisis data mining pada dataset sebelumnya, dengan langkah seperti
pada saat praktikum, lakukanlah Asosiasi data dari dataset.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


31

LEMBAR JAWABAN PRE-TEST / POST-TEST / EVALUASI PRAKTIKUM 4

Nama : Asisten: Tanggal:


NIM : Paraf Asisten: Nilai:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


32

PRAKTIKUM 5: CLUSTERING

Pertemuan ke :5

Total Alokasi Waktu : 90 menit


• Pre-Test : 15 menit
• Praktikum : 60 menit
• Post-Test : 15 menit

Total Skor Penilaian : 100%


• Pre-Test : 20 %
• Praktikum : 50 %
• Post-Test : 30 %

5.1. TUJUAN DAN INDIKATOR CAPAIAN


Setelah mengikuti praktikum ini mahasiswa diharapkan:
1. Mampu memahami pengertian data clustering.
2. Mampu memahami metode-metode pada clustering.
3. Mampu memahami algoritma pada clustering.
4. Mampu memahami ukuran kemiripan dan ketidakmiripan data pada clustering.
5. Mampu memahami studi kasus dengan metode clustering.
6. Mampu melakukan uji akurasi clustering.

Indikator ketercapaian diukur dengan:


1. Mahasiswa memahami pengertian data clustering.
2. Mahasiswa menerapkan studi kasus dengan metode clustering.
3. Mahasisawa dapat membuat data mining dengan teknik Clustering dan menganalisa hasil data
mining dengan teknik clustering.

5.2. TEORI PENDUKUNG


Analisis keompok (cluster analisis) adalah pekerjaan mengelompokkan data (objek) yang
didasarkan hanya pada informasi yang ditemukan dalam data yang menggambarkan objek tersebut
dan hubungan diantaranya (Tan, 2006 dalam buku Prasetyo, 2012). Tujuannya adalah agar objek-objek
yang bergabung dalam sebuah kelompok merupakan objek-objek yang mirip (atau berhubungan) satu
sama lain dan berbeda (atau tidak berhubungan) dengan objek dalam kelompok dan lebih besar
perbedaannya diantara kelompok yang lain.
K-Means merupakan algoritma clustering yang berulang-ulang. Algoritma K-Means dimulai
dengan pemilihan secara acak K, K disini merupakan banyaknya cluster yang ingin dibentuk. Kemudian
tetapkan nilai-nilai K secara random, untuk sementara nilai tersebut menjadi pusat dari cluster atau
biasa disebut dengan centroid, mean atau “means”. Hitung jarak setiap data yang ada terhadap
masing-masing centroid menggunakan rumus Euclidian hingga ditemukan jarak yang paling dekat dari
setiap data dengan centroid. Klasifikasikan setiap data berdasarkan kedekatannya dengan centroid.
Lakukan langkah tersebut hingga nilai centroid tidak berubah (stabil) (Pralita, 2010).

Praktikum Data Mining - Teknik Informatika – UAD - 2019


33

5.3. ALAT DAN BAHAN


Alat dan bahan yang digunakan dalam praktikum ini yaitu:
1. Komputer.
2. Anaconda app
3. dataset

5.4. LANGKAH PRAKTIKUM


Ikuti langkah praktikum berikut ini:

1. Jika akan dilakukan analisis data mining menggunakan data alumni untuk mengetahui hubungan
antara 'Nim','Ipk','Umur','Masa Studi','Lama Tunggu','Gaji','Toefl'. Maka lakukanlah analisis data
alumni untuk kemudian dilakukan proses clustering data
2. Buka data set siswa dengan nama Data Alumni.xlxs
3. Lakukan proses clustering data menggunakan python.
a. Melakukan Import Library yang akan digunakan untuk clustering:

Keterangan:
• from sklearn.cluster import KMeans merupakan import class library KMeans
• from openpyxl import load_workbook merupakan class library untuk
membuka file excel kedalam python
• import pandas as pd merupakan data structure yang sering digunakan
untuk data analysis pada bahasa pemrograman python
• import matplotlib.pyplot as plt merupakan class library untuk
ploting data kedalam graph
b. Melakukan Import data excel alumni kedalam python

Keterangan:
• wb adalah variable data alumni
• sheet_ranges adalah variable data alumni excel pdaa sheet 1
• df adalah dataframe pandas yang digunakan untuk menampung data alumni pada
sheet 1
c. Seleksi kolom dari data frame yang akan dilakukan clustering

Keterangan :

Praktikum Data Mining - Teknik Informatika – UAD - 2019


34

• d = df[4:20][[1,3,12,9,6,7,10,11]] merupakan seleksi baris dan kolom pada file ms


excel, penjelasan sebagai berikut:
▪ df[4:20] merupakan baris ke-4 sampai 20
▪ [[1,3,12,9,6,7,10,11]] merupakan kolom ke 1,3,…,11
• d.columns merupakan penamaan header setiap kolom yang telah diseleksi
• d.dropna(axis=0, how='any') melakukan penghapusan baris pada data yang kosong
dari dataframe.
• d merupakan show table d
d. Formating data, formating data dilakukan untuk menyiapkan data pada kolom yang akan
dilakukan cluster sudah sesuai. Seperti contoh kolom IPK harus float tidak boleh
menggunakan string, maka harus dilakukan konversi kolom dari string ke float. Dapat dilihat
sesuai perintah berikut.
a) Checking datatipe yang ada pada kolom:

b) Formating data:

Keterangan:
• t adalah ambil penanggalan saat ini, t.to_datetime() adalah konversi penanggalan
saat ini ke dalam format datetime, t.year adalah pengambilan tahun pada tahun
ini (t).
• for index, row in d.iterrows(): merupakan looping sejumlah baris data yang ada
didalam table d.
• d.ix[index,'TAHUN LAHIR'] = row['TTL'][-4:] merupakan pengambilan tahun lahir
setiap data.
• d.ix[index,'UMUR'] = t.year - int(row['TAHUN LAHIR']) merupakan penghitungan
umur berdasarkan tahun sekarang – tahun lahir.
• d.ix[index,'MASA STUDI']=row['TAHUN LULUS']-row['TAHUN MASUK']
merupakan penghitungan masa studi
• d['IPK'] = d['IPK'].apply(str) merupakan konversi data IPK diubah menjadi string
secara keseluruhan
• d['IPK'] = d['IPK'].str.replace(',','.').apply(float) replace , dengan . kemudian
konversi data IPK menjadi float
• d['GAJI'] = d['GAJI'].apply(float) konversi data GAJI menjadi float.
c) Check kembali hasil formating data table apakah sudah sesuai.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


35

e. Ubah index dataframe agar lebih memudahkan dalam melakukan clustering.

Keterangan :
.reset_index(drop=True) merupakan reset index pada dataframe
f. Ambil data IPK dan MASA STUDI untuk dilakukan cluster.

Keterangan :
.as_matrix() merupakan konversi dataframe ke format matrix
g. Proses clustering, clustering akan dilakukan pada data alumni dengan 2 jumlah feature
diantaranya IPK dan MASA STUDI. Jumlah cluster yang ditentukan adalah 3. Dengan ploting
graph 2 dimensi, dikarenakan menggunakan 2 jumlah feature. Perintah dapat dilihat sebagai
berikut.

Keterangan :
• kmeans = KMeans(n_clusters=3) merupakan penentuan jumlah Cluster (3)
• kmeans.fit(X) adalah data X dipresisikan pada algoritma kmeans
• centroids = kmeans.cluster_centers_ merupakan hasil titik tengah
• labels = kmeans.labels_ merupakan hasil labels
• colors = ['g.','r.','b.'] warna berdasarkan jumlah 3 cluster
• plt.figure(figsize=(15,10)) merupakan ukuran graph
• for i in range(len(X)): looping jumlah data
• print('coordinate %s'%i, X[i], 'labels %s'%labels[i]) print data
• plt.plot(X[i][0], X[i][1], colors[labels[i]], markersize=10) ploting titik pada graph
• list_cluster = dTable[(dTable['IPK'] == X[i][0]) & (dTable['MASA STUDI'] ==
X[i][1])].index.tolist() ambil index sesuai IPK dan MASA STUDI, kemudian masukan
dalam list
• plt.text(X[i][0], X[i][1], '%s'%(list_cluster)) cetak list_cluster kedalam titik graph
• plt.scatter(centroids[:, 0], centroids[:, 1], marker = 'x', s=50, linewidths=5,
zorder=10) cetak titik tengan cluster pada graph

Praktikum Data Mining - Teknik Informatika – UAD - 2019


36

• plt.show() merupakan perintah show graph

5.5. TUGAS
Jika diketahui akan dilakukan analisis data mining pada dataset sebelumnya untuk mengetahui
clustering salah satu atribut dengan atribut lain maka gunakan langkah yang sama seperti pada saat
praktikum, lakukanlah pengelompokan data dari dataset.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


37

LEMBAR JAWABAN PRE-TEST / POST-TEST / EVALUASI PRAKTIKUM 5

Nama : Asisten: Tanggal:


NIM : Paraf Asisten: Nilai:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


38

PRAKTIKUM 6: KLASIFIKASI

Pertemuan ke :6

Total Alokasi Waktu : 90 menit


• Pre-Test : 15 menit
• Praktikum : 60 menit
• Post-Test : 15 menit

Total Skor Penilaian : 100%


• Pre-Test : 20 %
• Praktikum : 50 %
• Post-Test : 30 %

6.1. TUJUAN DAN INDIKATOR CAPAIAN


Setelah mengikuti praktikum ini mahasiswa diharapkan:
1. Mampu menjelaskan pengertian data klasifikasi.
2. Mampu memahami metode-metode pada klasifikasi.
3. Mampu memahami algoritma pada klasifikasi.
4. Mampu mengklasifikasi data pada data mining dengan teknik klasifikasi.

Indikator ketercapaian diukur dengan:


1. Mahasiswa memahami pengertian dari klasifikasi.
2. Mahasiswa menerapkan metode pada klasifikasi untuk data mining.
3. Mahasiswa membuat data mining dengan teknik klasifikasi dan menganalisa hasil data mining
dengan klasifikasi.

6.2. TEORI PENDUKUNG


1. Definisi Klasifikasi
Teknik klasifikasi merupakan suatu pendekatan sistematis untuk membangun model
klasifikasi dari suatu himpunan masukan data (Hermawati, 2013). Model dari klasifikasi ditampilkan
dalam Gambar 7.

Menurut Jianwei Han, 2001, klasifikasi merupakan proses menemukan kumpulan pola atau
fungsi -fungsi yang mendeskripsikan dan memisahkan kelas data satu dengan lainnya, untuk dapat
digunakan untuk memprediksi data yang belum memiliki kelas data tertentu. Jadi secara
singkatnya, klasifikasi adalah proses untuk membedakan / memisahkan kelas.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


39

Gambar 7. Model dari klasifikasi (Han & Kamber, 2001)

2. Pohon Keputusan (Decision Tree)


Salah satu teknik dalam klasifikasi adalah pohon keputusan. Beberapa teknik dalam
klasifikasi pohon keputusan adalah : Hunt’s Algorithm (one of the earliest), CART, ID3, C4.5 dan SLIQ,
SPRINT. Decision Tree (Pohon Keputusan) adalah pohon dimana setiap cabangnya menunjukkan
pilihan diantara sejumlah alternatif pilihan yang ada, dan setiap daunnya menunjukkan keputusan
yang dipilih. Decision tree biasa digunakan untuk mendapatkan informasi untuk tujuan pengambilan
sebuah keputusan.
Pohon atau tree adalah sebuah struktur data yng terdiri dari simpul (node) dan rusuk (edge).
Simpul pada sebuah pohon dibedakan menjadi tiga yaitu, simpul akar (root node) sebagai titik awal,
simpul percabangan/internal (branch/internal node) sebagai perantara berhubungan dengan suatu
pertanyaan atau pengujian dan simpul daun (leaf node) sebagai suatu akhir / kelas target. Contoh
Pohon keputusan ditampilkan dalam Gambar 8.

Gambar 8. Contoh pohon keputusan

Pemilihan atribut untuk menjadi rootnode atau internal node sebagai atribut test
berdasarkan atas ukuran impurity dari masing–masing atribut. Ukuran–ukuran impurity yang

Praktikum Data Mining - Teknik Informatika – UAD - 2019


40

umumnya digunakan adalah information gain, gain ratio dan gini index. Atribut yang memiliki nilai
impurity tertinggi akan dipilih sebagai atribut test.

6.3. ALAT DAN BAHAN


Alat dan bahan yang digunakan dalam praktikum ini yaitu:
4. Komputer.
5. Anaconda app
6. dataset

6.4. LANGKAH PRAKTIKUM


Ikuti langkah praktikum berikut ini:

1. Jika akan dilakukan analisis data mining menggunakan Data Alumni untuk mengetahui hubungan
antara NIM, UMUR, IPK, MASA STUDI, LAMA TUNGGU, GAJI, TOEFL, dan MASA TUNGGU. Maka
lakukanlah analisis Data Alumni untuk kemudian dilakukan proses klasifikasi data
2. Buka data set siswa dengan nama Data Alumni.xlxs
3. Perhatikan record-record pada table tersebut
4. Lakukan proses klasifikasi data dengan langkah-langkah berikut :
a. Load library yang akan digunakan

Keterangan:

- pandas merupakan data structure yang sering digunakan untuk data analysis pada bahasa
pemrograman python
- openpyxl merupakan class library untuk membuka file excel kedalam python
- IPython.display import Image merupakan class library untuk menampilkan image atau
gambar.
- sklearn.preprocessing import imputer merupakan class library untuk melengkapi nilai
yang hilang (NaN).
- sklearn import tree merupakan import class library untuk Decision Tree.
- sklearn.metrics import confusion_matrix, accuracy_score, recall_score, precision_score
merupakan class library untuk Confusion Matrix.
- subprocess import check_call dignakan untuk menjalankan perintah dengan argument.

b. Mengatur nama file excel dan sheet yang digunakan.

Keterangan:
- wb adalah variable data alumni pelatihan phiton
- sheet_ranges adalah variable data alumni excel pdaa sheet 1
Praktikum Data Mining - Teknik Informatika – UAD - 2019
41

- df adalah dataframe pandas yg digunakan untuk menampung data alumni pada sheet 1

c. Seleksi kolom dari dataframe yang akan dilakukan klasifikasi.

Keterangan :

- d = df[baris][[kolom]] merupakan seleksi baris dan kolom yang ingin ditampilkan


- d.columns merupakan penamaan header setiap kolom yang telah diseleksi
- d.dropna melakukan penghapusan baris pada data yang kosong dari dataframe.
- d merupakan show table d

d. Formating data
Formating data dilakukan untuk menyiapkan data pada kolom yang akan dilakukan
cluster sudah sesuai. Seperti contoh kolom IPK harus float tidak boleh menggunakan string,
maka harus dilakukan konversi kolom dari string ke float.

Keterangan :
- dtypes Checking datatipe yang ada pada kolom
- t adalah ambil penanggalan saat ini, t.to_datetime() adalah konversi penanggalan saat ini
ke dalam format datetime, t.year adalah pengambilan tahun pada tahun ini (t).
- for index, row in d.iterrows(): merupakan looping sejumlah baris data yang ada didalam
table d.
- row['TTL'][-4:] merupakan pengambilan tahun lahir setiap data.
- t.year - int(row['TAHUN LAHIR']) merupakan penghitungan umur berdasarkan tahun
sekarang – tahun lahir.
- row['TAHUN LULUS']-row['TAHUN MASUK'] penghitungan masa studi
- d['IPK'].apply(str) konversi data IPK diubah menjadi string secara keseluruhan

Praktikum Data Mining - Teknik Informatika – UAD - 2019


42

- d['IPK'].str.replace(',','.').apply(float) replace , dengan . kemudian konversi data IPK


menjadi float
- d['GAJI'].apply(float) konversi data GAJI menjadi float.

Check kembali hasil formating data table apakah sudah sesuai dengan,

Jika telah sesuai dengan gambar dibawah berarti data telah siap untuk di lakukan klasifikasi.

e. Ubah index dataframe agar lebih memudahkan dalam melakukan klasifikasi

Syntax diatas merupakan reset index pada dataframe. Kemudian akan muncul data dengan
index dimulai dari 0.

f. Membuat class label klasifikasi untuk lama masa tunggu kerja.


Dengan menggunakan kolom lama tunggu, disini akan dibuat 3 class yaitu:
- Cepat untuk masa tunggu kerja kurang dari 1 bulan.
- Sedang untuk masa tunggu kerja lebih dari atau sama dengan 1 bulan.
- Lama untuk masa tunggu kerja lebih dari atau sama dengan 2 bulan.
Dari rule diatas, akan dibuat kolom baru untuk class label klasifikasi, seperti berikut

g. Menentukan kolom yang digunakan sebagai class target atau label.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


43

Kolom MASA TUNGGU digunakan sebagai class label dan dimasukkan ke dalam variable y.
Values digunakan untuk mengambil nilai dari kolom.
h. Menentukan kolom apa saja yang digunakan sebagai fitur-fitur.

Kolom IPK, TOELF, MASA STUDI, UMUR digunakan sebagai fitur untuk klasifikasi. Fitur-fitur
tersebut dimasukkan ke dalam variable features.

i. Jika dalam fitur terdapat nilai yang hilang (NaN) dapat menggunakan fungsi imputer,
fungsi ini akan mengganti nilai NaN dengan nilai rata-rata kolom.

fit_transform digunakan untuk mempelajari kamus dan mengembalikan nilai ke dalam


matriks, kemudian fitur dimasukkan ke dalam variable X.

j. Melakukan pelatihan menggunakan Decision Tree Scikit Learn untuk membuat model
klasifikasi.

Keterangan:
- tree.DecisionTreeClassifier merupakan fungsi sklearn yang digunakan untuk memanggil
Decision Tree
- criterion fungsi untuk mengukur kualitas split. Kriteria yang didukung adalah "gain" dan
"entropy"
- fit digunakan untuk membuat model klasifikasi decision tree dari set pelatihan (X, y) atau
dari data fitur dan class label
- Clf merupakan variable yang digunakan untuk menyimpan model klasifikasi.
-
k. Memvisualisasikan decision tree ke dalam graph.

Keterangan:
- Clf merupakan variable yang menyimpan model atau classifier
- Out_file untuk mengatur nama file keluaran
- Features_names untuk menyimpan nama kolom yang dijadikan sebagai fitur
- Filled untuk memberikan warna pada node
- Rounded untuk membuat sudut node membulat
- Special_character untuk karakter khusus untuk kompatibilitas PostScript.

l. Convert file .dot ke file PNG.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


44

Melakukan konversi file dari .dot ke .png diperlukan suatu aplikasi yang bernama Graphviz,
yang berguna untuk memvisualisasikan graph. Kemudian install aplikasi Graphviz sampai
selesai. Setelah aplikasi Graphviz terinstall, langkah berikutnya adalah melakukan pengaturan
path pada system operasi kita.

m. Melakukan konversi file dari .dot ke .png.

n. Untuk Menampilkan graph tree yang sudah di convert ke dalam .png. Hasil:

6.5. TUGAS
Jika diketahui akan dilakukan analisis data mining pada dataset sebelumnya untuk mengetahui
klasifikasi, maka gunakan langkah yang sama seperti pada saat praktikum, lakukanlah pengklasifikasian
data dari dataset.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


45

LEMBAR JAWABAN PRE-TEST / POST-TEST / EVALUASI PRAKTIKUM 6

Nama : Asisten: Tanggal:


NIM : Paraf Asisten: Nilai:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


46

PRAKTIKUM 7: FORECASTING

Pertemuan ke :7

Total Alokasi Waktu : 90 menit


• Pre-Test : 15 menit
• Praktikum : 60 menit
• Post-Test : 15 menit

Total Skor Penilaian : 100%


• Pre-Test : 20 %
• Praktikum : 50 %
• Post-Test : 30 %

7.1. TUJUAN DAN INDIKATOR CAPAIAN


Setelah mengikuti praktikum ini mahasiswa diharapkan:
1. Mampu menjelaskan dan membuat proses data mining dengan teknik forecasting.

Indikator ketercapaian diukur dengan:


1. Pembuatan data mining dengan klasifikasi dan menganalisa hasil data mining dengan forecasting.

7.2. TEORI PENDUKUNG


1. Forecasting
Forecasting (peramalan) adalah kegiatan memperkirakan atau memprediksikan apa yang
akan terjadi pada masa yang akan datang dengan waktu yang relative lama. Sedangkan ramalan
adalah suatu situasi atau kondisi yang akan diperkirakan akan terjadi pada masa yang akan datang.
Untuk memprediksi hal tersebut diperlukan data yang akurat di masa lalu, sehingga dapat dilihat
prospek situasi dan kondisi di masa yang akan datang. Pada umumnya kegunaan peramalan
adalah sebagai berikut :
a. Sebagai alat bantu dalam perencanaan yang efektif dan efisien.
b. Untuk menentukan kebutuhan sumber daya di masa mendatang.
c. Untuk membuat keputusan yang tepat.
Kegunaan peramalan terlihat pada suatu pengambilan keputusan. Keputusan yang baik
adalah keputusan yang didasarkan atas pertimbangan apa yang akan terjadi pada waktu
keputusan dalam berbagai kegiatan perusahaan. Baik tidaknya hasil suatu penelitian sangat
ditentukan oleh ketetapan ramalan yang dibuat. Walaupun demikian perlu diketahui bahwa
ramalan selalu ada unsur kesalahannya, sehingga yang perlu diperhatikan adalah usaha untuk
memperkecil kesalahan dari ramalan tersebut.

2. Support Vector Regression


Support Vector Regression (SVR) merupakan bagian dari Support Vector Machine (SVM)
yang diperkenalkan oleh Vapink (1995). SVM adalah sistem pembelajaran yang menggunakan
ruang hipotesis berupa fungsi-fungsi linier dalam sebuah ruang fitur (feature space) berdimensi

Praktikum Data Mining - Teknik Informatika – UAD - 2019


47

tinggi, dilatih dengan algoritma pembelajaran yang didasarkan pada teori optimasi dengan
mengimplementasikan learning bias. SVR adalah penerapan SVM untuk masalah regresi. Dalam
kasus klasifikasi output data berupa bilangan bulat atau diskrit, sedangkan pada masalah regresi
output data berupa bilangan real atau kontinu.
Untuk menangani kasus regresi,Vijayakumar dan Wu (1999) mengenalkan algoritma
sekuensial untuk SVR sehingga dapat memberikan solusi yang optimal dan waktu komputasi yang
lebih cepat dibandingkan dengan SVR konvensional. Langkah-langkah tersebut adalah sebagai
berikut:
a. Langkah 1:
Inisialisasi parameter SVR yang akan digunakan diantaranya 𝑐𝐿𝑅, 𝐶, 𝜀, 𝜆 dan jumlah iterasi
maksimum. Selain itu, inisialisasi 𝛼i dan 𝛼i∗ (untuk inisialisasi awal, diberikan nilai 0).
b. Langkah 2:
Membentuk Matriks Hessian dengan menggunakan Persamaan 1.

c. Langkah 3:
Melakukan proses sequential learning yang terdiri dari:
(1) Menghitung nilai error (E) yang ditunjukkan pada persamaan 2.

(2) Menghitung 𝛿𝛼i dan 𝛿𝛼i∗ dengan menggunakan persamaan 3

Praktikum Data Mining - Teknik Informatika – UAD - 2019


48

(3) Menghitung nilai Lagrange Multipliers dengan menggunakan persamaan 4.

d. Langkah 4
Mengulang proses sequencial learning pada langkah ketiga hingga mencapai jumlah iterasi
max atau memiliki kondisi berhenti yaitu max (|𝛿𝛼i∗|) < 𝜀 dan (|𝛿𝛼i|) < .

e. Langkah 5
Jika data memenuhi persyaratan (𝛼i - 𝛼i∗) tidak sama dengan 0, maka dapat disebut
sebagai support vector.

f. Langkah 6
Melakukan pengujian dengan menggunakan persamaan 5.

7.3. ALAT DAN BAHAN


Alat dan bahan yang digunakan dalam praktikum ini yaitu:
1. Komputer.
2. Anaconda app
3. dataset

7.4. LANGKAH PRAKTIKUM


Ikuti langkah praktikum berikut ini:

1. Jika akan dilakukan analisis data mining menggunakan Data Alumni untuk mengetahui hubungan
antara NIM, UMUR, IPK, MASA STUDI, LAMA TUNGGU, GAJI, TOEFL, dan MASA TUNGGU. Maka
lakukanlah analisis Data Alumni untuk kemudian dilakukan proses forecasting
2. Buka data set siswa dengan nama Data Alumni.xlxs
3. Perhatikan record-record pada table tersebut
4. Lakukan proses klasifikasi data dengan langkah-langkah berikut :
a. Load library yang akan digunakan

Praktikum Data Mining - Teknik Informatika – UAD - 2019


49

Keterangan:

- pandas merupakan data structure yang sering digunakan untuk data analysis pada bahasa
pemrograman python
- openpyxl merupakan class library untuk membuka file excel kedalam python
- sklearn import preprocessing merupakan class library untuk melakukan preprocessing.
- sklearn.svm import SVR merupakan import class library untuk SVR.

b. Mengatur nama file excel dan sheet yang digunakan.

Keterangan:
- wb adalah variable data alumni pelatihan phiton
- sheet_ranges adalah variable data alumni excel pdaa sheet 1
- df adalah dataframe pandas yg digunakan untuk menampung data alumni pada sheet 1

c. Seleksi kolom dari dataframe yang akan dilakukan forecasting.

Keterangan :

- d = df[baris][[kolom]] merupakan seleksi baris dan kolom yang ingin ditampilkan


- d.columns merupakan penamaan header setiap kolom yang telah diseleksi
- d.dropna melakukan penghapusan baris pada data yang kosong dari dataframe.
- d merupakan show table d

d. Formating data
Formating data dilakukan untuk menyiapkan data pada kolom yang akan dilakukan
cluster sudah sesuai. Seperti contoh kolom IPK harus float tidak boleh menggunakan string,
maka harus dilakukan konversi kolom dari string ke float.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


50

Keterangan :
- dtypes Checking datatipe yang ada pada kolom
- t adalah ambil penanggalan saat ini, t.to_datetime() adalah konversi penanggalan saat ini
ke dalam format datetime, t.year adalah pengambilan tahun pada tahun ini (t).
- for index, row in d.iterrows(): merupakan looping sejumlah baris data yang ada didalam
table d.
- row['TTL'][-4:] merupakan pengambilan tahun lahir setiap data.
- t.year - int(row['TAHUN LAHIR']) merupakan penghitungan umur berdasarkan tahun
sekarang – tahun lahir.
- row['TAHUN LULUS']-row['TAHUN MASUK'] penghitungan masa studi
- d['IPK'].apply(str) konversi data IPK diubah menjadi string secara keseluruhan
- d['IPK'].str.replace(',','.').apply(float) replace , dengan . kemudian konversi data IPK
menjadi float
- d['GAJI'].apply(float) konversi data GAJI menjadi float.

Check kembali hasil formating data table apakah sudah sesuai dengan,

Jika telah sesuai dengan gambar dibawah berarti data telah siap untuk di lakukan klasifikasi.

e. Ubah index dataframe agar lebih memudahkan dalam melakukan forecasting

Praktikum Data Mining - Teknik Informatika – UAD - 2019


51

Syntax diatas merupakan reset index pada dataframe. Kemudian akan muncul data dengan
index dimulai dari 0.

f. Menentukan kolom yang digunakan sebagai class target forecasting

Keterangan:

- Kolom MASA STUDI digunakan sebagai class target forecasting dan dimasukkan ke
dalam variable y.
- Values digunakan untuk mengambil nilai dari kolom.

g. Menentukan kolom apa saja yang digunakan sebagai fitur-fitur.

Kolom IPK digunakan sebagai fitur untuk klasifikasi. Fitur-fitur tersebut dimasukkan ke
dalam variable features.
h. Menyiapkan data fitur untuk proses training

Keterangan :
- StandarScaler digunakan untuk melakukan standardisasi fitur dengan menghapus mean
dan scaling ke varians unit
- fit digunakan untuk menghitung mean dan std untuk digunakan untuk skala selanjutnya.
- transform digunakan untuk melakukan standardisasi dengan cara memusat dan
menskala

i. Melakukan pelatihan menggunakan SVR Scikit Learn untuk membuat model Forecasting.

Keterangan:
- SVR merupakan fungsi sklearn yang digunakan untuk memanggil SVR
- Kernel digunakan untuk menentukan jenis kernel yang akan digunakan dalam algoritma.
Dapat menggunakan 'linear', 'poly', 'rbf', 'sigmoid', 'precomputed'.
- C digunakan untuk penalty parameter C dari error term.
- Gamma digunakan untuk mengukur koefisien Kernel untuk 'rbf', 'poly' dan 'sigmoid'.
Jika gamma ‘auto’ maka 1 / n_features akan digunakan sebagai gantinya.
Praktikum Data Mining - Teknik Informatika – UAD - 2019
52

A. Testing
Pada proses testing, performa dari algoritma atau classifier akan diuji menggunakan testing set
(data uji). Langkah-langkah dalam testing adalah sebagai berikut.
1. Buat data uji dengan menggunakan dataframe yang sudah digunakan sebelumnya, ambil 3
data secara acak untuk data uji.

Data uji, diambil secara acak dari data training kemudian disimpan dalam variable d_test.

2. Menentukan kolom yang digunakan sebagai class target atau label pada data uji.

3. Menentukan kolom yang digunakan untuk fitur pada data uji.

4. Menyiapkan data fitur untuk proses testing

Fitur data uji disimpan dalam variable dengan nama features_test

5. Melakukan prediksi menggunkan model klasifikasi atau classifier.

Pada proses prediksi, model yang disimpan dalam variable SVR_model digunakan untuk
mengetahui hasil forecasting dengan memasukkan fitur data uji (testdata)

6. Man Absolute Deviation (MAD)

- Mean_absolute_error digunakan untuk menghitung nilai mean absolute error, dengan


menginputkan nilai actual (y_true) dan nilai forecasting (predict)

Praktikum Data Mining - Teknik Informatika – UAD - 2019


53

7.5. TUGAS
Jika diketahui akan dilakukan analisis data mining pada dataset sebelumnya untuk mengetahui
forecasting data, maka gunakan langkah yang sama seperti pada saat praktikum, lakukanlah
forecasting atau peramalan data dari dataset.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


54

LEMBAR JAWABAN PRE-TEST / POST-TEST / EVALUASI PRAKTIKUM 7

Nama : Asisten: Tanggal:


NIM : Paraf Asisten: Nilai:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


55

PRAKTIKUM 8: PENGUJIAN METODE

Pertemuan ke :8

Total Alokasi Waktu : 90 menit


• Pre-Test : 15 menit
• Praktikum : 60 menit
• Post-Test : 15 menit

Total Skor Penilaian : 100%


• Pre-Test : 20 %
• Praktikum : 50 %
• Post-Test : 30 %

8.1. TUJUAN DAN INDIKATOR CAPAIAN


Setelah mengikuti praktikum ini mahasiswa diharapkan:
1. Mampu menjelaskan beberapa pengujjian menggunakan metode pada data mining.

Indikator ketercapaian diukur dengan: (sesuaikan dengan RPS)


1. Mahasiswa mampu menganalisa hasil pengujian data menggunakan metode-metode pada data
mining.

8.2. TEORI PENDUKUNG

Terdapat beberapa pengujian yang di gunakan dalam pengolahan data untuk memastikan hasil
dari pengolahan data tersebut, yaitu:

1. Silhouette
Silhouette berfungsi untuk menguji kualitas dari cluster yang dihasilkan. Metode ini merupakan
metode validasi cluster yang menggabungkan metode cohesion dan Separation. Untuk
menghitung nilai silhoutte coefisient diperlukan jarak antar dokumen dengan menggunakan
rumus EuclideanDistance. Setelah itu tahapan untuk menghitung nilai silhoutte coeffisien adalah
sebagai berikut :

a. Untuk setiap objek i, hitung rata-rata jarak dari objek i dengan seluruh objek yang berada
dalam satu cluster. Akan didapatkan nilai rata-rata yang disebut ai.
b. Untuk setiap objek i, hitung rata-rata jarak dari objek i dengan objek yang berada di cluster
lainnya. Dari semua jarak rata-rata tersebut ambil nilai yang paling kecil. Nilai ini disebut bi.
c. Setelah itu maka untuk objek i memiliki nilai silhoutte coefisien :
Si= (bi – ai) / max(ai, bi)

Hasil perhitungan nilai silhoutte coeffisien dapat bervariasi antara -1 hingga 1. Hasil clustering
dikatakan baik jikai nilai silhoutte coeffisien bernilai positif (ai< bi) dan ai mendekati 0, sehingga
akan menghasilkan nilai silhoutte coeffisien yang maksimum yaitu 1 saat ai = 0. Maka dapat

Praktikum Data Mining - Teknik Informatika – UAD - 2019


56

dikatakan, jika si = 1 berarti objek i sudah berada dalam cluster yang tepat. Jika nilai si = 0 maka
objek i berada di antara dua cluster sehingga objek tersebut tidak jelas harus dimasukan ke dalam
cluster A atau cluster B. Akan tetapi, jika si = -1 artinya struktur cluster yang dihasilkan
overlapping, sehingga objek i lebih tepat dimasukan ke dalam cluster yang lain.

2. Confusion Matrix
Confusion matrix adalah suatu metode yang biasanya digunakan untuk melakukan perhitungan
akurasi pada konsep data mining. Rumus ini melakukan perhitungan dengan 4 keluaran, yaitu:
recall, precision, acuraccy dan error rate.

• Recall adalah proporsi kasus positif yang diidentifikasi dengan benar.


Rumus dari recall = d/(c+d)
• Precision adalah proporsi kasus dengan hasil positif yang benar.
Rumus dari Precision = d/(b+d)
• Accuracy adalah perbandingan kasus yang diidentifikasi benar dengan jumlah semua
kasus Rumus dari accuracy= (a+c)/(a+b+c+d)
• - Error Rate adalah kasus yang diidentifikasi salah dengan sejumlah semua kasus
Rumus dari Error Rate = (b+c)/(a+b+c+d)

Keterangan:

a. Jika hasil prediksi negatif dan data sebenarnya negatif.


b. Jika hasil prediksi positif sedangkan nilai sebenarnya negatif.
c. Jika hasil prediksi negatif sedangkan nilai sebenarnya positif.
d. Jika hasil prediksi positif dan nilai sebenarnya positif.

3. Purity
Purity adalah sebagai evaluasi kinerja algoritma clustering. Purity akan menghasilkan persentase
akurasi kinerja clustering. Berikut ini merupakan rumus dari

𝑚𝑎𝑥
1
𝑝𝑢𝑟𝑖𝑡𝑦 = ∑ 𝑗 |𝑤𝑘 ∩ 𝑐𝑗 |
𝑁
𝑘

Dimana cara kerja purity ini adalah mengambil nilai maksimal dari elemen cluster yang terbentuk
dan kemudian nilai perwakilan cluster tersebut akan dijumlahkan dengan elemen cluster yang
terbentuk dari cluster yang lain sebagai perwakilan setiap cluster, Setelah itu dibagi dengan
jumlah seluruh elemen data

4. Lift Rasio
Lift Ratio adalah parameter penting selain support dan confidence dalam association rule. Lift
Ratio mengukur seberapa penting rule yang telah terbentuk berdasarkan nilai support dan
confidence. Lift Ratio merupakan nilai yang menunjukkan kevalidan proses transaksi dan
memberikan informasi apakah benar produk A dibeli bersamaan dengan produk B. Lift
/Improvement Ratio dapat dihitung dengan rumus:

𝐴 ∩𝐵
𝑠𝑢𝑝𝑝𝑜𝑟𝑡 = 𝑥𝐵
𝐴
Praktikum Data Mining - Teknik Informatika – UAD - 2019
57

5. MAD, MAPE, MSE


a. Mean_absolute_error digunakan untuk menghitung nilai mean absolute error, dengan
menginputkan nilai actual (y_true) dan nilai forecasting (predict).

b. Mean Absolute Precentage Error(MAPE) dihitung dengan menggunakan kesalahan absolut


pada tiap periode dibag dengan nilai observasi yang nyata untuk periode itu.
c. Mean Squared Error(MSE) adalah metode lain untuk mengevaluasi metode peralaman.

8.3. ALAT DAN BAHAN


Alat dan bahan yang digunakan dalam praktikum ini yaitu:
1. Komputer.
2. Anaconda app
3. dataset

8.4. LANGKAH PRAKTIKUM


Ikuti langkah praktikum berikut ini:

Langkah 1

1. Membuka file python clustering.py pada praktikum sebelumnya


2. Tambah cell baru paling bawah dan tambahkan syntax di bawah ini.

Fungsi untuk menjalankan pengujian silhouette dan purity

from __future__ import print_function

from sklearn.metrics import silhouette_samples, silhouette_score


import matplotlib.cm as cm
import numpy as np

print(__doc__)

def silhoutte_test(X, range_n_clusters):


for n_clusters in range_n_clusters:
# Create a subplot with 1 row and 2 columns
fig, (ax1, ax2) = plt.subplots(1, 2)
fig.set_size_inches(18, 7)

# The 1st subplot is the silhouette plot


# The silhouette coefficient can range from -1, 1 but in this example all
# lie within [-0.1, 1]
ax1.set_xlim([-0.1, 1])
# The (n_clusters+1)*10 is for inserting blank space between silhouette
# plots of individual clusters, to demarcate them clearly.
ax1.set_ylim([0, len(X) + (n_clusters + 1) * 10])

Praktikum Data Mining - Teknik Informatika – UAD - 2019


58

# Initialize the clusterer with n_clusters value and a random generator


# seed of 10 for reproducibility.
clusterer = KMeans(n_clusters=n_clusters, random_state=10)
cluster_labels = clusterer.fit_predict(X)

# The silhouette_score gives the average value for all the samples.
# This gives a perspective into the density and separation of the formed
# clusters
silhouette_avg = silhouette_score(X, cluster_labels)
print("For n_clusters =", n_clusters,
"The average silhouette_score is :", silhouette_avg)

# Compute the silhouette scores for each sample


sample_silhouette_values = silhouette_samples(X, cluster_labels)

y_lower = 10
for i in range(n_clusters):
# Aggregate the silhouette scores for samples belonging to
# cluster i, and sort them
ith_cluster_silhouette_values = \
sample_silhouette_values[cluster_labels == i]

ith_cluster_silhouette_values.sort()

size_cluster_i = ith_cluster_silhouette_values.shape[0]
y_upper = y_lower + size_cluster_i

color = cm.spectral(float(i) / n_clusters)


ax1.fill_betweenx(np.arange(y_lower, y_upper),
0, ith_cluster_silhouette_values,
facecolor=color, edgecolor=color, alpha=0.7)

# Label the silhouette plots with their cluster numbers at the middle
ax1.text(-0.05, y_lower + 0.5 * size_cluster_i, str(i))

# Compute the new y_lower for next plot


y_lower = y_upper + 10 # 10 for the 0 samples

ax1.set_title("The silhouette plot for the various clusters.")


ax1.set_xlabel("The silhouette coefficient values")
ax1.set_ylabel("Cluster label")

# The vertical line for average silhouette score of all the values
ax1.axvline(x=silhouette_avg, color="red", linestyle="--")

ax1.set_yticks([]) # Clear the yaxis labels / ticks

Praktikum Data Mining - Teknik Informatika – UAD - 2019


59

ax1.set_xticks([-0.1, 0, 0.2, 0.4, 0.6, 0.8, 1])

# 2nd Plot showing the actual clusters formed


colors = cm.spectral(cluster_labels.astype(float) / n_clusters)
ax2.scatter(X[:, 0], X[:, 1], marker='.', s=30, lw=0, alpha=0.7,
c=colors)

# Labeling the clusters


centers = clusterer.cluster_centers_
# Draw white circles at cluster centers
ax2.scatter(centers[:, 0], centers[:, 1],
marker='o', c="white", alpha=1, s=200)

for i, c in enumerate(centers):
ax2.scatter(c[0], c[1], marker='$%d$' % i, alpha=1, s=50)

ax2.set_title("The visualization of the clustered data.")


ax2.set_xlabel("Feature space for the 1st feature")
ax2.set_ylabel("Feature space for the 2nd feature")

plt.suptitle(("Silhouette analysis for KMeans clustering on sample data "


"with n_clusters = %d" % n_clusters),
fontsize=14, fontweight='bold')

plt.show()

Rumus Silhouette

Range_n_cluster = [2,3,4,5,6,7,8] – adalah jumlah clusternya.


Akan dilakukan test terhadap data alumni.xlsx dan percobaan menggunakan jumlah cluster =
2,3,4,5,6,7. Dari jumlah cluster tersebut akan dilihat nilai rule terbaik dan yang akan dijadikan
cluster sebenarnya.

Langkah 2:

Selanjutnya buka file python clasification untuk menerapkan rumus purity.

1. Lakukan langkah yang sama diatas, tambahkan fungsinya.


2. Tambahkan rumus purity dibawah ini

Rumus Purity

Praktikum Data Mining - Teknik Informatika – UAD - 2019


60

Def purity_score (cluster, classes): - yaitu fuction untuk menghitung nilai purity pada data
test. Dan untuk menghitung nilai purity yang dipengaruhi oleh jumlah cluster dan class

Classes - adalah nilai data training. kemudian data ini akan di bandingkan dengan data test
yang di dapatkan menggunakan function diatas. hasil dari perbandingan ini yaitu jarak antara
data training dan data test semakin kecil nilai accuratenya maka pengujian kemurniannya
semakin bagus antara nilai training dan test sama.

Langkah 3
Buka file python Forecasting untuk menjalankan pengujian pada forecasting selain MAD
Mean_Absolute_Precentage_Error

- Tambahkan library diatas untuk menalankan rumus MAPE, Mean_absolute_precentage_error


digunakan untuk menghitung nilai rata-rata presentase absolute error, dengan menginputkan nilai
actual (y_true) dan nilai forecasting (predict)

Mean_Squared_Error

- Tambahkan library ini untuk menalankan rumus MSE, Mean_squared_error digunakan untuk
menghitung nilai kuadrat error, dengan menginputkan nilai actual (y_true) dan nilai forecasting
(predict)

Praktikum Data Mining - Teknik Informatika – UAD - 2019


61

8.5. TUGAS
Jika diketahui akan dilakukan analisis data mining pada dataset sebelumnya untuk mengetahui hasil
uji data, maka gunakan langkah yang sama seperti pada saat praktikum, lakukanlah pengujian data
dari dataset menggunakan metode yang sudah dipelajari..

Praktikum Data Mining - Teknik Informatika – UAD - 2019


62

LEMBAR JAWABAN PRE-TEST / POST-TEST / EVALUASI PRAKTIKUM 8

Nama : Asisten: Tanggal:


NIM : Paraf Asisten: Nilai:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


63

PRAKTIKUM 9: PREPROCESSING

Pertemuan ke :9

Total Alokasi Waktu : 90 menit


• Pre-Test : 15 menit
• Praktikum : 60 menit
• Post-Test : 15 menit

Total Skor Penilaian : 100%


• Pre-Test : 20 %
• Praktikum : 50 %
• Post-Test : 30 %

9.1. TUJUAN DAN INDIKATOR CAPAIAN


Setelah mengikuti praktikum ini mahasiswa diharapkan:
1. Mampu memahami proses preprocessing dalam tahapan text mining.

Indikator ketercapaian diukur dengan:


1. Mrngolah data text dengan tahapan preprocessing.

9.2. TEORI PENDUKUNG


1. Preprocessing
Preprocessing merupakan tahapan awal dalam mengolah data input sebelum memasuki proses
tahapan utama dari metode lantent semantic analysis(LSA)
Tahapan ini dilalukan agar data menjadi terstruktur. Menyeragamkan dan memudahkan dalam
pembacaan serta proses LSA.
Adapun tahapan preprocessing pada umumnya adalah sebagai berikut:
a. Tokenizing
Tahap tokenizing / parsing adalah tahap pemotongan string input berdasarkan tiap kata yang
menyusunnya(Triawati, 2009). Selain itu, spasi digunakan untuk memisahkan antar kata
tersebut. Contoh:

b. Filtering
Tahap filtering adalah tahap mengambil kata - kata penting dari hasiltokenizing. Proses
filtering dapat menggunakan algoritma stoplist(membuang kata yang kurang penting)
atau wordlist (menyimpan kata penting). Stoplist / stopword adalah kata-kata yang tidak
deskriptif yang dapat dibuang dalam pendekatan bag-of-words. Contoh stopword adalah
“yang”, “dan”, “di”, “dari” dan lain – lain.(Triawati, 2009). Contoh :

Praktikum Data Mining - Teknik Informatika – UAD - 2019


64

c. Stemming
Stemming adalah proses mengubah kata berimbuhan menjadi kata dasar. Aturan-aturan
bahasa diterapkan untuk menanggalkan imbuhan-imbuhan pada kata. Contoh:

2. Tf-Idf
Tf menyatakan jumlah berapa banyak keberadaan suatu term dalam satu dokumen dan kemudian
dilogaritmikan agar mengurangi besarnya bilangan, dimana logaritmik suatu bilangan akan
mengurangi digit jumlah, misalnya 1000 dengan log (1000) hanya menghasilkan angka tiga. Rumus
Tf adalah sebagai berikut:

Jadi jika suatu term terdapat dalam suatu dokumen sebanyak 5 kali maka diperoleh bobot = 1 +
log (5) =1.699. Tetapi jika term tidak terdapat dalam dokumen tersebut, bobotnya adalah nol.

Inverse Document Frequency (Idf)

Terkadang suatu term muncul di hampir sebagian besar dokumen mengakibatkan proses
pencarian term unik terganggu. Idf berfungsi mengurangi bobot suatu term jika kemunculannya
banyak tersebar di seluruh koleksi dokumen kita. Rumusnya adalah dengan inverse document
frequency. Document frequency adalah seberapa banyak suatu term muncul di seluruh document
yang diselidiki.

Sehingga bobot akhir suatu term adalah dengan mengalikan keduanya yaitu tf x idf.

9.3. ALAT DAN BAHAN


Alat dan bahan yang digunakan dalam praktikum ini yaitu:
1. Komputer.
2. Anaconda app
3. dataset

Praktikum Data Mining - Teknik Informatika – UAD - 2019


65

9.4. LANGKAH PRAKTIKUM


Ikuti langkah praktikum berikut ini:

1. Buka file baru pada python, praktikum kali ini berbeda dengan sebelumnya. Jika sebelumnya kita
inputkan file maka praktikum kali ini akan kita coba untuk menginpukan data secara manual.
Pertama kita buat kalimat terlebih dahulu yang akan di proses menggunakan preprocessing.
Contoh
kalimat =[ 'belajar preprocessing yang lebih sederhana ,'
'preprocessing data pada text mining ']

2. Tokenisasi
-lakukan tokenisasi pada kalimat di atas dengan cara sebagai berikut :
from nltk.tokenize import word_tokenize

- From nltk.tokenize import word_tokenize yaitu library yang di gunakan untuk melakukan token
atau memecah kalimat menjadi kata.
list_token = []

for reviews in kalimat:

word_token = word_tokenize(reviews)

list_token.append(word_token)

print (word_token)

- List_token = [] :untuk menampung setiap dokumen yang akan diolah


- Kemudian memecah kalimat menjadi kata dengan acuan spasi sebagai pemisahnya.
3. Filtersasi
data_stopword = ["yg", "yang", "lah", "juga","adalah","pada",",",'.']

list_sentence = []

for reviews in list_token:

data_clean = []

for review in reviews:

if review not in data_stopword:

data_clean.append(review)

print (data_clean)

list_sentence.append(data_clean)

- Filter yaitu menghilangkan kata hubung yang terdapat pada kalimat.


- Data_stopword[] : yaitu database untuk kata hubung yang akan di hilangkan.
- List_sentence[] :untuk menampung array filter/stopword
Praktikum Data Mining - Teknik Informatika – UAD - 2019
66

4. Stemming
Library yang digunakan untuk stemming yaitu Sastrawi, sebelum menggunakan sastrawi pada
jupyter sastrawi tharus di install terlebih dahulu, cara:
- Buka jendela anaconda prompt baru.

- Ketik (dengan syarat koputer harus terhubung dengan jaringan)


- Setelah berhasil lalu ketiklah library stemmer sibawah ini:
from Sastrawi.Stemmer.StemmerFactory import StemmerFactory

factory = StemmerFactory()

stemmer = factory.create_stemmer()

list_stem = []
for reviews in list_token:
data_clean = []
for review in reviews:
if review not in data_stopword:
data_clean.append(stemmer.stem(review))
print (data_clean)
list_stem.append(data_clean)

- List_stem [] : untuk menampung array stemming


- Kemudian dilakukan pengecekan pada setiap kata, jika terdapat kata berimbuhan maka akan
diproses untuk menghilangkan kata berimbuhan tersebut.
- Maka kata dalalm kalimat tersebut sudah menjadi kata dasar
5. Tf-Idf
- Tf-idf dilakukan untuk menghitung nilai bobot setiap kata dalam kalimat.
from sklearn.feature_extraction.text import CountVectorizer, TfidfTransformer

- from sklearn.feature_extraction.text import CountVectorizer, TfidfTransformer : adalah library


yang digunkan untuk menghitung bobot kata.
CV = CountVectorizer()

term_fit=CV.fit(data_clean)

print (len(term_fit.vocabulary_))

- untuk menghitung kata yang sudah di preprocessing, dan jika terdapat kata yang sama makan
akan di hitung menjadi 1.
print (term_fit.vocabulary_)

- term_fit.vocabulary_ : yaitu untuk memunculkan kata dasar hasil dari pengolahan


preprocessing.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


67

term_frekuency = term_fit.transform(kalimat)

print (term_frekuency)

term = term_fit.transform(data_clean)

tfidf_transformer = TfidfTransformer().fit(term) #untuk menampung sumua kata

tfidf = tfidf_transformer.transform(term_frekuency) #menampung semua tapi


hanya ingiin menampilkan term frekuensi

print (tfidf)

- term_frwkuency : untuk menghitung kata yang sering muncul


- tfidf_transformer : untuk merubah kata menjadi angka berdasarkan bobot kata dalam kalimat
- tfidf : menghitung bobot kata berdasarkan kemunculan kata tersebut dalam kalimat.

9.5. TUGAS
Jika diketahui akan dilakukan analisis data mining pada dataset sebelumnya, maka gunakan langkah
yang sama seperti pada saat praktikum, lakukanlah preprocessing data dari dataset.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


68

LEMBAR JAWABAN PRE-TEST / POST-TEST / EVALUASI PRAKTIKUM 9

Nama : Asisten: Tanggal:


NIM : Paraf Asisten: Nilai:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


69

PRAKTIKUM 10: INTERFACE

Pertemuan ke : 10

Total Alokasi Waktu : 90 menit


• Pre-Test : 15 menit
• Praktikum : 60 menit
• Post-Test : 15 menit

Total Skor Penilaian : 100%


• Pre-Test : 20 %
• Praktikum : 50 %
• Post-Test : 30 %

10.1. TUJUAN DAN INDIKATOR CAPAIAN


Setelah mengikuti praktikum ini mahasiswa diharapkan:
1. Mampu menjelaskan dan membuat data mining dengan interface.

Indikator ketercapaian diukur dengan:


1. Pembuatan data mining dengan interface dan menganalisa hasil interface.

10.2. TEORI PENDUKUNG


1. Interface
Interface (antarmuka) adalah bentuk tampilan grafis yang berhubungan langsung dengan
pengguna (user). Antarmuka pengguna berfungsi untuk menghubungkan antara pengguna dengan
sistem. Lebih menekankan pada tampilan visual yang langsung bisa dilihat / dirasakan oleh pengguna.
Menghasilkan antarmuka yang mudah, efisien dan enak dinikmati sehingga penggunaan sistem bia
memenuhi tujuan pengguna.

2. Flask
Flask adalah micro web framework yang ditulis dalam bahasa pemrograman Python dan
berdasarkan Werkzeug toolkit dan template engine Jinja2 berlisensi BSD. Flask disebut micro
framework karena tidak membutuhkan alat-alat tertentu atau pustaka. Micro framework Flask
bertujuan menjaga core agar tetap simple akan tetapi dapat dikembangkan dalam skala besar. Flask
tidak memiliki database abstraction layer, validasi form, atau komponen lain di mana sudah ada
pustaka pihak ketiga yang menyediakan fungsi umum. Namun, Flask mendukung ekstensi yang dapat
menambahkan fitur aplikasi seolah-olah mereka diimplementasikan dalam Flask itu sendiri. Ekstensi
yang ada untuk object-relational mapper, validasi form, penanganan unggahan, berbagai teknologi
otentikasi terbuka, dan beberapa alat-lata yang terkait kerangka umum. Ekstensi diperbarui jauh
lebih teratur daripada inti program Flask.

Pada dasarnya ada paradigm umum yang digunakan pada hampir setiap Framework, yaitu
MVC (Model – View – Controller). Pada Flask ataupun Django juga dikenal konsep demikian, yaitu
MTV ( Model – Template – View). MVC maupun MTV adalah sebuah metode dalam membuat aplikasi
Praktikum Data Mining - Teknik Informatika – UAD - 2019
70

dengan memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun


sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol
utama aplikasi.

3. Jinja2
Jinja2 adalah template engine berfitur lengkap untuk Python yang berlisensi BSD (Barkeley
Software Distribution). Jinja2 memiliki Unicode support penuh dan memiliki opsi untuk terintegrasi
dengan lingkungan eksekusi sandbox.

{{ … }} untuk ekspresi yang akan di print di template output


{% … %} untuk statement (percabangan, perulangan)
{# … #} untuk komentar yang tidak diperlukan di template output

10.3. ALAT DAN BAHAN


Alat dan bahan yang digunakan dalam praktikum ini yaitu:
1. Komputer.
2. Anaconda app
3. dataset

10.4. LANGKAH PRAKTIKUM


Ikuti langkah praktikum berikut ini:

A. Installasi dependencies
Praktikum Data Mining - Teknik Informatika – UAD - 2019
71

1. Installing Flask
Buka anaconda promt lalu ketikkan perintah berikut : pip install Flask
2. Installing pymongo
Buka anaconda promt lalu ketikkan perintah berikut :
pip install pymongo

B. Dasar Flask
Mari kita mulai dengan membuat Hello World dengan Flask.
1. Buat satu folder untuk mengerjakan project kita, misalnya kita sebut DataMining
2. Buat folder app
a. Buat file __init__.py
Sehingga app akan menjadi sebuah package python. File init ini diisi dengan:

Keterangan:
Membuat sebuah objek Flask di sebuah variabel app, kemudian mengimport modul
views. Views ini adalah program yang menangani request dari web browser. Setiap
fungsi view bisa jadi satu atau lebih URL.

b. Buat file views.py

Pada kode di atas, ada dua URL yang dipetakan dengan decorator route, yaitu / dan
/index.

3. Isi folder app dengan folder static dan templates


0. static : berisi file static, yang berhubungan dengan support template diantaranya file css
dan javascript
1. templates : berisikan file-file html yang digunakan untuk view kedalam web pages.

4. Run Flask
Buat sebuah script run.py pada folder root (DataMining) untuk menjalankan web server kita.
Kita isi run.py dengan kode berikut ini:

Buka terminal sistem operasi/terminal conda:


Praktikum Data Mining - Teknik Informatika – UAD - 2019
72

Kemudian masuk kedalam folder aplikasi flask yang telah dibuat melewati terminal Jalankan
file run.py dengan perintah sebagai berikut: python run.py

5. Web Access
Maka port 5000 akan membuka dan menyediakan web server untuk aplikasi tadi. Kemudian
kita buka saja http://localhost:5000/ atau http://localhost:5000/index di browser maka
akan ditampilkan sebuah halaman dengan tulisan Hello, World!
Saat command prompt menjalankan web server.

10.5. TUGAS
Seperti pada langkah saat praktikum, buatlah biodata diri minimal (Nama, Nim, Prodi).

Praktikum Data Mining - Teknik Informatika – UAD - 2019


73

LEMBAR JAWABAN PRE-TEST / POST-TEST / EVALUASI PRAKTIKUM 10

Nama : Asisten: Tanggal:


NIM : Paraf Asisten: Nilai:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


74

PRAKTIKUM 11: INTERFACE

Pertemuan ke : 11

Total Alokasi Waktu : 90 menit


• Pre-Test : 15 menit
• Praktikum : 60 menit
• Post-Test : 15 menit

Total Skor Penilaian : 100%


• Pre-Test : 20 %
• Praktikum : 50 %
• Post-Test : 30 %

11.1. TUJUAN DAN INDIKATOR CAPAIAN


Setelah mengikuti praktikum ini mahasiswa diharapkan mampu menjelaskan dan membuat data
mining dengan interface.

Indikator ketercapaian diukur dengan pembuatan data mining dengan interface dan menganalisa hasil
interface.

11.2. TEORI PENDUKUNG

1. Interface
Interface (antarmuka) adalah bentuk tampilan grafis yang berhubungan langsung dengan
pengguna (user). Antarmuka pengguna berfungsi untuk menghubungkan antara pengguna
dengan sistem. Lebih menekankan pada tampilan visual yang langsung bisa dilihat / dirasakan
oleh pengguna. Menghasilkan antarmuka yang mudah, efisien dan enak dinikmati sehingga
penggunaan sistem bia memenuhi tujuan pengguna.

2. Pengertian Microframework

Micro tidak berarti semua aplikasi web dapat dijadikan kedalam satu file Python, seperti itu
bukan berarti kekurangan dalam fungsionalitas. Micro framework (Flask) bertujuan menjaga
core agar tetap simple akan tetapi dapat dikembangkan dalam skala yang besar. Flask tidak ingin
membuat banyak aturan untuk seorang developer, seperti contoh database apa yang akan
digunakan, aturan template engine apa yang harus digunakan. Sehingga developer bebas
memilih apapun segalanya yang dibutuhkan dan apa yang tidak dibutuhkan.
Secara default, didalam Flask tidak tersedia database abstraction layer, validation form
atau sesuatu yang lain dimana macam – macam library sudah tersedia dan dapat segera dipakai.
Flask mendukung pengembangan untuk penambahan fungsionalitas kebutuhan. Meskipun flask
adalah “micro”, akan tetapi siap digunakan untuk berbagai macam kebutuhan.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


75

3. Blueprint

Blueprint adalah salah satu Flask extensions yang dimana mendukung pengaturan
modular aplikasi dalam sekala yang besar. Dengan menggunakan blueprint maka beberapa
fungsionalitas yang kompleks dapat dipecah kedalam beberapa modul yang saling terkait.
Konsep blueprint itu sendiri adalah dengan mendaftarkan setiap alamat url dari modular yang
telah dibentuk, sehingga setiap modular dapat diakses secara terpisah meskipun berada dalam
file routing yang berbeda.

4. Jinja2
Jinja2 adalah template engine berfitur lengkap untuk Python yang berlisensi BSD (Barkeley
Software Distribution). Jinja2 memiliki Unicode support penuh dan memiliki opsi untuk
terintegrasi dengan lingkungan eksekusi sandbox.

{{ … }} untuk ekspresi yang akan di print di template output

{% … %} untuk statement (percabangan, perulangan)

{# … #} untuk komentar yang tidak diperlukan di template output

11.3. ALAT DAN BAHAN

Alat dan bahan yang digunakan dalam praktikum ini yaitu:


1. Komputer.
2. Anaconda app
3. dataset

Praktikum Data Mining - Teknik Informatika – UAD - 2019


76

11.4. LANGKAH PRAKTIKUM TUGAS

Ikuti langkah berikut ini:

1. Buatlah satu folder untuk mengerjakan project, missal kita sebut Flask
2. Buat Folder ‘app’ di dalam Folder ‘Flask’ yang telah kita buat sebelumnya dan buat File ‘run.py’
dan File ‘config.py’

Keterangan :

- config.py merupakan file untuk menyimpan konfigurasi didalam Flask


(DEBUG, Secret Key, Database Connection).
- run.py merupakan file dimana untuk menjalankan aplikasi Flask
3. Isi file config.py

Keterangan :
- DEBUG merupakan konfigurasi debuging (aplikasi dalam proses pengembangan)
- SECRET_KEY merupakan enkripsi prosesing flask

4. Isi file run.py

Keterangan :
app.run merupakan konfigurasi untuk setting microserver dengan host ‘0.0.0.0’ dan port yang
digunakan adalah 8080, sehingga nantinya apabila dilakukan akses didalam browser menjadi
http://0.0.0.0:8080

5. Isi folder ‘app’:


File modul, static, template, upload_data serta file ‘ init .py’berada ada didalam folder app,
apabila masuk kedalam folder app maka akan ada folder dan file sebagai berikut:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


77

Keterangan:
- modul : berisikan beberapa modul yang diterapkan kedalam sistem, beberapa contoh modul
dalam sistem yang diterapkan:
• cleaning (modul cleaning data mentah)
• cluster (modul proses clustering)
• purity (modul validity test purity)
• upload (modul untuk upload file)
- static : berisi file static, yang berhubungan dengan support template diantaranya file css dan
javascript
- templates : berisikan file-file html yang digunakan untuk view kedalam web pages.
- upload_data : berisikan untuk menampung file upload, (data Excel (Mentah))
6. Penerapan modul
Setiap modul akan berisi controller dengan opsional dbmodel ataupun file-file pendukung lainnya.
(mengambil contoh module upload). Di dalam folder modul terdapat folder foder baru dengan
nama upload dan file ‘ init .py’. Buat file ‘ init .py’ dan buat file ‘controllers.py’ didalam folder
upload

didalam folder upload berisikan controllers.py digunakan untuk routing pages


upload dalam proses upload file.

a. Isi dependencies yang dipakai


#Import flask dependencies

from flask import Blueprint, request, render_template

from openpypxl import load_workbook from werkzeug import secure_filename

import pandas as pd

import os

b. Create Blueprint router

Keterangan :
- mod_upload adalah nama modul index upload
- mod_uploader adalah nama modul prosesing upload
- url_prefix merupakan alias untuk address page di browser

c. Create Method dari setiap modul


Untuk method mod_upload:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


78

Keterangan :
- MainTitle adalah variable
- methods = [‘GET’,’POST’] (methods tersebut merupakan jenis request access yang
dilayani oleh routers mod_upload)
- def upload_file adalah method yang dimiliki mod_upload
- render_template adalah render seluruh prosesing dalam router untuk ditampilkan
kedalam file template dengan nama ‘upload/upload.html’
d. Create method dari setiap modul yang telah dibuat. Untuk method mod_uploader

@mod_uploader.route('', methods = ['GET', 'POST'])


def upload_file():

if request.method ==
'POST': subTitle =
("Data Excel") f =
request.files['file'
]

f.save(os.path.join('app/upload_data', 'DATA EXCEL.xlsx'))

wb = load_workbook(filename = 'app/upload_data/DATA EXCEL.xlsx')


sheet_ranges = wb['Sheet5']

data =
pd.DataFrame(sheet_ranges.values)
button = [(str(request.url_root))]

return render_template('upload/tables.html', tables=[data.to_html


(classes='Alumni')], text = [mainTitle, subTitle], button=button,
data=data)
7. Penerapan Folder Static
Pada folder static berisi template atau boostrap (berisi bootstrap & jquery) untuk memperindah
tampilan.
contoh potongan source code dapat dilihat sebagai berikut
Keterangan :

- url_for digunakan untuk accessing path file (dengan contoh access static path file)
8. Penerapan Folder Templates
Pada folder templates digunakan untuk membuat tampilan dari proses yang ada di dalam folder
modul. Buat Folder ‘upload’ dan file ‘404.html’. Pada Folder ‘upload’ isikan file ‘upload.html’ dan
‘tables.html’.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


79

➢ Isi dari File “upload.html”


<!doctype html>
<link rel="stylesheet" type="text/css" href="{{url_for('static',
filename='bootstrap/css/bootstrap.min.css')}}">
<link rel=stylesheet type=text/css href="{{ url_for('static',
filename='style.css') }}">

<html>
<body>
<div class="container">

<div class="row">
<h1>Clustering [KMeans]</h1>
</div>
<div class="row">
<form action="http://localhost:8080/mod_uploader"
method="POST" enctype="multipart/form-data">

<div class="form-group row">


<h4>Silahkan Upload Data</h4>

</div>
<div class="form-group row">
<div class="col-
sm-2">

<input type = "file" name = "file" />


</div>
<div class="col-sm-5">
<button type="submit" class="btn btn-
primary">Upload Data</button>

</div>
</div>
</form>

</div>

</div>
</body>

Praktikum Data Mining - Teknik Informatika – UAD - 2019


80

<!doctype html>
<link rel="stylesheet" type="text/css" href="{{url_for('static',
filename='bootstrap/css/

bootstrap.min.css')}}">
<link rel=stylesheet type=text/css href="{{ url_for('static',
filename='style.css') }}">

<html>
<body>
<div class="container">
<div class="row">
<h1>{{text[0]}}</h1>
</div>
<div class="row">
<div class="col-sm-12">
{% endif %}
</div>
</div>
</form>
</div>
</div>
<div class="row">
<center>
<h3>{{text[1]}}</h3>
{{ plot_url }}

➢ </center>
Isi file “tables.html”
</div>
<div class="row">
<center>
{% for table in tables %}
{{ table|safe }}
{% endfor %}
</center>
</div>
</div>
</body>
</html>
Praktikum Data Mining - Teknik Informatika – UAD - 2019
81

9. Register blueprint kedalam init.py yang ada didalam folser app:

# Import flask and template


operators from flask import
Flask, render_template

# Define the WSGI


application object app =
Flask( name )

# Configurations
app.config.from_object('config')

# Sample HTTP error


handling
@app.errorhandler(40
4)

def not_found(error):
return render_template('404.html'), 404

# Import a module / component using its blueprint


handler variable from app.modul.upload.controllers
import mod_upload as upload_module

# Register blueprint(s)
app.register_blueprint(upload_module)

10. Run Flask


Buka terminal sistem operasi/terminal conda:
Kemudian masuk kedalam folder aplikasi flask yang telah dibuat melewati terminal Jalankan file
run.py dengan perintah sebagai berikut:

python run.py
11. Web Pages Access
Buka browser kemudian akses alamat url : http://0.0.0.0:8080/mod_upload maka akan muncul
halaman website sebagai berikut.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


82

11.5. TUGAS
Buatlah web sederhana menggunakan python dan tampilkan data studi kasus kalian seperti pada
contoh praktikum serta tampilkan biodata kalian seperti pada posttest interface sebelumnya

Praktikum Data Mining - Teknik Informatika – UAD - 2019


83

LEMBAR JAWABAN PRE-TEST / POST-TEST / EVALUASI PRAKTIKUM 11

Nama : Asisten: Tanggal:


NIM : Paraf Asisten: Nilai:

Praktikum Data Mining - Teknik Informatika – UAD - 2019


84

DAFTAR PUSTAKA

1. Han, Jiawei and Kamber, Micheline, 2006, Data Mining Concept and Techniques, Morgan
Kaufmann Publishers
2. Hermawati, F., 2013, Data Mining, Penerbit Andi dan Universitas 17 Agustus 1945 Surabaya.

Praktikum Data Mining - Teknik Informatika – UAD - 2019


85

Praktikum Data Mining - Teknik Informatika – UAD - 2019

Anda mungkin juga menyukai