Klasifikasi Bahan Pangan berdasarkan Kandungan Zat Gizi Bahan Pangan Menggunakan Fuzzy K-Nearest Neighbor

KLASIFIKASI BAHAN PANGAN BERDASARKAN KANDUNGAN
ZAT GIZI BAHAN PANGAN MENGGUNAKAN FUZZY
K-NEAREST NEIGHBOR

ANISAUL MUAWWANAH

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013

PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Klasifikasi Bahan
Pangan berdasarkan Kandungan Zat Gizi Bahan Pangan Menggunakan Fuzzy KNearest Neighbor adalah benar karya saya dengan arahan dari komisi
pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi
mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan
maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan
dicantumkan dalam Daftar Pustaka di bagian akhir disertasi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut

Pertanian Bogor.
Bogor, Juli 2013
Anisaul Muawwanah
NIM G64090088

ABSTRAK
ANISAUL MUAWWANAH. Klasifikasi Bahan Pangan berdasarkan Kandungan
Zat Gizi Bahan Pangan Menggunakan Fuzzy K-Nearest Neighbor. Dibimbing oleh
SRI NURDIATI.
Indeks glikemik merupakan salah satu parameter yang tepat untuk memilih
pangan yang sesuai bagi penderita diabetes. Salah satu kendala dalam penerapan
konsep ini adalah terbatasnya data indeks glikemik pangan yang telah diketahui.
Dengan berbekal pengetahuan mengenai kandungan zat gizi dan proses
pemasakan sebagai faktor yang memengaruhi indeks glikemik, penelitian ini
mengusulkan model klasifikasi bahan pangan berdasarkan kandungan zat gizi
bahan pangan menggunakan algoritme fuzzy k-nearest neighbor. Dari hasil
penelitian diketahui bahwa kondisi data yang tidak seimbang membuat hasil
klasifikasi menjadi kurang optimal. Model hanya mampu mencapai nilai akurasi
sebesar 53.69%. Untuk mengatasi kondisi tersebut maka pada penelitian ini
diterapkan 4 teknik resampling. Penerapan keempat teknik tersebut berhasil

mengatasi kondisi data tidak seimbang. Secara umum teknik random oversampling memiliki kinerja terbaik dengan hasil akurasi sebesar 84.39% pada 1NN. Teknik selanjutnya yang menghasilkan kinerja terbaik adalah SMOTE
dengan nilai akurasi sebesar 73.37% pada 1-NN dan 2-NN.
Kata kunci: data tidak seimbang, fuzzy k-nearest neighbor, indeks glikemik,
resampling

ABSTRACT
ANISAUL MUAWWANAH. Classification of Food Based on Food Nutrients
Using Fuzzy K-Nearest Neighbor. Supervised by SRI NURDIATI.
The concept of glycemic index is an approach to select the right food for
diabetics. One obstacle to implement this concept is the limited amount of known
glycemic index data. With this knowledge about food nutrient and cooking
process as factors that influence the glycemic index, we proposed a model to
classify food based on its nutrients using fuzzy k-nearest neighbor algorithm. The
results revealed that the classifier performance was not optimal because of the
imbalanced data. The best accuracy for this model was only 53.69%. To overcome
imbalanced data condition, we applied 4 different resampling techiques. The
results showed that resampling techniques successfully solved the imbalanced
data problem. In general, random over-sampling technique had the best
performance with an accuracy of 84.39% in 1-NN. The next technique that had
the best performance was synthetic minority over-sampling technique (SMOTE)

with an accuracy of 73.37% in 1-NN and 2-NN.
Keywords: fuzzy k-nearest neighbor, glycemic index, imbalanced data,
resampling

KLASIFIKASI BAHAN PANGAN BERDASARKAN KANDUNGAN
ZAT GIZI BAHAN PANGAN MENGGUNAKAN FUZZY
K-NEAREST NEIGHBOR

ANISAUL MUAWWANAH

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer
pada
Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR

2013

Penguji : 1 Dr Ir Agus Buono, MSi MKom
2 Karlina Khiyarin Nisa, SKom MT

Judul Skripsi : Klasifikasi Bahan Pangan berdasarkan Kandungan Zat Gizi Bahan
Pangan Menggunakan Fuzzy K-Nearest Neighbor
Nama
: Anisaul Muawwanah
NIM
: G64090088

Disetujui oleh

Dr Ir Sri Nurdiati, MSc
Pembimbing

Diketahui oleh

Dr Ir Agus Buono, MSi MKom

Ketua Departemen

Tanggal Lulus:

PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas
segala karunia-Nya sehingga skripsi ini berhasil diselesaikan. Penulis
menyampaikan terima kasih kepada kedua orang tua, yaitu Bapak Teguh Gunadi
dan Ibu Bois Asnawati atas dukungan dan doa yang diberikan kepada penulis.
Selain itu, penulis juga mengucapkan terima kasih kepada:
1 Ibu Dr Ir Sri Nurdiati, MSc selaku dosen pembimbing skripsi
2 Bapak Dr Ir Agus Buono, MSi MKom dan Ibu Karlina Khiyarin Nisa SKom,
MT selaku penguji
3 Para dosen dan seluruh civitas akademik Departemen Ilmu Komputer Institut
Pertanian Bogor
4 Teman-teman yang telah membantu pengerjaan skripsi ini
5 Semua pihak yang telah membantu penulis menyelesaikan skripsi ini.
Semoga karya ilmiah ini bermanfaat.

Bogor, Juli 2013

Anisaul Muawwanah

DAFTAR ISI
DAFTAR TABEL

vi

DAFTAR GAMBAR

vi

DAFTAR LAMPIRAN

vi

PENDAHULUAN

1

Latar Belakang


1

Perumusan Masalah

2

Tujuan Penelitian

2

Manfaat Penelitian

2

Ruang Lingkup Penelitian

3

METODE


3

Identifikasi Masalah

4

Pengumpulan Data

4

Praproses Data

5

Resampling

5

Pembagian Data


6

Klasifikasi Menggunakan FKNN

6

Analisis

9

Spesifikasi Perangkat Lunak

9

HASIL DAN PEMBAHASAN

9

Pengumpulan Data


9

Praproses Data

10

Resampling

10

Pembagian Data

11

Klasifikasi Menggunakan FKNN

11

Analisis


12

SIMPULAN DAN SARAN

16

Simpulan

16

Saran

17

DAFTAR PUSTAKA

17

LAMPIRAN

19

RIWAYAT HIDUP

29

DAFTAR TABEL
1
2
3
4
5
6

Contoh data komposisi bahan pangan (USDA 2012)
Contoh data indeks glikemik pangan (Mendosa 2008)
Confusion matrix dengan dua kelas
Pengkodean data kategorik menjadi data nominal
Perbandingan banyak data asli dan data hasil resampling
Hasil akurasi rata-rata dalam satuan persen

4
4
8
10
10
11

DAFTAR GAMBAR
1
2
3
4
5
6
7

Metodologi penelitian
Grafik hasil akurasi
Grafik hasil precision (kiri) dan recall (kanan)
Grafik f-measure
Grafik distribusi normal kandungan protein pada kelas GI berbeda
Grafik distribusi normal kandungan serat pada kelas GI berbeda
Grafik distribusi normal kandungan lemak pada kelas GI berbeda

3
12
13
13
15
16
16

DAFTAR LAMPIRAN
1 Nilai rata-rata precision, recall, dan f-measure setiap kelas pada nilai k
1 sampai 5
2 Contoh data hasil tahap praproses data (data asli)
3 Data hasil proses random under-sampling
4 Data hasil proses k-means based under-sampling
5 Contoh data hasil proses random over-sampling
6 Contoh data hasil proses SMOTE

19
20
21
24
27
28

PENDAHULUAN
Latar Belakang
Diabetes merupakan salah satu penyakit yang memiliki tingkat kematian
tertinggi di dunia. Setiap tahun terjadi sekitar 3.2 juta kematian di seluruh dunia
akibat penyakit ini. Dengan kata lain setiap hari terjadi sekitar 8700 kematian
akibat diabetes. Jumlah tersebut diperkirakan akan terus meningkat sejalan dengan
pertambahan penderita diabetes setiap tahun. Pada tahun 2000 tercatat sekitar 171
juta penderita diabetes di seluruh dunia dan WHO memperkirakan jumlah tersebut
akan meningkat menjadi lebih dari dua kali lipatnya pada tahun 2030 (WHO
2004). Indonesia menempati peringkat keempat dalam daftar negara dengan
tingkat penderita diabetes terbanyak di dunia pada tahun 2000. Saat itu Indonesia
memiliki 8.4 juta penderita dan diperkirakan akan memiliki 21.3 juta penderita
pada tahun 2030 (Wild et al. 2004).
Salah satu penyebab penyakit diabetes adalah konsumsi zat gizi yang tidak
seimbang, khususnya kelebihan asupan karbohidrat. Kelebihan asupan karbohidrat
berkaitan dengan kemampuan tubuh dalam mengolah karbohidrat. Pada kasus ini
tubuh akan meningkatkan sekresi (pengeluaran) insulin untuk mengimbangi
banyaknya karbohidrat. Insulin akan berupaya menjaga kadar glukosa darah pada
batas normal. Namun bila kondisi kelebihan karbohidrat tersebut berlangsung
lama, insulin tidak mampu lagi melaksanakan fungsinya sehingga kadar glukosa
darah tinggi. Kondisi kadar gula darah tinggi inilah yang menjadi masalah utama
bagi penderita diabetes. Selain kondisi kadar gula darah tinggi, peningkatan kadar
gula darah secara drastis merupakan masalah lain yang kerap dihadapi penderita
diabetes. Kondisi ketika kadar gula darah meningkat secara drastis
(hiperglikemik) sedapat mungkin harus dihindari karena dapat berakibat fatal pada
kondisi kesehatannya.
Salah satu solusi untuk mengendalikan kadar gula darah adalah dengan
melakukan pengaturan pola makan. Memilih pangan yang tidak menaikkan kadar
gula darah secara drastis merupakan salah satu upaya untuk menjaga kadar gula
darah tetap normal. Salah satu pendekatan dalam memilih pangan yang tepat
adalah pendekatan indeks glikemik. Secara sederhana, indeks glikemik
menggambarkan respon gula darah setelah mengonsumsi suatu pangan
(Rimbawan dan Siagian 2005). Semakin besar nilai indeks glikemik suatu pangan
berarti pangan tersebut semakin cepat meningkatkan kadar glukosa darah. Konsep
indeks glikemik menekankan pentingnya mengenal pangan berdasarkan
kecepatannya menaikkan kadar gula darah. Pada konsep ini, pemilihan pangan
fokus pada pemilihan pangan berindeks glikemik rendah untuk memenuhi
sebagian besar sumber karbohidrat yang dibutuhkan. Bahan pangan dengan indeks
glikemik rendah diketahui menaikkan kadar gula darah dengan lambat sehingga
kondisi peningkatan kadar gula darah secara drastis dapat dihindari. Hal ini
membantu penderita diabetes meminimalkan risiko terkena kondisi hiperglikemik.
Penerapan konsep ini juga bisa diterapkan pada penderita obesitas dan
olahragawan yang konsumsi makanannya sangat tergantung pada sumber
karbohidrat.

2
Indeks glikemik bahan pangan dipengaruhi beberapa faktor seperti
kandungan zat gizi dan proses pemasakan bahan pangan. Dari hasil uji
laboratorium diketahui bahwa kandungan protein dan serat memiliki pengaruh
yang berbanding terbalik dengan indeks glikemik bahan pangan (Trout et al.
1993). Hal yang sama juga berlaku pada pengaruh kandungan lemak pada indeks
glikemik. Semakin rendah kandungan lemak suatu bahan pangan cenderung
membuat indeks glikemiknya semakin tinggi (Wolever 1990). Sebaliknya, proses
pemasakan yang terjadi pada bahan pangan justru memiliki efek positif terhadap
indeks glikemik. Semakin rumit proses yang dilakukan, semakin tinggi pula
indeks glikemik yang akan dihasilkan (Brand et al. 1985).
Salah satu kendala penerapan konsep indeks glikemik adalah belum
lengkapnya data indeks glikemik bahan pangan, khususnya bahan pangan
Indonesia. Upaya untuk melengkapi data indeks glikemik bahan pangan hingga
saat ini masih terus dilakukan. Akan tetapi penelitian di bidang ini membutuhkan
waktu yang cukup lama dan biaya yang cukup besar. Oleh sebab itu, berbekal
pengetahuan yang ada mengenai indeks glikemik dan faktor-faktor yang
memengaruhinya, pada penelitian ini akan dibuat suatu model untuk
mengklasifikasikan bahan pangan berdasarkan kandungan zat gizi bahan pangan
menggunakan algoritme fuzzy k-nearest neighbor (FKNN). Algoritme ini dipilih
karena mampu menghasilkan akurasi yang baik dengan proses perhitungan yang
sederhana. Nilai akurasi yang dihasilkan pun lebih baik dari nilai akurasi
algoritme KNN biasa. Selain itu, kesalahan klasifikasi pada kelas yang memiliki
nilai membership function besar sangat jarang terjadi (Keller et al. 1985).

Perumusan Masalah
Perumusan masalah pada penelitian ini adalah bagaimana membuat model
yang mampu mengklasifikasikan bahan pangan menurut kandungan zat gizi bahan
pangan menggunakan algoritme FKNN.

Tujuan Penelitian
Tujuan dari penelitian ini adalah membangun sebuah model yang mampu
mengklasifikasikan bahan pangan menurut kandungan zat gizi bahan pangan
menggunakan algoritme FKNN.

Manfaat Penelitian
1
2
3

Manfaat dari penelitian ini adalah sebagai berikut:
Memudahkan prediksi status indeks glikemik pangan.
Membantu pemilihan sumber karbohidrat yang cocok bagi penderita diabetes.
Membantu penyusunan menu makanan sesuai konsep indeks glikemik untuk
penderita diabetes, obesitas, dan olahragawan.

3
Ruang Lingkup Penelitian
1
2
3

4

Ruang lingkup pada penelitian ini adalah sebagai berikut:
Penelitian ini difokuskan pada proses pembuatan model untuk klasifikasi
bahan pangan menurut kandungan zat gizi bahan pangan.
Data yang digunakan meliputi data komposisi bahan pangan dan status indeks
glikemik bahan pangan.
Zat gizi yang dilibatkan dalam penelitian ini adalah karbohidrat, protein,
lemak, dan serat. Selain itu, proses pemasakan bahan pangan juga dilibatkan
dalam penelitian ini.
Teknik yang digunakan adalah teknik FKNN.

METODE
Penelitian ini dilakukan dalam beberapa tahap seperti yang terlihat pada
Gambar 1. Secara umum metodologi penelitian ini terdiri atas identifikasi masalah,

Gambar 1 Metodologi penelitian

4
pengumpulan data, praproses data, resampling, pembagian data, klasifikasi
menggunakan FKNN, dan analisis hasil klasifikasi.

Identifikasi Masalah
Tahap ini meliputi tahap pemilihan dan identifikasi masalah dan tujuan.
Masalah dalam penelitian ini ialah belum tersedianya data yang lengkap terkait
indeks glikemik bahan pangan sehingga tidak semua bahan pangan dapat
diketahui nilai indeks glikemiknya. Salah satu solusi dari masalah tersebut adalah
pembuatan model klasifikasi terhadap status indeks glikemik bahan pangan
berdasarkan kandungan zat gizi bahan pangan. Model yang dihasilkan diharapkan
dapat membantu proses prediksi status bahan pangan untuk bahan pangan yang
belum diketahui nilai indeks glikemiknya.

Pengumpulan Data
Data yang digunakan dalam penelitian ini meliputi daftar komposisi pangan
dan tabel indeks glikemik bahan pangan. Daftar komposisi pangan yang
digunakan merupakan data sekunder yang diadopsi dari USDA National Nutrient
Database for Standard Reference (USDA 2012). Daftar ini memuat kandungan
energi dan beberapa zat gizi, seperi karbohidrat, protein, lemak, kalsium, fosfor,
besi, vitamin A, vitamin B1, vitamin C, serat, serta kandungan air dari beberapa
pangan. Adapun contoh komposisi pangan dapat dilihat pada Tabel 1.
Tabel indeks glikemik bahan pangan memuat kandungan indeks glikemik
dan nilai beban glikemik dari berbagai jenis pangan yang banyak dijumpai di
beberapa negara. Daftar ini diadopsi dari Revised International Table of Glycemic
Index and Glycemic Load Values: 2008 (Mendosa 2008). Tabel tersebut berisi
nilai indeks glikemik (GI) dan beban glikemik (GL) pangan, seperti yang terdapat
pada Tabel 2. Indeks glikemik dalam daftar tersebut dinyatakan dalam ukuran 50
Tabel 1 Contoh data komposisi bahan pangan (USDA 2012)
Pangan
Pisang
Bit
Blueberry
Wortel

Karbohidrat
(gr)
47.50
19.45
46.06
17.72

Lemak
(gr)
3.10
0.30
0.10
0.14

Protein
(gr)
8.70
6.65
4.29
1.37

Serat
(gr)
6.5
6.0
7.9
2.5

Energi
(kkal)
250
105
198
76

Tabel 2 Contoh data indeks glikemik pangan (Mendosa 2008)
Food
Pea, froze, boiled
Pea, green
Pumpkin
Strawberry, fresh, raw

Glycemic Index
39
51
75
40

Glycemic Load
2.7
3.6
3.0
1.2

5
gram karbohidrat. Pangan yang terdaftar meliputi bahan pangan dan olahan bahan
pangan dengan berbagai varietas dan proses pemasakan. Indeks glikemik adalah
nilai yang menyatakan seberapa cepat peningkatan kadar gula darah setelah
mengonsumsi suatu bahan pangan. Semakin besar nilai GI dari suatu bahan
pangan menandakan semakin cepat kenaikan gula darah dapat terjadi. Adapun
beban glikemik menyatakan kandungan glukosa dalam penyajian suatu bahan
pangan. Semakin besar nilai GL menandakan semakin banyak glukosa yang
terkandung dalam suatu bahan pangan (Mendosa 2008).

Praproses Data
Pada penelitian ini, data yang tersedia memiliki dua jenis atribut, yaitu
atribut numerik dan kategorik. Untuk memudahkan proses klasifikasi, atribut
dengan tipe kategorik diubah menjadi atribut nominal dengan cara kodifikasi.
Tahap selanjutnya adalah konversi kandungan lemak, protein, dan serat agar
sebanding dengan indeks glikemik. Konversi kandungan lemak, protein, dan serat
dilakukan dalam ukuran 50 gram karbohidrat. Tahap berikutnya dari praproses
data meliputi proses pembersihan data dan normalisasi. Proses pembersihan data
terdiri dari proses penghapusan missing value. Selanjutnya, data yang sudah
bersih dinormalisasi untuk menyamakan range dari data. Normalisasi dilakukan
untuk mencegah dominasi salah satu atribut ketika proses klasifikasi. Pada
penelitian ini diterapkan min-max normalization dengan formulasi sebagai berikut
(Larose 2005):
n
a
dengan
x*
x
min(x)
max(x)

n

: nilai hasil proses normalisasi
: nilai sebelum normalisasi
: nilai minimum dari suatu atribut
: nilai maksimum dari suatu atribut

Resampling
Proses resampling dilakukan sebagai upaya mengatasi kondisi data yang
tidak seimbang. Data yang tidak seimbang ditandai dengan tidak samanya sebaran
data setiap kelas. Resampling merupakan teknik menyelesaikan masalah data
tidak seimbang dengan pendekatan data. Metode resampling yang digunakan
terdiri atas under-sampling dan over-sampling. Pada penelitian ini digunakan 2
jenis metode under-sampling, yaitu random under-sampling dan k-means based
under-sampling, dan 2 jenis metode over-sampling, yaitu random over-sampling
dan synthetic minority over-sampling technique (SMOTE).
Metode under-sampling akan menghapus beberapa data pada kelas
mayoritas sampai banyak anggota kelas mayoritas sama dengan kelas minoritas.
Pada random under-sampling, pemilihan anggota kelas mayoritas yang akan
dihapus dilakukan secara acak (Liao 2008). Sementara itu, pada k-means based

6
under-sampling diterapkan algoritme k-means clustering pada data. Selanjutnya,
dipilih beberapa data dari setiap cluster yang dihasilkan. Data pilihan tersebut
kemudian digunakan untuk menggantikan kelas mayoritas (Cohen et al. 2006).
Adapun untuk menentukan banyak data yang harus diambil dari setiap cluster
dapat menggunakan rumus berikut:
n

a

dengan
Ci
: banyak data yang harus diambil dari cluster ke-i
Nmin : banyak data pada kelas minoritas
Nmax : banyak data pada kelas mayoritas
Ni
: banyak data pada cluster ke-i
n
: banyak cluster
Metode over-sampling menambahkan beberapa data pada kelas minoritas
sampai banyak anggota kelas minoritas sama dengan kelas mayoritas. Serupa
dengan random under-sampling, metode random over-sampling secara acak
memilih beberapa anggota kelas minoritas untuk ditambahkan pada kelas itu
sendiri (Liao 2008). Berbeda dengan random over-sampling yang menduplikasi
anggota kelas minoritas secara acak, SMOTE membangkitkan data buatan
berdasarkan konsep tetangga terdekat. Langkah pertama yang harus dilakukan
pada metode ini ialah mencari 5 tetangga terdekat dari setiap anggota kelas
minoritas. Selanjutnya dari data tetangga tersebut akan dibangkitkan data buatan.
Proses membangkitkan data buatan dimulai dengan memilih secara acak beberapa
tetangga terdekat dari suatu anggota kelas minoritas. Selanjutnya, perbedaan
antara anggota kelas minoritas dengan tetangganya dihitung dan dikalikan dengan
suatu bilangan acak dari 0 sampai 1. Hasil perkalian tersebut kemudian
dijumlahkan dengan anggota kelas minoritas. Hasil penjumlahan tersebut
merupakan data buatan yang akan digabungkan pada kelas minoritas (Chawla et
al. 2002).

Pembagian Data
Proses pembagian data akan menggunakan k-fold cross validation. K-fold
cross validation dilakukan untuk membagi data latih dan data uji secara acak
menjadi k subset. Dari k subset tersebut, sebanyak k-1 subset akan berperan
sebagai data latih dan 1 subset akan berperan sebagai data uji. Peran sebagai
subset selanjutnya akan dilaksanakan bergantian sehingga setiap subset pernah
berperan sebagai data uji.

Klasifikasi Menggunakan FKNN
Pada tahap ini akan dikembangkan model klasifikasi terhadap masalah yang
dihadapi menggunakan algoritme FKNN. FKNN merupakan algoritme
pengembangan dari algoritme KNN. Perbedaan kedua algoritme ini terletak pada
penggunaan konsep logika fuzzy untuk menentukan derajat keanggotaan setiap

7
kelas yang berbeda berdasarkan jarak yang didapatkan dari hasil perhitungan
KNN. Inti dari algoritme FKNN adalah memberikan derajat keanggotaan sebagai
fungsi dari jarak data uji ke tetangga terdekatnya dan kelas yang mungkin (Keller
et al. 1985).
Langkah pertama yang harus dilakukan dalam proses FKNN adalah
menghitung jarak dari objek yang akan diuji ke setiap objek yang ada pada data
latih. Pada penelitian ini digunakan dua jenis atribut, yaitu atribut numerik dan
atribut nominal. Oleh sebab itu, jarak yang digunakan pada proses FKNN
merupakan hasil penjumlahan antara jarak numerik diboboti dan jarak nominal
diboboti. Perhitungan jarak numerik dari objek yang akan diuji terhadap suatu
objek pada data latih dicerminkan pada persamaan berikut:
n
nu

dengan
x : objek yang akan diuji
y : objek pada data latih
xi : nilai atribut numerik ke-i pada objek x
yi : nilai atribut numerik ke-i pada objek y
n : banyak atribut numerik
Adapun perhitungan jarak nominalnya dapat dicerminkan pada persamaan
berikut:
n

n

n

dengan
x
: objek yang akan diuji
y
: objek pada data latih
xnom : nilai atribut nominal pada objek x
ynom : nilai atribut nominal pada objek y
Jarak yang didapatkan dari kedua perhitungan tersebut selanjutnya diberi bobot
dan dijumlahkan untuk mendapatkan total jarak menggunakan rumus berikut
(Teknomo 2006):
wn
dengan
x
y
Sxy
wnom
wnum
dnom(x, y)
dnum(x, y)

n

wn

wnu
wnu

nu

: objek yang akan diuji
: objek pada data latih
: total jarak dari objek x terhadap objek y
: bobot untuk jarak nominal
: bobot untuk jarak numerik
: jarak nominal dari objek x terhadap objek y
: jarak numerik dari objek x terhadap objek y

Pembobotan dilakukan agar tidak ada salah satu jenis atribut yang lebih
mendominasi dibanding jenis atribut lainnya. Pada penelitian ini, jarak nominal

8
akan diberi bobot 0.5 dan jarak numerik diberi bobot 1 (Nurjayanti 2011). Hal ini
dilakukan agar atribut nominal tidak terlalu mendominasi hasil perhitungan.
Setelah didapatkan nilai total jarak, perhitungan menurut konsep FKNN
mulai dilakukan. Untuk mendapatkan derajat keanggotaan dari suatu objek yang
akan diuji digunakan fungsi berikut (Keller et al. 1985):
u

u

u
dengan
x
yk
c
uc(x)
uc(x, yk)
K
m

: objek yang akan diuji
: tetangga terdekat ke-k dari objek x
: kelas ke-c
: derajat keanggotaan objek x pada kelas ke-c
: derajat keanggotaan objek x pada kelas ke-c dipengaruhi oleh objek yk
: banyak tetangga terdekat yang akan diperhitungkan
: jarak dari objek x terhadap objek yk
: bobot untuk pengaruh jarak pada derajat keanggotaan

Setelah didapatkan nilai derajat keanggotaan dari setiap kelas, nilai-nilai tersebut
dibandingkan dan diambil nilai terbesar sebagai acuan pemilihan kelas. Pada
akhirnya data uji akan dimasukkan ke kelas dengan nilai derajat keanggotaan
terbesar.
Model yang telah dibangun selanjutnya diuji menggunakan data uji yang
hasil dari tahap pembagian data. Pengujian ini dilakukan untuk mengetahui
akurasi dan efektifitas model yang telah dibangun. Pengujian dilakukan pada k = 1
(1-NN) sampai k = 5 (5-NN). Pengukuran kinerja algoritme akan dilakukan
menggunakan confusion matrix yang ditampilkan pada Tabel 3.
Confusion matrix selanjutnya digunakan untuk menghitung nilai beberapa
kriteria evaluasi berikut:
 Akurasi merupakan proporsi jumlah prediksi yang tepat. Akurasi dinyatakan
dalam persamaan berikut (Maning et al. 2008):



Precision merupakan proporsi dari data kelas positif yang berhasil diprediksi
dengan benar dari keseluruhan hasil prediksi kelas positif. Precision
Tabel 3 Confusion matrix dengan dua kelas
Aktual
Positif
Negatif

Positif
TP
FP

Prediksi
Negatif
FN
TN

9
dinyatakan sebagai berikut (Maning et al. 2008):
s n


Recall merupakan proporsi dari hasil prediksi kelas positif yang benar dari
seluruh data kelas positif. Recall dinyatakan dalam persamaan berikut
(Maning et al. 2008):
all



F-measure merupakan kriteria evaluasi yang menggabungkan nilai precision
dan recall ke dalam satu nilai. Nilai f-measure dapat dihitung menggunakan
rumus berikut (Maning et al. 2008):
asu

all
all

s n
s n

Analisis
Hasil dari proses klasifikasi akan dianalisis di tahap ini. Beberapa hal yang
akan dianalisis antara lain kinerja algoritme FKNN secara umum, pengaruh data
tidak seimbang pada hasil klasifikasi, dan pengaruh teknik resampling terhadap
hasil klasifikasi. Selain itu, pada tahap ini juga akan diajukan model terbaik untuk
klasifikasi data baru.

Spesifikasi Perangkat Lunak
Perangkat lunak yang digunakan dalam penelitian ini adalah Matlab 7.7.0
(R2008b) dan Microsoft Office Excel 2007. Kedua perangkat lunak tersebut
digunakan dalam proses praproses data sampai klasifikasi FKNN.

HASIL DAN PEMBAHASAN
Pengumpulan Data
Daftar komposisi pangan dan indeks glikemik digabungkan sehingga
didapatkan 213 data irisan, meliputi 124 data GI rendah, 51 data GI sedang, dan
38 data GI tinggi. Parameter yang digunakan meliputi 4 buah ciri, yaitu
kandungan lemak, protein, serat, dan proses pemasakan. Lemak, protein, dan serat
merupakan data numerik, sedangkan proses pemasakan merupakan data bertipe
kategorik.

10
Tabel 4 Pengkodean data kategorik
menjadi data nominal
Proses pemasakan
Tanpa diolah
Jus
Direbus
Dikeringkan
Dipanggang
Digoreng
Dicampur
Dikukus
Makanan kalengan

Kode
1
2
3
4
5
6
7
8
9

Tabel 5 Perbandingan banyak data asli dan data hasil resampling
Set
data
Data 1
Data 2
Data 3
Data 4
Data 5

Teknik resampling
Random under-sampling
k-means based undersampling
Random over-sampling
SMOTE

Banyak anggota
GI rendah GI sedang GI tinggi
111
50
35
35
35
35

Banyak
data
196
105

35

35

35

105

111
111

111
111

111
111

333
333

Praproses Data
Pengkodean data kategorik menjadi data nominal dapat dilihat pada Tabel 4.
Selanjutnya dilakukan normalisasi pada data bertipe numerik menggunakan minmax normalization. Setelah melalui seluruh tahapan praproses data, didapatkan
196 data pangan, meliputi 111 data GI rendah, 50 data GI sedang, dan 35 data GI
tinggi. Data ini selanjutnya akan disebut sebagai data 1.

Resampling
Pada penelitian ini ditemukan bahwa data yang digunakan (data 1)
merupakan data tidak seimbang dengan sebuah kelas mayoritas (kelas GI rendah)
dan dua buah kelas minoritas (kelas GI sedang dan tinggi). Oleh sebab itu, untuk
mengatasi kondisi data yang tidak seimbang dilakukan proses resampling. Proses
under-sampling dilakukan sampai banyak data setiap kelas sama dengan banyak
data pada kelas GI tinggi. Sebaliknya, over-sampling dilakukan sampai banyak
data setiap kelas sama dengan banyak data pada kelas GI rendah. Adapun
perbandingan banyak data pada data asli dan data hasil resampling dapat dilihat
pada Tabel 5.

11
Pembagian Data
Pembagian data dilakukan menggunakan teknik 10-fold cross validation
agar data latih untuk setiap k mendekati data aslinya. Setiap set data akan dibagi
menjadi 10 subset dengan 9 subset berperan sebagai data latih dan 1 subset
berperan sebagai data uji. Data uji akan diperankan secara bergantian oleh setiap
subset. Oleh sebab itu, untuk setiap set data akan memiliki 10 paket data latih dan
data uji.

Klasifikasi Menggunakan FKNN
Model klasifikasi dibuat dengan nilai m = 2. Selanjutnya, pengujian
dilakukan menggunakan data latih dan data uji hasil proses pembagian data.
Untuk setiap set data dilakukan pengujian sebanyak 3 kali ulangan. Dengan kata
lain, proses pembagian data perlu dilakukan sebanyak 3 kali. Hasil uji dari ketiga
ulangan tersebut selanjutnya dihitung rataannya untuk mendapatkan hasil uji
keseluruhan. Pada Tabel 6 disajikan akurasi rata-rata yang didapatkan untuk
masing-masing set data dan k tetangga terdekat.
Dari Tabel 6 diketahui bahwa nilai akurasi untuk data 1 hanya mampu
mencapai akurasi tertinggi sebesar 53.69% pada 5-NN. Penerapan teknik random
under-sampling pada data menyebabkan terjadinya penurunan akurasi.
Penggunaan data 2 hanya mampu menghasilkan nilai akurasi antara 45-47%,
dengan nilai akurasi tertinggi dicapai pada 1-NN dan 2-NN sebesar 47.48%.
Teknik resampling berikutnya yang diterapkan adalah teknik k-means based
under-sampling yang menghasilkan data 3. Penggunaan data 3 juga menyebabkan
terjadinya penurunan nilai akurasi. Data tersebut menghasilkan nilai akurasi
tertinggi sebesar 46.82% pada 1-NN dan 2-NN. Selain teknik under-sampling,
penelitian ini menerapkan teknik over-sampling yang menghasilkan data 4 dan
data 5. Data 4 mampu mencapai nilai akurasi 84.39% pada 1-NN. Data 5
menghasilkan nilai akurasi terbaik sebesar 73.37%. Dari hasil tersebut dapat
diketahui bahwa secara umum nilai akurasi terbesar dihasilkan oleh data 4 untuk
1-NN, yaitu sebesar 84.39%. Sementara itu, nilai akurasi terkecil dihasilkan oleh
data 3 untuk 3-NN, yaitu sebesar 44.30%.
Dari hasil perhitungan menggunakan confusion matrix diketahui bahwa
secara umum nilai precision dan recall terbaik untuk setiap kelas didapatkan
ketika menggunakan data 4. Kelas GI tinggi mencapai nilai precision dan recall
Tabel 6 Hasil akurasi rata-rata dalam satuan persen
Set data
Data 1
Data 2
Data 3
Data 4
Data 5

1

2

k
3

52.54
47.48
46.82
84.39
73.37

52.54
47.48
46.82
81.98
73.37

53.35
46.91
44.30
78.38
72.77

4

5

53.35
45.91
45.58
76.68
72.88

53.69
44.67
45.85
75.97
73.07

12
terbaik pada 1-NN dengan nilai 84.99% dan 97.18%. Serupa dengan kelas GI
tinggi, kelas GI sedang mencapai nilai precision dan recall terbaik pada 1-NN
dengan nilai 81.93% dan 87.69%. Sama halnya dengan kedua kelas sebelumnya,
kelas GI rendah mencapai nilai precision terbaik ketika menggunakan data 4 pada
1-NN dengan nilai 88.37%. Berbeda dengan recall pada 2 kelas sebelumnya,
recall terbaik pada kelas GI rendah dicapai data 1 pada 3-NN dengan nilai 72.12%.
Selain nilai precision dan recall, penelitian ini juga menghitung nilai fmeasure untuk mengetahui kinerja FKNN. Ketiga kelas mencapai nilai f-measure
terbaik ketika menggunakan data 4 pada 1-NN. Nilai f-measure terbesar diperoleh
kelas GI tinggi (90.17%) serta disusul oleh kelas GI sedang (83.88%) dan rendah
(75.58%). Sementara itu, f-measure terkecil untuk kelas GI sedang dan tinggi
diperoleh data 1 dengan nilai 36.90% dan 39.07%. Nilai tersebut dicapai kelas GI
sedang pada 5-NN dan GI tinggi pada 1-NN dan 2-NN. Adapun f-measure
terkecil untuk kelas GI rendah dicapai data 2 pada 1-NN dan 2-NN dengan nilai
53.89%.

Analisis
Gambar 2 menyajikan grafik akurasi yang diperoleh untuk setiap set data
dan k tetangga terdekat. Dari grafik tersebut dapat diketahui bahwa pada
penelitian ini akurasi data 1 tidak besar, namun mampu melebihi nilai 50%. Selain
itu, pada Gambar 3 dan Gambar 4 ditunjukkan bahwa nilai precision, recall, dan
f-measure kelas GI sedang dan tinggi jauh lebih kecil dari kelas GI rendah. Ketiga
hasil evaluasi menunjukkan bahwa kelas GI rendah mendominasi proses
100
90
80

Akurasi (%)

70
60
50
40
30
20
10
0
data 1

k=1

data 2

k=2

data 3 data 4
Set Data
k=3

k=4

data 5

k=5

Gambar 2 Grafik hasil akurasi

13
klasifikasi. Dengan kata lain, sebuah data akan cenderung diklasifikasi ke kelas GI
rendah daripada ke 2 kelas lainnya. Kondisi ini dicurigai terjadi karena jumlah
data yang tidak seimbang. Oleh sebab itu, penelitian ini menerapkan beberapa
teknik resampling untuk mengatasi masalah data tidak seimbang dan
meningkatkan akurasi hasil klasifikasi.
Dari grafik pada Gambar 2 terlihat bahwa nilai akurasi pada data 2 dan 3
lebih rendah bila dibandingkan dengan akurasi data 1. Kedua data tersebut
menunjukkan bahwa data hasil teknik under-sampling tidak berhasil
meningkatkan nilai akurasi. Di sisi lain, nilai akurasi meningkat pada data yang
menerapkan teknik over-sampling, yaitu data 4 dan 5. Nilai akurasi terbesar
dicapai oleh data 4 yang menerapkan teknik random over-sampling.
Meskipun terjadi penurunan akurasi pada data 2 dan 3, kedua data tersebut
meningkatkan nilai f-measure dari kelas GI sedang dan tinggi. Di sisi lain, kelas

Gambar 3 Grafik hasil precision (kiri) dan recall (kanan)

Gambar 4 Grafik f-measure

14
GI rendah pada kedua data tersebut mengalami penurunan nilai precision, recall,
dan f-measure. Kondisi ini terjadi akibat penerapan teknik under-sampling.
Teknik ini menghapus beberapa anggota kelas mayoritas sehingga beberapa
informasi dari kelas tersebut hilang.
Secara keseluruhan, hasil terbaik untuk seluruh kriteria evaluasi diperoleh
ketika menggunakan data 4. Hal ini dipengaruhi teknik resampling yang
digunakan, yaitu teknik random over-sampling. Pada teknik ini, data asli akan
diduplikasi secara acak sehingga menghasilkan data baru. Oleh sebab itu, terdapat
kemungkinan bahwa FKNN membandingkan data uji yang digunakan dengan
duplikat dari data tersebut. Kondisi ini dikhawatirkan dapat mengakibatkan hasil
yang kurang akurat jika data 4 digunakan untuk klasifikasi data baru.
Data berikutnya yang juga memiliki hasil evaluasi cukup besar adalah data
5. Meskipun peningkatan hasil evaluasi yang dihasilkan tidak sebesar pada data 4,
secara umum data 5 memberikan hasil yang baik. Pada Gambar 3 dan Gambar 4
ditunjukkan bahwa nilai precision, recall, dan f-measure yang dihasilkan data 5
meningkat sekitar 2 kali lipat kecuali pada kelas GI rendah. Pada kelas GI rendah,
data 5 mengalami kenaikan nilai precision sekitar 7% dan penurunan nilai recall
sekitar 8%. Hal ini disebabkan teknik resampling yang diterapkan, yaitu SMOTE.
SMOTE menambahkan anggota kelas minoritas dengan membangkitkan data
buatan dari tetangga yang saling berdekatan. Dengan cara tersebut, wilayah dari
kelas minoritas menjadi lebih luas sehingga meningkatkan kemungkinan
klasifikasi suatu data ke dalam kelas minoritas. Penurunan nilai precision, recall,
dan f-measure kelas GI rendah juga dapat disebabkan oleh meluasnya wilayah
dari kelas GI sedang dan tinggi. Penggunaan SMOTE juga menurunkan
kemungkinan terjadinya duplikasi data seperti yang terjadi pada teknik random
over-sampling. Dengan teknik ini diharapkan hasil klasifikasi data baru lebih
akurat bila dibandingkan dengan teknik random over-sampling.
Meskipun secara umum teknik resampling berhasil meningkatkan kinerja
FKNN dan memperbaiki dominasi kelas mayoritas, hasil klasifikasi masih belum
optimal. Hal ini diduga disebabkan oleh banyak data yang belum memenuhi
kebutuhan. Pada kasus klasifikasi data tidak seimbang, banyak data yang
digunakan menjadi salah satu faktor penentu keberhasilan klasifikasi. Semakin
banyak data yang digunakan maka tingkat error yang dihasilkan akan semakin
menurun. Bahkan jika ukuran data yang digunakan besar, kondisi data yang tidak
seimbang tidak akan berpengaruh besar pada hasil klasifikasi (Sun et al. 2006).
Gambar 5, Gambar 6, dan Gambar 7 menyajikan grafik distribusi normal
untuk kandungan protein, serat, dan lemak dari data 1 pada kelas GI berbeda. Dari
Gambar 5 dapat diketahui bahwa kandungan protein tidak memisahkan ketiga
kelas dengan baik. Ketiga grafik tersebut berhimpit antara satu dengan yang lain.
Kelas GI tinggi dan sedang terpusat pada kadar protein rendah. Sementara itu,
kelas GI rendah memiliki jangkauan yang lebih luas dari kedua kelas lainnya,
yaitu meliputi kadar protein rendah hingga kadar protein tinggi. Dari grafik
tersebut terlihat bahwa semakin besar kadar protein suatu pangan maka semakin
besar pula peluang pangan tersebut memasuki kelas GI rendah. Sebaliknya,
semakin rendah kandungan protein dalam suatu pangan maka semakin besar pula
kemungkinan bahwa pangan tersebut memiliki GI tinggi.
Kondisi serupa ditemui pada pengaruh kandungan serat terhadap GI suatu
pangan. Dari Gambar 6 diketahui bahwa kandungan serat tidak mampu

15

Gambar 5 Grafik distribusi normal kandungan protein pada kelas GI berbeda
memisahkan ketiga kelas GI dengan baik. Selain itu, diketahui bahwa semakin
besar kandungan serat dalam suatu pangan, semakin besar pula peluang pangan
tersebut dikelompokkan dalam kelas GI rendah. Oleh sebab itu, pangan dengan
kandungan serat rendah akan cenderung dikelompokkan dalam kelas GI tinggi.
Kandungan lemak juga tidak mampu memisahkan ketiga kelas GI dengan
baik, seperti yang tampak pada Gambar 7. Serupa dengan pengaruh kandungan
protein dan serat tinggi pada GI suatu pangan, kandungan lemak tinggi juga
membuat suatu pangan berpotensi lebih besar untuk memiliki GI rendah. Akan
tetapi, hal serupa tidak terjadi pada pangan dengan kandungan lemak rendah.
Berbeda dengan kandungan protein dan serat rendah yang berpotensi besar
menyebabkan pangan memiliki GI tinggi, kandungan lemak rendah justru
berpotensi besar menyebabkan pangan memiliki GI sedang. Hal ini bertentangan
dengan teori yang menyatakan bahwa semakin rendah kandungan lemak suatu
pangan maka semakin besar nilai GI dari pangan tersebut. Kondisi ini diduga
terjadi karena pengaruh kandungan zat gizi lainnya dan proses pemasakan yang
dilakukan pada pangan.
Kandungan protein, lemak, dan serat ternyata belum mampu memisahkan
ketiga kelas dengan sempurna. Grafik yang dihasilkan masing-masing zat gizi
berhimpit antara satu kelas dengan kelas lainnya. Ketiga grafik berhimpit pada
kandungan zat gizi sedang dan rendah. Kondisi ini mengakibatkan rentan
terjadinya kesalahan klasifikasi pada kandungan protein, serat, dan lemak rendah
dan sedang. Hal ini diduga merupakan penyebab rendahnya nilai akurasi pada
hasil klasifikasi menggunakan data 1.

16

Gambar 6 Grafik distribusi normal kandungan serat pada kelas GI
berbeda

Gambar 7 Grafik distribusi normal kandungan lemak pada kelas GI
berbeda

SIMPULAN DAN SARAN
Simpulan
Penelitian ini telah berhasil menerapkan algoritme FKNN dalam proses
klasifikasi bahan pangan berdasarkan kandungan zat gizi bahan pangan. Model
klasifikasi yang menggunakan data asli ternyata belum mampu memberikan hasil
klasifikasi yang optimal karena kondisi data yang tidak seimbang. Selain itu, hasil
klasifikasi cenderung didominasi oleh kelas GI rendah sebagai kelas minoritas.

17
Kondisi ini berhasil diperbaiki dengan menerapkan beberapa teknik resampling,
yaitu random under-sampling, k-means based under-sampling, random oversampling, dan SMOTE. Dari keempat teknik resampling yang digunakan, model
yang menggunakan data hasil proses random over-sampling memberikan hasil
terbaik untuk seluruh kriteria evaluasi.
Saran
Meskipun kinerja FKNN berhasil ditingkatkan dengan menggunakan
beberapa teknik resampling, hasil klasifikasi yang diberikan dalam penelitian ini
belum optimal. Oleh sebab itu, pada penelitian selanjutnya dapat dilakukan
beberapa hal berikut untuk membuat hasil klasifikasi lebih optimal:
1 Menambah banyaknya data yang digunakan.
2 Menerapkan teknik penyelesaian masalah data tidak seimbang berdasarkan
pendekatan algoritme.
3 Mencari fungsi distribusi peluang terbaik untuk setiap atribut data dan
memanipulasi data berdasarkan parameter fungsi tersebut untuk mengatasi
kondisi data tidak seimbang.

DAFTAR PUSTAKA
Brand JC, Nicholson PL, Thorburn AW, Truswell AS. 1985. Food processing and
the glycemic index. The American Journal of Clinical Nutrition. 42(6): 11921196.
Chawla NV, Bowyer KW, Hall LO, Kegelmeyer WP. 2002. SMOTE: synthetic
minority over-sampling technique. Journal of Artificial Intelligence Research.
16: 321-357. doi: 10.1613/jair.953.
Cohen G, Hilario M, Sax H, Hogonnet S, Geissbuhler A. 2006. Learning from
imbalanced data in surveillance of nosocomial infection. Artificial Intelligence
in Medicine. 37(1): 7-18. doi: 10.1016/j.artmed.2005.03.002.
Keller JM, Gray MR, Givens JA. 1985. A fuzzy k-nearest neigbor algorithm.
IEEE
Trans
System
Man
Cybernet,
15(4):
580-585.
doi:
10.1109/TSMC.1985.65313426.
Larose DT. 2005. Discovering Knowledge in Data: An introduction to Data
Mining. Canada (US): John Wiley & Sons, Inc.
Liao TW. 2008. Classification of weld flaws with imbalanced class data. Expert
System with Application. 35(3): 580-585. doi: 10.1016/j.eswa.207.08.044.
Maning CD, Raghavan P, Schütze H. 2008. An Introduction to Information
Retrieval. Cambridge (GB): Cambridge University Press.
Mendosa D. 2008. Revised International Table of Glycemic Index (GI) and
Glycemic Load (GL) Values-2008 [internet]. [diunduh 2013 Mar 18]. Tersedia
dari: http://www.mendosa.com/gilists.htm.
Nurjayanti B. 2011. Identifikasi shorea menggunakan k-nearest neighbour
berdasarkan karakteristik morfologi daun [skripsi]. Bogor (ID): Insitut
Pertanian Bogor.

18
Rimbawan, Siagian A. 2005. Kontroversi konsep glycemic index pada
penatalaksanaan diet penderita diabetes melitus. Media Gizi dan Keluarga.
29(1): 99-105.
Sun Y, Kamel MS, Wong AKC, Wang Y. 2006. Cost-sensitive boosting for
classification of imbalanced data. Pattern Recognition. 40: 3358-3378. doi:
10.1016/j.patcog.2007.04.009.
Teknomo K. 2006. Similarity Measurement [internet]. [diunduh 11 April 2013].
Tersedia dari http://people.revoledu.com/kardi/tutorial/Similarity/
Trout DL, Behall KM, Osilesi O. 1993. Prediction of glycemic index for starchy
foods. The American Journal of Clinical Nutrition. 58(6): 873-878.
[USDA] United Stated Department of Agriculture. 2012. USDA National Nutrient
Database for Standard Reference, Release 25 [internet]. [diunduh 2013 Apr 23].
Tersedia dari: http://www.ars.usda.gov/ba/bhnrc/ndl.
[WHO] World Health Organization. 2004. Diabetes Action Now Boolet [internet].
[diunduh 2013 Mar 12]. Tersedia dari: http://whqlibdoc.who.int/publications/2004/924159151X.pdf.
Wild S, Roglic G, Green A, Sicree R, King H. 2004. Global prevalence of
diabetes: estimates for the year 2000 and projections for 2030. Diabetes Care.
27(5):1047-1053.
Wolever TMS. 1990. Relationship between dietary fiber content and composition
in foods and the glycemic index. The American Journal of Clinical Nutrition.
51(1): 72-5.

19
Lampiran 1 Nilai rata-rata precision, recall, dan f-measure setiap kelas pada nilai
k 1 sampai 5
Kelas GI

Kriteria
Evaluasi

precision

rendah

recall

f-measure

precision

sedang

recall

f-measure

precision

tinggi

recall

f-measure

k

Set Data
Data 1
Data 2
Data 3
Data 4
Data 5
Data 1
Data 2
Data 3
Data 4
Data 5
Data 1
Data 2
Data 3
Data 4
Data 5
Data 1
Data 2
Data 3
Data 4
Data 5
Data 1
Data 2
Data 3
Data 4
Data 5
Data 1
Data 2
Data 3
Data 4
Data 5
Data 1
Data 2
Data 3
Data 4
Data 5
Data 1
Data 2
Data 3
Data 4
Data 5
Data 1
Data 2
Data 3
Data 4
Data 5

1
67.94
44.69
56.89
88.37
73.23
68.96
36.17
56.16
67.41
65.10
67.40
57.23
60.68
75.58
68.33
37.42
44.50
28.56
81.93
70.41
30.05
41.22
24.39
87.69
73.41
37.06
50.45
39.71
83.88
71.04
36.95
47.78
51.28
84.99
77.51
41.39
53.89
56.45
97.18
81.79
39.07
57.56
55.27
90.17
78.99

2
67.94
44.69
56.89
80.98
73.23
68.96
36.17
56.16
67.41
65.10
67.40
57.23
60.68
72.36
68.33
37.42
44.50
28.56
80.87
70.41
30.05
41.22
24.39
82.67
73.41
37.06
50.45
39.71
80.69
71.04
36.95
47.78
51.28
84.86
77.51
41.39
53.89
56.45
95.33
81.79
39.07
57.56
55.27
89.16
78.99

3
67.87
42.98
55.78
77.60
72.11
72.12
32.28
51.35
63.46
64.03
68.98
55.81
56.71
68.64
67.30
33.38
44.63
23.78
78.33
68.34
28.72
39.44
21.78
81.23
73.39
37.83
51.59
40.81
78.67
70.00
34.70
47.02
47.56
79.93
78.68
37.94
57.72
53.67
90.03
81.07
39.43
54.59
51.88
84.00
79.20

4
67.87
43.51
57.06
75.50
72.47
71.45
26.78
55.89
62.21
63.38
68.75
55.36
59.75
66.92
67.02
35.96
42.94
25.44
75.89
68.61
30.05
41.11
21.78
81.23
74.00
36.99
51.67
41.90
77.32
70.38
34.10
47.52
47.51
79.54
78.66
37.94
58.83
54.12
86.00
81.38
39.88
52.77
51.87
81.82
79.36

5
67.83
43.51
56.50
76.11
73.02
72.01
26.78
54.04
60.08
64.34
69.03
55.36
58.76
66.05
67.81
35.75
42.17
25.44
74.27
68.59
30.05
40.28
22.44
81.23
73.87
36.90
50.63
42.89
76.46
70.40
36.15
44.35
48.17
78.40
78.55
37.94
55.39
54.79
86.00
80.98
40.51
55.55
52.64
81.10
79.09

20
Lampiran 2 Contoh data hasil tahap praproses data (data asli)
Protein (gr)
36.93
0.44
0.61
0.62
0.53
0.54
0.72
1.03
2.71
2.71
6.29
3.37
3.49
2.39
6.38
18.68
17.32
19.01
36.93
8.66
8.17
8.91
7.55
8.80
12.14
12.65
5.20
1.11
18.97
7.99
4.55
8.31
4.51
7.41
5.44
6.48
5.77
3.87
4.04

Lemak (gr)

Serat (gr)

Pemasakan

Kelas GI

18.82
0.58
0.43
0.45
1.28
1.47
0.23
0.55
0.41
0.41
1.75
19.82
17.08
0.72
0.75
1.14
1.14
1.10
18.82
4.54
1.08
2.36
4.21
3.42
2.45
9.56
0.26
0.12
5.17
28.55
0.23
0.29
0.21
0.17
1.62
1.65
2.18
0.40
0.99

3.80
0.88
0.43
0.49
5.94
5.09
6.53
8.82
5.87
5.83
8.99
5.08
1.97
5.69
10.04
18.35
12.43
14.04
3.80
4.12
1.97
6.73
4.11
6.00
10.48
8.89
0.17
0.06
0.00
9.28
3.48
9.59
3.44
9.28
4.27
1.88
1.20
7.05
2.65

3
2
2
2
9
9
4
1
4
4
1
5
5
1
1
3
1
3
3
5
5
5
5
5
5
1
5
1
1
5
5
3
5
5
3
5
5
3
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3

21
Lampiran 3 Data hasil proses random under-sampling
Protein (gr)
36.93
0.62
0.53
6.29
3.37
6.38
18.68
19.01
15.15
10.48
2.92
4.42
4.80
2.25
1.80
23.42
8.85
16.16
7.61
9.83
4.10
27.64
21.47
2.74
0.23
19.82
1.31
18.06
1.34
12.42
8.71
26.04
4.36
0.75
17.86
8.42
15.90
8.66
8.91
7.55
8.80

Lemak (gr)
18.82
0.45
1.28
1.75
19.82
0.75
1.14
1.10
1.84
3.48
5.84
2.21
1.45
12.29
0.90
70.89
3.30
4.72
10.16
1.94
0.59
33.59
0.88
1.27
0.00
1.35
0.27
0.95
0.25
12.42
0.72
13.93
1.95
0.16
4.53
0.89
3.98
4.54
2.36
4.21
3.42

Serat (gr)

Pemasakan

Kelas GI

3.80
0.49
5.94
8.99
5.08
10.04
18.35
14.04
15.15
4.25
2.22
0.41
3.61
2.04
1.79
4.59
19.73
13.86
7.40
3.02
6.54
20.99
25.38
5.34
0.53
33.03
6.18
19.28
2.55
5.83
2.68
4.78
13.02
7.37
0.00
14.64
8.99
4.12
6.73
4.11
6.00

3
2
9
1
5
1
3
3
9
5
5
5
3
1
1
4
1
3
5
5
1
7
1
1
3
1
2
3
9
9
8
1
1
3
1
1
5
5
5
5
5

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2

22
Lampiran 3 Lanjutan
Protein (gr)
12.14
12.65
1.11
6.33
2.88
6.88
6.23
4.99
6.23
6.41
7.79
8.13
8.16
6.10
8.10
8.39
6.74
3.89
14.46
21.33
3.13
2.17
8.58
4.66
4.79
1.61
4.93
4.77
3.09
10.17
10.39
10.43
15.41
7.73
1.79
10.92
4.34
8.25
3.11
4.42
4.46

Lemak (gr)
2.45
9.56
0.12
1.27
1.90
1.31
3.77
1.76
3.15
1.92
1.15
3.57
0.34
6.23
4.49
14.14
19.50
1.77
10.80
16.66
0.28
1.20
6.47
0.11
9.41
0.34
1.77
0.50
9.00
4.23
5.38
1.56
4.88
3.37
0.37
4.92
0.17
4.60
1.88
1.10
0.24

Serat (gr)
10.48
8.89
0.06
11.08
5.31
8.13
5.68
7.37
4.69
5.13
5.49
5.72
3.01
14.16
3.47
1.14
2.13
10.23
2.60
2.15
1.05
7.86
9.67
8.58
5.05
4.33
3.83
0.71
1.80
5.62
5.13
4.19
8.54
7.48
2.36
6.68
0.62
6.42
3.29
4.42
1.96

Pemasakan
5
1
1
1
1
1
1
1
1
1
1
3
3
5
5
1
1
1
3
6
2
1
5
5
6
1
8
8
5
3
1
5
5
5
1
1
1
1
1
1
1

Kelas GI
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3

23
Lampiran 3 Lanjutan
Protein (gr)
2.54
3.91
3.22
3.97
5.80
7.02
5.97
5.12
7.39
9.71
7.41
7.99
4.55
8.31
4.51
7.41
5.44
6.48
5.77
3.87
4.04

Lemak (gr)
0.72
0.29
1.24
1.21
2.26
0.93
0.56
22.54
22.65
2.23
2.11
28.55
0.23
0.29
0.21
0.17
1.62
1.65
2.18
0.40
0.99

Serat (gr)
6.03
0.64
2.82
0.24
5.98
2.19
14.24
1.48
2.58
5.13
2.75
9.28
3.48
9.59
3.44
9.28
4.27
1.88
1.20
7.05
2.65

Pemasakan
1
1
1
1
1
1
5
5
5
5
3
5
5
3
5
5
3
5
5
3
1

Kelas GI
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

24
Lampiran 4 Data hasil proses k-means based under-sampling
Protein (gr)
15.80
10.33
8.29
18.68
19.52
4.80
18.33
27.64
16.15
1.55
12.42
2.92
2.71
0.44
1.92
9.16
2.90
5.12
0.54
1.34
8.96
19.82
8.26
10.68
79.98
0.43
4.36
9.95
17.32
1.21
2.39
21.47
2.06
2.55
0.05
12.65
1.11
18.96
6.88
6.23
4.99

Lemak (gr)
1.19
4.51
0.65
1.14
2.23
1.45
0.99
33.59
4.72
0.10
12.42
5.84
0.41
0.58
0.26
3.26
0.56
0.81
1.47
0.26
0.59
1.35
3.41
3.09
152.63
0.00
1.95
0.00
1.14
0.10
0.72
0.88
0.46
1.14
0.01
9.56
0.12
5.17
1.31
3.77
1.76

Serat (gr)
20.15
6.57
12.11
18.35
18.03
3.61
19.84
20.99
13.86
4.47
5.83
2.22
5.83
0.88
2.07
6.84
0.56
4.31
5.09
2.55
4.72
33.03
6.61
0.00
26.35
0.00
13.02
9.71
12.43
4.47
5.69
25.38
5.34
8.28
0.00
8.89
0.06
0.00
8.13
5.68
7.37

Pemasakan
3
3
3
3
9
3
3
7
3
9
9
5
4
2
9
5
2
2
9
9
2
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1

Kelas GI
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2

25
Lampiran 4 Lanjutan
Protein (gr)
10.64
8.13
8.16
2.58
2.17
4.27
7.35
1.61
6.33
12.81
6.41
0.18
6.74
15.90
8.66
8.17
8.80
12.14
5.20
8.10
14.46
20.06
4.66
4.79
3.09
16.27
3.13
2.07
4.77
10.17
10.43
15.41
7.73
5.97
9.71
4.51
7.41
6.48
5.77
10.39
1.79

Lemak (gr)
1.41
3.57
0.34
0.73
1.20
0.25
0.72
0.34
1.27
1.16
1.92
0.00
19.50
3.98
4.54
1.08
3.42
2.45
0.26
4.49
10.80
12.26
0.11
9.41
9.00
3.89
0.28
0.34
0.50
4.22
1.56
4.88
3.37
0.56
2.23
0.22
0.17
1.65
2.18
5.38
0.37

Serat (gr)
6.15
5.72
3.01
7.67
7.86
4.50
11.22
4.33
11.08
0.75
5.13
0.12
2.13
8.99
4.12
1.97
6.00
10.48
0.17
3.47
2.60
1.61
8.58
5.05
1.80
8.03
1.05
0.96
0.71
5.62
4.19
8.54
7.48
14.24
5.13
3.44
9.28
1.88
1.20
5.13
2.36

Pemasakan
1
3
3
4
1
3
3
1
1
1
1
1
1
5
5
5
5
5
5
5
3
6
5
6
5
9
2
4
8
3
5
5
5
5
5
5
5
5
5
1
1

Kelas GI
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3

26
Lampiran 4 Lanjutan
Protein (gr)
10.92
4.34
8.25
3.11
3.64
6.05
4.42
4.46
2.54
3.91
3.22
3.97
5.80
7.02
7.41
5.43
3.87
4.04
5.12
7.39
7.99

Lemak (gr)
4.92
0.17
4.60
1.88
1.04
2.41
1.10
0.24
0.72
0.29
1.24
1.21
2.26
0.93
2.11
1.62
0.40
1.00
22.54
22.65
28.55

Serat (gr)
6.68
0.62
6.42
3.29
5.92
5.21
4.42
1.96
6.03
0.64
2.82
0.24
5.98
2.19
2.75
4.27
7.05
2.65
1.48
2.58
9.28

Pemasakan
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
3
3
1
5
5
5

Kelas GI
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

27
Lampiran 5 Contoh data hasil proses random over-sampling
Protein (gr)
36.93
0.44
0.61
0.62
0.53
0.54
0.72
1.03
2.71
2.71
6.29
3.37
3.49
3.09
5.20
12.14
7.35
6.23
3.13
2.88
2.58
8.13
8.16
7.55
2.85
3.97
9.71
10.39
4.42
5.97
3.97
4.42
5.97
4.42
3.91
1.79
5.44

Lemak (gr)
18.82
0.58
0.43
0.45
1.28
1.47
0.23
0.55
0.41
0.41
1.75
19.82
17.08
9.00
0.26
2.45
0.71
3.15
0.28
1.90
0.73
3.57
0.34
4.21
2.66
1.21
2.23
5.38
1.10
0.56
1.21
1.10
0.56
1.10
0.29
0.37
1.62

Serat (gr)

Pemasakan

Kelas GI

3.80
0.88
0.43
0.49
5.94
5.09
6.53
8.82
5.87
5.83
8.99
5.08
1.97
1.80
0.17
10.48
11.22
4.69
1.05
5.31
7.67
5.72
3.01
4.11
1.15
0.24
5.13
5.13
4.42
14.24
0.24
4.42
14.24
4.42
0.64
2.36
4.27

3
2
2
2
9
9
4
1
4
4
1
5
5
5
5
5
3
1
2
1
4
3
3
5
5
1
5
1
1
5
1
1
5
1
1
1
3

1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3

28
Lampiran 6 Contoh data hasil proses SMOTE
Protein (gr)
1.31
1.34
1.18
1.30
18.06
1.47
1.34
2.06
3.06
6.46
1.75
1.56
10.33
1.31
1.11
8.13
2.41
0.40
12.12
6.92
6.32
19.00
12.88
19.07
2.91
2.12
7.73
10.17
10.39
10.43
15.41
7.73
1.79
10.92
4.34
8.25
3.11
10.17
10.39

Lemak (gr)
0.27
0.45
0.46
0.53
0.95
0.11
0.25
0.46
1.23
35.82
0.09
0.