Penerapan Adaptive Neuro Fuzzy Inference System Untuk Penentuan Beasiswa Menggunakan Matlab

Sobat Blogger, Adaptive Neuro Fuzzy Inference System adalah metode hasil persilangan antara metode Fuzzy dengan metode Jaringan Syaraf Tiruan (JST). Oleh karenanya, ANFIS juga dikenal dengan sebutan metode hibrida. ANFIS membuat rule berdasarkan data yang di training melalui mekanisme mirip dengan jaringan syaraf tiruan.  

Metode yang diprakarsai oleh Takagi, Sugeno dan Kang (TSK) pada tahun 1985 ini bertujuan untuk memperoleh rule yang berasal dari hubungan antara masukan dan keluaran suatu system. Prinsip dasarnya adalah :
If x is A and y is B then z = f(x,y)

Dimana, A dan B adalah set Fuzzy sedangkan z merupakan fungsi dalam bentuk crisp (bukan fuzzy). Sebenarnya, prinsip kerja dari ANFIS hamper serupa dengan Jaringan Syaraf Tiruan, dimana untuk membentuk suatu model diperlukan data training beserta targetnya (supervised learning). Hasil pembelajaran JST adalah jaringan yang memiliki bobot (weight), sedangkan ANFIS akan menghasilkan Fuzzy Inference System yang telah memiliki rule-based. 

Baiklah kawan, saya tidak perlu panjang lebar dalam mengulas teori ANFIS, karena sudah banyak literature yang  sudah membahasnya dengan detail dan komprehensif.  Sekarang saatnya kita menuju ke studi kasus, yaitu mengintegrasikan antara teori ANFIS dengan system pengambil keputusan untuk penentuan beasiswa.  

Bagaimana kita bias menentukan siapa mahasiswa yang cocok untuk mendapatkan beasiswa ? Langkah pertama yang perlu diambil adalah mengambil sebauh data kepada kampus lain dengan mengambil data mahasiswa yang lolos seleksi beasiswa maupun yang tidak lolos seleksi. Data itu diharapkan akan menjadi data knowledge sehingga dapat diterapkan dalam sebuah system untuk pengambil keputusan.  Data knowledge tersebut dapat disebut sebagai data training. Tentu saja dalam implementasi yang lebih mendalam, data yang digunakan sebagai data training haruslah data yang berjumlah besar (big data).  Data yang saya gunakan sebagai training ini, hanya sebatas data kecil agar dapat dipelajari dengan mudah. 

Data Training pada Excel
Maksud dari kolom perolehan beasiswa pada table diatas adalah bernilai 1 apabila mahasiswa mendapatkan beasiswa dan bernilai 0 apabila gagal mendapatkan beasiswa. 

Fuzzy Inference System untuk Training data beasiswa

Langkah berikutnya adalah menggali informasi tersembunyi dari sekumpulan data perolehan beasiswa yang telah tersedia diatas, untuk kemudian kita cari knowledge data tersebut. Knowledge yang dicari dari metode ANFIS adalah rule pada fuzzy inference system (FIS). Secara prinsip adalah melakukan pembelajaran terhadap data training agar diperoleh hasil sesuai dengan target. Target dalam hal ini adalah kolom paling kanan yaitu perolehan beasiswa. 

Data training yang saya buat pada excel, harus dipindah pada file .dat pada notepad agar lebih mudah diproses. Hasil dari data yang telah saya pindah dari excel seperti berikut : 

Data Training pada Notepad

Sekali lagi, jangan disimpan dengan format .txt meskipun format default dari notepad adalah .txt, alasannya simple, karena matlab tidak dapat mendeteksi format .txt. So, format penyimpanan adalah . dat. Lantas, letakkan file tersebut satu folder dengan directory Matlab. 

Berikutnya, kita mulai menapaki langkah serius dengan Matlab. Kita tidak perlu repot-repot untuk ngoding sampai teler hanya untuk membuat program ANFIS. Karena Toolbox matlab pun sudah mendukung sebuah toolbox khusus ANFIS untuk kita gunakan secara Cuma-Cuma. Yupz, Saatnya beralih ke command window matlab, ketikkan anfisedit. Anfisedit adalah layanan toolbox matlab untuk melakukan training data dengan metode ANFIS. Maka, keluar jendela ANFIS berikut : 

Toolbox untuk ANFIS pada Matlab

Tanda lingkaran biru yang saya tandai merupakan urut-urutan langkah untuk melakukan proses training. Ikuti instruksi berikut, pada bagian from, pilih radio-button file, karena data kita tadi berbentuk file berekstensi .dat. Kemudian pilih load data untuk mengambil file data. Ambil file .dat pada directory. Lantas pilih generate FIS. Maka muncul jendela tambahan seperti berikut : 



Lihat bagian pertama yang saya lingkari, kita diminta untuk membuat Number of MFs yang tidak lain adalah Membership Function (fungsi keanggotaan) Fuzzy. Secara default, angka yang muncul adalah 3 3. Apa maksudnya? Maksudnya, terdapat tiga kategori masukan pertama dan tiga kategori masukan kedua. Angka yang harus kita masukkan harus disesuaikan dengan kebutuhan, yakni dilihat dari data yang telah kita miliki tadi. Sesuai data, masukan pertama adalah IPK dan masukan kedua adalah tingkat kemiskinan (TM ) . IPK dapat saya bagi menjadi 3 keanggotaan fuzzy yaitu pandai, rata-rata, dan tertinggal. Sedangkan tingkat kemiskinan saya bagi menjadi 2, yakni miskin dan kaya. Kesimpulannya, Number of MFs yang harus kita inputka adalah 3 2.  Untuk MF type, saya pilih gaussmf karena bentuknya yang terkenal halus. Terakhir, pilih linear untuk OUTPUT MF type. Bedanya apa sama constant? Maaf saya sendiri kurang paham. 

Klik OK, Sekarang, balik lagi ke jendela ANFIS Editor, coba klik structure untuk melihat hasil rancangan ANFIS atau langsung klik train now untuk memulai training. proses training otomatis akan berjalan, tunggu hingga selesai. Simpan file training ANFIS kita dengan cara File-Export-To File. Saya beri nama beasiswa. Okey, All is well, kita berhasil menciptakan FIS melalui mekanisme adaptive. 

Struktur ANFIS 

Aplikasi Penentuan Beasiswa 

Setelah panjang lebar membahas proses learning ANFIS menggunakan toolbox matlab, sekarang kita buat aplikasi sistem pendukung keputusan untuk memutuskan beasiswa. 


Keterangan : 
Teks field Indeks Prestasi saya namakan IPK
Teks field Tingkat kemiskinan adalah TK
Teks field Hasil Penentuan adalah hasil 
Berikut ini source code untuk aplikasi penentuan beasiswa, kode diletakkan pada button Tentukan Beasiswa. 

Berikut hasil program ketika saya run : 


Ketika diisikan data sebagai uji coba penentuan keputusan beasiswa, program mampu memberikan keputusan akhir yang diharapkan. 


Baiklah kawan-kawan, ulasan ini dapat saya simpulkan bahwa metode ANFIS mampu memberikan kinerja yang baik dalam sistem pengambil keputusan (SPK) komputasi. Dengan adanya ulasan ini semoga memberikan sedikit pencerahan kepada teman-teman yang sedang mempelajari ANFIS. Semoga bermanfaat ya.... 

Salam Hangat 







22 Responses to "Penerapan Adaptive Neuro Fuzzy Inference System Untuk Penentuan Beasiswa Menggunakan Matlab"

  1. Nice post (y)
    Ka, saya izin minta teksdeskripsinya untuk latihan membuat tutorial ya :))

    ReplyDelete
    Replies
    1. Silakan mbak Dhea, semoga bermanfaat (^_^)

      Delete
  2. Kak, untuk file .dat nya haruskah ditempatkan di file directory matlabnya? oiya untuk datanya, bisa sampai ratusan datakah untuk anfis pakai matlab?
    terima kasih sebelumnya. :D

    ReplyDelete
    Replies
    1. File .dat-nya harus ditempatkan di file directory, agar dapat dipanggil kembali oleh matlab. Sebagai salah satu metode data mining, maka semakin banyak data latih yang dilatihkan justru akan memperbesar akurasi sistem

      Delete
  3. mo tanya dunk untuk scrpit pembuatan GUI ANFIS sugeno apakah scriptnya sama? tolong share ya

    ReplyDelete
  4. mas, saya mau nanya nih, saya ga paham untuk membuat rule anfisnya, bisa bantu saya mas, rule editornya saya kurang tau mana yang harus saya pilih,
    inputnya ada 12 dan targetnya 1.

    terimakasih

    ReplyDelete
    Replies
    1. banyak sekali inputnya mas,, pahami tentang MFs pada contoh diatas mas

      Delete
  5. mantap post nya, mas kira kira kalau buat gui di mathlab itu bisa di deploy ga ya? jadi seperti kita buat program ada exe nya tinggal klik maka keluar program nya? boleh minta email atau contact social media? mau tanya tanya tentang anfis ini

    ReplyDelete
    Replies
    1. bisa kirim email di fauzancharis@gmail.com mas

      Delete
  6. Mas saya mau nanya nih, kira2 untuk contoh perhitungan manualnya terhadap sebuah studi kasus gimana ya bisa dijelaskan

    ReplyDelete
    Replies
    1. Wah, panjang itu mas... hehe

      Delete
    2. bisa dikasih contohnya mas ? alur untuk penyelesaiannya gimna?

      Delete
  7. Mas Mau Nanya Ni,
    ini kan inputkan menggunakan Anfis toolbox.
    nah klo ga pake toolbox gmn?
    tolong blas di mail jika sempat mas, makasih
    Tugas Akhir bt smpe tgl 21 nih hehe
    ilhamsuryoko11@gmail.com

    ReplyDelete
    Replies
    1. mohon maaf mas, kalau gak pakek tollbox belum bisa

      Delete
  8. mas boleh minta sourcodenya uda nyoba gak bisa2 tapi.
    fajrihalfian@gmail.com
    trimakasih.

    ReplyDelete
  9. Untuk out<0.8, 0.8 nya dari mana ya mas ?

    Trims

    ReplyDelete
  10. adakah referensi lain yang tidak menggunakan toolbox matlab??

    contoh penghitunganya, yang lebih detail gitu.

    ReplyDelete
  11. I am definitely enjoying your website. You definitely have some great insight and great stories. Alpha Neuro Health

    ReplyDelete
  12. Thank you for some other informative blog. Where else could I get that type of information written in such an ideal means? I have a mission that I’m just now working on, and I have been at the look out for such information. SpeakEasyTherapyLV

    ReplyDelete
  13. The information you have posted is very useful. The sites you have referred was good. Thanks for sharing.. buy herbalife online

    ReplyDelete
  14. mas mau nanya, bagaimana ya caranya untuk menerapkan FCM pada data trainingnya untuk selanjutnya dilakukan prediksi dengan ANFIS? Terima kasih mas.

    ReplyDelete

Terima Kasih Telah Berkunjung, Silakan Berkomentar...
Kritik dan Saran Teman-Teman Sangat Memotivasi Saya (^_^)

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel