Anda di halaman 1dari 75

Modul Praktikum Data Mining

MODUL PRAKTIKUM
DATA MINING

STANDAR KOMPETENSI
Mahasiswa diharapkan dapat menguasai konsep dan prinsip data akuisisi,
pengolahan data, pengelolaan data dan visualisasi data pada ranah data
mining.

No Pokok Bahasan Unit Kompetensi

1 TIK.RPL03.001.001.01 Data Pre-processing.

2 TIK.RPL03.001.002.01 Data Pre-processing with Python.

3 TIK.RPL03.001.003.01 Decision tree.

4 TIK.RPL03.001.004.01 K-Nearest Neighbor (KNN).

5 TIK.RPL03.001.005.01 Naïve Bayes.

6 TIK.RPL03.001.006.01 Titanic Dataset.

7 TIK.RPL03.001.007.01 Neural Network.

8 TIK.RPL03.001.008.01 Integrasi CodeIgniter dan Database.

9 TIK.RPL03.001.009.01 Support Vector Regression.

10 TIK.RPL03.001.010.01 Association Rule.

11 TIK.RPL03.001.011.01 Analisis Cluster

Pokok Bahasan I

Jurusan Teknik Informati ka 1


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Data Pre-processing

Kode Pokok Bahasan: TIK.RPL03.001.001.01

Deskripsi Pokok Bahasan:


Membahas bagaimana pengolahan data sebelum diproses menggunakan
bahasa R. Mempersiapkan sebuah data mentah, agar dapat sesuai dengan
spesifikasi untuk tahap processing data.

Jml
No Elemen Kompetensi Indikator Kinerja Hal
Jam
Memahami data pre- 1.1 Menganalisa data pre-
1 1 5
processing. processing dari data yang
disediakan
Mengimplementasikan pre- 1.1 Mampu memproses data
2 2 6
processing data. dengan Missing Values
1.2 Mampu membagi data
menjadi training dan test
dataset.
1.3 Mampu menerapkan feature
scaling pada data.

TUGAS PENDAHULUAN
Hal yang harus dilakukan dan acuan yang harus dibaca sebelum praktikum :
1. Menginstal R pada PC masing-masing praktikan.
2. Menginstal R Studio pada PC masing-masing praktikan.

DAFTAR PERTANYAAN
1. Apa yang dimaksud dengan data pre-processing?
2. Mengapa perlu adanya tahapan pre-processing?
3. Sebutkan langkah-langkah dari data pre-processing?

TEORI SINGKAT

Jurusan Teknik Informati ka 2


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Data Preparation atau bisa disebut juga dengan data preprocessing adalah
suatu proses/langkah yang dilakukan untuk membuat data mentah
menjadi data yang berkualitas(input yang baik untuk data mining tools).
Tahapan dalam melakukan data mining salah satunya adalah preprosesing
data. Pertanyaannya adalah mengapa data perlu di bersihkan sebelum
diproses?
Hal ini terjadi karena biasanya data yang akan digunakan belum baik,
penyebabnya antara lain :

– Incomplete : kekurangan nilai-nilai atribut atau atribut tertentu


lainnya.
– Noisy : berisi kesalahan atau nilai-nilai outlier yang menyimpang dari
yang diharapkan.
– Inconsisten : ketidakcocokan dalam penggunaan kode atau nama.

Disini kualitas data yang baik didasarkan oleh keputusan yang baik dan
data warehouse memerlukan integrasi kualitas data yang konsisten.
Beberapa hal yang perlu diperhatikan untuk mendapatkan data yang baik
adalah :

– Accuracy
– Completeness
– Consistency
– Timeliness
– Value added
– Interpretability
– Accessibility
– Contextual
– Representational

LAB SETUP
Hal yang harus disiapkan dan dilakukan oleh praktikan untuk menjalankan
praktikum modul ini.
1. Menginstall library yang dibutuhkan untuk mengerjakan modul.
2. Menjalankan R Studio.

ELEMEN KOMPETENSI I
Deskripsi:
Memahami data pre-processing.

Kompetensi Dasar:
1. Menganalisa data pre-processing dari data yang telah disediakan.

Latihan 1.1.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk melakukan analisis terhadap data
yang telah disediakan.

Jurusan Teknik Informati ka 3


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Apakah data yang disediakan, termasuk data yang perlu di pre-processing?


Jika ya, jelaskan alasannya!

………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

ELEMEN KOMPETENSI 2
Deskripsi:
Mengimplementasikan pre-processing data.

Kompetensi Dasar:
1. Mampu memproses data dengan Missing Values
2. Mmapu membagi data menjadi training dan test dataset.
3. Mampu menerapkan feature scaling pada data.

Latihan 1.2.1

Penjelasan Singkat:
Pada latihan ini praktikan diminta untuk memproses missing value dari data
yang telah disediakan. Bagaimana cara agar missing value tersebut tidak
menjadi kendala dalam tahap processing.

Langkah-Langkah Praktikum:

1. Impor data train.csv dan test.csv dari https://www.kaggle.com/c/titanic/data.


2. Baca file excel dengan perintah :

> dataku_namapraktikan=read.csv("E:/Kuliah Data Mining gasal 1920/train.csv").

3. Lihat 5 data teratas dengan perintah :

> head(dataku_namapraktikan)

Output :

Jurusan Teknik Informati ka 4


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

4. Jalankan perintah berikut :


> library("readxl")
> my_data_ namapraktikan <- read_excel("E:/Kuliah Data Mining gasal
1920/train.xlsx")
> head(my_data_ namapraktikan)

5. Apakah baris ke-6 mengandung missing value pada variabel Age ? Y/T
> str(dataku_namapraktikan)

Output :

6. Lanjutkan dengan perintah berikut :


> mean(my_data_namapraktikan$Age)
Output :

> mean(my_data_namapraktikan$Age, na.rm = 'TRUE')


Output :

> my_data_namapraktikan$Age =
ifelse(is.na(my_data_namapraktikan$Age),ave(my_data_namapraktikan$Ag
e, FUN = function(x) mean(x, na.rm =
'TRUE')),my_data_namapraktikan$Age)
> head(my_data_namapraktikan)
Output :

Jurusan Teknik Informati ka 5


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Apakah variabel Age baris ke-6 masih mengandung missing value ? Y/T

Latihan :

Lakukan penanganan missing value pada variabel age dan salary sesuai langkah-langkah yang
telah dipelajari :

Output :

Latihan 1.2.2

Penjelasan Singkat:
Pada latihan ini praktikan diminta untuk mampu membagi data menjadi
training dan test dataset.

Langkah-Langkah Praktikum:

1. Gunakan dataaset seperti berikut :


Dataset
## Country Age Salary Purchased
## 1 France 44 72000 No
## 2 Spain 27 48000 Yes
## 3 Germany 30 54000 No
## 4 Spain 38 61000 No
## 5 Germany 40 NA Yes

Jurusan Teknik Informati ka 6


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

## 6 France 35 58000 Yes


## 7 Spain NA 52000 No
## 8 France 48 79000 Yes
## 9 Germany 50 83000 No
## 10 France 37 67000 Yes

2. Ganti nilai NA dengan nilai average dari kolom terkait!

> install.packages("catTools")
> library(caTools) #adding caTools to the library
> set.seed(123)
> split = sample.split(dataset$Purchased,SplitRatio = 0.8)
> training_set = subset(dataset,split == TRUE)
> test_set = subset(dataset, split == FALSE)

3. Tampilkan 5 data teratas

> head (training_set)

output :

>head(test_set)

output :

Latihan 1.2.3

Penjelasan Singkat:
Pada latihan ini praktikan diminta untuk mampu melakukan featuring
scaling pada data uji.

Langkah-Langkah Praktikum:

1. Lakukan feature scaling pada training_set dan test_set

#feature scaling
training_set[,2:3] = scale(training_set[,2:3])
test_set[,2:3] = scale(test_set[,2:3])

output :

Jurusan Teknik Informati ka 7


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

2. Ambil dataku_namapraktikan dan lakukan fungsi scale.

> training_namapraktikan<-dataku_namapraktikan[,c(2,3)]

> scale_ namapraktikan <- scale(training_namapraktikan)


output :

CEK LIST
Elemen Penyelesaian
No Latihan
Kompetensi Selesai Tidak selesai
1 1.1.1
2 1.2.1
1.2.2
1.2.3

Jurusan Teknik Informati ka 8


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

FORM UMPAN BALIK

Waktu
Elemen Kompetensi Tingkat Kesulitan Tingkat Ketertarikan Penyelesaian
dalam menit
Memahami data pre-      
    Sangat Mudah   Tidak Tertarik  
processing.      
    Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             
Mengimplementasika      
    Sangat Mudah   Tidak Tertarik  
n pre-processing data.
     
    Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit

Jurusan Teknik Informati ka 9


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Pokok Bahasan II
Data Pre-processing with Python.

Kode Pokok Bahasan: TIK.RPL03.001.002.01

Deskripsi Pokok Bahasan:


Membahas bagaimana pengolahan data sebelum diproses menggunakan
bahasa Python. Mempersiapkan sebuah data mentah, agar dapat sesuai
dengan spesifikasi untuk tahap processing data.

Jml
No Elemen Kompetensi Indikator Kinerja Hal
Jam
Memahami data pre- 1.1 Menganalisa data pre-
1 1
processing menggunakan processing dari data yang
Python. disediakan
2 Mengimplementasikan pre- 1.1 Mampu memproses data 2
processing data pada dengan Missing Values
console Jupyter Notebooks. 1.2 Mampu menangani missing
Value

TUGAS PENDAHULUAN
Hal yang harus dilakukan dan acuan yang harus dibaca sebelum praktikum :
1. Menginstal Anaconda Python pada PC masing-masing praktikan.
2. Menginstal Jupyter Notebooks pada Anaconda Python untuk masing-
masing praktikan.

DAFTAR PERTANYAAN
1. Apa yang dimaksud dengan Missing Value?
2. Adakah Perbedaan penanganan Missing Value antara R dan Python,
berikan Alasannya?

Jurusan Teknik Informati ka 10


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

TEORI SINGKAT
Data Preparation atau bisa disebut juga dengan data preprocessing adalah
suatu proses/langkah yang dilakukan untuk membuat data mentah
menjadi data yang berkualitas(input yang baik untuk data mining tools).
Tahapan dalam melakukan data mining salah satunya adalah preprosesing
data. Pertanyaannya adalah mengapa data perlu di bersihkan sebelum
diproses?
Hal ini terjadi karena biasanya data yang akan digunakan belum baik,
penyebabnya antara lain :

– Incomplete : kekurangan nilai-nilai atribut atau atribut tertentu


lainnya.
– Noisy : berisi kesalahan atau nilai-nilai outlier yang menyimpang dari
yang diharapkan.
– Inconsisten : ketidakcocokan dalam penggunaan kode atau nama.

Disini kualitas data yang baik didasarkan oleh keputusan yang baik dan
data warehouse memerlukan integrasi kualitas data yang konsisten.
Beberapa hal yang perlu diperhatikan untuk mendapatkan data yang baik
adalah :

– Accuracy
– Completeness
– Consistency
– Timeliness
– Value added
– Interpretability
– Accessibility
– Contextual
– Representational

LAB SETUP
Hal yang harus disiapkan dan dilakukan oleh praktikan untuk menjalankan
praktikum modul ini.
3. Menginstall library yang dibutuhkan untuk mengerjakan modul.
4. Menjalankan R Studio.

ELEMEN KOMPETENSI I
Deskripsi:
Memahami data pre-processing menggunakan Python.

Kompetensi Dasar:
1. Menganalisa data pre-processing dari data yang telah disediakan.

Jurusan Teknik Informati ka 11


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Latihan 1.1.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk melakukan analisis terhadap data
yang telah disediakan.

Apakah data yang disediakan, termasuk data yang perlu di pre-processing?


Jika ya, jelaskan alasannya!

………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

ELEMEN KOMPETENSI 2
Deskripsi:
Mengimplementasikan pre-processing data pada console Jupyter Notebooks.

Kompetensi Dasar:
1. Mampu memproses data dengan Missing Values
2. Mampu menangani missing Value

Latihan 1.2.1

Penjelasan Singkat:
Pada latihan ini praktikan diminta untuk memproses missing value dari data
yang telah disediakan. Bagaimana cara agar missing value tersebut tidak
menjadi kendala dalam tahap processing menggunakan python.

Langkah-Langkah Praktikum:
1. Letakan dataset dalam sebuah folder, dataset adalah data train.csv dan
test.csv yang didownload dari https://www.kaggle.com/c/titanic/data

2. Buka anaconda prompt dan jalankan perintah berikut ini :


(base) C:\Users\Windows 10>conda create -n ikd415 python=3.7
(base) C:\Users\WIN 10>E:
(base) E:\>cd data-mining
(base) E:\data-mining>activate ikd415
(ikd415) E:\data-mining>jupyter notebook

Jurusan Teknik Informati ka 12


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

3. Buat file baru pada jupyter notebook

4. Import Library
import pandas as pd
import numpy as np

5. Mengambil data dari file .csv


dataku_namapraktikan=pd.read_csv('train.csv', sep=',')
dataku_namapraktikan.head(7)

6. Adakah missing value pada variabe Age ? Y/T

7. Mendeskripsi data
dataku_namapraktikan.describe()

8. Menampilkan shape data


dataku_namapraktikan.shape

Jurusan Teknik Informati ka 13


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

9. Mencari rata rata dari variabel umur


dataku_namapraktikan['Age'].mean()

10. Menghitung jumlah nilai NaN pada kolom data


print(dataku_namapraktikan.isnull().sum())

11. Mengisi Missing Values dengan rata – rata nilai kolom


dataku_namapraktikan.fillna(dataku_namapraktikan.mean(
), inplace=True)
dataku_namapraktikan.head(7)

Jurusan Teknik Informati ka 14


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Latihan 1.2.2

Penjelasan Singkat:
Pada latihan ini praktikan diminta untuk mampu menangani missing value
dengan data baru

Lakukan penanganan missing value pada variabel age dan salary sesuai langkah-langkah yang
telah dipelajari dari data berikut :

Output

Jurusan Teknik Informati ka 15


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

CEK LIST
Elemen Penyelesaian
No Latihan
Kompetensi Selesai Tidak selesai
1 1.1.1
2 1.2.1
1.2.2

FORM UMPAN BALIK

Waktu
Elemen Kompetensi Tingkat Kesulitan Tingkat Ketertarikan Penyelesaian
dalam menit
Memahami data pre-      
    Sangat Mudah   Tidak Tertarik  
processing      
menggunakan Python.     Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             
Mengimplementasika      
    Sangat Mudah   Tidak Tertarik  
n pre-processing data
     
pada console Jupyter     Mudah   Cukup Tertarik  
Notebooks      
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit

Jurusan Teknik Informati ka 16


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Pokok Bahasan III


Decision tree
Kode Pokok Bahasan: TIK.RPL03.001.003.01

Deskripsi Pokok Bahasan:


Membahas bagaimana pembuatan Decision Tree pada dataset yang
diberikan.

Jml
No Elemen Kompetensi Indikator Kinerja Hal
Jam
Menerapkan Decision Tree 1.1 Membuat Decision Tree
1 1 12
pada data Weather menggunakan Library Rpart
Nominal dataset 1. dan Rpart Plot menggunakan
data Weather Nominal
1.1 Membuat Decision Tree
2 Menerapkan prediksi dan 2 15
menggunakan Library Rpart
class pada Decision Tree dan Rpart Plot menggunakan
data Weather Nominal data Weather Nominal
dataset 2. 1.2 Membuat prediksi dari
Decision Tree
1.3 Membuat class dari prediksi

TUGAS PENDAHULUAN
Hal yang harus dilakukan dan acuan yang harus dibaca sebelum praktikum :
1. Menginstal R pada PC masing-masing praktikan.
2. Menginstal R Studio pada PC masing-masing praktikan.

DAFTAR PERTANYAAN
1. Apa itu decision tree?
2. Apa kegunaan Decision tree?
3. Berikan salah satu contoh dari decision tree suatu data!

Jurusan Teknik Informati ka 17


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

TEORI SINGKAT

Decision tree adalah salah satu metode klasifikasi yang paling populer,
karena mudah untuk diinterpretasi oleh manusia. Decision tree adalah
model prediksi menggunakan struktur pohon atau struktur berhirarki.
Konsep dari pohon keputusan adalah mengubah data menjadi decision
tree dan aturan-aturan keputusan. Manfaat utama dari penggunaan
decision tree adalah kemampuannya untuk mem-break down proses
pengambilan keputusan yang kompleks menjadi lebih simple, sehingga
pengambil keputusan akan lebih menginterpretasikan solusi dari
permasalahan.
Nama lain dari decision tree adalah CART (Classification and Regression
Tree). Dimana metode ini merupakan gabungan dari dua jenis pohon,
yaitu classification tree dan juga regression tree. Untuk memudahkan,
berikut ilustrasi dari keduanya.

LAB SETUP
Hal yang harus disiapkan dan dilakukan oleh praktikan untuk menjalankan
praktikum modul ini.

1. Menginstall library yang dibutuhkan untuk mengerjakan modul.


2. Menjalankan R Studio.

ELEMEN KOMPETENSI I
Deskripsi:
Menerapkan Decision Tree pada data Weather Nominal dataset 1.

Kompetensi Dasar:
Membuat Decision Tree menggunakan Library Rpart dan Rpart Plot menggunakan
data Weather Nominal.

Latihan 1.1.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk membangun decision tree
menggunakan library yang disediakan oleh R.

Jurusan Teknik Informati ka 18


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Langkah-Langkah Praktikum:

1. Disediakan data sebagai berikut :

Data set:
kelembaba berangi bermai
cuaca suhu n n n
cerah panas Tinggi salah tidak
cerah panas Tinggi benar tidak
berawa
n panas Tinggi salah ya
hujan sejuk Tinggi salah ya
hujan dingin Normal salah ya
hujan dingin Normal benar ya
berawa
n dingin Normal benar ya
cerah sejuk Tinggi salah tidak
cerah dingin Normal salah ya
hujan sejuk Normal salah ya
cerah sejuk Normal benar ya
berawa
n sejuk Tinggi benar ya
berawa
n panas Normal salah ya
hujan sejuk Tinggi benar tidak

2. Input data ke R studio


> library(rpart)
> dataku_namapraktikan <- read.delim("clipboard")
> View(dataku_namapraktikan)

3. Buatlah decision tree dari data input.

> pohon <- rpart(bermain~.,data = dataku_namapraktikan, method =


"class", + control=rpart.control(minsplit = 2, cp= 0))
> library(rpart.plot)
> prp(pohon,extra = 1)

Output :

Jurusan Teknik Informati ka 19


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

4. Berikan penjelasan tentang output yang muncul!

Interpretasi output decision tree :

ELEMEN KOMPETENSI II
Deskripsi:
Menerapkan prediksi menggunakan Decision Tree pada data Weather Nominal
dataset 2.

Kompetensi Dasar:
Membuat prediksi pada Tree menggunakan data Weather Nominal dataset 2.

Latihan 1.2.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk membangun decision tree dan
melakukan prediksi menggunakan library yang disediakan oleh R.

Langkah-Langkah Praktikum:

1. Disediakan data sebagai berikut :

Data set 2 :

kelembaba
cuaca suhu n angin bermain

cerah 69 70 biasa ya

cerah 72 95 biasa tidak

cerah 75 70 kencang ya

cerah 80 90 kencang tidak

cerah 85 85 biasa tidak

hujan 65 70 kencang tidak

hujan 68 80 biasa ya

Jurusan Teknik Informati ka 20


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

hujan 70 96 biasa ya

hujan 71 80 kencang tidak

hujan 75 80 biasa ya

mendung 64 65 kencang ya

mendung 72 90 kencang ya

mendung 81 75 biasa ya

mendung 83 78 biasa ya

2. Input data ke R studio


> library(tree)
> dataku2_namapraktikan$bermain = as.factor(dataku2_namapraktikan $bermain)

3. Buatlah decision tree dari data input.

sample=read.csv('dataset1.csv', header=TRUE, sep=";")


samplegolf<-sample(1:nrow(sample),0.80*nrow(sample))
traininggolf<-data.frame(sample)[samplegolf,]
testinggolf<-data.frame(sample)[-samplegolf,]
pohongolf <- rpart(bermain ~ cuaca + suhu + kelembaban +
berangin,data=traininggolf, method = "class", control = rpart.control(minsplit = 5, cp
= 0))
prp(pohongolf,extra=4,box.col=c("pink","red","blue"))

Output :

4. Buat prediksi dengan fungsi predict

prediksi=predict(pohongolf,testinggolf)
pred.respon<- colnames(prediksi)[max.col(prediksi, ties.method = c("random"))]

5. Buat class table.

class=table(pred.respon,testinggolf$bermain)
class

Jurusan Teknik Informati ka 21


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

6. Berikan penjelasan tentang output yang muncul!

Interpretasi output decision tree :

CEK LIST
Elemen Penyelesaian
No Latihan
Kompetensi Selesai Tidak selesai
1 1.1.1
2 1.2.1
1.2.2
1.2.3

FORM UMPAN BALIK

Waktu
Tingkat
Elemen Kompetensi Tingkat Kesulitan Penyelesaian
Ketertarikan
dalam menit
Memahami data pre-      
    Sangat Mudah   Tidak Tertarik  
processing.      
    Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             
Mengimplementasika      
    Sangat Mudah   Tidak Tertarik  
n pre-processing data.
     
    Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             

Jurusan Teknik Informati ka 22


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Pokok Bahasan IV
K-Nearest Neighbor (KNN).
Kode Pokok Bahasan: TIK.RPL03.004.00.01

Deskripsi Pokok Bahasan:


Membahas bagaimana penerapan K-Nearest Neighbor untuk melakukan
Klasifikasi.

Jml
No Elemen Kompetensi Indikator Kinerja Hal
Jam
Menampilkan hasil Mampu melakukan analisis
1. 1
Klasifikasi dari kasus yang terhadap klasifikasi data dari
diberikan. diagram yangmuncul.
Mampu melakukan perhitungan
2. Melakukan perhitungan 1
peluang secara manual
manual menggunakan menggunakan excel pada
excel. pada data yang ditentukan

TUGAS PENDAHULUAN
Hal yang harus dilakukan dan acuan yang harus dibaca sebelum praktikum :
1. Menginstal R pada PC masing-masing praktikan.
2. Menginstal R Studio pada PC masing-masing praktikan.
3. Menginstal aplikasi pengolah data (Excel).

DAFTAR PERTANYAAN
1. Apa itu algoritma K-Nearest Neighbor?
2. Apa kegunaan K-Nearest Neighbor?
3. Sebutkan tahapan dari proses algoritma K-Nearest Neighbor!

TEORI SINGKAT
Algoritma K-Nearest Neighbor (K-NN) adalah sebuah metode
klasifikasi terhadap sekumpulan data berdasarkan pembelajaran data yang
sudah terklasifikasikan sebelumya. Termasuk dalam supervised learning,
dimana hasil query instance yang baru diklasifikasikan berdasarkan
mayoritas kedekatan jarak dari kategori yang ada dalam K-NN
KNN, Dapat digunakan untuk tujuan klasifikasi, Tidak menyusun
model atau mengekstrak aturan logika tertentu sebagai hasil dari analisis,
Identikasi k buah individu tetangga terdekat dilakukan dengan terlebih
dahulu menghitung jarak dari individu yang akan diduga dengan setiap
individu yang ada pada gugus data training. Jika ini sudah dilakukan maka
tinggal mencari k buah amatan yang jaraknya paling kecil. Penghitungan
jarak dari dua amatan A dan B dapat menggunakan formula Euclid distance.

Jurusan Teknik Informati ka 23


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

LAB SETUP
Hal yang harus disiapkan dan dilakukan oleh praktikan untuk menjalankan
praktikum modul ini.

1. Menginstall library yang dibutuhkan untuk mengerjakan modul.


2. Menjalankan R Studio.
3. Aplkasi pengolah data (Excel)

ELEMEN KOMPETENSI I
Deskripsi:
Menampilkan hasil klasifikasi dari kasus yang diberikan.

Kompetensi Dasar:
Menampilkan hasil Klasifikasi dari kasus yang diberikan.

Latihan 1.1.1
Penjelasan Singkat :
Pada latihan ini anda akan diminta melakukan analisis terhadap klasifikasi
data dari diagram yang muncul.

Langkah-Langkah Praktikum:
1. Siapkan data

X y kelas
0.15 0 1
0.3 0.1 1
0.11 0.12 1
0.04 0.13 1
0.18 0.17 1
0.1 0.19 1
0.54 0.2 2
0.19 0.21 1
0.6 0.24 2
0.66 0.25 2
0.33 0.26 2
0.17 0.27 1
0.52 0.29 2

Jurusan Teknik Informati ka 24


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

0.52 0.33 2
0.49 0.35 2
0.68 0.36 2
0.55 0.43 2
0.37 0.44 2
0.52 0.47 2
0.58 0.5 2

X Y Kelas
0.1 0.2 ?
0.4 0.1 ?

2. Buka Rstudio
3. Melakukan data preparation
> data.training <- data_emo[,1:2]    
> kelas <- as.factor(data_emo[,3])
> View(data_emo)
> str(data_emo)

4. Membuat data amatan dengan knn


> kelas <- as.factor(data_emo[,3])
> amatan.baru <- c(0.1, 0.2)
> library(class)
> knn(data.training, amatan.baru, kelas, k=5)

5. Membuat data amatan baru


> amatan.baru2 <- c(0.4, 0.1)
> knn(data.training, amatan.baru2, kelas, k=5)

6. Buat fungsi Rscript datagambar


x <- seq(0.00, 0.70, by=0.01)
y <- seq(0.00, 0.50, by=0.01)
grid <- NULL
for (i in x) {
  for (j in y) {
    grid <- rbind(grid, c(i, j))
  }
}
datagambar <- data.frame(grid)

7. Menampilkan plot hasil knn


> qplot(datagambar$X2, datagambar$X1)
> prediksi <- knn(data.training, datagambar, kelas, k = 5)
> plot (datagambar[,1], datagambar[,2],
+       col=ifelse(prediksi == "1", "cyan", "orange"),
+       pch=ifelse(prediksi == "1", 6, 5))

ELEMEN KOMPETENSI II
Deskripsi:

Jurusan Teknik Informati ka 25


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Menampilkan hasil klasifikasi dari kasus yang diberikan menggunakan excel.

Kompetensi Dasar:
Menampilkan hasil Klasifikasi dari kasus yang diberikan.

Latihan 1.2.1
Penjelasan Singkat :
Pada latihan ini anda akan diminta melakukan analisis terhadap klasifikasi
data dari diagram yang muncul.

1. Siapakan data pada excel

2. Mencari nilai distance

Jurusan Teknik Informati ka 26


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

3. Membuat plot sebelum melakukan Proses KNN


> dataku=read.delim("clipboard")
> library(ggplot2)
> ggplot(dataku, aes(x=petal.length, y=petal.width)) +
geom_point()

4. Melakukan pengamanatan pada data


> kelas <- as.factor(dataku[,4])
> pengamatan.baru <- c(3.8, 1.5)
> library(class)
> data.training <- dataku[,3:4]
> kelas <- as.factor(dataku[,5])
> knn(data.training, pengamatan.baru, kelas, k=5)

5. Buat fungsi Rscript datagambar


x <- seq(1.00, 6.00, by=0.2)
y <- seq(0.00, 2.50, by=0.05)
grid <- NULL
for (i in x) {

Jurusan Teknik Informati ka 27


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

  for (j in y) {
    grid <- rbind(grid, c(i, j))}}
datagambar <- data.frame(grid)

6. Membuat plot dari hasil knn


> qplot(datagambar$X1, datagambar$X2)
> prediksi <- knn(data.training, datagambar, kelas, k =
5)
> plot (datagambar[,1],
datagambar[,2],col=ifelse(prediksi == "1", "cyan",
"orange"), pch=ifelse(prediksi == "1", 6, 5))

Tugas 
Gunakan algorima k-NN pada R untuk kasus berikut ini dengan k=3 :
sepal.lengt
h sepal.width species
5.4 3.7 setosa
7.2 3.2 virginica
5.4 3.4 setosa
5.1 3.3 setosa
5.4 3.9 setosa
7.4 2.8 virginica
6.1 2.8 versicolor
7.2 2.9 virginica
6.1 2.7 versicolor
5.8 2.8 virginica
6.4 2.3 versicolor
5.1 2.7 versicolor
6.3 2.4 versicolor
5.4 2.3 versicolor

Data baru:
sepal.lengt
h sepal.width species
5.2 3.7 setosa

Script R :

Jurusan Teknik Informati ka 28


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Output :

CEK LIST
Elemen Penyelesaian
No Latihan
Kompetensi Selesai Tidak selesai
1 1.1.1
2 1.2.1

FORM UMPAN BALIK

Waktu
Elemen Kompetensi Tingkat Kesulitan Tingkat Ketertarikan Penyelesaian
dalam menit
Menampilkan hasil      
    Sangat Mudah   Tidak Tertarik  
Klasifikasi dari kasus
     
yang diberikan.     Mudah   Cukup Tertarik  
yang diberikan.      
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             
Melakukan perhitungan      
    Sangat Mudah   Tidak Tertarik  
manual menggunakan
     
excel.     Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             

Jurusan Teknik Informati ka 29


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Pokok Bahasan V
Naïve Bayes

Kode Pokok Bahasan: TIK.RPL03.005.00.01

Deskripsi Pokok Bahasan:


Membahas bagaimana penerapan Algoritma Naïve Bayes pada dataset
titanic.

Jml
No Elemen Kompetensi Indikator Kinerja Hal
Jam
Menampilkan peluang dari Mampu melakukan analisis
1. 1 12
kasus yang diberikan. terhadap peluang atas
kejadian yang ditentukan.
Mampu melakukan perhitungan
2. Melakukan perhitungan 2 15
peluang secara manual
manual menggunakan menggunakan excel pada
excel. kondisi yang ditentukan
Mengimplementasikan fungsi
3. Menggunakan fungsi
naive bayes pada prediksi
naiveBayes dalam data
memprediksi data

TUGAS PENDAHULUAN
Hal yang harus dilakukan dan acuan yang harus dibaca sebelum praktikum :
1. Menginstal R pada PC masing-masing praktikan.
2. Menginstal R Studio pada PC masing-masing praktikan.

DAFTAR PERTANYAAN
1. Apa itu algoritma Naïve Bayes?
2. Apa kegunaan Naïve Bayes?
3. Sebutkan tahapan dari proses algoritma Naïve Bayes!

TEORI SINGKAT

Algoritma Naive Bayes merupakan sebuah metoda klasifikasi


menggunakan metode probabilitas dan statistik yg dikemukakan oleh
ilmuwan Inggris Thomas Bayes. Algoritma Naive Bayes memprediksi
peluang di masa depan berdasarkan pengalaman di masa sebelumnya
sehingga dikenal sebagai Teorema Bayes. Ciri utama dr Naïve Bayes
Classifier ini adalah asumsi yg sangat kuat (naïf) akan independensi dari
masing-masing kondisi / kejadian.

Naive Bayes Classifier bekerja sangat baik dibanding dengan model


classifier lainnya. Hal ini dibuktikan pada jurnal Xhemali, Daniela, Chris J.

Jurusan Teknik Informati ka 30


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Hinde, and Roger G. Stone. “Naive Bayes vs. decision trees vs. neural
networks in the classification of training web pages.” (2009), mengatakan
bahwa “Naïve Bayes Classifier memiliki tingkat akurasi yg lebih baik
dibanding model classifier lainnya”.

Keuntungan penggunan adalah bahwa metoda ini hanya membutuhkan


jumlah data pelatihan (training data) yang kecil untuk menentukan
estimasi parameter yg diperlukan dalam proses pengklasifikasian. Karena
yg diasumsikan sebagai variabel independent, maka hanya varians dari
suatu variabel dalam sebuah kelas yang dibutuhkan untuk menentukan
klasifikasi, bukan keseluruhan dari matriks kovarians.

LAB SETUP
Hal yang harus disiapkan dan dilakukan oleh praktikan untuk menjalankan
praktikum modul ini.

1. Menginstall library yang dibutuhkan untuk mengerjakan modul.


2. Menjalankan R Studio.

ELEMEN KOMPETENSI I
Deskripsi:
Menampilkan peluang dari kasus yang diberikan.

Kompetensi Dasar:
Mampu melakukan analisis terhadap peluang atas kejadian yang ditentukan.

Latihan

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk menampilkan summarize dari data
menggunakan library yang disediakan oleh R.

Langkah-Langkah Praktikum:

1. Instal dan panggil package berikut jika belum terinstall

install.packages("tidyverse")
library("tidyverse") #for data wrangling tools
install.packages("titanic")
library("titanic")

2. Inisialisasi titanic_train ke dalam variabel tdf.

tdf <- titanic_train #training set of Titanic data


head(tdf)

Jurusan Teknik Informati ka 31


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

3. Lakukan perintah berikut :

Compute the probability that a randomly selected passenger on the Titanic was female given
that the passenger was at least 35 years old.
tdf %>%
summarize(prob = sum(Age >= 35 & Sex == "female", na.rm = TRUE)/sum(Age >= 35, na.rm =
TRUE))

Output :

ELEMEN KOMPETENSI II
Deskripsi:
Melakukan perhitungan manual menggunakan excel.

Kompetensi Dasar:
Mampu melakukan perhitungan peluang secara manual menggunakan excel pada
kondisi yang ditentukan

Latihan 1.2.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk melakukan perhitungan peluang
secara manual menggunakan excel.

Langkah-Langkah Praktikum:

Lakukan perhitungan kasus di atas dengan menggunakan Excel. Pisahkan age dengan batas
35 tahun.
Output :

Jurusan Teknik Informati ka 32


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

ELEMEN KOMPETENSI III


Deskripsi:
Menggunakan fungsi naïve bayes dalam memprediksi data.
Kompetensi Dasar:
Mengimplementasikan fungsi naive bayes pada prediksi data

Latihan 1.3.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk mengimplementasikan naïve bayes
pada kasus yang diberikan.

Langkah-Langkah Praktikum:

Gunakan titanic.csv yang berisi data 887 penumpang Titanic passengers. Kolom data
menggambarkan survived (S), age (A), passenger-class (C), sex (G) and the fare paid (X).
Hitung peluang bersyarat (conditional probability) di bawah ini

P(S= true | G=female)
P(S= true | G=male)
P(S= true | C=1)
P(S= true | C=2)
P(S= true | C=3)
P(S= true | G=female,C=1) =
P(S= true | G=female,C=2) =
P(S= true | G=female,C=3) =
P(S= true | G=male,C=1) =
P(S= true | G=male,C=2) =
P(S= true | G=male,C=3) =

Gunakan R dan excel :

Jalankan perintah R di bawah ini :

Jurusan Teknik Informati ka 33


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

# https://www.kaggle.com/brirush/naive-bayes-for-titanic
library(e1071)
train <- read.csv("F:/Kuliah Data Mining gasal 1819/Kaggle/Titanic/train.csv")
test <- read.csv("F:/Kuliah Data Mining gasal 1819/Kaggle/Titanic/test.csv")
BayesTitanicModel<-naiveBayes(as.factor(Survived)~., train)
BayesPrediction<-predict(BayesTitanicModel, test)
summary(BayesPrediction)
output<-data.frame(test$PassengerId, BayesPrediction)
str(output)
colnames(output)<-cbind("PassengerId","Survived")
write.csv(output, file = 'Rushton_Solution.csv', row.names = F)

Output :

Berikan penjelasan terhadap output di atas

Tugas : Kasus “playing golf”


Data excelNaive
Humadit PlayGol
id Outlook Temp y Wndy f
1 Rainy Hot High FALSE No
2 Rainy Hot High TRUE No
Overcas
3 t Hot High FALSE Yes

Jurusan Teknik Informati ka 34


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

4 Sunny Mild High FALSE Yes


5 Sunny Cool Normal FALSE Yes
6 Sunny Cool Normal TRUE No
Overcas
7 t Cool Normal TRUE Yes
8 Rainy Mild High FALSE No
9 Rainy Cool Normal FALSE Yes
10 Sunny Mild Normal FALSE Yes
11 Rainy Mild Normal TRUE Yes
Overcas
12 t Mild High TRUE Yes
Overcas
13 t Hot Normal FALSE Yes
14 Sunny Mild High TRUE No

Data excelNaiveTest
Humadit
id Outlook Temp y Wndy
16 Rainy Mild Normal TRUE

Script R :
> excelNaive <- read.delim('clipboard')
> excelNaiveTest <- read.delim('clipboard')
> excelNaiveModel <- naiveBayes(as.factor(PlayGolf)~., excelNaive)

> excelNaivePredic <- predict(excelNaiveModel, excelNaiveTest)


> summary(excelNaivePredic)
> excelNaiveOutput <- data.frame(excelNaiveTest$id,
excelNaivePredic)
> str(excelNaiveOutput)
> colnames(excelNaiveOutput) <- cbind('id', 'PlayGolf')
> write.csv(excelNaiveOutput, file = "rainy.csv", row.names = F)

Output :

Hitungan manual data test :

Sumber :
http://web.stanford.edu/class/archive/cs/cs109/cs109.1166/problem12.html
http://rstudio-pubs-
static.s3.amazonaws.com/6595_b57093a21dfc46a4b3338cfee29ec61e.html
https://community.rstudio.com/t/conditional-probability-with-dplyr/5117
https://www.kaggle.com/brirush/naive-bayes-for-titanic

Jurusan Teknik Informati ka 35


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

CEK LIST
Elemen Penyelesaian
No Latihan
Kompetensi Selesai Tidak selesai
1 1.1.1
2 1.2.1
3 1.3.1

FORM UMPAN BALIK

Waktu
Tingkat
Elemen Kompetensi Tingkat Kesulitan Penyelesaian
Ketertarikan
dalam menit
Memahami data pre-      
    Sangat Mudah   Tidak Tertarik  
processing.      
    Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             
Mengimplementasika      
    Sangat Mudah   Tidak Tertarik  
n pre-processing data.
     
    Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  

Waktu
Elemen Kompetensi Tingkat Kesulitan Tingkat Ketertarikan Penyelesaian
dalam menit
Menggunakan fungsi      
    Sangat Mudah   Tidak Tertarik  
naiveBayes dalam      
memprediksi data     Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             
Jurusan Teknik Informati ka 36
Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Pokok Bahasan VI
Titanic Dataset
Kode Pokok Bahasan: TIK.RPL03.001.006.01

Deskripsi Pokok Bahasan:


Membahas tentang Studi Kasus Data Mining pada R dengan Titanic Dataset

Jml
No Elemen Kompetensi Indikator Kinerja Hal
Jam
Memahami proses analisis Mampu Lakukan analisis group
1 1 12
group means means berdasarkan nilai survival
sebagai grouping variable pada R
Mampu melakukan pemodelan
2 Menerapkan decision tree 2 15
prediksi dengan decision tree
untuk membangun model

TUGAS PENDAHULUAN
Hal yang harus dilakukan dan acuan yang harus dibaca sebelum praktikum :
1. Menginstal R pada PC masing-masing praktikan.
2. Menginstal R Studio pada PC masing-masing praktikan.

DAFTAR PERTANYAAN
1. Apa tujuan melakukan analisis group means?
2. apa keunggulan decision tree?

Jurusan Teknik Informati ka 37


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

TEORI SINGKAT

The training set should be used to build your machine learning models. For the
training set, we provide the outcome (also known as the “ground truth”) for each
passenger. Your model will be based on “features” like passengers’ gender and class.
You can also use feature engineering to create new features.

The test set should be used to see how well your model performs on unseen data. For
the test set, we do not provide the ground truth for each passenger. It is your job to
predict these outcomes. For each passenger in the test set, use the model you trained
to predict whether or not they survived the sinking of the Titanic.

We also include gender_submission.csv, a set of predictions that assume all and only
female passengers survive, as an example of what a submission file should look like.

Data Dictionary
VariableDefinitionKey survival Survival 0 = No, 1 = Yes pclass Ticket class 1 = 1st, 2 = 2nd, 3 =
3rd sex Sex Age Age in years sibsp # of siblings / spouses aboard the Titanic parch # of
parents / children aboard the Titanic ticket Ticket number fare Passenger fare cabin Cabin
number embarked Port of Embarkation C = Cherbourg, Q = Queenstown, S = Southampton

LAB SETUP
Hal yang harus disiapkan dan dilakukan oleh praktikan untuk menjalankan
praktikum modul ini.

1. Menginstall library yang dibutuhkan untuk mengerjakan modul.


2. Menjalankan R Studio.

ELEMEN KOMPETENSI I
Deskripsi:
Memahami proses analisis group means

Kompetensi Dasar:
Mampu Lakukan analisis group means berdasarkan nilai survival sebagai grouping
variable pada R

Latihan 1.1.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk Lakukan analisis group means
berdasarkan nilai survival sebagai grouping variable. Dan menjelaskan
maknanya untuk setiap variable predictor yang bersifat numerik

Langkah-Langkah Praktikum:

Jurusan Teknik Informati ka 38


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Target (class) : Survival (1=survived; 0= not survived)


Data :titanic.csv,

dataku=read.csv("E:/Kuliah data mining gasal 1920/titanic.csv")


#analisis group mean (predictor numeric)
by(dataku$Age, dataku$Survived, mean)
by(dataku$Fare, dataku$Survived, mean)

Output :

Penjelasan :

Lakukan analisis tabulasi silang (cross tabulation) berdasarkan nilai survival  sebagai grouping
variable. Jelaskan maknanya untuk setiap variable predictor yang bersifat kategorik

analisa cross tabulation (predictor kategorik)


table(dataku$Sex, dataku$Survived)
table(dataku$Pclass, dataku$Survived)

Output :

Penjelasan :

Jurusan Teknik Informati ka 39


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Lakukan analisis boxplot untuk setiap variable predictor yang bersifat numerik.
Jelaskan maknanya

#boxplot
boxplot(dataku$Age~dataku$Survived)
boxplot(dataku$Fare~dataku$Survived)

Output :

Penjelasan :

ELEMEN KOMPETENSI II
Deskripsi:
Menerapkan decision tree untuk membangun model

Kompetensi Dasar:
Mampu melakukan pemodelan prediksi dengan decision tree

Latihan 1.2.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk Lakukan analisis group means
berdasarkan nilai survival sebagai grouping variable untuk pemodelan
prediksi dengan decision tree.

Langkah-Langkah Praktikum:

Buatlah decision tree menggunakan data training untuk membangun model yang
dapat digunakan untuk memprediksi kelas survive. Bagi data menjadi 75% untuk
training dan 25% untuk uji (tes). Jelaskan maknanya serta nilai  confusion matrix-nya

Jurusan Teknik Informati ka 40


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

library(rpart)
library(rpart.plot)
library(caret)
head(dataku)
sampleTitanic<-sample(1:nrow(dataku),0.75*nrow(dataku)) 
trainingTitanic<-data.frame(dataku)[sampleTitanic,]
testingTitanic<-data.frame(dataku)[-sampleTitanic,]
pohonTitanic <- rpart(Survived ~ Sex + Age + Fare +
Pclass,data=trainingTitanic, method = "class", control = rpart.control(minsplit =
25, cp = 0))
prp(pohonTitanic,extra=4,box.col=c("pink","red","blue"))

Output :

Penjelasan :

prediksi=predict(pohonTitanic,testingTitanic)
pred.respon<- colnames(prediksi)[max.col(prediksi, ties.method = c("random"))]
class=table(pred.respon,testingTitanic$Survived)
class

Output :

Penjelasan :

Tugas :
Berdasarkan data yang sama (titanic.csv) dengan 887 observasi (row), lakukan
prediksi survival menggunakan teknik naive bayes. Data dibagi menjadi 75% data
latih dan 25% data uji.

Jurusan Teknik Informati ka 41


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

CEK LIST
Elemen Penyelesaian
No Latihan
Kompetensi Selesai Tidak selesai
1 1.1.1
2 1.2.1

FORM UMPAN BALIK

Waktu
Elemen Kompetensi Tingkat Kesulitan Tingkat Ketertarikan Penyelesaian
dalam menit
Memahami proses      
    Sangat Mudah   Tidak Tertarik  
analisis group means
     
    Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             
Menerapkan decision      
    Sangat Mudah   Tidak Tertarik  
tree untuk membangun
     
model     Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  

Jurusan Teknik Informati ka 42


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Pokok Bahasan VII


Neural Network

Kode Pokok Bahasan: TIK.RPL03.001.007.01

Deskripsi Pokok Bahasan:


Membahas tentang Neural Network pada R dengan dataset yang diberikan.

Jml
No Elemen Kompetensi Indikator Kinerja Hal
Jam
Memahami proses Mampu memahami konsep
1 1 12
backpropagation dengan backpropagation dengan
neuralnet library di R neuralnet pada R
Mampu melakukan forecasting
2 Menerapkan Neural 2 15
data menggunakan neural
Network untuk melakukan network
Forecasting.

TUGAS PENDAHULUAN
Hal yang harus dilakukan dan acuan yang harus dibaca sebelum praktikum :
1. Menginstal R pada PC masing-masing praktikan.
2. Menginstal R Studio pada PC masing-masing praktikan.

DAFTAR PERTANYAAN
1. Apa itu Neural Network?
2. Bagaimana gambaran dasar sebuah Neural Network?
3. Mengapa Neural Network dibutuhkan?

TEORI SINGKAT

Neural network adalah model yang terinspirasi oleh bagaimana


neuron dalam otak manusia bekerja. Tiap neuron pada otak
manusia saling berhubungan dan informasi mengalir dari setiap
neuron tersebut. Gambar di bawah adalah ilustrasi neuron dengan
model matematisnya.

Jurusan Teknik Informati ka 43


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Tiap neuron menerima input dan melakukan operasi dot dengan


sebuah weight, menjumlahkannya (weighted sum) dan
menambahkan bias. Hasil dari operasi ini akan dijadikan parameter
dari activation function yang akan dijadikan output dari neuron
tersebut.

LAB SETUP
Hal yang harus disiapkan dan dilakukan oleh praktikan untuk menjalankan
praktikum modul ini.

1. Menginstall library yang dibutuhkan untuk mengerjakan modul.


2. Menjalankan R Studio.

ELEMEN KOMPETENSI I
Deskripsi:
Memahami proses backpropagation dengan neuralnet library di R.

Kompetensi Dasar:
Mampu memahami konsep backpropagation dengan neuralnet pada R.

Latihan 1.1.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk mempersiapkan data dan
membangun neural network pada R.

Langkah-Langkah Praktikum:

Data iris

iris <- read.csv("E:/Kuliah Data mining ekstension genap 1819/rpb-lstm/iris.csv")


ind <- sample(2, nrow(iris), replace = TRUE, prob=c(0.7, 0.3))
library(neuralnet)
trainset = iris[ind == 1,]
testset = iris[ind == 2,]
trainset$setosa = trainset$iris == "setosa"
trainset$virginica = trainset$iris == "virginica"
trainset$versicolor = trainset$iris == "versicolor"
network = neuralnet(versicolor + virginica + setosa~ sepal.length + sepal.width +
petal.length + petal.width, trainset, hidden=3)
plot(network)
network$result.matrix
head(network$generalized.weights[[1]])

Output :

Jurusan Teknik Informati ka 44


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Penjelasan :

Tugas :
Gunakan library neural net untuk membangun model backpropagation dengan input
suhu dan kelembaban menggunakan data di bawah ini.

suhu Kelembaban bermain

69 70 ya

72 95 tidak

75 70 ya

80 90 tidak

85 85 tidak

65 70 tidak

68 80 ya

70 96 ya

71 80 tidak

75 80 ya

64 65 ya

72 90 ya

81 75 ya

83 78 ya

Script :

Jurusan Teknik Informati ka 45


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Output :

Penjelasan :

ELEMEN KOMPETENSI II
Deskripsi:
Menerapkan Neural Network untuk melakukan Forecasting.
Kompetensi Dasar:
Mampu melakukan forecasting data menggunakan neural network.

Latihan 1.2.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk melakukan prediksi menggunakan
R.

Langkah-Langkah Praktikum:

Gunakan database db_pibc_olap.sql

> library(RMySQL)
> library(dplyr)
> con = dbConnect(MySQL(), user = 'root', password = '', dbname = 'db_pibc_olap', host =
'localhost')
> dbListTables(con)
> myQuery <- "select * from fact_harga;"
> df <- dbGetQuery(con, myQuery)
> df1<-filter(df,SK_RICE_TYPE==10,

Jurusan Teknik Informati ka 46


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

SK_DATE>=20170101,SK_DATE<=20171231, SK_MARKET==0)
> df2<- df1[order(df1$SK_DATE),]
> View(df2)
> tseries <- ts(df2$PRICE, start = c(2017, 1), frequency = 365)
> library(nnfor)
> library(forecast)
#MLP
> fit<-mlp(tseries)
> plot(fit)
> f2=forecast(fit, h=90)
> plot(f2)
> summary(f2)

Output :

Penjelasan :

Tugas :
Gunakan script di atas untuk membangun model peramalan dengan menggunakan
data pada database db_pasokanberas. Pilih interval waktu tertentu sebagai input.
Bandingkan error yang terjadi antara data prediksi dengan sesungguhnya.
Script :

Output :

Penjelasan :

Jurusan Teknik Informati ka 47


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Jurusan Teknik Informati ka 48


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Sumber :
https://hub.packtpub.com/training-and-visualizing-a-neural-network-with-r/
https://datascienceplus.com/neuralnet-train-and-test-neural-networks-using-r/

CEK LIST
Elemen Penyelesaian
No Latihan
Kompetensi Selesai Tidak selesai
1 1.1.1
2 1.2.1

FORM UMPAN BALIK

Waktu
Elemen Kompetensi Tingkat Kesulitan Tingkat Ketertarikan Penyelesaian
dalam menit
Memahami proses      
    Sangat Mudah   Tidak Tertarik  
backpropagation dengan
     
neuralnet library di R     Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             
Menerapkan Neural      
    Sangat Mudah   Tidak Tertarik  
Network untuk
     
melakukan Forecasting.     Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             

Jurusan Teknik Informati ka 49


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Pokok Bahasan VIII


Integrasi CodeIgniter dan Database.
Kode Pokok Bahasan: TIK.RPL03.001.008.01

Deskripsi Pokok Bahasan:


Membahas bagaimana melakukan proses Integrasi CodeIgniter dan Database.

Jml
No Elemen Kompetensi Indikator Kinerja Hal
Jam
Mengimplementasikan 1.1 Menerapkan datamining pada
1 1 5
Integrasi CodeIgniter dan Integrasi CodeIgniter dan
Database Database

TUGAS PENDAHULUAN
Hal yang harus dilakukan dan acuan yang harus dibaca sebelum praktikum :
1. Menginstal R pada PC masing-masing praktikan.
2. Menginstal R Studio pada PC masing-masing praktikan.
3. Menginstal CodeIgniter pada PC masing-masing praktikan.
4. Menginstal Database XAMPP pada PC masing-masing praktikan.

DAFTAR PERTANYAAN
1. Apa yang dimaksud dengan CodeIgniter?
2. Apa manfaat menggunakan Database?

TEORI SINGKAT
CodeIgniter adalah sebuah web application network yang bersifat
open source yang digunakan untuk membangun aplikasi php dinamis.
CodeIgniter menjadi sebuah framework PHP dengan model MVC (Model,
View, Controller) untuk membangun website dinamis dengan menggunakan
PHP yang dapat mempercepat pengembang untuk membuat sebuah aplikasi
web. Selain ringan dan cepat, CodeIgniter juga memiliki dokumentasi yang
super lengkap disertai dengan contoh implementasi kodenya. Dokumentasi
yang lengkap inilah yang menjadi salah satu alasan kuat mengapa banyak
orang memilih CodeIgniter sebagai framework pilihannya. Karena kelebihan-
kelebihan yang dimiliki oleh CodeIgniter, pembuat PHP Rasmus Lerdorf
memuji CodeIgniter di frOSCon (Agustus 2008) dengan mengatakan bahwa
dia menyukai CodeIgniter karena “it is faster, lighter and the least like a
framework.” XAMPP merupakan tool yang menyediakan paket perangkat
lunak ke dalam satu buah paket.Dengan menginstall XAMPP maka tidak
perlu lagi melakukan instalasi dan konfigurasi web server Apache, PHP dan
MySQL secara manual. XAMPP akan menginstalasi dan
mengkonfigurasikannya secara otomatis. Merupakan web server yang mudah
digunakan yang dapat melayani tampilan halaman web yang dinamis. Untuk
mendapatkanya dapat mendownload langsung dari web resminya.
LAB SETUP

Jurusan Teknik Informati ka 50


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Hal yang harus disiapkan dan dilakukan oleh praktikan untuk menjalankan
praktikum modul ini.
1. Menginstal library yang dibutuhkan untuk mengerjakan modul.
2. Menjalankan R Studio.
3. XAMPP yang sudah dijalankan.
4. Membuat database pada phpmyadmin.

ELEMEN KOMPETENSI I
Deskripsi:
Mengimplementasikan Integrasi CodeIgniter dan Database

Kompetensi Dasar:
1 Menerapkan datamining pada Integrasi CodeIgniter dan Database

Latihan 1.1.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk menginstal dan menjalankan
Framework CodeIgniter serta database dan menambahkan fungsi data.

Langkah Praktikum :
1. Mengekstrak file CodeIgniter “cicrud” yang diberi asistenlab ke folder
htdoc di XAMPP

2. Mengupload database ke mysql

Jurusan Teknik Informati ka 51


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

3. Buka alamat http://localhost/cicrud/dashboard untuk melihat


dashboard web

4. Buka folder cicrud menggunakan text editor, (contoh atom)

5. Buka cicrud\application\controllers\TampilBoxplot.php untuk


membuat controller dari menu Boxplot

Jurusan Teknik Informati ka 52


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

6. Buka cicrud\application\views\dashboard\sidebar.php untuk


menambah menu di sidebar dashboard

7. Buka cicrud\application\views\tampilboxplot\tampilboxplot.php untuk


membuat tampilan menu boxplot

Full Source code :


<?php $this->load->view('dashboard/header'); ?>
<?php $this->load->view('dashboard/sidebar'); ?>

Jurusan Teknik Informati ka 53


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

<!-- Content Wrapper. Contains page content -->


<div class="content-wrapper">
<!-- Content Header (Page header) -->
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0 text-dark">BOXPLOT</h1>
</div><!-- /.col -->
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active">Starter Page</li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.container-fluid -->
</div>
<!-- /.content-header -->

<!-- Main content -->


<div class="content">
<div class="container-fluid">
<div class="row">

<div class="col-lg-12">
<div class="card card-primary card-outline">
<div class="card-header">
<h5 class="m-0">Featured</h5>
</div>
<div class="card-body">
<div class="card card-primary">

<!-- /.card-header -->


<!-- form start -->
<form role="form" method="post">
<div class="row">
<div class="col-md-3">
<div class="form-group">
<label for="exampleInputEmail1">Bulan Awal</label>
<input type="text" class="form-control" id="skDate"
name="bulanawal" placeholder="Input Bulan Awal">
</div>
</div>
<div class="col-md-3">
<div class="form-group">

Jurusan Teknik Informati ka 54


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

<label for="exampleInputEmail1">Bulan Akhir</label>


<input type="text" class="form-control" id="skDate"
name="bulanakhir" placeholder="Input Bulan Akhir">
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label for="exampleInputPassword1">Jenis
Layanan</label>
<input type="text" class="form-control" id="jenislayanan"
name="jenislayanan" placeholder="Input Jenis Layanan">
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label for="exampleInputPassword1">Trayek</label>
<input type="text" class="form-control" id="trayek"
name="trayek" placeholder="Input Trayek">
</div>
</div>
</div>
<button type="submit" class="btn btn-
primary">Submit</button>
</form>
</div>
<?php
$v = $this->input->post('bulanawal');
$x = $this->input->post('bulanakhir');
$y = $this->input->post('jenislayanan');
$z = $this->input->post('trayek');

$result=exec('"C:\Program Files\R\R-3.4.4\bin\Rscript.exe"
"C:\xampp\htdocs\cicrud\scriptR\BoxplotPIBC.R" "'.$v.'" "'.$x.'" "'.$y.'" "'.
$z.'" ');
$result=str_replace("[1] ","",$result);
$result=str_replace('"',"",$result);
$data=explode("%sp%",$result);
echo "<hr><img src=\"data:image/png;base64,$data[0]\"
width=\"600px\">";
?>
</div>
</div>
</div>
<!-- /.col-md-6 -->
</div>
<!-- /.row -->
</div><!-- /.container-fluid -->
</div>

Jurusan Teknik Informati ka 55


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

<!-- /.content -->


</div>
<!-- /.content-wrapper -->

<!-- Control Sidebar -->


<aside class="control-sidebar control-sidebar-dark">
<!-- Control sidebar content goes here -->
<div class="p-3">
<h5>Title</h5>
<p>Sidebar content</p>
</div>
</aside>
<!-- /.control-sidebar -->

<?php $this->load->view('dashboard/footer'); ?>

8. cicrud\scriptR\BoxplotPIBC.R untuk membuat script R untuk menu


boxplot

Full Source code :


library(RMySQL)
library(nnfor)
library(dplyr)
con = dbConnect(MySQL(), user = 'root', password = '', dbname = 'db_da',
host = 'localhost')
dbListTables(con)
myQuery <- "select * from transjakarta;"
df <- dbGetQuery(con, myQuery)
args <- commandArgs(TRUE)
v <- args[1]
x <- args[2]
y <- args[3]
z <- args[4]

df1<-filter(df, Bulan>=v, Bulan<=x, jenis_layanan==y, trayek==z)

boxplot(df1$jumlah_penumpang)

Jurusan Teknik Informati ka 56


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

#myts=ts(df1$PRICE)

#MLP Prediction
#fit1 <- mlp(myts)
#plot(fit1)
#fit1$fitted
#fit1$MSE
#Base64-encode file

library(RCurl)
png(tf2 <- tempfile(fileext = ".png"));
boxplot(df1$jumlah_penumpang);dev.off()
txt3 <- base64Encode(readBin(tf2, "raw", file.info(tf2)[1, "size"]), "txt3")

print(paste(txt3,sep="%sp%"))

9. Jalankan menu boxplot pada localhost/cicrud/dashboard, dan input nilainya


sesuai tabel pada database yang dibuat sebelumnya

Tugas :
Lakukan analisa pada seperti langkah – langkah praktikum untuk menu
histogram dan forecast, tuliskan screenshot dan penjelasannya

CEK LIST

Jurusan Teknik Informati ka 57


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Elemen Penyelesaian
No Latihan
Kompetensi Selesai Tidak selesai
1 1.1.1
2 1.2.1

FORM UMPAN BALIK

Waktu
Elemen Kompetensi Tingkat Kesulitan Tingkat Ketertarikan Penyelesaian
dalam menit
Mengimplementasikan      
    Sangat Mudah   Tidak Tertarik  
Integrasi CodeIgniter dan
     
Database     Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  

Jurusan Teknik Informati ka 58


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Pokok Bahasan IX
Support Vector Regression
Kode Pokok Bahasan: TIK.RPL03.001.009.01

Deskripsi Pokok Bahasan:


Membahas bagaimana melakukan proses penentuan keputusan prediksi
dengan Support Vector Regression (SVR) .

Jml
No Elemen Kompetensi Indikator Kinerja Hal
Jam
Mengimplementasikan 1.1 Menerapkan SVR untuk data
1 1 5
SVR dalam kasus yang beras yang tersimpan dalam
diberikan database.
1.2 Membandingkan error metode
SVR dan MLP

TUGAS PENDAHULUAN
Hal yang harus dilakukan dan acuan yang harus dibaca sebelum praktikum :
1. Menginstal R pada PC masing-masing praktikan.
2. Menginstal R Studio pada PC masing-masing praktikan.

DAFTAR PERTANYAAN
1. Apa yang dimaksud dengan Support Vector Regression (SVR)?
2. Apa manfaat menggunakan Support Vector Regression (SVR)?
3. Sebutkan kelebihan Support Vector Regression (SVR) dalam memprediksi
data?

TEORI SINGKAT

Algoritma SVR (Support Vector Regression) adalah salah satu


algoritma yang digunakan untuk pengambilan keputusan. Contoh
yang dibahas kali ini adalah menentukan hasil jual tipe sepeda
motor baru berdasarkan kelompok data yang sudah ada.

Algoritma ini dapat dikatakan sebagai perbaikan dari Regresi


Linier / Analisis Regresi. Jika regresi linier menghasilkan sebuah
fungsi dengan hasil linier / garis lurus, maka algoritma ini dapat
menghasilkan sebuah fungsi dengan hasil yang bergelombang
mengikuti jalur data yang terbentuk, sehingga prediksi yang
didapatkan menjadi lebih akurat dibandingkan dengan regresi linier.

Jurusan Teknik Informati ka 59


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

LAB SETUP
Hal yang harus disiapkan dan dilakukan oleh praktikan untuk menjalankan
praktikum modul ini.
1. Menginstal library yang dibutuhkan untuk mengerjakan modul.
2. Menjalankan R Studio.
3. XAMPP yang sudah dijalankan.
4. Membuat database pada phpmyadmin.

ELEMEN KOMPETENSI I
Deskripsi:
Mengimplementasikan SVR dalam kasus yang diberikan.

Kompetensi Dasar:
1 Menerapkan SVR untuk data beras yang tersimpan dalam database.
2 Membandingkan error metode SVR dan MLP.

Latihan 1.1.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk melakukan analisis regresi dengan
SVR terhadap data beras yang diakses melalui database.

Langkah Praktikum :
1. Buatlah sebuah database pada phpmyadmin untuk menyimpan data
beras.
2. Import data beras yang akan tersimpan dalam bentuk beberapa tabel.
3. Panggil library yang dibutuhkan
library(RMySQL)
library(nnfor)
library(dplyr)
library(hydroGOF)
library(e1071)

4. Lakukan koneksi ke database

con = dbConnect(MySQL(), user = 'root', password = '', dbname = 'db_pibc_olap',


host = 'localhost')
dbListTables(con)

5. Lakukan query “select” untuk mengambil data yang terpilih.


myQuery <- "select * from fact_harga;"

6. Simpan data ke dalam dataframe.

df <- dbGetQuery(con, myQuery)

Jurusan Teknik Informati ka 60


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

df1<-filter(df,SK_RICE_TYPE==9, SK_DATE>=20180101,
SK_DATE<=20181231, SK_MARKET==0)
View(df1)
dim(df1)

7. Ubah dataframe menjadi time series.


myts=ts(df1$PRICE)

8. Lakukan prediksi SVM sebagai berikut:


X=c(1:243) #sesuaikan jumlah observasinya
#Regression with SVM
modelsvm = svm(df1$PRICE~X,data=df1)

#Predict using SVM regression


predYsvm = predict(modelsvm, data=df1)

#Overlay SVM Predictions on Scatter Plot


plot(X, predYsvm, col = "red", pch=16)
points(X,df1$PRICE, col="blue", pch=16)

9. Hitung error RMSE pada model, dengan menggunakan fungsi rmse


#Calculate RMSE
RMSEsvm=rmse(predYsvm,df1$PRICE)
RMSEsvm
#Overlay SVM Predictions on Scatter Plot
X=c(1:273)

10. Membuat plot pada data model fit


plot(fit2, col = "red", pch=16)
points(df1$PRICE, col="blue", pch=16)

Output :

Penjelasan :

Jurusan Teknik Informati ka 61


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Latihan 1.1.2

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk melakukan peramalan dengan
metode MLP terhadap data beras yang diakses melalui database. Lalu
dibandingkan dengan metode SVR.

Tugas:
Gunakan data yang sama pada latihan 1.1.1. Lakukan peramalan menggunakan
metode MLP dan bandingkan errornya dengan metode SVR. Manakah hasilnya yang
lebih akurat.

Catatan : Semua output dalam bentuk screenshot dimana nama object model
peramalannya ditulis sesuai nama praktikan (contoh modelsvm diganti dengan
svm_namapraktikan). Berikan penjelasan atas output yang didapatkan.

CEK LIST
Elemen Penyelesaian
No Latihan
Kompetensi Selesai Tidak selesai
1 1.1.1
1.1.2

FORM UMPAN BALIK

Waktu
Elemen Kompetensi Tingkat Kesulitan Tingkat Ketertarikan Penyelesaian
dalam menit
Mengimplementasikan      
    Sangat Mudah   Tidak Tertarik  
SVR dalam kasus yang
     
diberikan     Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             

Jurusan Teknik Informati ka 62


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Pokok Bahasan X
Association Rule
Kode Pokok Bahasan: TIK.RPL03.001.010.01

Deskripsi Pokok Bahasan:


Membahas tentang Association Rule pada R dengan dataset yang diberikan.

Jml
No Elemen Kompetensi Indikator Kinerja Hal
Jam
Memahami cara 1.1 Mampu memahami cara
1 1 12
implementasi Association implementasi Association Rule
Rule di R data kecelakaan pesawat pada R
dan excel
1.2 Menerapkan Association Rule
pada data nasabah

TUGAS PENDAHULUAN
Hal yang harus dilakukan dan acuan yang harus dibaca sebelum praktikum :
1. Menginstal R pada PC masing-masing praktikan.
2. Menginstal R Studio pada PC masing-masing praktikan.

DAFTAR PERTANYAAN
1. Berikan penjelasan mengenai apa itu “Association Rule with R and Excel”?
2. Apa kelebihan Association Rule dibanding algoritma lainnya?
3. Sebutkan package yang dibutuhkan untuk melakukan Association Rule
with R !

TEORI SINGKAT

Algoritma apriori merupakan salah satu algoritma klasik data


mining. Algoritma apriori digunakan agar komputer dapat
mempelajari aturan asosiasi, mencari pola hubungan antar satu
atau lebih item dalam suatu dataset.

Algoritma apriori banyak digunakan pada data transaksi atau biasa


disebut market basket, misalnya sebuah swalayan memiliki market
basket, dengan adanya algoritma apriori, pemilik swalayan dapat
mengetahui pola pembelian seorang konsumen, jika seorang
konsumen membeli item A , B, punya kemungkinan 50% dia akan
membeli item C, pola ini sangat signifikan dengan adanya data
transaksi selama ini.

Jurusan Teknik Informati ka 63


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Penting tidaknya suatu aturan assosiatif dapat diketahui dengan


dua parameter, support (nilai penunjang) yaitu persentase
kombinasi item tersebut dalam database dan confidence (nilai
kepastian) yaitu kuatnya hubungan antar item dalam aturan
assosiatif.

LAB SETUP
Hal yang harus disiapkan dan dilakukan oleh praktikan untuk menjalankan
praktikum modul ini.

1. Menginstall library yang dibutuhkan untuk mengerjakan modul.


2. Menjalankan R Studio.

ELEMEN KOMPETENSI I
Deskripsi:
Memahami cara implementasi Association Rule di R

Kompetensi Dasar:
1 Mampu memahami cara implementasi Association Rule data kecelakaan pesawat
pada R
2 Menerapkan Association Rule pada data nasabah.

Latihan 1.1.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk menerapkan Association Rule pada
data kecelakaan pesawat menggunakan R studio.

Langkah-Langkah Praktikum:

1. Berikut dibawah ini adalah langkah-langkah Association Rules dengan


menggunakan R.
Berikut dibawah ini adalah data yang digunakan

perusahaa sebab hasil


n
A Kerusakan Pesawat Semua Selamat
A Kerusakan Pesawat Sebagian Selamat
B Kerusakan Pesawat Semua Selamat
B Kerusakan Pesawat Semua Selamat
A Cuaca Buruk Semua Selamat
A Cuaca Buruk Sebagian Selamat
A Cuaca Buruk Semua Selamat
A Cuaca Buruk Semua Selamat
C Cuaca Buruk Tidak Selamat

Jurusan Teknik Informati ka 64


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

C Tidak Jelas Semua Selamat


A Tidak Jelas Semua Selamat
A Tidak Jelas Semua Selamat

2. Jalankan perintah pada script R berikut :


Script R

library(arules)
install.packages("arulesViz")
library(arulesViz)
dataku=read.delim("clipboard")
categoric<- c("perusahaan", "sebab", "hasil")

transactions <- as(dataku[, categoric], "transactions")


itemFrequencyPlot(transactions, topN = 7)
rules <- apriori(transactions,parameter = list(minlen=3, supp=0.10, conf=0.7), appearance
= list(rhs=c("hasil=Semua Selamat","hasil=Sebagian Selamat","hasil=Tidak Selamat")))
inspect(rules)
plot(rules, method="graph")
plot(rules, method="graph", engine = "interactive")

3. Tampilkan output pada kolom berikut :


Output :

4. Jelaskan perbedaan hasilnya bila menggunakan Excel :

Jurusan Teknik Informati ka 65


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

5. Susun data secara bertumpuk (stacked) dengan dua kolom yaitu kejadian dan
peristiwa. Kolom kejadian diberi nilai 1 untuk peristiwa yang sama. Lengkapi
datanya, contoh :

kejadian peristiwa
1 A
1 Kerusakan Pesawat
1 Semua Selamat
2 A
2 Kerusakan Pesawat
2 Sebagian Selamat
.
.
.

6. Lakukan dengan perintah sebagai berikut :


Script R :

#Install Packages
install.packages("arules")
install.packages("arulesViz")
#memanggil packages
library(arules)
library(arulesViz)
#memanggil data
latihan=read.delim("clipboard")
latihan
#analisis data
latihan1<-split(latihan$peristiwa,latihan$kejadian)
latihan2<-as(latihan1,"transactions")
latihan2

rules<-apriori(latihan2,parameter=list
(supp=0.04,conf=0.9,minlen=3))

inspect(rules)

itemFrequencyPlot(latihan2, topN = 7)

plot(rules, method="graph")

Output :

Jurusan Teknik Informati ka 66


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

7. Jelaskan perbedaan hasilnya bila menggunakan Excel :

Latihan 1.1.2

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk menerapkan Association Rule pada
data nasabah menggunakan R studio.

Tugas :

Berikut dibawah ini adalah data mengenai 11 nasabah pada koperasi XYZ dengan
status kredit yang macet (Not Succeed) dan tidak macet (Succeed). Bangunlah
association rule berdasarkan data dibawah menggunakan langkah-langkah di atas
menggunakan R. Tetapkan nilai k-itemset dari support yang telah memenuhi
minimum support dari k-itemset.

Personalit
No Graduate Skill Wellfare y Credit History
1 High School Ok Poor Good Succeed
Very
2 Primary School Not Ok Poor Good Not Succeed
3 Primary School Ok Poor Moderate Not Succeed
4 High School Ok Poor Good Succeed
5 Primary School Not Ok Poor Good Not Succeed
Very
6 Primary School Ok Poor Moderate Not Succeed
7 Primary School Ok Poor Bad Not Succeed
8 Primary School Not Ok Poor Good Not Succeed
9 Primary School Not Ok Poor Good Not Succeed
10 Primary School Ok Poor Bad Not Succeed
11 High School Ok Poor Good Succeed

Jurusan Teknik Informati ka 67


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Script R

Output :

CEK LIST
Elemen Penyelesaian
No Latihan
Kompetensi Selesai Tidak selesai
1 1.1.1
1.1.2

FORM UMPAN BALIK

Waktu
Elemen Kompetensi Tingkat Kesulitan Tingkat Ketertarikan Penyelesaian
dalam menit
Memahami cara      
    Sangat Mudah   Tidak Tertarik  
implementasi
     
Association Rule di R     Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  
     
    Sulit   Sangat Tertarik  
     
    Sangat Sulit  
             

Jurusan Teknik Informati ka 68


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Pokok Bahasan XI
Analisis Cluster
Kode Pokok Bahasan: TIK.RPL03.001.011.01

Deskripsi Pokok Bahasan:


Membahas tentang Association Rule pada R dengan dataset yang diberikan.
Jml
No Elemen Kompetensi Indikator Kinerja Hal
Jam
Memahami cara 1.1 Mampu memahami cara
1 1 12
implementasi Analisis implementasi Analisis Cluster
Cluster dengan Hierarchical Cluster,
Dendogram, k-mean clustering

TUGAS PENDAHULUAN
Hal yang harus dilakukan dan acuan yang harus dibaca sebelum praktikum :
1. Menginstal R pada PC masing-masing praktikan.
2. Menginstal R Studio pada PC masing-masing praktikan.

DAFTAR PERTANYAAN
1. Berikan penjelasan mengenai apa itu “Analisis Cluster”?
2. Jelaskan pengertian Hierarchical Cluster, Dendogram, k-mean clustering?

TEORI SINGKAT
Analisis cluster sering juga disebut analisis gerombol. Analisis
cluster adalah analisis statistika yang bertujuan untuk
mengelompokkan data sedemikian sehingga data yang berada
dalam kelompok yang sama mempunyai sifat yang relatif homogen
daripada data yang berada dalam kelompok yang berbeda.

Ditinjau dari hal-hal yang dikelompokkan, analisis cluster dibagi


menjadi dua macam, yaitu pengelompokan observasi dan
pengelompokan variabel. Dalam pembahasan ini, pengelompokan
yang dilakukan adalah pengelompokan observasi.

LAB SETUP
Hal yang harus disiapkan dan dilakukan oleh praktikan untuk menjalankan
praktikum modul ini.

1. Menginstall library yang dibutuhkan untuk mengerjakan modul.


2. Menjalankan R Studio.

Jurusan Teknik Informati ka 69


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

ELEMEN KOMPETENSI I
Deskripsi:
Memahami cara implementasi Analisis Cluster

Kompetensi Dasar:
1. Mampu memahami cara implementasi Analisis Cluster dengan Hierarchical
Cluster, Dendogram, k-mean clustering.

Latihan 1.1.1

Penjelasan Singkat :
Pada latihan ini anda akan diminta untuk menerapkan Analisi Cluster pada
data yang diberikan.

Langkah-Langkah Praktikum:

Dataset 1 : 
observation  Income  Education 
s1  5  5 
s2  6  6 
d.s3  15  14 
s4  16  15 
s5  25  20 
s6  30  19 

Hierarchical Cluster : 
library("readxl") 
#my_data <- read_excel(file.choose(), sheet = "",range = "") 
my_data <- read_excel("E:/Cluster analysis/clusterPage127.xlsx",na
= "-") print(my_data) str(my_data) 
d.euc <- dist(my_data) 
d.sqeuc <- d.euc^2 cluster<- hclust(d =
d.sqeuc, method = "centroid")
library("factoextra") fviz_dend(cluster, cex
= 0.6) 
 
#if(!require(devtools)) install.packages("devtools") 
 #devtools::install_github("kassambara/factoextra") 

Jurusan Teknik Informati ka 70


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Output : 

Dendogram : 

Script k-mean clustering 

> klaster <- kmeans(dataku[, 2:3], 3, nstart = 20) 


> klaster 
> table(klaster$cluster, dataku$X) 
Output : 

Dataset 2 : 
Supplier  DAR  DSR  Quality 
S1  96.81  73.85  100 
S2  99.64  65.79  100 
S3  96.5  71.63  62.86 
S4  99.349  79.38  96.86 
S5  100  88.24  100 
S6  71.4  60.7  71.4 
S7  99.827  84.54  79.43 
S8  99.9  82.98  88 
S9  99.058  95.16  98 
S10  98.1  90.77  81.43 
S11  99.574  79.66  95.14 
S12  99.606  80.4  71.1 

Jurusan Teknik Informati ka 71


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Script k-mean clustering 


dataku=read.delim("clipboard")
data_latih <-dataku[,c(2,3,4)] 
data_latih_matrix <-
as.matrix(scale(data_latih))
library(factoextra) library(NbClust) 
lnb <- NbClust(data_latih, distance = "euclidean", min.nc = 2,max.nc = 8, method

"complete", index ="all") 

km.res=kmeans(data_latih, 3,
nstart=25) km.res library(dplyr) 
fviz_cluster(km.res, data = data_latih, geom = "point",stand = FALSE, frame.type

"norm") fviz_cluster(km.res,
data = data_latih) 

Output : 

Script hierarchical clustering 


dataku2=read.delim("clipboard")
df=scale(dataku2[,2:4]) res.dist <- dist(df,
method = "euclidean") res.hc <- hclust(d
= res.dist, method = "ward.D2")
library("factoextra") fviz_dend(res.hc, cex
= 0.5) 
fviz_dend(res.hc, k = 4, cex = 0.5, k_colors = c("#2E9FDF", "#00AFBB",
"#E7B800", "#F
C4E07"), color_labels_by_k = TRUE, rect = TRUE) 

Output : 

Jurusan Teknik Informati ka 72


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Interpretasi : 

Tugas : 

Diberikan data harga beberapa komoditas berbagai pasar di Jakarta. Lakukan analisis
cluster menggunakan metode hierarchical clustering dan k-means serta
interpretasikan  maknanya. 
 
Pasar  Beras  Jeruk  Minyak 

Pasar Senen Blok III - VI  13000  18000  13000 

Pasar Jembatan Merah  11000  25000  11500 

Pasar Sunter Podomoro  12000  30000  12000 

Pasar Rawa Badak  12000  23000  12000 

Pasar Grogol  11000  25000  11000 

Pasar Minggu  13125  25000  10000 

Pasar Mayestik  12000  20000  13000 

Pasar Pramuka  12000  25000  14000 

Pasar Kramat Jati  11700  25000  12000 

Pasar Jatinegara  11000  22000  12000 

Pasar Perumnas Klender  10900  20000  13000 

Pasar Pulo Gadung  10700  22000  12000 

Pasar Pal Meriam  10000  20000  12000 

Pasar Ciplak  11200  17000  12000 

Pasar Cijantung  11000  23000  12000 

Pasar Cibubur  11500  20000  12500 

Pasar Ujung Menteng  11500  30000  11000 

Jurusan Teknik Informati ka 73


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

Pasar Tanah Abang Blok A-G  11000  25000  12000 

Pasar Petojo Ilir  11000  23000  12000 

Pasar Gondangdia  13000  20000  12000 

Pasar Paseban  12000  20000  11000 

Pasar Cempaka Putih  12000  19000  12000 

Pasar Johar Baru  12000  25000  13000 

Pasar Baru Metro Atom  11500  20000  11000 

Pasar Kebayoran Lama  12500  23000  13000 

Pasar Cipete  10500  25000  12500 

Pasar Pondok Labu  12000  25000  13000 

Pasar Lenteng Agung  11500  28000  11500 

Pasar Mampang Prapatan  13000  17000  12000 

Pasar Tebet Barat  12000  20000  11000 

Pasar Rumput  13000  20000  13000 

Pasar Tomang Barat  13000  24000  12000 

Pasar Pos Pengumben  11400  22000  12000 

Pasar Pal Merah  10800  25000  12000 

Pasar Jembatan Lima  10000  35000  12500 

Pasar Kelapa Gading  12000  25000  12500 

Pasar Pademangan Timur  12000  23000  12000 

Pasar Kalibaru  12000  20000  11000 

Pasar Koja Baru  12000  18000  12500 

Jurusan Teknik Informati ka 74


Fakultas Teknologi Industri – Universitas Trisakti
Modul Praktikum Data Mining

CEK LIST
Elemen Penyelesaian
No Latihan
Kompetensi Selesai Tidak selesai
1 1.1.1
1.1.2

FORM UMPAN BALIK

Waktu
Elemen Kompetensi Tingkat Kesulitan Tingkat Ketertarikan Penyelesaian
dalam menit
Memahami cara      
    Sangat Mudah   Tidak Tertarik  
implementasi Analisa
     
Cluster     Mudah   Cukup Tertarik  
     
    Biasa   Tertarik  

Jurusan Teknik Informati ka 75


Fakultas Teknologi Industri – Universitas Trisakti

Anda mungkin juga menyukai