Cara Membuat Program Fuzzy Menggunakan MATLAB. Studi Kasus: Persediaan dan Permintaan Penjualan Kambing

 


Saat kalian menghitung rumus menggunakan kalkulus, integral, persamaan linear. Kira kira pernah gak kepikiran, "ini tuh fungsinya buat apa sih?"

Tentu semua orang yang belajar matematika pasti pernah berfikir demikian. Tapi tau kah, jika sebenarnya ada alat yang bisa menjadikan rumus rumus matematika tadi menjadi model sehingga bisa kita terapkan ke dalam masalah masalah sehari hari?

Nama alat atau software tersebut adalah MATLAB

Baca Juga: Membuat Program Fuzzy Dengan Python. Studi Kasus: Prediksi Penyakit Demam

Apa Itu MATLAB?

MATLAB merupakan software yang berfungsi memberikan simulasi pada perhitungan matematis. Kalian sebenarnya bisa saja tidak perlu menghitung rumus rumus matematika dari 0, karena kalian cukup menggunakan library dan tool bawaan yang sudah disediakan oleh MATLAB sendiri

Cara Menggunakan MATLAB

Menggunakan MATLAB sungguh sederhana. Caranya dengan memasukkan perintah perintah khusus yang tertera pada dokumentasi (sesuai dengan kebutuhan) lalu MATLAB akan menjalan aplikasi GUI yang diinginkan

Install MATLAB

Kalian bisa mendownload MATLAB disini 

Studi Kasus: Prediksi Persediaan dan Permintaan

Diketahui sebuah peternakan kambing mempunyai laporan permintaan dan persediaan seperti ini


Dengan variabel banyak jumlah kambing seperti berikut


 Dari data diatas, bisa ditentukan sedikit, sedang, dan banyak ekor kambing lewat tabel berikut


Analisis Masalah

Jika kita melihat data data di atas, kita harus menentukan prediksi apakah penjualan itu banyak atau sedikit dengan skala 0 sampai 1.

Kita akan menggunakan jumlah persediaan dan penjualan untuk menentukan banyaknya penjualan. Dan ini juga akan menjadi prediksi sebagai gambaran untuk meningkatkan jumlah penjualan

Penyelesaian

Langkah Langkah

Buka aplikasi MATLAB dan tulis perintah fuzzy. Maka akan muncul tampilan seperti ini

Berdasarkan tabel kita mempunyai dua inputan yaitu Persediaan dan Permintaan. Maka dari itu kita harus menambah input dengan klik Edit, lalu Add Variable, lalu Input

Setelah itu. Kalian ubah nama input1 dan input2 menjadi Persediaan, Permintaan beserta output1 menjadi  Penjualan dengan cara ubah nama pada kolom berikut

Selanjutnya, kalian klik dua kali grafik dengan background kuning dengan tulisan Persediaan dibawahnya. Maka tampilan berikut akan muncul

Kita akan mengatur range dan masukkan berdasarkan tabel yang diatas. Ikuti gambar dibawah ini

Persediaan

 Permintaan



 

Penjualan 

Tidak hanya input, namun output Penjualan juga kita atur range & params

 
Kalo berdasarkan gambar diatas ada beberapa hal yang harus kita ubah.
  • Range. rentan data parameter yang dimasukkan
  • Name. label aja sebenarnya buat tanda (biar ga bingung)
  • Params. Masukkan data yang diinginkan

Baca Juga: Lengkap!, Cara Membuka File CSV Menggunakan Panda

Jika langkah langkah diatas sudah dikerjakan dengan baik. Maka kini kita akan mengatur beberapa rule

Berikut adalah beberapa rule yang harus diberikan

  1. If (Permintaan is Sedikit) and (Persediaan is Sedikit) then (Penjualan is Sedikit) (1)
  2. If (Permintaan is Sedikit) and (Persediaan is Sedikit) then (Penjualan is Sedang) (1)
  3. If (Permintaan is Sedikit) and (Persediaan is Sedang) then (Penjualan is Sedikit) (1)
  4. If (Permintaan is Sedikit) and (Persediaan is Sedang) then (Penjualan is Sedang) (1)
  5. If (Permintaan is Sedikit) and (Persediaan is Sedang) then (Penjualan is Banyak) (1)
  6. If (Permintaan is Sedikit) and (Persediaan is Banyak) then (Penjualan is Sedikit) (1) 
  7. If (Permintaan is Sedikit) and (Persediaan is Banyak) then (Penjualan is Sedang) (1)
  8. If (Permintaan is Sedang) and (Persediaan is Sedikit) then (Penjualan is Sedikit) (1)
  9. If (Permintaan is Sedang) and (Persediaan is Sedikit) then (Penjualan is Sedang) (1)
  10. If (Permintaan is Sedang) and (Persediaan is Sedikit) then (Penjualan is Banyak) (1)
  11. If (Permintaan is Sedang) and (Persediaan is Sedang) then (Penjualan is Sedikit) (1)
  12. If (Permintaan is Sedang) and (Persediaan is Sedang) then (Penjualan is Sedang) (1)
  13. If (Permintaan is Sedang) and (Persediaan is Sedang) then (Penjualan is Banyak) (1)
  14. If (Permintaan is Sedang) and (Persediaan is Banyak) then (Penjualan is Sedikit) (1)
  15. If (Permintaan is Sedang) and (Persediaan is Banyak) then (Penjualan is Sedang) (1)
  16. If (Permintaan is Sedang) and (Persediaan is Banyak) then (Penjualan is Banyak) (1)
  17. If (Permintaan is Banyak) and (Persediaan is Sedikit) then (Penjualan is Sedang) (1)
  18. If (Permintaan is Banyak) and (Persediaan is Sedikit) then (Penjualan is Banyak) (1)
  19. If (Permintaan is Banyak) and (Persediaan is Sedang) then (Penjualan is Sedang) (1)
  20. If (Permintaan is Banyak) and (Persediaan is Banyak) then (Penjualan is Sedang) (1)
  21. If (Permintaan is Banyak) and (Persediaan is Banyak) then (Penjualan is Banyak) (1)

Cara memasukkanya adalah dengan mengklik kotak putih ditengah tengah input dan output.

Masukkan dengan memilih column box Persedaan, Penjualan dan output Penjualan sesuai dengan Rule diatas. Dan jangan lupa centak and di combo box pojok kiri


Untuk menambahkan. Klik tombol Add Rule

Sehingga akan hasil akhir akan menjadi gambar dibawah ini

Setelah semua itu dilakukan kita akan mendesign GUI agar bisa memasukkan nilai input dengan mudah

Caranya dengan menuliskan perintah guide. 

lalu kalian design GUI aplikasi seperti ini

Jangan lupa untuk memberikan tag pada editText dan button

editText

  • txtPermintaan
  • txtPersediaan

button

  • btnProcess

Sehingga hasil akhirnya akan seperti ini


 Setelah itu kita save dan klik kanan, lalu pilih Editor


Maka kita akan diminta untuk memasukkan function dan kodingan lainnya di dalamnya

Cari function btnProcess_Callback(), lalu tuliskan kode dibawah ini

function btnProses_Callback(~, ~, ~)
% hObject handle to btnProses (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
fis = readfis('penjualan.fis');
permintaan = str2double(get(findobj(gcf, 'Tag', 'txtPermintaan'),'String'));
persediaan = str2double(get(findobj(gcf, 'Tag', 'txtPersediaan'),'String'));
output = evalfis([permintaan; persediaan], fis);
set(findobj(gcf,'Tag', 'txtproduksi'), 'String', output);
disp(output);

maka hasilnya akan menjadi seperti ini


Lalu kita coba jalankan dengan mengclick tombol Run di tab di atas


Kalian juga bisa mendownload file Matlab dari cara diatas dengan klik link dibawah

File

 
 

Post a Comment (0)
Previous Post Next Post