KONTROL PROGRAM

MATLAB menyediakan 4 alat yang dapat digunakan programer saat menulis program. yaitu:

a. For

Contoh:

» for t=0:10

y(t+1)=sin(pi*t/10);

end

b. While

Contoh:

» while t>10

t=0

y(t+1)=sin(pi*t/10);

end

c. If – else – end

Contoh:

Buat M-file:

if barang>10

harga=(1-0.2)*hargabrg*barang

else

harga=hargabrg*barang

end

d. Switch – Case

Berikut ini adalah contoh penggunaan switch case dimana merubah beberapa satuan menjadi centimeter, cm. Buatlah m-file sebagai berikut lalu simpan dengan nama ubahunit.m.

switch units

case{‘inch’,’in’}

y=x*2.54;

case{‘meter’,’m’}

y=x/100;

case{‘centimeter’,’cm’}

y=x;

otherwise

disp{[‘Unit tidak diketahui: ‘units]}

y=nan;

end;

Setelah itu masuk ke command window. Misal kita masukan harga x=10 in, dan akan diubah menjadi centimeter, cm.

» x=10.;

» units=’in’;

» ubahunit        % panggil m-file ubahunit.m

» y

y =

25.4000

 

KOMPILASI MATLAB (CARA CEPAT)

Script dan function file yang dibuat di bab 3.2. tidak dapat berjalan bila MATLAB tidak aktif. Oleh karena itu dibutuhkan compiler yang merubah m-file menjadi file executable yang stand-alone.

Contoh 3.3

Buat kompilasi dari contoh soal 3.2.

Penyelesaian:

Masuk ke command window, ketik:


Proses di atas menghasilkan suatu file grafik.exe. Bila di klik/run file grafik.exe, akan memunculkan grafik yang sama seperti gambar III.2 meskipun program MATLAB tidak dijalankan.

NOTE: Sebelumnya di awal program harus ditambahkan function grafik(sz) karena script file tidak bisa di-compile.

Pertemuan XI: Fuzzy Inference System (FIS)

Hari/Tgl/Ruang/MK/Dosen: Kamis/03-05-2010/Lab. Disain/Pemrograman Komputer/Rahmadya, ST, MKom.

Beberapa kondisi yang terjadi sehari-hari melibatkan sesuatu yang kurang bila langsung diterapkan dalam komputasi. Komputasi model lama akan “hang” jika data yang harus dimasukkan kurang lengkap, ekstrim, kurang jelas dan keganjilan-keganjilan lainnya, sementara itu proses harus terus berjalan. Saat ini mulai banyak riset yang membahas hal tersebut, yang saat ini diberi istilah ‘Soft Computing’ sebagai lawan dari ‘hard computing’.

Fuzzy logic dikenal ada dua jenis yaitu Fuzzy Inference Systems (FIS) dan Adaptive Neuro-Fuzzy Inference Systems (ANFIS). Perbedaan terletak pada teknik pembuatan Rule-nya. Pada FIS, logika Rule kita buat sendiri sedangkan pada ANFIS, rule tercipta akibat proses pembelajaran (learning) oleh sistem itu sendiri dan dengan bantuan sistem syaraf tiruan.

Saat ini kita akan bahas FIS terlebih dahulu, untuk membuka toolbox FIS pada Matlab, KLIK DI SINI. FIS memiliki tiga komponen yaitu masukan (dengan fungsi membership) yang diteruskan dengan Rule (logika if – and/or – then) dan terakhir proses defuzifikasi pada keluaran. Fungsi membership yang tersedia pada toolbox Matlab lumayan lengkap (lurus, sigmoid, bell dan sebagainya). Untuk melihat cara membuat fungsi membership, KLIK DI SINI. Makin banyak masukan hasil makin baik, masukan akan dioleh oleh, Rule – based, KLIK DI SINI. Untuk mengetes apakah fuzzy yang dibuat berjalan dengan baik, perlu di tes dengan command window sebelum dimasukkan ke GUI. KLIK DI SINI, untuk mengetes di command window.

TUGAS: Buat GUI untuk menggunakan Fuzzy yang telah dibuat sebelumnya.

Pertemuan XI: Penerapan Logika di MATLAB

Hari/Tgl/Ruang/MK/Dosen: Selasa/01-05-2010/Lab. Disain/Matematika Diskrit/Rahmadya, ST, MKom.

Soal: Buat Fuzzy untuk menyeleksi Mahasiswa yang akan diberi beasiswa berdasarkan Indeks Prestasi dan Ekonomi Orang tua

Langkah-Langkah:

1. Buka Matlab

2. Rubah Curret Directory ke folder tersendiri yang kita buat

3. ketik fuzzy

4. Tambah Masukan menjadi dua (IPK dan Ekonomi) lalu beri nama setiap masukan dan keluaran

5. Dobel klik pada masukan IPK untuk memasukan Membership Function.

Isi range, misalnya dari 0 sampai 10, beri nama tiap fungsi member, misalnya kurang , ratarata dan tinggi.

6. Lakukan cara yang sama untuk ekonomi.

7. Terakhir, buat Fungsi Member untuk Keluaran dengan tiga fungsi yaitu tidak-beasiswa, setengah dan fullbright.

8. Simpan dengan cara mengklik File – Export – To File : “Isi nama, misalnya beasiswa”.

9. Berikutnya kita tinggal mengisi Rule (di tengah-tengah antara masukan dengan keluaran), lalu beri logika yang kita inginkan !

9. Fuzzy Inference System (FIS) telah selesai Anda buat. Berikutnya akan kita coba mengetesnya di Command Window MATLAB.

10. Instruksi memanggil FIS adalah dengan mengetik >>fis=readfis(‘beasiswa’) pada command window.

11. Untuk melihat skor akhir, gunakan “evalfis”. >>out = evalfis([10 10],fis).

NOTE: Akan dilanjutkan minggu depan untuk diterapkan dengan GUI.

Deteksi Tanda Tangan di Perbankan

Melanjutkan tulisan yang lalu mengenai latar belakang penelitian saya, ada baiknya kita tinjau, bagaimana sih sistem yang ada sekarang dalam mendeteksi suatu tanda tangan (tanpa bantuan IT secara langsung).  Berikut merupakan tampilan saat sistem di Teller sedang mengecek tanda tangan nasabah yang akan mengambil dana. Program tersebut saya install di laptop (kok bisa sih? .. ya bisa aja, dalam dunia IT, apa sih yang ga bisa di otak-atik, yg penting hati-hati dan waspada).

Program yang dibeli dari perusahaan Fiserv Alliant, mengharuskan teller memiliki kemampuan membandingkan antara tanda tangan nasabah dengan spesiment tanda tangan yang ada dalam database bank tersebut. Nah, penelitian saya bermaksud membuat sistem seperti itu, tapi dengan komputer yang mendeteksi kebenaran tanda tangan (tentu saja agak sulit diimplementasi tanpa bantuan digitized tablet, untuk tanda tangan). Sampel tanda tangan yang akan diuji akan di-capture lewat webcam (dengan pertimbangan lebih murah dan bisa dipakai oleh operator – tentu saja webcam external). Pilihan jatuh pada merek logitech, dengan pertimbangan selain gratis (nyari sendiri di gudang fakultas teknik) juga ada tombol “capture” pada webcam-nya saat memotret, sehingga tidak perlu mengklik mouse atau keyboard lagi.

Seperti pada program Fiserv, speciment tanda tangan saya letakkan di sayap kanan (kayak main bola ajah ..), Sedangkan sayap kiri hasil capture tanda tangan via webcam yang sudah terolah dengan pengolah citra (image processing) pada MATLAB. Ada dua teknik learning yang saya gunakan yang nantinya akan dibandingkan yaitu feedforward backpropagation dan cascade-forward backpropagation. Katanya sih (riset terdahulu), cascade-forward backpropagation lebih cepat kinerjanya, tapi kita lihat saja nanti. OKEH ..

TUTORIAL: Menulis Program Berbasis GUI dalam Bahasa MATLAB 7

Hari/Tgl    : Jumat/4 Desember 09

Tempat      : Lab disain

Sebagai materi UAS diharapkan sudah mampu membuat program sederhana berbasis MATLAB, sebagai potokan selain diktat/modul yang diterima.

Untuk mengetahui bagaimana membuat form (dalam MATLAB diistilahkan dengan GUI), KLIK DI SINI.

Untuk menulis listing programnya dalam M-File, coba donlot DI SINI.

Info lebih lanjut, bisa beli buku di sini:

Berikut ini contoh penulis listing program jenis MENU editor, klik di sini.

NOTE: download file di atas dibuat oleh screen2exe (berformat exe) dan bukan virus lho. Sebenarnya bisa belajar sendiri dari Matlabnya, lihat postingan berikut.

Update: 5 Des 2015

Ada yg share untuk penggunaan listbox, ketik guide di command window, siapkan file txt di current directory, sisipkan kode ini di bagian opening function:

gi=fopen(‘namafile.txt’,’r’);
li=fread(gi);
CharData=char(li);
fclose(gi);
set(handles.listbox1,’string’, CharData);

Oiya, petik ‘ sepertinya harus diketik ulang. Jika dirunning akan memunculkan text.

tesaja