Creating an Adaptive Neuro Fuzzy Inference System (ANFIS)

Oleh: Dr. Ir. Prabowo Pudjo Widodo, MS. & Rahmadya Trias H., ST., MKom.

Studi Kasus:

Buatlah rancangan Adaptive Neuro Fuzzy Inference System untuk kasus penentuan bonus pegawai restoran berdasarkan pelayanan dan masakan yang disajikan. Gunakan rule yang dibentuk dengan proses learning.

Penyelesaian:

  1. Langkah pertama adalah buka Matlab Anda. Arahkan Current Directory pada posisi folder yang tepat.


  1. Berikutnya kita akan membuat proses learning pada ANFIS. Kembali ke command window, ketik “anfisedit“.


 

  1. Yang perlu diperhatikan adalah kita diminta untuk me-load data. Data yang akan dijadikan sarana training ANFIS adalah gabungan antara masukan dengan keluaran. Dari kombinasi-kombinasi yang mungkin dapat kita bentuk menjadi matrik dengan jumlah kolom sebanyak tiga kolom yang menggambarkan dua masukan dan satu keluaran. Matriks tersebut terdiri dari komposisi beberapa kemungkinan, misalnya jika pelayanan nol dan masakan nol harapannya bonusnya juga nol. Buat matriks pada command window sebagai berikut (sekedar ilustrasi):

    train_data =

     

    0 0 0

    1 0 1

    0 1 1

    2 1 3

    2 2 4

    1 2 3

    3 0 3

    3 1 4

    3 2 5

    4 1 5

    1 4 5

    5 1 6

    5 2 7

    5 3 8

    5 4 9

    5 5 10

    Anda dapat membentuk training data ini selengkap mungkin. Kembali ke ANFIS editor, pada isian load data, klik tombol radio worksp, yang artinya kita akan mengambil data dari workspace command window. Klik Load data, maka kita akan diminta mengisikan variabelnya, ketik: train_data, lalu OK.

  2. Pada isian generate FIS, pilih tombol radio Load from file, karena kita akan memanggil FIS hasil kreasi kita sebelumnya. Klik Load, dan arahkan ke file bonus.fis. Berikutnya pada isian Train FIS, klik Train now. Gunakan Epoch secukupnya, misalnya 10.

     


 

  1. Kemudian kita akan membuat FIS secara otomatis. Pada isian Generate FIS, pilih Grid partition, dilanjutkan dengan mengklik Generate FIS.
  2. Akan muncul jendela isian tentang tipe fungsi keanggotaannya. Pilih misalnya gbellmf dengan masing-masing 3 fungsi yang pada isian number of MFs berisi 3 3. Klik OK. Pada ANFIS info jika kita klik Structure, maka akan muncul informasi neuron pada ANFIS yang baru kita generate tadi.

 


 

  1. Selamat, Anda telah berhasil membuat satu engine FIS dengan cara Training ANFIS. Untuk menyimpan dapat kita lakukan dengan mengklik: file – export. Ada dua pilihan yang tersedia, yaitu to Workspace dan to File. Bila kita pilih to workspace maka hanya akan muncul pada Matlab saat aktif sekarang saja. Bila di-shutdown, data akan hilang. Sebaiknya kita pilih to file agar lebih permanen. Setelah diklik to file, beri nama misalnya bonis. File fuzzy akan tersimpan dengan ekstensi “fis”.
  2. Untuk memperjelas FIS hasil training ANFIS, buka FIS tersebut dengan mengetik pada command window:

    >> fuzzy bonus

     


 

  1. Ganti nama input1 menjadi pelayanan, input2 menjadi masakan dan output menjadi bonus, pada isian Name di Current Variable.

 


 

  1. Dobel klik pada pelayanan, maka akan memunculkan membership function editor, ganti nama yang sesuai misalnya buruk, rata-rata dan baik seperti pada gambar di bawah ini. Lakukan hal yang sama untuk masakan.

     


 

  1. Setelah kita edit nama input beserta fungsi keanggotannya, maka secara otomatis, rule akan berubah mengikuti nama tersebut. Dobel klik pada bagian rule, sehingga memunculkan logika sebagai berikut:

 


 

  1. Berikutnya kita akan menguji fuzzy yang telah kita buat. Kembali ke command window, ketik: fis=readfis(‘bonus’) lalu enter maka Matlab akan meload engine FIS yang kita miliki yaitu bonus.fis. Berarti variabelnya diberi nama “fis”.

    fis=readfis(‘bonus’)

     

    fis =

     

    name: ‘bonus’

    type: ‘sugeno’

    andMethod: ‘prod’

    orMethod: ‘probor’

    defuzzMethod: ‘wtaver’

    impMethod: ‘prod’

    aggMethod: ‘sum’

    input: [1×2 struct]

    output: [1×1 struct]

    rule: [1×9 struct]

 

  1. Berikutnya kita uji misalnya pelayanan buruk, yaitu 1 sedangkan masakannya pun tidak enak. Instruksi yang diperlukan adalah evalfis.

    >> out = evalfis([1 1],fis)

     

    out =

     

    1.6195

     

    Hasil defuzzifikasi, dengan variabel out, adalah 3,2863 yang jika dibandingkan dengan skala 10 masih dibilang buruk.

    >> out = evalfis([5 5],fis)

     

    out =

     

    9.9078

     

    Engine FIS hasil training ANFIS yang telah kita bentuk ini dapat kita aplikasikan dengan GUI yang tersedia pada Matlab agar interaksi dengan user lebih baik.

 

 

 

 

 


Iklan

Pengumuman Menjelang UTS

Mohon maaf lagi ya.. Maklum, jadwal dengan dokter tiap hari selasa Malam, jadi tidak bisa mengajar lagi malam ini. Tapi, insya Allah setelah UTS saya bisa mengajar lagi full. Berikut ini materi yang akan diujikan UTS.

Bahasa Rakitan (Teknik Komputer):

Saat ujian nanti diharapkan mampu membuat program membunyikan speaker dan menampilkan nama sendiri. Selain disimpan hasilnya tuliskan juga listingnya pada lembar jawaban, karena kemungkinan besar saya tidak bisa hadir.

Perencanaan Produk (Teknik Mesin):

  1. Kumpulkan Hasil Gambar Analisa Kekuatan Meja ( dalam bentuk CD/R ) – info lebih lanjut tolong ditanyakan ke siswa pagi !
  2. Kumpulkan Generated Report – nya (Deformasi dan Von-Misses) dalam waktu 1 Minggu dari sekarang !


 

 


 

My Ngayojokarto Hadiningrat

Bas bis bus pisang rebus .. duit seratus gunung meletus .. Begitulah lagu anak yang pernah saya dengar waktu kecil dulu. Atau ketika disuruh Bu Guru menggambar, saya selalu menggambar gunung dan entah mengapa gunungnya dua buah (?). Saat pelajaran IPA juga disinggung bahwa gunung berapi mengeluarkan abu yang baik untuk kesuburan sedangkan Indonesia termasuk deretan gunung api Mediterania. Sempat juga terheran-heran saat tahun 80-an rumah berdebu akibat letusan gunung galunggung.

Kini sudah puluhan tahun berlalu dan di tempat kelahiran saya, Slemen Yogyakarta, satu-satunya gunung paling aktif di Indonesia menunjukkan tanda-tanda akan meletus. Yang paling ditakutkan dari gunung merapi adalah erupsinya berupa awan panas yang bergerak dengan kecepatan 100 km/jam dengan arah semaunya mengikuti arah angin. Uap panas itu dikenal dengan nama “Wedus Gembel” yang jika diartikan dalam bahasa Indonesia “Kambing Pengemis”. Entah siapa yang pertama kali memberi nama itu.

Tahun 2006 yang lalu gunung merapi sempat menunjukkan aktivitasnya, tetapi sungguh aneh justru bencana gempa yang muncul. Kira-kira tiga hari saya berkunjung ke sana, menengok rumah peninggalan almarhum Kakek saya yang nyaris rubuh. Walaupun tidak terlihat adanya abu gunung merapi, tetapi terasa perih di mata saat kita mengendarai motor tanpa penutup mata.

Dari kurun waktu 1992 hingga 2001 saya tinggal di Yogyakarta dalam rangka sekolah dan kuliah. Tidak dijumpai adanya bencana baik gempa, banjir ataupun gunung meletus. Bahkan maling motor pun mulai muncul menjelang saya lulus. Selama sembilan tahun saya tinggal di Yogya, saya hanya sekali mengalami ban kempes, itu pun bukan karena paku, tetapi ban saya yang “botak”. Yang namanya paku di jalan itu dulu dianggap “aneh”. Mungkin orang yang beli paku di toko material terjatuh atau .. apalah. Tidak ada tukang tambal ban yang jahil atau iseng pengen tahu apa karmanya kalau menyebar paku di jalan. Penduduknya pun, kalau orang sekarang menggunakan mesin waktu pergi ke waktu tersebut, pasti dikatakan bodoh. Bodoh dalam arti kurang menghargai “uang”. Berbeda dengan sekarang .. jangan berharap bisa bertahan hidup tanpa uang di sana. “Ya iya .. lah”, mungkin itu kata yang kita ucapkan sekarang, tetapi dulu .. tanpa uang, di Yogya kita bisa hidup, mungkin Anda tidak percaya. Tentu saja hidup seadanya, bukan hidup untuk shoping di Malioboro yang waktu itu sudah mulai dibangun Mall, nonton di bioskop yang ada angka 21-nya atau yang ingin mengasah naluri pejantan tangguhnya, alias .. pacar di mana-mana. Teman saya yang bahasa Inggrisnya masih belepotan, tetap saja waktu itu nekat menjadi guide turis, atau yang punya motor, walaupun butut .. ngojek di Stasiun Tugu (kalo sekarang mungkin bisa digebuki tukang ojek aslinya). Yang otaknya rada-rada encer .. bisa “bantu” adik-adik kelasnya ngerjain tugas bahkan skripsi dengan “hadiah” seikhlasnya.

Itulah sekelumit pengetahuan saya tentang Yogyakarta, yang mungkin jika ditulis lengkap bisa berlembar-lembar halaman, dari kegemaran makan tongseng di Adisucipto, lucunya mendengarkan omelan Mbah Guno di radio (entah station radio apa saya lupa), hingga acara ketoprak humor di purna budaya UGM. Semoga bencana tidak terjadi lagi … damai … bahagia … berhati nyaman, dan Sleman-ku menjadi Sleman Sembada, seperti waktu itu.

Pemrograman Database dengan Applet

By: Rahmadya Trias Handayanto

Java menyediakan fasilitas Applet yang dapat berjalan lewat browser. Tentu saja dengan syarat komputer yang menjalankan applet tersebut telah terinstal Java Development Kit (JDK) yang gratis diungguh dari situs resmi Sun Microsystem. Tulisan ini bermaksud sebagai tutorial dasar membuat aplikasi Applet dengan database MySQL. IDE yang digunakan adalah netbeans yang dapat didonlot gratis di www.netbeans.org.

Buka netbeans IDE Anda lalu buat proyek standar baru. Klik kanan pada package pilih Applet Form. Jika tidak ada cari di Other lalu pilih AWT GUI Form. Maka akan muncul tampilan kosong GUI untuk Applet Anda. Untuk mempercantik tampilan drag pada Swing Container tombol “Panel” dan letakan di GUI kosong Anda. Pada jendela propterties ganti warna sesuai selera Anda.


Gambar GUI Kosong

Agar susunan kontrol dapat diletakan bebas di GUI editor maka kita harus mengklik kanan pada layar GUI, pilih layout kemudian klik “Free Design”. Tambahkan Label, TextField dan Button yang ada pada Swing Control ke GUI kosong Anda dan rubah menjadi NIP, Nama dan Cari. Sehingga jika program dijalankan dan ditekan tombol “Cari” maka akan memunculkan NIP dan Nama pada TextField tetapi akan memunculkan pesan “Data Tidak Ditemukan” jika NIP yang dicari tidak ditemukan.


Gambar Tampilan GUI Applet Hasil Rancangan

Tentu saja jika dirunning, program tersebut belum bisa dijalankan. Untuk menjalankannya kita harus membuat script dengan cara mengklik dua kali pada tombol “Cari”. Ketikan instruksi sebagai berikut:

 

try

{

{

Class.forName(“com.mysql.jdbc.Driver”);

java.sql.Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/karyawan”,”root”,””);

java.sql.PreparedStatement stat = con.prepareStatement(“select * from tabelkaryawan where id=?”);

stat.setString(1,jTextField1.getText());

ResultSet r = stat.executeQuery();

 

if(r.next());

 

{

jTextField1.setText(r.getString(1));

jTextField2.setText(r.getString(2));

}

}

catch(Exception e) {

jTextField1.setText(“”);

System.out.println(“Data Tidak Ditemukan!”);

javax.swing.JOptionPane.showMessageDialog(null,”Tidak ada Data “+ e);

}

}

 

Buatlah database karyawan dengan satu tabel “tabelkaryawan” di MySql. Isikan beberapa nama. Kemudian jalankan, maka akan muncul tampilan sebagai berikut. Selamat Mencba !!


Gambar Tampilan Applet


Creating Database by Datanamic Dezign

By: Rahmadya Trias Handayanto

Seorang Database Administrator (DBA) tidak boleh melewatkan begitu saja fasilitas-fasilitas yang membantu dalam kegiatan sehari-harinya. Salah satunya adalah Computer Aided Software Engineering. Walaupun kemampuan Scripting yang tinggi, namun jika dibutuhkan meramu suatu database yang besar yang melibatkan banyak tabel dan relasi, tidak ada salahnya menggunakan  alat bantu. Misalnya saja untuk Oracle kita bisa menggunakan PL/SQL. Untuk program bantu komersial bisa menggunakan Open ModelSphere (Open Source) ataupun Datanamic Dezign (Lisensi).

Berikut ini salah satu yang bisa dicoba, Datanamic Dezign yang untuk trialnya bisa didonlot dan dipakai untuk jangka waktu 30 hari (satu bulan). Silahkan cari sendiri situsnya (lihat lewat google). Jika sudah siap mari kita install bareng. Dobel Klik file setup dezign trial, klik next pada tampilan welcome wizard, baca license agreemen, lalu klik Next.

Setelah menentukan lokasi tempat software diinstall maka proses instalasi terjadi. Tunggu beberapa saat maka anda telah selesai menginstall dezign. Di tampilan awal Anda diminta mengklik untuk evaluasi (versi trial).

Untuk melihat bagaimana merakit program penjualan dan pembelian sederhana, klik link berikut ini, selamat mencoba … (ada sedikit kesalahan dalam setting tipe data .. sorry)

Lowongan Dosen & Staf

UNIVERSITAS ISLAM “45” BEKASI

MEMBUTUHKAN :

1. DOSEN TETAP YAYASAN (KODE : DSN)

Kualifikasi Umum : Laki-laki/perempuan, Usia max. 45 th, menguasai MS. Office, dan menguasai bhs. Inggris.

Kualifikasi Khusus : Min S2, Perbankan Syari’ah (FAI),Psi. perkembangan, Psi. Klinis, Psi. Pendidikan, Ilmu Pemerintahan, Ilmu Hukum, Administrasi Publik. (FISIP), Akuntansi (FE), Elektro, Teknik Komputer, Teknik Sipil, Teknik Mesin, dan Teknik Informatika (FT), Pendidikan Jasmani Kesehatan dan Rekreasi, dan Geografi. (FKIP), Sastra Inggris (Sastra/Linguistik), Ilmu Komunikasi. (FKSB), IPK min. 3,25.

2. MANAJER (KODE : MNJ)

Kualifikasi : Laki-laki/perempuan, S1 Ekonomi, Manajemen, Humas, Administrasi, atau Hukum. IPK Min. 2.75, Usia Max. 35 th, menguasai MS. Office. Mampu bekerja sama, loyal, berkomitmen, simpatik, berpengalaman dalam pembuatan proposal dan melaksanakan penelitian dan pengabdian pada masyarakat.

3. STAF (KODE : STF)

Kualifikasi Umum :

  1. LPPM : D3/S1, semua jurusan, diutamakan mampu bekerja sama, paham administrasi penelitian, tender, dan pelelangan barang dan jasa, loyal, simpatik.
  2. Fakultas Teknik /Ekonomi/Direktorat Umum dan Keuangan (DUK) : SMK Bangunan, Mesin/mekanik, SMA semua jurusan, D3/S1 Perpustakaan, D3 Akuntansi.
  3. Kantor Penjaminan Mutu (KPM) : SMK Informatika jurusan Rekayasa Perangkat Lunak.
  4. Fakultas Komunikasi, Sastra dan Bahasa (FKSB) : SMK/D3 Informatika, SMA semua jurusan.

4. SATPAM (KODE : STPM)

Kualifikasi: Laki-laki, SMP, SMA/SMK semua jurusan, pengalaman min. 1 th.

Kirimkan surat lamaran anda disertai dengan fotokopi KTP, CV, fotokopi Ijazah, dan transkrip nilai yang sudah dilegalisir, pas foto 4X6 3 lembar, dan surat keterangan pengalaman kerja (bagi yang pernah bekerja) ke : Jl. Cut Meutia No. 83 Bekasi Timur 17113, paling lambat tanggal 19 November 2010. Keterangan lebih lanjut lihat : http://www.unismabekasi.ac.id