• Tidak ada hasil yang ditemukan

Implementasi Algoritmaa Fuzzy K-Nearest Neigbour (Fuzzy K-NN) Untuk Klasifikasi Proposal Skripsi Berdasarkan Kelompok Keilmuan Di Teknik Informatika UNIKOM

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritmaa Fuzzy K-Nearest Neigbour (Fuzzy K-NN) Untuk Klasifikasi Proposal Skripsi Berdasarkan Kelompok Keilmuan Di Teknik Informatika UNIKOM"

Copied!
70
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

YOSEP AMIN

10111648

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

iii

KATA PENGANTAR

Segala puji dan syukur penulis panjatkan kepada yang Mahakuasa Allah

Subhanahu wa ta'ala

atas rahmat dan karunia-Nya sehingga penulis dapat

menyelesaikan tugas akhir yang berjudul

Implementasi Algoritma

Fuzzy

K-Nearest Neighbour

(

Fuzzy

K-NN) Untuk Klasifikasi Proposal Skripsi

Berdasarkan Kelompok Keilmuan Di Teknik Informatika Unikom

, yang

diajukan untuk menempuh ujian akhir sarjana Program Strata I pada Jurusan Teknik

Informatika Universitas Komputer Indonesia. Sholawat serta salam semoga selalu

terlimpah kepada junjungan kita, Rasulullah Muhammad

Shallallahu

‘alaihi

wasallam

, kepada keluarga yang beriman, para

shahabat

,

tabi’in

,

tabi’ut

,

tabi’in

serta umatnya yang senantiasa mengamalkan dan mengemban risalah Islam hingga

akhir zaman.

Dalam melakukan penelitiannya, penulis di dukung oleh berbagai pihak

yang mendukung sehingga penelitian ini dapat terealisasi. Maka penulis ingin

berterima kasih kepada :

1.

Keluarga tercinta, Ibunda Iski binti sayad, Ayahanda Taryono bin Kodir, dan

Kakanda Yuli ani, Yeni, dan Roy Sobana

yang selalu memberikan do’a, kasih

sayang, semangat serta dorongan moril maupun materiil.

2.

Bapak Irawan Afrianto, S.T, M.T., selaku Ketua Jurusan Teknik Informatika

Universitas Komputer Indonesia yang telah memberikan izin untuk melakukan

penelitian Tugas Akhir di jurusan Teknik Informatika.

3.

Ibu Nelly Indriani Widiastuti, S.Si., M.T., selaku pembimbing yang telah

mengarahkan serta membimbing penulis dalam menyelesaikan Penulisan

Laporan Tugas Akhir ini.

4.

Ibu Kania Evita Dewi, SPd., M.Si. selaku Dosen Penguji Satu.

5.

Ibu Gentisya Tri Mardiani, S.Kom., M.Kom., selaku Dosen Wali IF-14

angkatan 2011.

(3)

iv

9.

Sahabat sekaligus keluarga yang selalu memberikan banyak warna dan

kenangan di hidup penulis. Para sahabat Amburadoel, F4, Badminton Sport

Club, Best Brother Forever dan Ourway Badminton Club.

10.

Pihak-pihak lain yang membantu penulis untuk dapat menyelesaikan tugas

akhir ini yang tidak dapat disebutkan satu per satu.

Penulis menyadari bahwa penulisan laporan ini masih jauh dari sempurna

maka kritik dan saran dari semua pihak dibutuhkan untuk menambah wawasan

penulis.

Akhir kata semoga Allah

Subhanahu wa ta'ala

membalas segala kebaikan

yang telah penulis terima dan harapan penulis semoga laporan tugas akhir ini dapat

bermanfaat bagi pihak yang membutuhkan.

Bandung, 27 Februari 2016

(4)

v

DAFTAR ISI

ABSTRAK ... i

ABSTRACT

... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... ix

DAFTAR SIMBOL ... xii

DAFTAR LAMPIRAN ... xiv

BAB 1 PENDAHULUAN ... 1

1.1

Latar Belakang Masalah ... 1

1.2

Rumusan Masalah ... 2

1.3

Maksud dan Tujuan ... 2

1.4

Batasan Masalah ... 3

1.5

Metodologi Penelitian ... 3

1.5.1

Pengumpulan Data ... 4

1.5.2

Analisis ... 5

1.5.3

Implementasi ... 5

1.5.4

Pengujian ... 6

1.5.5

Penarikan Kesimpulan ... 6

1.6

Sistematika Penulisan ... 6

BAB 2 LANDASAN TEORI ... 9

2.1

Proposal Skripsi ... 9

(5)

vi

2.4.1

Konsep

Fuzzy Logic

... 19

2.5

Algoritma

K-Nearest Neighbour

... 22

2.6

Fuzzy K- Nearest Neighbour

... 25

2.7

Metode

Linear

... 27

2.8

Pemrograman Terstruktur ... 29

2.8.1

Entity Relationship Diagram

(ERD) ... 30

2.8.2

Data Flow Diagram

(DFD) ... 31

2.8.3

Kamus Data ... 32

2.9

C# ... 32

2.10

Confusion Matrix

... 34

BAB 3 ANALISIS DAN PERANCANGAN ... 35

3.1

Analisis Masalah ... 35

3.2

Analisis Proses ... 36

3.2.1

Preprocessing

... 37

3.2.2

Term Weigthing

... 41

3.2.3

Klasifikasi ... 43

3.3

Analisis Data ... 45

3.3.1

Analisis Data Masukan ... 45

3.3.2

Analisis Data Keluaran ... 45

3.4

Analisis Metode ... 46

3.4.1

Analisis Tahap Pelatihan ... 46

(6)

vii

3.5

Analisis Kebutuhan Perangkat Lunak ... 58

3.5.1

Analisis Kebutuhan Non Fungsional ... 58

3.5.2

Analisis Kebutuhan Fungsional ... 58

3.6

Perancangan Sistem ... 73

3.6.1

Perancangan Antarmuka ... 76

3.6.2

Jaringan Semantik ... 79

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 81

4.1

Implementasi ... 81

4.2

Pengujian Performansi ... 84

4.3

Kesimpulan Pengujian ... 97

BAB 5 KESIMPULAN DAN SARAN ... 99

5.1

Kesimpulan ... 99

5.2

Saran ... 99

(7)

101

FIKOM UMB, hal 21

[2] Prasetyo, Dimas. Muflikhah, Laili. Ridok, Achmad.

klasifikasi genre film

berdasarkan judul dan sinopsis menggunakan fuzzy k-nearest neighbour (Fuzzy

K-NN)

”, Prodi ilmu komputer, Program teknologi informasi dan ilmu komputer,

Universitas Brawijaya.

[3] Nazir, Moh.

Ph.D, “

Metode Penelitian

”, Edisi Ketujuh, Bogor : Ghalia

Indonesia, 2011.

[4] Pressman, Roger S, Ph.D,”

Rekayasa Perangkat Lunak

”, Edisi 7,Yogyakarta:

ANDI, 2012.

[5]

S.A, Rosa, Shalahudin.M. “

Rekayasa Perangkat Lunak: Tertruktur dan

Berorientasi Objek

”. Bandung: Informatika. 2015.

[6] Sianipar, R., H. “

Panduan Praktis Pemrograman C# Bagi Pemula

”.

Yogyakarta: ANDI. 2014.

[7] Raymond J. Mooney. CS 391L:

Machine Learning Text Categorization.

University Of Texas at Austin, 2006.

[8] Gregorius, S. Gunawan, Ibnu.

Yunono, Ferry. “

Algoritma Porter Stemmer For

Bahasa Indonesia untuk pre-processing text mining berbasis Metode Market Basket

Analysis

”. Jurusan Teknik Informatika, UK.

[9] Lasmedi, Afuan.”

Stemming Dokumen Teks Bahasa Indonesia Menggunakan

Algoritma Porter

”, Prodi Teknik Informatika, Fakultas Sains dan Teknik,

Universitas Jendral Sudirman.

[10] Budiharto,W., and Suharton

o, D.,”

Artificial Intelligence

”, Yogyakarta : Andi,

(8)

102

[11] Keller JM, Gray MR, Givens J.A. A Fuzzy K-Nearest Neighbor .Algorithm

IEEE Transaction on Systems, Man, and Cybernetics. Vol SMC-15. No 4. 1985.

[12] Prasetyo, Eko.

Fuzzy K-Nearest Neighbor In Every Class Untuk Klasifikasi

Data

. Seminar Nasional Teknik Informatika. Jurusan Teknik Informatika Fakultas

Teknologi Industri Universitaas Pembangunan Nasional Veteran Jawa Timur. Pp

57-60. 2012.

[13] Wisdarianto, Ardhy. Ridok, Achmad. Rahman, Arif, Muh.

Penerapan

Metode

fuzzy k-nearest neighbour (Fuzzy K-NN) untuk Pengklasifikasian Spam

Email

”, Prodi ilmu komputer, Program teknologi informasi dan ilmu komputer,

Universitas Brawijaya.

[14] W., Teguh, Hardika. Mardji. Furqon, Tanzil, M.

Penerapan Metode

fuzzy

k-nearest neighbour (Fuzzy K-NN) untuk Diagnosa Penderita Liver Berdasarkan

Indian Patient Dataset(ILPD)

”, Prodi ilmu komputer, Program teknologi informasi

dan ilmu komputer, Universitas Brawijaya.

[15] M.,Selly, Yanita. Ridok, Achmad. Muflikhah, Laili.

Perbandingan K-Nearest

Neighbor dan

fuzzy k-nearest neighbour (Fuzzy K-NN) Pada Diagnosis Penyakit

diabetes Melitus

”, Prodi ilmu komputer, Program teknologi informasi dan ilmu

komputer, Universitas Brawijaya.

[16] S., Amiratus, Rahmi. Ridok, Achmad. Muflikhah, Laili.

Penerapan Metode

fuzzy k-nearest neighbour (Fuzzy K-NN) untuk menentukan Kualitas Hasil

Rendemen Tanaman Tebu

”, Prodi ilmu komputer, Program teknologi informasi dan

ilmu komputer, Universitas Brawijaya.

[17] Puspasari, Maslikha. Dewi, Candra. Rahman, Arif, Muh.

Prediksi Tingkat

Resiko Penyakit Jantung Koroner(PJK) Menggunakan Metode

fuzzy k-nearest

neighbour (Fuzzy K-NN)

”, Prodi ilmu komputer, Program teknologi informasi dan

(9)

[18] Lestiyanto, Yudha, Dony.

Stemming Bahasa Indonesia Sebagai Media

Belajar Siswa Sekolah Menggunakan Algoritma Porter

”. Sistem Informasi.

Universitas Dian Nuswantoro. Semarang. 2014.

[19]

Agusta, Ledy, “

Perbandingan Algoritma Stemming Porter dengan algoritma

nazief & adriani untuk stemming dokumen teks bahasa indonesia

konferensi

nasional sistem dan informatika 2009. Fakultas Teknologi Informasi. Universitas

Kristen Satya Wacana. KSN&109-036. 2009.

[20

] Herman; Andani Achmad; dan Amil ahmad ilham, “

klasifikasi dokumen

naskah dinas menggunakan algorita term frequency-inversed document frequency

dan vector space model

”, balai besar pengkajian dan pengembangan komunikasi

dan informatika makassar, kemkominfo & Jurusan elektro, prodi informatika,

fakultas teknik, UNHAS.

[21] Indriani, Aida, “

Klasifikasi Data Forum dengan menggunakan Metode Naive

Bayes Classifier

”, Seminar Nasional Aplikasi Teknologi Informasi(SNATI) 2014,

(10)
(11)

1

1.1

Latar Belakang Masalah

Skripsi

merupakan

matakuliah

penutup

yang

diambil

oleh

mahasiswa/mahasiswi yang sedang menempuh jenjang pendidikan strata 1 di

perguruan tinggi negeri atau pun perguruan tinggi swasta, skripsi menjadi salah satu

syarat untuk kelulusannya. Skripsi merupakan istilah yang digunakan di indonesia

untuk mengilustrasikan suatu karya tulis ilmiah berupa paparan tulisan hasil

penelitian sarjana S1 yang membahas permasalahan/fenomena dalam bidang ilmu

tertentu dengan menggunakan kaidah

kaidah

yang berlaku[1]. Karya

tulis/penelitian ilmiah ini akan dilaporkan kedalam laporan skripsi, sebelum

melakukan skripsi, biasanya para mahasiswa/mahasiswi akan membuat terlebih

dahulu usulan penelitian atau biasanya disebut proposal skripsi yang akan diajukan

ke panitia sidang proposal skripsi untuk disidangkan.

(12)
(13)

Metode

Fuzzy k-Nearest Neighbour

merupakan salah satu metode yang digunakan

untuk klasifikasi, metode ini dikembangkan pertama kali oleh James M. Keller

dasar dari algoritma ini adalah pemberian nilai

membership

sebagai fungsi nilai

pola jarak dari sejumlah himpunan

k-Nearest Neighbour

dan pemberian nilai

keanggotaan

Neighbour

pada kelas tertentu[2]. Pada penelitian yang pernah

dilakukan yang berhubungan dengan kasus ini yaitu berjudul

Web Document

Classification Based on Fuzzy k-NN Algorithm

yang dilakukan oleh Zhang, Yi Niu,

dan Huabei nie[2]. Mengatakan kelebihan dari metode

fuzzy

k-NN terletak pada

tingkat keakurasian yang dihasilkan lebih baik daripada metode klasifikasi lain

seperti k-

Nearest Neighbour

(k-NN), dan

Support Vektor Machine

(SVM). Pada

penelitian tersebut juga mengatakan bahwa kekurangan yang dimiliki oleh

Fuzzy

k-NN ini, yakni terletak pada kecepatan pengklasifikasian yang lebih lambat

dibandingkan dua metode klasifikasi pembanding diatas[2].

Berdasarkan penjelasan diatas, dalam penelitian ini akan dilakukan

implementasi algoritma fuzzy k-

Nearest Neighbour

untuk menyelesaikan

permasalahan kasus klasifikasi proposal skripsi. Diambil studi kasus di program

studi Teknik Informatika UNIKOM.

1.2

Rumusan Masalah

Berdasarkan pemaparan latar belakang diatas dapat dirumuskan masalahnya,

antara lain : Bagaimana implementasi metode

Fuzzy k-Nearest Neighbour

untuk

melakukan klasifikasi proposal skripsi.

1.3

Maksud dan Tujuan

Maksud dari penelitian ini adalah untuk implementasi

Fuzzy k-Nearest

Neighbour

dalam melakukan klasifikasi Proposal Skripsi.

Tujuan dari penelitian ini adalah untuk mengetahui keakuratan metode

Fuzzy

k-Nearest Neighbour

dalam melakukan klasifikasi proposal skripsi.

1.4

Batasan Masalah

Adapun batasan masalah yang dapat dijelaskan adalah sebagai berikut:

1.

Data

training

dan data

testing

diperoleh dari proposal skripsi

mahasiswa/mahasiswi Teknik Informatika UNIKOM.

(14)
(15)

3.

Sumber data diambil dari situs if.unikom.ac.id/skripsi dan disimpan dalam

format

file text

dengan ekstensi txt (*.txt).

4.

Pengelompokan dokumen proposal skripsi mengikuti pengelompokan yang

sudah ditetapkan pada prodi Teknik Informatika yang disebut dengan

kelompok keilmuan.

5.

Term Frequency Inverse Document Fequency (TF-IDF)

sebagai metode

pembobotan

term.

[2]

6.

porter stemmer

sebagai algortima yang digunakan untuk proses

stemming.

[19]

7.

euclidean distance

digunakan sebagai metode penghitungan jarak antara

dokumen

testing

dan dokumen

training

[11].

1.5

Metodologi Penelitian

(16)
(17)

Preprocessing (tokenizing, filtering,

stemming, weighting) Pelatih an

Preprocessing (tokenizing, filtering,

stemming, weighting) Pengujian

Klasifikasi Analisis

Implementasi

Pengujian

Penarikan Kesimpulan Pengumpulan

[image:17.595.131.438.101.611.2]

Data

Gambar 1.1 Alur Penelitian

1.5.1

Pengumpulan Data

(18)
(19)

1.

Studi Literatur

Pengumpulan data yang dilakukan dengan cara mempelajari sumber

kepustakaan diantaranya hasil penelitian, buku referensi, dan

bacaan-bacaan yang berkaitan dengan penelitian.

2.

Observasi

Teknik pengumpulan data observasi dilakukan dengan mengadakan

pengamatan atau penelitian langsung terhadap objek penelitian.

1.5.2

Analisis

Analisis dilakukan untuk mendapat gambaran secara mendetail mengenai

tahapan-tahapan apa saja yang akan dilakukan. Dalam hal ini tahapan analisis

terbagi menjadi dua sub yakni tahap pelatihan dan tahapan pengujian yang masing

memiliki sub lain yakni tahapan

preprocessing

yang terdapat pada pelatihan dan

pengujian serta tahap klasifikasi yang terdapat pada pengujian. Kemudian

dilakukan perhitungan manual untuk masing-masing tahapan yang bertujuan

sebagai simulasi yang nantinya akan diterapkan pada tahap selanjutnya yakni

implementasi.

1.5.3

Implementasi

Implementasi merupakan tahap pembangunan perangkat lunak yang

kontennya disesuaikan dengan tahap analisis. Metode pembangunan perangkat

lunak yang akan digunakan yakni metode skuensial linier yang sudah disesuaikan

dengan kebutuhan penelitian, fase

fasenya antara lain:

1.

Analisis

Pada fase ini pengumpulan kebutuhan diintensifkan dan difokuskan pada

sistem yang akan dibangun meliputi identifikasi domain informasi, tingkah

laku sistem, unjuk kerja, dan antarmuka sistem.

2.

Desain

Fase ini difokuskan pada proses desain struktur data, arsitektur sistem,

representasi interface, dan algoritma program.

3.

Kode

(20)

6

proses desain akan diterjemahkan kedalam suatu bahasa pemrograman

tertentu untuk menghasilkan sebuah sistem.

4.

Test

Fase ini dilakukan untuk menemukan kesalahan-kesalahan yang mungkin

terjadi pada proses pengkodean serta memastikan bahwa input yang dibatasi

memberikan hasil yang sesuai dengan kebutuhan.

1.5.4

Pengujian

Fase ini adalah fase untuk menghitung keakuratan dari metode

Fuzzy

k-nearest neighbour

yang diimplementasikan untuk klasifikasi proposal skripsi.

1.5.5

Penarikan Kesimpulan

Fase ini akan menyajikan hasil penelitian dan nilai keakuratan dari metode

Fuzzy

k-

nearest neighbour

serta kesimpulan terkait hasil pengujian yang telah

dilakukan.

1.6

Sistematika Penulisan

Sistematika penulisan skripsi ini disusun untuk memberikan gambaran umum

tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah

sebagai berikut:

BAB 1 PENDAHULUAN

Bab ini berisi latar belakang, rumusan masalah, maksud dan tujuan, batasan

masalah, metodologi penelitian dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini berisi uraian tentang proposal, skripsi, proposal skripsi,

text

preprocessing,

tokenizing

,

filtering, stemming, weighting

, Logika

Fuzzy,

Algoritma

K-

nearest neighbour

, dan

Fuzzy

k-

nearest neighbour

, teori mengenai

Pemrograman Terstruktur,

Entity Relationship Digram, Data Flow Diagram

,

bahasa c#, dan

confusion matrix.

Analisis

Desain

Kode

Test

[image:20.595.115.437.241.314.2]

Pemodelan Sistem

(21)

BAB 3 ANALISIS DAN PERANCANGAN

Bab ini membahas mengenai analisis masalah, analisis metode yang

digunakan, analisis penyelesaian masalah, analisis simulasi (perhitungan metode

Fuzzy

K-

Nearest Neighbour

) klasifikasi dan analisis perancangan sistem.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas tentang pengujian akurasi algoritma

fuzzy

k

-nearest

neighbour

(FK-NN) pada klasifikasi proposal skripsi dengan menggunakan

program simulasi yang telah dibangun.

BAB 5 KESIMPULAN DAN SARAN

(22)
(23)

9

2.1

Proposal Skripsi

Skripsi adalah istilah yang digunakan di Indonesia untuk mengilustrasikan

suatu karya tulis ilmiah berupa paparan tulisan hasil penelitian sarjana S1 yang

membahas suatu permasalahan/fenomena dalam bidang ilmu tertentu dengan

menggunakan kaidah-kaidah yang berlaku[1]. Proposal skripsi sendiri merupakan

Suatu permintaan, pengajuan ide kepada pihak lain untuk mendapatkan perizinan

topik, tempat penelitian, dan lain sebagainya yang diajukan oleh seorang

mahasiswa dalam usahanya untuk melakukan skripsi sebagai syarat kelulusannya

sebagai sarjana.

Fungsi porposal skripsi penting untuk seorang mahasiswa tingkat akhir yang

akan melakukan penelitian sebagai syarat kelulusannya, antara lain:

1.

Untuk mengajukan persetujuan topik tugas akhir.

2.

Untuk mengajukan tempat penelitian.

3.

Untuk mendapatkan perizinan yang menunjang penelitian seperti akses

data, melakukan observasi, melakukan wawancara, dan lain sebagainya

di tempat penelitian.

Dalam menyusun proposal skripsi harus memperhatikan sistematika

penulisannya, sistematika penulisan sendiri disusun untuk memberikan gambaran

umum tentang penelitian yang akan dilakukan. Sistematika penulisan proposal

tergantung pada jenis penelitiannya, tapi pada umumnya isi dari sistematika

penulisan seperti dibawah ini:

1.

Halaman Judul

Berisi judul dari proposal skripsi, logo universitas, dan keterangan

fakultas, program studi dan nama universitas beserta tahun penyusunan.

2.

Daftar Isi

(24)

10

3.

Daftar Tabel

Berisi daftar tabel yang digunakan pada proposal skripsi.

4.

Daftar Gambar

Berisi daftar gambar yang terdapat pada proposal skripsiDaftar Lampiran

Berisi daftar data penunjang penelitian.

5.

Bab I Pendahuluan

Berisi latar belakang, rumusan masalah, maksud dan tujuan, batasan

masalah, metodologi penelitian dan sistematika penulisan.

6.

Bab II Landasan Teori

Berisi pembahasan seluruh buku

buku, jurnal ilmiah, dan ataupun

sumber lain yang menjadi materi pembangun penelitian.

7.

Bab III Metode Penelitian

Berisi pembahasan metode penelitian yang digunakan pada penelitian

yang akan dilakukan, meliputi metode pengumpulan data dan metode

analisis data,

8.

Daftar Pustaka

Berisi seluruh kepustakaan yang digunakan dalam penyusunan proposal.

Dicantumkan dibagian ini kemudian disusun secara alfabet dari A

Z.

2.2

Text Mining

Text Mining

merupakan penerapan konsep dan teknik data

mining

untuk

mencari pola dalam teks, proses penganalisisan teks guna menyarikan informasi

yang bermanfaat untuk tujuan tertentu. Proses data mining untuk data dokumen atau

teks memerlukan lebih banyak tahapan, mengingat data teks memiliki karakteristik

yang lebih kompleks dari pada data biasa. Tujuannya yakni mencari kata

kata

yang dapat mewakili isi dari dokumen sehingga dapat dilakukan analisa

keterhubungan antar dokumen diproses[7]. Langkah

langkah yang dilakukan pada

(25)

2.2.1

Text Preprocessing

Pada Tahap

text preprocessing

dilakukan beberapa proses menyiapkan judul

dan deksripsi proposal skripsi agar menjadi dokumen teks yang siap diolah ditahap

selanjutnya, umumnya pada tahap ini terdapat beberapa proses , diantaranya:

tokenizing, filtering, stemming.

2.2.1.1

Tokenizing

Tahap

tokenizing

adalah tahap pemotongan

string

input

berdasarkan tiap

kata yang menyusunnya. Setiap kalimat yang ada di dokumen akan disusun menjadi

kata per kata, semua tanda baca dan tanda hubung akan dihapuskan. Contoh dari

tahap ini adalah sebagai berikut:

Teks

Input

:

Teknik Informatika adalah sebuah program studi di unikom.

Hasil Token:

Teknik

Informatika

Adalah

Sebuah

Program

Studi

Di

Unikom

2.2.1.2

Filtering

Tahap

Filtering

adalah tahap mengambil kata

kata penting dari hasil

token, dalam proses ini bisa menggunakan algoritma

stop list

(membuang kata yang

kurang penting) atau

word list

(menyimpan kata penting).

stop list

adalah daftar kata

yang sering digunakan dan tidak menjelaskan isi dari dokumen atau

stopword.

(26)

12

Teknik

unikom

Informatika

Adalah

Sebuah

Program

Studi

Di

Hasil

Filter

:

Teknik

Informatika

Program

Studi

Unikom

2.2.1.3

Stemming

Tahap

Stemming

adalah tahap dimana kata hasil filtering akan dirubah

kedalam bentuk dasarnya(

Stem

). Untuk kata dalam bahasa inggris, metode

stemming

yang paling populer adalah menggunakan alg

oritma Martin porter’s

stammer

atau biasa disebut

porter stemmer.

Algoritma ini juga bisa diaplikasikan

untuk bahasa selain inggris, dalam hal ini akan diterapkan pada bahasa indonesia

juga.

Porter stemmer for

Bahasa Indonesia dikembangkan oleh Fasillah Z. Tala

pada tahun 2003. Implementasi

porter stemmer for

Bahasa Indonesia berdasarkan

(27)
[image:27.595.197.463.109.370.2]

Gambar 2.1 Algoritma

Porter Stemmer

[8]

Adapun langkah

langkah pada algortima porter[9] adalah sebagai berikut:

1.

Hapus

Particle

,

2.

Hapus Possesive Pronoun.

3.

Hapus awalan pertama. Jika tidak ada lanjutkan ke langkah 4a, jika ada

cari maka lanjutkan ke langkah 4b.

4.

a. Hapus awalan kedua, lanjutkan ke langkah 5a.

b.Hapus akhiran, jika tidak ditemukan maka kata tersebut diasumsikan

sebagai

root word.

Jika ditemukan maka lanjutkan ke langkah 5b.

5.

a. Hapus akhiran. Kemudian kata akhir diasumsikan sebagai

root word

b.Hapus awalan kedua. Kemudian kata akhir diasumsikan sebagai

root

word

.

(28)
[image:28.595.84.488.130.231.2]

14

Tabel 2.1 Aturan untuk

Inflectional Particel

Tabel 2.2 Aturan untuk

inflectional possesive pronoun

Akhiran Replacement Measure Condition Additional Condition Contoh

-kah NULL 2 NULL Bukukah

-lah NULL 2 NULL Pergilah

-pun NULL 2 NULL Bukupun

Akhiran Replacement Measure Condition Additional Condition Contoh

-ku NULL 2 NULL Bukuku

-mu NULL 2 NULL Bukumu

[image:28.595.87.488.276.373.2]
(29)
[image:29.595.117.512.131.494.2]

Tabel 2.3 Aturan untuk

first order derivational prefix

Tabel 2.4 Aturan untuk

second order derivational prefix

Awalan Replacement Measure Condition Additional Condition Contoh

Meng- NULL 2 NULL Mengukur > ukur

Meny- S 2 V... Menyapu > sapu

Men- NULL 2 NULL Menduga > duga

Mem- P 2 V... Memaksa > Paksa

Mem- NULL 2 NULL Membaca > baca

Me- NULL 2 NULL Merusak > rusak

Peng- NULL 2 NULL Pengukur > ukur

Peny- S 2 V... Penyapu > sapu

Pen- NULL 2 NULL Penduga > duga

Pem- P 2 V... Pemaksa > paksa

Pem- NULL 2 NULL Pembaca > baca

di- NULL 2 NULL Diukur > ukur

Ter- NULL 2 NULL Tersapu > sapu

Ke- NULL 2 NULL Kekasih > kasih

Awalan Replacement Measure Condition Additional Condition Contoh

Ber- NULL 2 NULL Berlari > lari

Bel- NULL 2 Ajar Belajar > ajar

Be- NULL 2 Ker Bekerja > kerja

Per- NULL 2 NULL Perjelas > jelas

Pel- NULL 2 Ajar Pelajar > ajar

[image:29.595.112.511.528.704.2]
(30)
[image:30.595.85.490.129.309.2]

16

Tabel 2.5 Aturan untuk

derivational suffix

Contoh umum dari tahap ini adalah sebagai berikut:

Hasil

Filter

:

Membacakan

Membersihkan

Dikurangi

Pandangan

mining

text

Hasil

Stemming

:

Baca

Bersih

Kurang

Pandang

Mine

Text

Akhiran Replacement Measure

Condition

Additional Condition Contoh

-kan NULL 2 Prefix bukan anggota {ke,

peng}

Tarikkan > tarik,

Mengambilkan > ambil

-an NULL 2 Prefix bukan anggota {di,

meng, ter}

Makanan > makan,

Perjanjian > janji.

-i NULL 2 Prefix bukan anggota

{ber, ke, peng}

Tandai > tanda, mendapati

(31)

2.3

Term Weighting

Tahap

Term

weighting

adalah tahap pembobotan kata yang dihasilkan dari

proses

stemming.

Metode yang sering digunakan yaitu menggunakan metode

TF-IDF (

Term Frequency - Inverse Document Frequency

). Pada metode ini,

perhitungan bobot

term

(kata) dalam sebuah dokumen dilakukan dengan

mengalikan nilai

Term Frequency

dengan

Inverse Document Frequency

.

Term Frequency

(TF) adalah faktor yang menentukan bobot

term

pada suatu

dokumen berdasarkan jumlah kemunculannya dalam dokumen tersebut. Nilai

jumlah kemunculan suatu kata (

term frequency

) diperhitungkan dalam pemberian

bobot terhadap suatu kata. Semakin besar jumlah kemunculan suatu term dalam

dokumen, semakin besar pula bobotnya dalam dokumen atau akan memberikan

nilai kesesuian yang semakin besar.

Inverse Document Frequency

(IDF) adalah pengurangan dominansi

term

yang sering muncul di berbagai dokumen. Hal ini diperlukan karena term yang

banyak muncul di berbagai dokumen, dapat dianggap sebagai term umum (

common

term

) sehingga tidak penting nilainya. Sebaliknya faktor kejarangmunculan kata

(

term scarcity

) dalam koleksi dokumen harus diperhatikan dalam pemberian bobot.

Kata yang muncul pada sedikit dokumen harus dipandang sebagai kata yang lebih

penting (

uncommon term

) daripada kata yang muncul pada banyak dokumen.

Pembobotan akan memperhitungkan faktor kebalikan frekuensi dokumen yang

mengandung suatu kata (

inverse document frequency

). Hal ini merupakan usulan

dari George Zipf. Zipf mengamati bahwa frekuensi dari sesuatu cenderung

kebalikan secara proposional dengan urutannya[2].

Untuk menghitung bobot kata (Wi) dalam dokumen dihitung dengan

menggunakan rumus:

= �� , � × ���

(2.1)

Dimana:

(32)

18

= indeks kata (

term).

�� , �

= banyaknya kata (

term

) yang muncul dalam dokumen

.

���

=

inverse document frequency

dari kata (

term

) .

Untuk menghitung

���

dapat menggunakan rumus:

���

= log

�� �

(2.2)

Dimana:

���

=

inverse document frequency

dari kata (

term

)

.

= jumlah dokumen keseluruhan.

��

= jumlah dokumen

yang memiliki kata (

term

)

.

2.4

Logika

Fuzzy

Dasar logika

fuzzy

adalah teori himpunan

fuzzy

. Pada teori himpunan

fuzzy

,

peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu

himpunan sangatlah penting. Nilai keanggotaan atau derajat keanggotaan atau

membership function

menjadi ciri utama dari penalaran dengan logika fuzzy

tersebut.

Logika fuzzy digunakan untuk menerjemahkan suatu besaran yang

diekspresikan menggunakan bahasa (

linguistik

). Misalnya besaran kecepatan laju

kendaraan yang diekspresikan dengan pelan , agak cepat, cepat, dan sangat

cepat[10].

Fuzzy logic

pertama kali diperkenalkan oleh Jan Lukasiewicz pada tahun

1920-an sebagai teori kemungkinan. Logika kemungkinan ini memperluas

jangkauan dari nilai kebenaran untuk semua bilangan riil pada interval antara 0 dan

1. Pada tahun 1965, profesor dan kepala departemen teknik elektrik di university of

california, Berkeley, yaitu Lotfi Zadeh, menemukan kembali , mengidentifikasi,

mengeksplorasi, mempromosikan, dan berjuang untuk

fuzzy logic

. Beliau

memperluas ruang kerja teori kemungkinan menjadi sistem logika matematika

formal dan konsep baru untuk mengaplikasikan istilah bahasa alami pada

penelitiannya, yaitu ‘

Fuzzy sets

’. Logika baru ini dinamakan

fuzzy logic, fuzzy logic

(33)

2.4.1

Konsep

Fuzzy Logic

Fuzzy logic

berkaitan dengan kebenaran proporsional, namun terkadang

didunia nyata sering tidak didefinisikan secara jelas. Contohnya sulit untuk

memberikan gambaran kebenaran

“amin sudah tua” berbeda dengan menentukan

nilai benar atau salah pada frasa “jika john berumur 60 tahun”. Karena dalam

beberapa kasus umur 60 tahun sudah cukup tua untuk memenuhi syarat mendapat

keuntungan warga senior diberbagai segi. Tetapi, bila dilihat dari segi yang lain

umur 60 tahun tidak cukup tua karena tidak memenuhi syarat jaminan sosial. Jadi,

diperlukan nilai kebenaran untuk memahami frasa “amin sudah tua” guna mendapat

nilai antara [0,1], tidak hanya 0 atau 1.

Fuzzy logic

memiliki banyak nilai, tidak seperti logika boolean yang memiliki

2 nilai.

Fuzzy logic

menangani derajat keanggotaan dan derajat kebenaran.

Fuzzy

logic

menangani nilai yang berkelanjutan dari 0(sepenuhnya salah) sampai

1(sepenuhnya benar).

2.4.1.1

Himpunan

Fuzzy

Himpunan

fuzzy

merupakan kumpulan prinsip matematik sebagai

penggambaran pengetahuan berdasarkan derajat keanggotaan. Sebuah himpunan

(34)
[image:34.595.158.438.114.331.2]

20

Gambar 2.2 Perbedaan

fuzzy logic

dengan

boolean logic

2.4.1.2

Fungsi Keanggotaan

Tingkat keanggotaan

memetakan objek atau atributnya

ke

bilangan riil positif pada interval [0,1]. Karena karakteristik pemetaannya seperti

sebuah fungsi, maka disebut sebagai fungsi kenaggotaan. Definisi formalnya

adalah:

“sebuah fungsi keanggotaan

dikarakteristikkan dengan pemetaan

[ , ], ∈

dimana x sebuah bilangan riil yang mendeskripsikan sebuah objek

atau atributnya dan X adalah semesta pembicaraan dan A adalah himpunan bagian

(35)
[image:35.595.115.508.107.293.2]

Gambar 2.3 fungsi keanggotaan dari variabel linguistik kecepatan

fungsi keanggotaan adalah pemetaan sebuah elemen x pada semesta nilai

keanggotaan menggunakan sebuah bentuk fungsi teoritis. Beberapa fungsi

keanggotaan

fuzzy

:

1.

Representasi Linear

Pemetaan input ke derajat keanggotaannya digambarkan sebagai

suatu garis lurus. Terdapat 2 bentuk yaitu representasi liner naik dan

turun.

a.

Kurva representasi linear naik

Himpunan dimulai pada nilai dominan yang memiliki derajat

keanggotaan[0] dan bergerak ke kanan menuju domain dengan

derajat keanggotaan yang lebih tinggi. Fungsi keanggotaannya

adalah:

= {

;

�−

; �

;

(2.3)

b.

Kurva representasi linear turun

(36)

22

= {

−−�

; �

:

(2.4)

2.

Representasi Kurva Segitiga

Representasi kurva segitiga merupakan gabungan antara 2 garis

(linear). Fungsi keanggotaannya adalah:

= {

;

� � �

�−

; �

−�

;

(2.5)

3.

Representasi Kurva Trapesium

Representasi kurva trapesium menyerupai bentuk segitiga, namun

memiliki beberapa titik dengan derajat keanggotaan 1. Fungsi

keanggotaannya adalah:

=

{

;

� � � �

�−

; �

:

−�

;

(2.6)

4.

Representasi Kurva Betuk Bahu

Daerah yang terletak pada sisi kanan dan kiri yang tidak mengalami

perubahan, digunakan untuk mengakhiri variabel suatu daerah

fuzzy

. Pada

bahu kiri kurva bergerak dari benar ke salah, dan pada bahu kanan kurva

bergerak dari salah ke benar.

2.5

Algoritma

K-Nearest Neighbour

Klasifikasi menggunakan algoritma K-

nearest neighbour

adalah dengan

menentukan jarak untuk mengukur seberapa dekat jarak kesamaan data

pembelajaran dengan objek tersebut. Berdasarkan konsep “

learning by

analogy

”,

data

learning

dideskripsikan dengan atribut numerik

n

-dimensi. Tiap data

learning

merepresentasikan sebuah titik yang ditandai dengan c, dalam ruang

n

-dimensi. Jika sebuah data

query

yang labelnya tidak diketahui diinputkan, maka

K-nearest neighbour

akan mencari

k

buah data

learning

yang berjarak paling dekat

dengan data

query

dalam ruang

n

-dimensi. Jarak antara data

query

dengan data

(37)

data

query

dengan semua titik yang merepresentasikan data

learning

dengan rumus

euclidean distance

.

Pada fase

training

, algoritma ini hanya akan melakukan penyimpanan vektor

vektor fitur dan kasifikasi data

training sample

. Pada fase klasifikasi, fitur

fitur

yang sama dihitung untuk data

testing

(klasifikasinya belum diketahui). Jarak dari

vektor yang baru ini terhadap seluruh vektor

training sample

dihitung dan sejumlah

k

buah yang paling dekat diambil. Titik yang baru klasifikasinya diprediksikan

termasuk pada klasifikasi terbanyak dari titik

titik tersebut.

Nilai

k

yang terbaik untuk algoritma ini tergantung pada data; secara

umumnya nilai

k

yang tinggi akan mengurangi efek

noise

pada klasifikasinya, tetapi

membuat batasan antara setiap klasifikasi menjadi lebih kabut, nilai

k

yang bagus

dapat dipilih dengan optimasi paramater, misalnya dengan menggunakan

cross-validation. Kasus khusus dimana klasifikasi diprediksi berdasarkan data

pembelajaran yang paling dekat (dengan kata lain,

k

= 1) disebut algoritma

nearest

neighbour

.

Tepat atau tidaknya algoritma K-

nearest neighbour

dipengaruhi

oleh ada

atau tidaknya fitur

fitur yang tidak relevan atau jika bobot fitur tersebut tidak

setara dengan relevansinya terhadap klasifikasi. Riset yang dilakukan terhadap

algoritma ini sebagian besar membahas bagaimana memilih dan memberi bobot

terhadap fitur, agar performa klasifikasi menjadi lebih baik.

K

buah data

learning

terdekat akan melakukan

voting

untuk menentukan label

mayoritas. Label data

query

akan ditentukan berdasarkan label mayoritas dan jika

ada lebih dari satu label mayoritas maka label data query dapat dipilih secara acak

di antara label

label mayoritas yang ada.

Untuk dapat menentukan hasil dari klasifikasi menggunakan algoritma

(38)

24

menggunakan metode pengukuran kesamaan (

similarity

) yang digunakan untuk

mengukur kemiripan antara data

training

dan data

testing

, nama metode tersebut

adalah

cosine similarity

[2]. Rumusnya adalah sebagai berikut:

, � =

∑ �

� �,� . ��,�

√∑ �

�,�

. √∑ �

� �,�

(2.7)

Dimana:

, �

= kemiripan (

similarity

) antara data

testing

dan data

training.

= data

testing.

= data

training.

�,

= nilai bobot

term

data

training

.

�,

= nilai bobot

term

data

testing

.

= indeks

term.

(39)
[image:39.595.272.387.109.439.2]

Gambar 2.4 FlowChart Algoritma K-NN

2.6

Fuzzy K- Nearest Neighbour

Algoritma ini memberikan nilai membership sebagai fungsi pola jarak dari

sejumlah himpunan K-

nearest neighbour

dan pemberian nilai keanggotaan

neighbour

pada kelas tertentu. Sehingga pada algoritma ini data

testing

yang akan

diklasifikasikan akan memiliki nilai keanggotaan pada semua kelas. Klasifikasi

algoritma ini nantinya akan memilih nilai keanggotaan kelas pada data

testing

yang

paling tinggi[2]. Berikut merupakan persamaan untuk memberikan nilai

keanggotaan pada data

testing x

dengan menggunkan metode

euclidean distance

.

Jarak

eucidean distance

antara vektor data

testing xi

dengan vektor data

training xj

dihitung menggunakan rumus dibawah ini:

‖ − ‖ = ∑ |� − � |

=

/

(2.8)

Start

Tentukan jumlah terdekat k (k = ditentukan oleh user)

Hitung jarak test data ke

training data

Urut data berdasarkan data yang mempunyai jarak euclid

terkecil

Tentukan kelompok test data berdasarkan label mayoritas

pada k

(40)

26

Dimana :

‖ − ‖

= jarak e

uclidean

vektor data

testing

dan dokumen

training

k-

j

.

Ni

= bobot

term

dalam dokumen

testing

.

= bobot

term

pada dokumen

training

ke-

j

.

= index

term

ke-

i.

= jumlah

term

keseluruhan hasil

text preprocessing

.

Untuk penentuan nilai keanggotaan kelas ke-

i

pada tetangga ke-

j

dihitung

menggunakan rumus dibawah ini:

� = {

, ≠

, =

(2.9)

Dimana :

= nilai keanggotaan kelas ke-

i

pada tetangga ke-

j

.

i =

kelas

genre

.

j =

Tetangga terdekat (K).

Penentuan nilai membership kelas pada data testing x dengan metode

euclidean distance

dihitung menggunakan rumus dibawah ini:

=

‖� − � ‖ / �− =

‖� − � ‖ / �− =

(2.10)

Dimana:

= nilai keanggotaan kelas ke-

i

pada data

testing x

.

m =

bobot pangkat (

weight exponent

).

(41)

Jika jarak yang digunakan adalah Euclidean maka m = 2.

Jika jarak yang digunakan adalah Chebyshev m =

maka.

Sedangkan untuk memberikan nilai keanggotaan pada data

testing

x, dengan

menggunakan metode

cosine similiarity

dihitung dengan menggunakan rumus

dibawah ini:

=

=

,

=

,

(2.11)

Dimana:

= nilai keanggotaan kelas ke-

i

pada data

testing x

.

= nilai keanggotaan kelas ke-

i

pada tetangga ke-

j

yang telah dihitung

dengan menggunakan rumus 2.9.

, �

= kemiripan (

similarity

) antara data

testing

q dengan data

training

d yang telah dihitung dengan menggunakan rumus 3.

2.7

Metode

Linear

Model Sekuensial Linier atau sering disebut Model Pengembangan Air

Terjun, merupakan paradigma model pengembangan perangkat lunak paling tua,

dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan

perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai pada

tingkat dan kemajuan sistem pada seluruh tahapan analisis, desain , kode, dan

pengujian.

1.

Analisis

(42)

28

2.

Desain

Fase ini difokuskan pada proses desain struktur data, arsitektur sistem,

representasi interface, dan algoritma program.

3.

Kode

Fase ini dilakukan setelah menyelesaikan proses desain, hasil yang ada di

4.

proses desain akan diterjemahkan kedalam suatu bahasa pemrograman

tertentu untuk menghasilkan sebuah sistem.

5.

Test

Pengujian dilakukan untuk menemukan kesalahan-kesalahan yang mungkin

terjadi

6.

pada proses pengkodean serta memastikan bahwa input yang dibatasi

memberikan hasil yang sesuai dengan kebutuhan.

Kelebihan:

1.

Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan

prosesnya teratur.

2.

Cocok digunakan untuk produk software/program yang sudah jelas

kebutuhannya di awal, sehingga minim kesalahannya.

3.

Software yang dikembangkan dengan metode ini biasanya menghasilkan

kualitas yang baik.

4.

Documen pengembangan sistem sangat terorganisir, karena setiap fase

harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.

Kelemahan:

1.

Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan,

sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah

Kode

Test

Pemodelan Sistem

[image:42.595.107.474.372.444.2]

Analisis

Desain

(43)

didapatkan tim pengembang harus diubah kembali/iterasi sering

menyebabkan masalah baru.

2.

Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel,

karena komitmen harus dilakukan pada tahap awal proses.

3.

Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh

customer/pelanggan.

4.

Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim

pengembang yang sedang membuat produk.

5.

Adanya waktu kosong (menganggur) bagi pengembang, karena harus

menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.

2.8

Pemrograman Terstruktur

Pemrograman terstruktur adalah konsep atau paradigma atau sudut pandang

pemrograman yang membagi-bagi program berdasarkan fungsi-fungsi atau

prosedur-prosedur yang dibutuhkan program komputer. Modul-modul (pembagian

program ) biasanya dibuat dengan mengelompokkan fungsi-fungsi dan

prosedur-prosedur yang diperlukan sebuah proses tertentu.

(44)

30

fungsi

prosedur

fungsi

fungsi

prosedur File kode program

fungsi

prosedur

fungsi

fungsi

prosedur File kode program

fungsi

prosedur

fungsi

fungsi

prosedur File kode program

Program utama Include atau uses sebagai mekanisme menyatukan kode agar dapat

[image:44.595.168.430.120.418.2]

saling akses

Gambar 2.6 ilustrasi pemrograman terstruktur[5]

Pemodulan pada pemrograman terstruktur dibagi berdasarkan fungsi-fungsi

dan prosedur-prosedur. Oleh karena itu, pemodelan pada pemrograman terstruktur

lebih fokus bagaimana memodelkan data dan fungsi-fungsi dan prosedur-prosedur

yang harus dibuat. Jenis paradigma pemrograman yang digunakan dapat dideteksi

dari bahasa pemrograman apa yang akan digunakan untuk membuat program, baru

setelah itu ditentukan paradigma pemrograman apa yang akan digunakan.

2.8.1

Entity Relationship Diagram (ERD)

(45)

matematika. ERD digunakan untuk pemodelan basis data relasional. Sehingga jika

penyimpanan basis data menggunakan OODBMS maka perancangan basis data

tidak perlu menggunakan ERD. ERD memiliki beberapa aliran notasi seperti notasi

Chen (dikembangkan oleh peter chen), Barker (dikembangkan oleh Richard Barker,

Ian Parmer, Harry Ellis), notasi Crow

’s Foot, dan beberapa notasi lain. Namun yang

banyak digunakan adalah notasi dari Chen. Berikut adalah contohnya:

Pustaka

dipinjam

Anggota

Peminjaman melakukan

N N

id judul id nama

[image:45.595.167.497.244.376.2]

Tgl_pinjam Tgl_kembali

Gambar 2.7 ERD notasi Chen

2.8.2

Data Flow Diagram (DFD)

Informasi yang ada di dalam perangkat lunak dimodifikasi dengan beberapa

transformasi yang dibutuhkan.

Data flow diagram

(DFD) atau dalam bahasa

indonesia menjadi diagram alir data (DAD) adalah representasi grafik yang

menggambarkan aliran informasi dan transformasi informasi yang diaplikasikan

sebagai data yang mengalir dari masukan (

input

) dan keluaran (

output

)[5].

DFD dapat digunakan untuk merepresentasikan sebuah sistem atau

perangkat lunak pada beberapa level abstraksi. DFD dapat dibagi menjadi beberapa

level yang lebih detail. DFD menyediakan mekanisme untuk pemodelan fungsional

ataupun pemodelan aliran informasi. Oleh karena itu, DFD lebih sesuai digunakan

untuk memodelkan fungsi-fungsi perangkat lunak yang akan diimplementasikan

menggunakan pemrograman terstruktur karena pemrograman terstruktur

membagi-bagi membagi-bagiannya dengan fungsi-fungsi dan prosedur-prosedur[5].

(46)

32

Anggota Perpustakaan

Petugas perputakaan Mengelola sistem

infomatika manajemen perpustakaan Pencarian pustakan

pustakan

Kelola pustaka

[image:46.595.136.472.117.257.2]

Kelola pustaka

Gambar 2.8 DFD Edward Yourdon dan Tom DeMarco[5]

2.8.3

Kamus Data

Kamus data (data dictionary) dipergunakan untuk memperjelas aliran data

yang digambarkan pada DFD. Kamus data adalah kumpulan daftar elemen data

yang mengalir pada sistem perangkat lunak sehingga masukan (inputan) dan

keluaran (output) dapat dipahami secara umum (memiliki standar secara penulisan).

Kamus data dalam imlementasi program dapat menjadi parameter masukan dan

keluaran dari sebuah fungsi atau prosedur.

2.9

C#

C# adalah bahasa pemrograman yang dikembangkan oleh perusahaan

pengembang perangkat lunak besar dunia yakni microsoft. Bahasa pemrograman

C# sudah distandarisasi dengan standar internasional oleh ECMA. Seperti halnya

bahasa pemrograman lain bahasa pemrograman C# bisa digunakan untuk

membangun berbagai macam jenis aplikasi, seperti aplikasi berbasis dekstop,

aplikasi berbasis web, ataupun aplikasi berbasis web service.

Ada beberapa alasan seorang programmer memilih C# untuk digunakan

dalam mengembangkan program, alasan

alasannya antara lain:

1.

Sederhana(

Simple

)

(47)

menyebabkan kebingungan pada saat menggunakannya dan juga

berpotensi dapat menjadi masalah bagi para programmer C++.

2.

Modern

Adanya beberapa fitur seperti

exception handling, garbage

collection, extensible data types

, dan

code security

menjadikan bahasa C#

menjadi bahasa pemrograman yang modern.

3.

Object Oriented Language

Kunci dari bahasa pemrograman yang bersifat

Object Oriented

Language

adalah adanya

encapsulation, inheritance,

dan

polymorphism.

Dan sifat

sifat tersebut telah dimiliki oleh bahas C#. Sehingga C#

merupakan bahasa pemrograman yang bersifat

Object Oriented

Language

.

4.

Powerful

dan Fleksibel

C# dapat digunakan untuk mebangun berbagai macam aplikasi,

seperti aplikasi pengolahan kata, grafik, spreadsheets, atau bahkan

membuat

compiler

untuk sebuah bahasa pemrograman.

5.

Efisien

C# adalah bahasa pemrograman yang menggunakan jumlah kata

kata yang tidak terlalu banyak. C# hanya berisi kata

kata yang disebut

dengan

keyword.

Keyword

ini digunakan untuk menjelaskan berbagai

macam informasi. Jika kita berpikir bahwa dengan menggunakan banyak

keyword

kemudian akan membuat aplikasi lebih

powerful

itu tak selalu

benar, karena justru akan membuat pengembang lain menjadi kesulitan

saat membangun aplikasi.

6.

Modular

Kode C# ditulis dengan pembagian masing class

class yang terdiri

dari beberapa

routines

yang disebut dengan

member methods

. Class

class dan metode

metode ini dapat digunakan kembali oleh program

atau aplikasi lain.

(48)

34

Dengan dukungan penuh dari microsoft yang akan mengeluarkan

produk

produk utamanya dengan dukungan framework.NET, maka

masa depan bahasa C# sebagai salah satu bahasa pemrograman yang ada

di dalam lingkungan framework.NET akan lebih baik.

2.10

Confusion Matrix

[image:48.595.125.404.331.436.2]

Confusion matrix

merupakan sebuah metode perhitungan yang digunakan

untuk mencari keakuratan pada hasil klasifikasi. Berikut merupakan tabel

confusion

matrix

:

Tabel 2.6

Confusion Matrix

Kelas

Prediksi

1

0

Kelas sebenarnya

1

TP

FN

0

FP

TN

Keterangan:

a.

True Positive

(TP), merupakan jumlah dokumen dari kelas 1 yang benar

diklasifikasikan sebagai kelas 1.

b.

False Positive

(FP), merupakan jumlah dokumen dari kelas 0 yang salah

diklasifikasikan sebagai kelas 1.

c.

False Negative

(FN), merupakan jumlah dokumen dari kelas 1 yang salah

diklasifikasikan sebagai kelas 0.

d.

True Negative

(TN), merupakan jumlah dokumen dari kelas 0 yang benar

diklasifikasikan sebagai kelas 0. [12]

Kemudian akan dihitung akurasinya, akurasi merupakan perhitungan antara

jumlah prediksi benar dan dibagikan dengan jumlah prediksi yang dilakukan yang

mempunyai tujuan untuk mengetahui berapa presentase keberhasilan suatu sistem

melakukan klasifikasi, untuk menghitung akurasi digunakan rumus sebagai berikut:

(49)

99

BAB 5

KESIMPULAN DAN SARAN

5.1

Kesimpulan

Berasarkan hasil penelitian, analisis, pelatihan dan pengujian algoritma

Fuzzy

K

-nearest neighbour

untuk klasifikasi proposal skripsi berdasarkan kelompok

keilmuan di Teknik Informatika unikom, didapatkan nilai keakuratan yang terbesar

yakni dengan presentase sebesar 51% pada nilai K=7 dan K=8, maka dari itu dapat

disimpulkan bahwa dalam penelitian yang dilakukan nilai K yang yang

menghasilkan keakuratan terbaik yakni pada nilai K=7 dan K=8.

5.2

Saran

Dalam pembuatan tugas akhir ini, masih terdapat banyak kekurangan yang

dapat diperbaiki untuk pengembangan selanjutnya. Beberapa saran yang dapat

diberikan adalah sebagai berikut:

1.

Menggunakan metode penghitungan jarak lain seperti

cosine similarity.

2.

Menggunakan algoritma stemming lain seperti algoritma nazief & adriani

untuk stemming bahasa indonesia karena algoritma porter stemmer belum

menunjukan hasil yang akurat.

3.

Menggunakan aplikasi bantuan untuk membenarkan penulisan yang salah

(tipo) yang terdapat pada data latih atau data uji agar membuat hasil

tokenizing, filtering

, dan

stemming

lebih baik.

4.

Menggunakan data latih yang banyak dan beragam untuk setiap kelasnya.

Sehingga presentase keakuratan klasifikasi menjadi lebih baik.

(50)
(51)

NIM

: 10111648

Tempat / Tgl Lahir

: Indramayu, 23 Nopember 1994

Jenis Kelamin

: Laki-laki

Alamat

: Jl. Raya Patrol

Haurgeulis gang mawar Rt/Rw 25/10

Blok Wanguk Lor Timur Desa Kedungwungu Kec.

Anjatan Kab.Indramayu 45256

Telepon

: 089631155491

Email

: [email protected]

Pendidikan

1.

1999

2005

: MI N Anjatan - Indramayu

2.

2005

2008

: SMP N 1 Anjatan - Indramayu

3.

2008

20011

: SMK Muhammadiyah Kandanghaur - Indramayu

4.

20011

2016

: Program Studi S1 Jurusan Teknik Informatika Fakultas

Teknik dan Ilmu Komputer Universitas Komputer

Indonesia

Bandung, 27 Februari 2016

Penulis

(52)
(53)
(54)

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)

1

Edisi...Volume..., Bulan 20..ISSN :2089-9033

Implementasi Algoritma

Fuzzy

K-

Nearest Neighbour

(

Fuzzy

K-NN) Untuk

Klasifikasi Proposal Skripsi Berdasarkan Kelompok Keilmuan Di Teknik

Informatika UNIKOM

Yosep Amin

Teknik Informatika – Universitas Komputer Indonesia

Jl. Dipatiukur 112-114 Bandung

Email : [email protected]

ABSTRAK

Skripsi merupakan mata kuliah penutup yang

diambil oleh mahasiswa/mahasiswi yang sedang menempuh jenjang pendidikan strata 1 di perguruan tinggi negeri atau pun perguruan tinggi swasta, skripsi menjadi salah satu syarat untuk kelulusannya. Berkembangnya ilmu pengetahuan setiap waktunya

membuat semakin beragamnya tema – tema skripsi

yang bermunculan, sehingga menimbulkan adanya

keanekaragaman proposal skripsi. Sehingga pihak

akademik membuat sebuah pengelompokan kepada

tema – tema skripsi tersebut Walaupun demikian

masih saja terjadi kesalahan pengelompokan proposal skripsi. Faktor pemicu salah memilih kelompok keilmuan karena masih berkaitannya satu kelompok keilmuan dengan kelompok keilmuan

yang lain. Untuk melakukan identifikasi proposal

skripsi dapat dilakukan dengan memanfaatkan metode klasifikasi.

Dalam penelitian ini metode fuzzy k-nearest

neighbour (FK-NN) diimplementasikan untuk klasifikasi proposal skripsi berdasarkan kelompok keilmuan. Dengan melakukan pengolahan kata sebelumnya serta menggunakan TFIDF sebagai metode pembobotan kata sehingga kata input dapat diolah sesuai kebutuhan. Parameter yang digunakan sebagai faktor penilaian yakni dilihat dari judul dan deskripsi proposal skripsi.

Berdasarkan hasil pengujian didapatkan niai keakuratan yang terbesar yakni dengan presentase sebesar 51% pada nilai K=7 dan K=8, maka dari itu dapat disimpulkan bahwa dalam penelitian yang dilakukan nilai K yang menghasilkan keakuratan terbaik yakni pada nilai K=7 dan K=8.

Kata kunci : proposal skripsi, Fuzzy K-Nearest

Neighbour, TF-IDF, Klasifikasi.

1. PENDAHULUAN 1.1 Latar Belakang

Skripsi merupakan matakuliah penutup yang diambil oleh mahasiswa/mahasiswi yang sedang menempuh jenjang pendidikan strata 1 di perguruan tinggi negeri atau pun perguruan tinggi swasta,

skripsi menjadi salah satu syarat untuk kelulusannya. Skripsi merupakan istilah yang digunakan di indonesia untuk mengilustrasikan suatu karya tulis ilmiah berupa paparan tulisan hasil penelitian sarjana S1 yang membahas permasalahan/fenomena dalam bidang ilmu tertentu dengan menggunakan

kaidah–kaidah yang berlaku[1]. Karya

tulis/penelitian ilmiah ini akan dilaporkan kedalam

laporan skripsi, sebelum melakukan skripsi,

biasanya para mahasiswa/mahasiswi akan membuat terlebih dahulu usulan penelitian atau biasanya disebut proposal skripsi yang akan diajukan ke panitia sidang proposal skripsi untuk disidangkan.

Berkembangnya ilmu pengetahuan setiap

waktunya membuat semakin beragamnya tema –

tema skripsi yang dibermunculan yang diajukan sebagai tema penelitian, yang kemudian dituangkan dalam proposal skripsi, dari perbedaan tema proposal skripsi yang dibuat oleh mahasiswa, menimbulkan adanya keanekaragaman proposal skripsi baik dari segi latar belakang, tujuan, metodologi, atau data penelitian. Sehingga pihak akademik membuat sebuah pengelompokan kepada

tema – tema skripsi tersebut, ini dilakukan agar

proposal skripsi dapat dikenali dan membantu

menempatkan proposal skripsi ke kelompok

keilmuan yang sesuai. Walaupun demikian masih saja terjadi kesalahan pengelompokan proposal

skripsi, mahasiswa terkadang salah memilih

kelompok keilmuan. Jika ini terjadi maka

penanganan terhadap proposal skripsi seperti masukan untuk arah pengerjaan skripsi tersebut akan tidak maksimal, karena proposal skripsi tidak ditangani oleh penguji yang ahli di bidangnya. Faktor pemicu salah memilih kelompok keilmuan karena masih berkaitannya satu kelompok keilmuan dengan kelompok keilmuan yang lain. Untuk melakukan identifikasi proposal skripsi dapat dilakukan dengan memanfaatkan metode klasifikasi.

Metode Fuzzy k-Nearest Neighbour merupakan

salah satu metode yang digunakan untuk klasifikasi, metode ini dikembangkan pertama kali oleh James M. Keller dasar dari algoritma ini adalah pemberian

nilai membership sebagai fungsi nilai pola jarak dari

sejumlah himpunan k-Nearest Neighbour dan

(55)

Algorithm yang dilakukan oleh Zhang, Yi Niu, dan Huabei nie[2]. Mengatakan kelebihan dari metode

fuzzy k-NN terletak pada tingkat keakurasian yang dihasilkan lebih baik daripada metode klasifikasi

lain seperti k-Nearest Neighbour (k-NN), dan

Support Vektor Machine(SVM). Pada penelitian tersebut juga mengatakan bahwa kekurangan yang

dimiliki oleh Fuzzy k-NN ini, yakni terletak pada

kecepatan pengklasifikasian yang lebih lambat dibandingkan dua metode klasifikasi pembanding diatas[2].

Berdasarkan penjelasan diatas, dalam

penelitian ini akan dilakukan implementasi

algoritma fuzzy k-Nearest Neighbour untuk

menyelesaikan permasalahan kasus klasifikasi

proposal skripsi. Diambil studi kasus di program studi Teknik Informatika UNIKOM.

1.2 Rumusan Masalah

Berdasarkan pemaparan latar belakang diatas dapat dirumuskan masalahnya, antara lain :

Bagaimana implementasi metode Fuzzy k-Nearest

Neighbour untuk melakukan klasifikasi proposal skripsi.

1.3 Maksud

Maksud dari penelitian ini adalah untuk

implementasi Fuzzy k-Nearest Neighbour dalam

melakukan klasifikasi Proposal Skripsi.

1.4 Tujuan

Tujuan dari penelitian ini adalah untuk

mengetahui keakuratan metode Fuzzy k-Nearest

Neighbour dalam melakukan klasifikasi proposal skripsi.

1.5 Metodologi Penelitian

Metode penelitian yang digunakan dalam penelitian ini yaitu metode penelitian deskriptif. Merupakan suatu metode dalam meneliti status sekelopok manusia, suatu objek, suatu set kondisi, suatu sistem pemikiran, ataupun suatu kelas peristiwa pada masa sekarang. Tujuan dari penelitian deskriptif ini adalah untuk membuat deskripsi, gambaran atau lukisan secara sistematis, faktual dan

akurat mengenai fakta-fakta, sifat-sifat serta

hubungan antar fenomena yang diselidiki. Serta memiliki ciri-ciri menerangkan hubungan, menguji

hipotesis-hipotesis, membuat prediksi serta

mendapatkan makna(kesimpulan) dan implikasi dari suatu masalah yang ingin dipecahkan[3]. alur penelitan yang akan dilakukan pada penelitian ini dapat dilihat pada gambar 1.1 sebagai berikut:

[image:55.595.323.499.87.357.2]

Preprocessing (tokenizing, filtering, stemming, weighting) Pelatih an Preprocessing (tokenizing, filtering, stemming, weighting) Pengujian Klasifikasi Analisis Implementasi Pengujian Penarikan Kesimpulan

Gambar 1 Alur Penelitian

2. ISI PENELITIAN 2.1 Landasan Teori 2.1.1 Proposal Skripsi

Skripsi adalah istilah yang digunakan di Indonesia untuk mengilustrasikan suatu karya tulis ilmiah berupa paparan tulisan hasil penelitian

sarjana S1 yang membahas suatu

permasalahan/fenomena dalam bidang ilmu tertentu

dengan menggunakan kaidah-kaidah yang

berlaku[1]. Proposal skripsi sendiri merupakan Suatu permintaan, pengajuan ide kepada pihak lain

untuk mendapatkan perizinan topik, tempat

penelitian, dan lain sebagainya yang diajukan oleh

seorang mahasiswa dalam usahanya untuk

melakukan skripsi sebagai syarat kelulusannya sebagai sarjana.

2.1.2 Text Mining

Text Mining merupakan penerapan konsep dan teknik data mining untuk mencari pola dalam teks,

proses penganalisisan teks guna menyarikan

informasi yang bermanfaat untuk tujuan tertentu. Proses data mining untuk data dokumen atau teks memerlukan lebih banyak tahapan, mengingat data teks memiliki karakteristik yang lebih kompleks dari

pada data biasa. Tujuannya yakni mencari kata –

kata yang dapat mewakili isi dari dokumen sehingga dapat dilakukan analisa keterhubungan antar

dokumen diproses[7]. Langkah – langkah yang

(56)

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)

3

Edisi...Volume..., Bulan 20..ISSN :2089-9033

2.1.2.1 Text Preprocessing

Pada Tahap text preprocessing dilakukan

beberapa proses menyiapkan judul dan deksripsi proposal skripsi agar menjadi dokumen teks yang siap diolah ditahap selanjutnya, umumnya pada tahap ini terdapat beberapa proses , diantaranya:

tokenizing, filtering, stemming.

2.1.2.2 Tokenizing

Tahap tokenizing adalah tahap pemotongan

string input berdasarkan tiap kata yang menyusunnya. Setiap kalimat yang ada di dokumen akan disusun menjadi kata per kata, semua tanda baca dan tanda hubung akan dihapuskan.

2.1.2.3 Filtering

Tahap Filtering adalah tahap mengambil kata

– kata penting dari hasil token, dalam proses ini bisa

menggunakan algoritma stop list (membuang kata

yang kurang penting) atau word list(menyimpan kata

penting). Stop list adalah daftar kata yang sering

digunakan dan tidak menjelaskan isi dari dokumen

atau stopword.

2.1.2.4 Stemming

Tahap Stemming adalah tahap dimana kata

hasil filtering akan dirubah kedalam bentuk

dasarnya(Stem). Untuk kata dalam bahasa inggris,

metode stemming yang paling populer adalah

menggunakan algoritma Martin porter’s stammer

atau biasa disebut porter stemmer. Algoritma ini

juga bisa diaplikasikan untuk bahasa selain inggris, dalam hal ini akan diterapkan pada bahasa indonesia juga.

Porter stemmer for Bahasa Indonesia dikembangkan oleh Fasillah Z. Tala pada tahun

2003. Implementasi porter stemmer for Bahasa

Indonesia berdasarkan

Gambar

Gambar 1.1 Alur Penelitian
Gambar 1.2 Metode Pembangunan Perangkat Lunak [4]
Gambar 2.1 Algoritma Porter Stemmer[8]
Tabel 2.2 Aturan untuk inflectional possesive pronoun
+7

Referensi

Dokumen terkait

Penelitian pada Tugas Akhir ini, menggunakan metode ektraksi ciri Discrete Wavelet Transform (DWT) dan Fuzzy Color Histogram (FCH) dengan metode klasifikasi K-Nearest Neighbor

Setelah hasil klasifikasi dari metode Multivariate Adaptive Regression Spline (MARS) dan Fuzzy K-Nearest Neighbor (FK-NN) didapatkan, langkah selanjutnya adalah membuat

Langkah penting dari proses klasifikasi dengan menggunakan metode fuzzy k-nearest neighbor yaitu dimulai dengan menghitung jarak dari setiap data uji terhadap data latih

Setelah melakukan pengolahan data terlihat model logika fuzzy bekerja dengan menggunakan derajat keanggotaan dari sebuah nilai, kemudian digunakan untuk menentukan

Setelah melakukan pengolahan data terlihat model logika fuzzy bekerja dengan menggunakan derajat keanggotaan dari sebuah nilai, kemudian digunakan untuk

Dengan sistem yang menggunakan metode Fuzzy K-Nearest Neighbor FK-NN dapat digunakan untuk memperoleh sebuah hasil diagnosa jenis penyakit yang diderita berdasarkan nilai jarak tetangga