Pages - Menu

Tuesday, September 27, 2016

Sistem Pakar - Tugas Softskill 1


Sistem Pakar

Pengertian sistem pakar (Expert System) menurut para ahli, Martin dan Oxman (1998) Sistem berbasis komputer yang menggunakan pengetahuan, fakta, dan teknik penalaran dalam memecahkan masalah yang biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut. menurut Durkin sistem pakar merupakan program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar. Sedangkan menurut Giarratano dan Riley sistem pakar merupakan sistem komputer yang bisa menyamai atau meniru kemampuan seorang pakar.
Sistem pakar merupakan sistem yang menggunakan pengetahuan manusia yang terekam dalam komputer untuk memecahkan persoalan yang membutuhkan keahlian manusia, selain itu sistem pakar juga bisa berarti sistem informasi berbasis komputer yang menggunakan pengetahuan pakar untuk mencapai performa keputusan tingkat tinggi dalam domain persoalan yang sempit.

Sistem pakar sendiri pertama kali dikembangkan oleh komunitas AI pada pertengahan tahun 1960. ES yang muncul pertama kali adalah General-purpose Problem Solver (GPS) yang dikembangkan oleh Newel dan Simon. Dan sampai saat ini sudah banyak model sistem pakar yang sudah dibuat, misal :


Ciri-ciri sistem pakar, diantaranya :
  • Dapat digunakan dalam berbagai jenis komputer
  • Memiliki fasilitas informasi yang handal
  •  Terbatas pada bidang yang spesifik
  • Berdasarkan pada rule atau kaidah tertentu
  • Outputnya bersifat nasihat atau anjuran
  • Output tergantung dari dialog dengan user
  • Mudah dimodifikasi
Keuntungan menggunakan sistem pakar antara lain :
  • Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli
  • Menyimpan pengetahuan dan keahlian para pakar
  • Meningkatkan output dan produktivitas
  • Menghemat waktu dalam pengambilan keputusan
  • Menigkatkan kualitas
Kelemahan dari sistem pakar, antara lain :
  • Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal
  • Sulit dikembangkan karena pakar (orang yang ahli) sesuai bidangnya terbatas
  • Tidak 100% bernilai benar


Konsep Dasar Sistem Pakar

Menurut Efraim Turban, konsep dasar sistem pakar mengandung beberapa hal yang di antaranya:
a)  Keahlian
Merupakan suatu kelebihan penguasaan pengetahuan di bidang tertentu yang diperoleh dari pelatihan, membaca atau pengalaman. Contoh bentuk pengetahuan ; Strategi-strategi global untuk menyelesaikan masalah
b)  Ahli (Pakar)
Merupakan seseorang yang memiliki pengetahuan, penilaian, pengalaman, metode tertentu, serta mampu menerapkan keahlian dalam memberikan advise untuk pemecahan persoalan, serta mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan, mengenali & merumuskan permasalahan, menyusun kembali pengetahuan jika dipandang perlu, memecah aturan-aturan jika dibutuhkan, dan mampu menentukan relevan tidaknya keahlian mereka.
c)  Pengalihan Keahlian
Merupakan pengalihan keahlian dari para ahli ke komputer untuk kemudian dialihkan lagi ke orang lain yang bukan ahli, dimana pengetahuan yang disimpan di komputer ini disebut dengan nama basis pengetahuan. Ada 2 tipe pengetahuan, yaitu: fakta dan prosedur (biasanya berupa aturan).
d)     Inferensi
Kemampuan untuk melakukan penalaran dengan menggunakan pengetahuan yang ada untuk menghasilkan suatu kesimpulan atau hasil akhir. dengan menggunakan motor interafe yang merupakan permodelan proses berfikir dan bernalar layaknya manusia.
e)  Aturan
Sebagian besar sistem pakar dibuat dalam bentuk rule-based system, dimana pengetahuan disimpan dalam bentuk aturan-aturan yang biasanya berbentuk IF-THEN
f)  Kemampuan Menjelaskan
Kemampuan untuk menjelaskan dan merekomendasi, yang membedakan sistem pakar dengan sistem konvensional.

Diagram Struktur Sistem Pakar

Struktur Sistem Pakar

Sistem pakar disusun oleh dua bagian utama, yaitu lingkungan pengembangan (development environment) dan lingkungan konsultasi (consultation environment) (Turban, 1995). Lingkungan pengembangan system pakar digunakan untuk memasukkan pengetahuan pakar ke dalam lingkungan sistem pakar, sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar.



—Basis pengetahuan : Berupa pengetahuan-pengetahuan yang dibutuhkan untuk memahami, memformulasi, dan memecahkan masalah. Diaman basis pengetahuan tersusun atas 2 elemen dasar:
  1. Fakta, misalnya: situasi, kondisi, dan kenyataan dari permasalahan yang ada, serta teori dalam bidang itu
  2. Aturan, yang mengarahkan penggunaan  pengetahuan untuk memecahkan masalah yang spesifik dalam bidang yang khusus
Ada 2 bentuk pendekatan basis pengetahuan yang sangat umum digunakan, yaitu:
  1. Penalaran berbasis aturan (Rule-Based Reasoning) : pengetahuan direpresentasikan dengan menggunakan aturan berbentuk: IF-THEN.
  2. Penalaran berbasis kasus (Case-Based Reasoning) dimana pada penalaran berbasis kasus, basis pengetahuan akan berisi solusi-solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang (fakta yang ada). Bentuk ini digunakan apabila user menginginkan untuk tahu lebih banyak lagi pada kasus-kasus yang hampir sama (mirip). Selain itu, bentuk ini juga digunakan apabila kita telah memiliki sejumlah situasi atau kasus tertentu dalam basis pengetahuan
—  Mesin inferensi: Merupakan otak dari Sistem Pakar yang juga dikenal sebagai penerjemah aturan (rule interpreter). Komponen ini berupa program komputer yang menyediakan suatu metodologi untuk memikirkan (reasoning) dan memformulasi kesimpulan.
Kerja mesin inferensi meliputi: Menentukan aturan mana akan dipakai, Menyajikan pertanyaan kepada pemakai, ketika diperlukan. Menambahkan jawaban ke dalam memori Sistem Pakar. Menyimpulkan fakta baru dari sebuah aturan dan Menambahkan fakta tadi ke dalam memori.
—  Blackboard : Merupakan area dalam memori yang digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan sementara
—  Antarmuka pengguna : Media komunikasi antara user dan program, Pertanyaan – jawaban, Menu, formulir, grafik.
—  Subsistem penjelasan : Digunakan untuk melacak respon dan memberikan penjelasan tentang kelakuan sistem pakar secara interaktif melalui pertanyaan
Mengapa suatu pertanyaan ditanyakan oleh sistem pakar?
Bagaimana konklusi dicapai?
Rencana apa yang digunakan untuk mendapatkan solusi?
—  Sistem penyaring pengetahuan : Sistem ini digunakan untuk mengevaluasi kinerja sistem pakar itu sendiri untuk melihat apakah pengetahuan-pengetahuan yang ada masih cocok untuk digunakan di masa mendatang.

Inferensi Sistem Pakar

Forward Chaining : Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri (IF dulu). Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis.
Backward Chaining : Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN dulu). Dengan kata lain penalaran dimulai dari hipotesis terlebih dahulu, dan untuk menguji kebenaran hipotesis tersebut harus dicari fakta-fakta yang ada dalam basis pengetahuan.
Contoh :
R1 : IF suku bunga turun THEN harga obligasi naik
R2 : IF suku bunga naik THEN harga obligasi turun
R3 : IF suku bunga tidak berubah THEN harga obligasi tidak berubah
R4 : IF dolar naik THEN suku bunga turun
R5 : IF dolar turun THEN suku bunga naik
R6 : IF harga obligasi turun THEN beli obligasi
Apabila diketahui bahwa dolar turun, maka apakah akan membeli obligasi atau tidak?
Forward Chaining
  • Dari fakta dolar turun, berdasarkan Rule 5, diperoleh konklusi suku bunga naik.
  • Dari Rule 2 suku bunga naik menyebabkan harga obligasi turun.
  • Dengan Rule 6, jika harga obligasi turun, maka kesimpulan yang diambil adalah membeli obligasi.
Backward Chaining
  • Dari solusi yaitu membeli obligasi, dengan menggunakan Rule 6 diperoleh anteseden harga obligasi turun.
  • Dari Rule 2 dibuktikan harga obligasi turun bernilai benar jika suku bunga naik bernilai benar .
  • Dari Rule 5 suku bunga naik bernilai memang bernilai benar karena diketahui fakta dolar turun.


Perbandingan Kemampuan Seorang pakar dengan Sistem Pakar

Factor
Human expert
Expert system
Time Availbility
Hari kerja
Setiap saat
Geografis
Lokal/tertentu
Di mana saja
Keamanan
Tidak tergantikan
Dapat diganti
Perishable/dapat habis
Ya
Tidak
Performansi
Variable
Konsisten
Kecepatan
Variable
Konsisten
Biaya
Tinggi
Terjangkau

Ada beberapa alasan mendasar mengapa sistem pakar dikembangkan untuk menggantikan seseorang pakar, di antaranya:
1.      Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.
2.      Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.
3.      Seorang pakar akan pensiun atau pergi.
4.      Seorang pakar adalah mahal.
5.      Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat.

Perbandingan antara sistem konvensional dan sistem pakar



Tujuan dari sebuah sistem pakar adalah untuk mentransfer kepakaran yang dimiliki seorang pakar ke dalam komputer, dan kemudian kepada orang lain (nonexpert). Aktivitas yang dilakukan untuk memindahkan kepakaran adalah:
1.      Knowledge Acquisition (dari pakar atau sumber lainnya)
2.      Knowledge Representation (ke dalam computer)
3.      Knowledge Inferencing
4.      Knowledge Transfering   
Ada beberapa keunggulan sistem pakar, di antaranya:
1.      Menghimpun data dalam jumlah yang snagat besar.
2.      Menyimpan data tersebut untuk jangka waktu yang panjang dalam suatu bentuk tertentu.
3.      Mengerjakan perhitungan secara cepat dan tepat dan tanpa jemu mencari kembali data yang tersimpan dengan kecepatan tinggi.
Sementara kemampuan sistem pakar, di antaranya:
1.      Menjawab berbagai pertanyaan yang menyangkut bidang keahliannya.
2.      Bila diperlukan dapat menyajikan asumsi dan alur penalaran yang digunakan untuk sampai ke jawaban yang dikehendaki.
3.      Menambah fakta kaidah dan alur penalaran sahih yang baru ke dalam otaknya.
Menurut Turban (1995), terdapat tiga orang yang terlibat dalam lingkungan sistem pakar, yaitu:
1.      Pakar, adalah orang yang memiliki pengetahuan khusus, pendapat, pengalaman dan metode, serta kemampuan untuk mengaplikasikan keahliannya tersebut guna menyelesaikan masalah.
2.      Knowledge engineer (Perekayasa Sistem), adalah orang yang membantu pakar dalam menyusun area permasalahan dengan menginterplementasikan dan mengintegrasikan jawaban-jawaban pakar atas pertanyaan yang diajukan, menggambarkan analogi, mengajukan counter example dan menerangkan kesulitan-kesulitan konseptual.
3.      Pemakai, sistem pakar memiliki beberapa pemakai, yaitu: pemakai bukan pakar, pelajar, pembangun system pakar yang ingin meningkatkan dan menambah basis pengetahuan, dan pakar.

Tipe Pengetahuan dalam Penjelasan Sistem Pakar

1.      Reasoning Domain Knowledge (RDK), merupakan domain pengetahuan yang dikodekan oleh domain pakar dalam system pakar yang sesuai.
2.      Communication Domain Knowledge (CDK), merupakan pengetahuan tentang domain yang diperlukan untuk komunikasi tentang domain itu.
3.      Domain Communication Knowledge (DCK), merupakan pengetahuan tentang bagaimana cara mengkomunikasikan domain itu.  

Ciri-ciri dan Kategori Masalah Sistem Pakar

            Sistem pakar merupakan program-program praktis yang menggunakan strategi heuristik yang dikembangkan oleh manusia untuk menyelesaikan permasalahan-permasalahan yang spesifik. Disebabkan oleh keheuristikannya dan sifatnya yang berdasarkan pada pengetahuan, maka umumnya sistem pakar bersifat:
1.      Memiliki informasi yang handal, baik dalam menampilkan langkah-langkah antara maupun dalam menjawab pertanyaan-pertanyaan tentang proses penyelesaian.
2.      Mudah dimodifikasi, yaitu dengan menambah atau menghapus suatu kemampuan dari basis pengetahuannya.
3.      Heuristic dalam menggunakan pengetahuan untuk mendapatkan penyelesaiannya.
4.      Dapat digunakan dalam berbagai jenis komputer.
5.      Memiliki kemampuan untuk beradaptasi, 
Secara umum ada beberapa kategori dan area permasalahan sistem pakar, yaitu:
1.      Interpretasi, yaitu pengambilan keputusan tingkat tinggi dari sekumpulan data mentah (pengawasan, pengenalan ucapan, analisis citra, analisis kecerdasan).
2.      Proyeksi, yaitu memprediksi akibat-akibat yang dimungkinkan dari situasi-situasi tertentu (peramalan, prediksi demografis, peramalan ekonomi, prediksi lalulintas, estimasi hasil, militer, pemasaran, peramalan keuangan).
3.      Diagnosis, yaitu menentukan sebab malfungsi dalam situasi kompleks yang didasarkan pada gejala-gejala yang teramati (medis, elektronis, mekanis dan diagnosis perangkat lunak).  
4.      Perencanaan, yaitu merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah tujuan dengan kondisi awal tertentu (perencanaan keuangan, komunikasi, militer, pengembangan produk, routing, manajemen proyek).
5.      Desain, yaitu menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuan-tujuan kinerja tertentu yang memenuhi kendala-kendala tertentu (layout sirkuit dan perancangan pembangunan).
6.       Monitoring, yaitu membandingkan tingkah laku suatu sistem yang teramati dengan tingkah laku yang diharapkan darinya (Computer Aided Monitoring System).
7.       Debugging dan Repair, yaitu menentukan dan mengimplementasikan cara-cara untuk mengatasi malfungsi (memberikan resep obat terhadap suatu kegagalan).
8.       Instruksi, yaitu mendeteksi dan mengoreksi defisiensi dalam pemahaman domain subjek (melakukan instruksi untuk diagnosis, debugging dan perbaikan kinerja).
9.       Pengedalian, yaitu mengatur tingkah laku suatu environment yang kompleks (prediksi, perbaikan dan monitoring kelakuan sistem).
10.    Seleksi, mengidentifikasikan pilihan terbaik dari sekumpulan (list) kemungkinan.
11.    Simulasi, pemodelan interaksi antara komponen-komponen sistem.  
Penerapan Sistem pakar dalam Industri / Manufaktur

Manufaktur di definisikan sebagai urutan-urutan kegiatan yang saling berhubungan meliputi perancangan, perencanaan, pemilihan material, produksi, pengontrolan kualitas, menajemen serta pemasaran produk. Proses manufaktur yang penyelesaiannya dapat dibantu oleh system pakar antara lain :
– Sistem Pakar Dalam Perancangan PRIDE(Pinch Roll Interactive Design Expert / Environment). Sistem pakar ini digunakan untuk merancang system pengaturan kertas untuk mesin fotocopy. Sistem ini membuat rancangan dengan representasi pengetahuan tentang rancangan berdasarkan kumpulan goal, metoda perancangan, generator dan aturan-aturan yang terstruktur.
– System Pakar Dalam Perencanaan Wood Trus fabrication Application merupakan contoh system pakar dalam proses perencanaan. System ini dibuat dengan menggunakan shell sitem pakar SPS (Semi Intelligent Process Selector).
– Sistem Pakar Dalam Penjadwalan Sistem pakar juga digunakan dalam penjadwalan, dibawah ini adalah beberapan contoh kegunaan system pakar dalam penjadwalan :
– Contionuous Caster Steel Mill Scheduling Application
System pakar ini berbasis fuzzy logic yang dibuat untuk monitoring on line dan penjadwalan continuous caster steel mill.
Continuous caster stell mill mengolah material seperti scrap, pig iron dan refined ore melalui proses tertentu untuk menghasilkan lempeng baja yang memiliki kulitas dan komposisi sesuai kebutuhan.
-Master Production Scheduling Aplication (MPS)
Sistem pakar ini dikembangkan untuk melakukan penjadwalan produksi master untuk manufaktur Integrated Circuit (IC). Master Production Scheduling (MPS) merupakan aktivitas perencanaan yang sangat luas, yang mengatur dan mengkoordinasi fase-fase berurutan proses penjadwalan manufaktur tertentu.
– Sistem Pakar Dalam Proses Kontrol Beberapa contoh penggunaan system pakar dalam proses control adalah sebagai berikut :
–  Aluminium Foil Rolling Flatness control Appilcation
System pakar ini merupakan system pakar yang dibuat mengontrol kekaratan aluminium foil secara otomatis. System ini menyesuaikan bentuk pola target menurut karakteristik material dan kondisi pengoperasiannya.
– Blast Furnace Heat Control Application
System pakar ini dibuat untuk mengontrol tingkat panas blast furnace (tanur).
– Sistem Pakar Dalam Production Planning Dan Production Control Perencanaan produksi dilakukan dalam hal kuantitas, waktu, kapasitas dan biaya pengendalian produksi meliputi penyelesaian pesanan, pengawasan pesanan dan pengamanan kualitas.
Manfaat system pakar dalam proses manufaktur / industry adalaah sebagai berikut :
1)      Meningkatkan produktivitas
2)      Mengambil alih keahlian yang langka
3)      Memudahkan pengoperasian peralatan

4)     Kemampuan bekerja dengan informasi yang tidak pasti dan tidak lengkap

Sumber :
Muhammad Arhami, S.Si., M.Kom. (2006). Konsep Dasar Sistem Pakar. Andi.
http://ira.lecturer.pens.ac.id/SPK/sistem%20pakar.pdf
http://universitaspendidikan.com/wp-content/uploads/2013/11/model-sistem-pakar.png
Yani, Eli. (2005). Pengantar Jaringan Saraf Tiruan. Artikel kuliah.
Puspitaningrum, Diyah. (2006). Pengantar Jaringan Saraf Tiruan. Penerbit Andi. Jogjakarta


Fuzzy Logic - Tugas Softskill 1


LOGIKA FUZZY
PENGERTIAN
Fuzzy mungkin merupakan suatu kata yang agak asing bagi kita. Dalam terjemahan menurut kosa katanya fuzzy berari kabur. Logika berarti penalaran. Jika digabungkan menjadi satu kalimat berarti Penalaran Yang Kabur. Benarkah demikian? Mengapa penalaran yang kabur justru perlu untuk dipelajari?

Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input ke dalam suatu ruang output. Skema logika fuzzy adalah sebagai berikut:


Pada gambar dapat diketahui bahwa antara input dan output terdapat sebuah kotak hitam yang sesuai. Berikut ini adalah beberapa contoh konsep logika fuzzy yang dapat diterapkan dalam berbagai kasus:
·         Manajer pergudangan mengatakan pada manajer produksi seberapa banyak persediaan barang pada akhir minggu ini, kemudian manajer produksi akan menetapkan jumlah barang yang harus diproduksi esok hari
·         Pelayan restoran memberikan pelayanan terhadap tamu, kemudian tamu akan memberikan tip yang sesuai atas baik tidaknya pelayanan yang diberikan
·         Penumpang taksi berkata pada sopir taksi seberapa cepat laju kendaraan yang diinginkan, sopir taksi akan mengatur pijakan gas taksinya

Ada beberapa cara atau metode yang mampu bekerja di kotak hitam tersebut, seperti sistem fuzzy, jaringan syaraf tiruan, sistem linier, sistem pakar, persamaan diferensial, dan sebagainya. Namun menurut Prof. Lotfi A. Zadeh seorang profesor dari Universitas California, Berkeley, yang adalah penemu Logika fuzzy pada tahun 1960-an menyatakan bahwa setiap kasus dapat saja diselesaikan tanpa menggunakan logika fuzzy, tetapi pemanfaatan logika fuzzy akan mempercepat dan mempermudah hasil dalam setiap kasus. Berikut adalah gambar dari Prof. Lotfi A. Zadeh.




PEMANFAATAN LOGIKA FUZZY
Mengapa kita perlu menggunakan logika fuzzy? Berikut ini adalah beberapa alasan mengapa logika fuzzy banyak digunakan saat ini diberbagai kasus. Alasan pemanfaatan logika fuzzy adalah sudah menjadi sifatnya yang kuat selama tidak membutuhkan ketepatan, input yang bebas derau, dan dapat diprogram untuk gagal dengan aman jika sensor arus balik dimatikan atau rusak. Control output adalah fungsi control halus meskipun jarak variasi input yang cukup besar. 

Selama fuzzy logic controller memproses aturan – aturan yang dibuat user yang memerintah system control target, ia dapat dimodifikasi dengan mudah untuk meningkatkan atau mengubah secara drastis performa system. Sensor yang baru dapat dengan mudah digabungkan kedalam system secara sederhana dengan menghasilkan aturan memerintah yang sesuai. 

Fuzzy logic tidak terbatas pada sedikit masukan umpan-balik dan satu atau dua output control, tidak juga penting untuk menilai atau menghitung parameter rata - rata perubahan dengan tujuan agar ia diimplementasikan. Sensor data yang menyediakan beberapa indikasi untuk aksi dan reaksi system sudah cukup. Hal ini memungkinkan sensor menjadi murah dan tidak tepat sehingga menghemat biaya system keseluruhan dan kompleksitas rendah. 

Karena operasi – operasi yang berbasiskan aturan, jumlah input yang masuk akal dapat diproses ( 1 sampai 8 atau lebih ) dan banyak output ( 1 sampai 4 atau lebih ) dihasilkan, walaupun pendefinisian rulebase secara cepat menjadi rumit jika terlalu banyak input dan output dipilih untuk implementasi tunggal selama pendefinisian rules(aturan), hubungan timbal baliknya juga harus didefinisikan. Akan lebih baik jika memecah system kedalam potongan – potongan yang lebih kecil dan menggunakan fuzzy logic controllers yang lebih kecil untuk didistribusikan pada system, masing – masing dengan tanggung jawab yang lebih terbatas. Fuzzy Logic dapat mengontrol system nonlinier yang akan sulit atau tidak mungkin untuk dimodelkan secara matematis. Hal ini membuka pintu bagi system control yang secara normal dianggap tidak mungkin untuk otomatisasi.

Konsep logika fuzzy mudah dimengerti.
Konsep matematis yang mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti
Logika fuzzy sangat fleksibel
Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat
Logika fuzzy dapat bekerja sama dengan teknik-teknik kendali secara konvensional
Logika fuzzy didasarkan pada bahasa alamiah

Sedangkan karakteristik utama dari fuzzy logic yang ditemukan oleh Prof. Lotfi A. Zadeh adalah sebagai berikut:
·         Dalam fuzzy logic, penalaran tepat dipandang sebagai suatu kasus terbatas dari penalaran kira –kira.
·         Dalam fuzzy logic segala sesuatunya adalah masalah derajat.
·         System logis manapun dapat difuzzifikasi.Dalam fuzzy logic, pengetahuan diinterpretasikan sebagai koleksi dari fuzzy yang dipaksakan pada sekumpulan variable.
·         Kesimpulan dipandang sebagai sebuah proses dari perkembangan pembatas elastis.

BAGAIMANA LOGIKA FUZZY DIGUNAKAN
Adapun langkah – langkah penggunaan fuzzy logic adalah sebagai berikut:

a. Definisikan obyektif dan criteria control:
1) Apa yang kita coba control ?
2) Apa yang harus kita lakukan untuk mengontrol system ?
3) Respon seperti apa yang kita butuhkan ?
4) Apa mode kegagalan system yang mungkin ?
b. Tentukan hubungan antara input dan output serta memilih jumlah minimum variable input pada mesin fuzzy logic(secara khusus error dan rata – rata perubahan error)

1) Dengan menggunakan struktur berbasis aturan dari fuzzy logic, jabarkan permasalahan control ke dalam aturan IF X AND Y THEN Z yang mendefinisikan respon output system yang diinginkan untuk kondisi input system yang diberikan. Jumlah dan kompleksitas dari rules bergantung pada jumlah parameter input yang diproses dan jumlah variable fuzzy yang bekerjasama dengan tiap – tiap parameter. Jika mungkin, gunakan setidaknya satu variable dan turunan waktunya. Walaupun mungkin untuk menggunakan sebuah parameter tunggal yang error saat itu juga tanpa mengetahui rata – rata perubahannya, hal ini melumpuhkan kemampuan system untuk meminamalisasi keterlampauan untuk sebuah tingkat input.

2) Buat fungsi keanggotaan yang menjelaskan nilai input atau output yang digunakan didalam rules.

3) Buat rutinitas proses awal dan akhir yang penting jika diimplementasikan dalam software, sebaliknya program rules kedalam mesin hardware fuzzy logic
DASAR-DASAR LOGIKA FUZZY
A. HIMPUNAN TEGAS / CRIPS
Sangat penting sekali bagi kita untuk terlebih dahulu mengetahui apa itu crisp set atau yang dikenal juga dengan conventional set, sebelum kita mengarah pada bagaimana himpunan fuzzy dibuat untuk kekurangan pada crisp set. Dalam kebanyakan jenis pemikiran setiap harinya, dan refleksi bahasa darinya, orang – orang menggunakan crisp set untuk mengelompokan sesuatu. Menjadi anggota dari crisp set adalah seluruhnya berhubungan atau tidak sama sekali. Seorang wanita dikatakan hamil ataupun tidak, ia tidak pernah “hamil sebagian” atau “sedikit hamil”.

Berpikir dengan crisp set menjadikan segala sesuatunya lebih sederhana, karena sesuatu bisa merupakan anggota dari suatu crisp set atau tidak. Crisp set dapat digunakan untuk merepresentasikan gambaran pengertian hitam dan putih. Seringkali juga, saat sesuatu itu merupakan anggota dari sebuah crisp set maka ia kemudian (pada waktu yang sama) bukan merupakan anggota dari crisp set manapun. Kembali hal ini menyederhanakan penggunaan logika dengan proses pemikiran semacam ini. Konstruksi linguistik yang menggambarkan jenis pemikiran ini dapat benar – benar berguna, terutama saat kategori crisp digunakan. Pada himpunan tegas (crisp), nilai keanggotaan suatu item x dalam suatu himpunan A, yang sering ditulis dengan µA[x], memiliki 2 kemungkinan, yaitu (Kusumadewi, 2004 : p3) :
Satu (1), yang berarti bahwa suatu item menjadi anggota dalam suatu himpunan, atau
Nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam suatu himpunan.

MACAM MACAM LOGIKA FUZZY
1.    Logical Connection dan Implication
P adalah suatu fuzzy logic proposition, yaitu suatu pernyataan mengenai suatu konsep yang batasannya tidak terdefinisi dengan jelas. Dalam fuzzy Logical connectives dan implication logic, nilai kebenaran yang dapat diberikan kepada P adalah nilai – nilai yang berada dalam interval [ 0,1 ]. Nilai 0 menyatakan bahwa P adalah salah dan nilai 1 menyatakan bahwa P  adalah benar. Pemberian nilai kebenaran untuk P dituliskan sebagai:
                   T : P →  [ 0,1 ]

Di mana T adalah fungsi kebenaran yang memetakan P ke suatu nilai dalam interval [ 0,1 ]. Selanjutnya, 3 buah logical connectives  dapat didefinisikan sebagai berikut:
                   Negation T(-P) = 1 – T(P)
                   Disjunction T(P ˅ Q) = max{T(P), T(Q)}
                   Conjunction T(P ˄ Q) = min{T(P), T(Q)}

Sedangkan untuk implication, terdapat banyak definisi yang bisa digunakan bergantung pada penerjemahan semantiknya atau pada konteks penggunaannya. Pada first-order logic, implication didefinisikan sebagai berikut:
                   P => Q ≡ -P ˅ Q

Jika kita mengkonversi implication tersebut ke dalam fuzzy logic, sebagai berikut:
                   T(P => Q) = max{1 – T(P), T(Q)}

2.    Approximate Reasoning
Sebagian besar penalaran yang dilakukan manusia bersifat perkiraan (approximate) dan hanya sedikit manusia yang berfikir secara pasti dalam hal – hal yang bersifat kuantitatif dan logis. Ketika dua orang sedang melakukan percakapan, terdapat banyak kalimat yang mengandung kata – kata yang tidak pasti. Contohnya:
       A : ‘Apakah dia anak pintar?’
       B : ‘Sepertinya begitu.
       A : ‘Apakah indeks Prestasi dan hasil tes psikologinya bagus?’
       B : ‘Ya, keduanya sangat bagus.
       A : ‘Apakah dia layak mendapatkan beasiswa?’
       B : ‘Ya, sepertinya itu adalah keputusan yang baik.

Pada dialog diatas, kedua orang tersebut sedang melakukan penalaran yang bersifat perkiraan atau approximate reasoning, yaitu reasoning terhadap proposisi yang tidak pasti. Contoh approximate reasoning adalah sebagai berikut:
       P1 : Sebagian besar anak kecil suka permen
       P2 : Andi adalah anak kecil


 
       P3 : Sepertinya Andi suka permen

3.    Sistem Berbasis Aturan Fuzzy
Variabel linguistik
Adalah suatu interval numerik dan mempunyai nilai – nilai linguistik, yang semantiknya didefinisikan oleh fungsi keanggotaannya. Misalnya, Suhu adalah suatu variabel linguistik yang bisa didefinisikan pada interval. Variabel tersebut bisa memiliki nilai – nilai linguistik seperti ‘Dingin’, ‘Hangat’, ‘Panas’ yang semantiknya didefinisikan oleh fungsi – fungsi keanggotaan tertentu.

Suatu sistem berbasis aturan fuzzy yang lengkap terdiri dari 3 komponen utama:
1.      Fuzzification , mengubah masukan – masukan yang nilai kebenarannya bersifat pasti (crisp input) ke dalam bentuk fuzzy input, yang berupa nilai linguistik yang semantiknya ditentukan berdasarkan fungsi keanggotaan tertentu.
2.      Inference , melakukan penalaran menggunakan fuzzy input dan fuzzy rules yang telah ditentukan sehingga menghasilkan fuzzy output.
3.      Defuzzification , mengubah fuzzy output menjadi crisp value berdasarkan fungsi keanggotaan yang telah ditentukan.



 
1.      CONTOH PENERAPAN FUZZY LOGIC :

·      Penerapan Logika Fuzzy Pada Penilaian Mutu Teh Hitam Oorthodox

    Masalah yang dihadapi : Bagaimana menentukan mutu teh hitam tanpa menggunakan tester dan ketidakpastian batas antara satu kriteria dengan kriteria lainnya?
    Tujuan Penelitian : Membuat model penilaian mutu teh dengan menggunakan program komputer berbasis logika fuzzy.
    Manfaat Penelitian : Diharapkan dapat bermanfaat dalam menentukan mutu teh hitam yang baik.
    Pengguna Aplikasi dan Sistem pakarnya adalah Konsumen Teh Hitam dan Dra. ThongTjie
    Menentukan himpunan fuzzy

Contoh Penerapan Fuzzy Logic - Metode Mamdani menggunakan Matlab

 

Bagi anda yang mempelajari tentang Artificial Intelligence pada pokok bahasan Fuzzy Logic, ada tiga metode yang sering digunakan dalam menyelesaikan masalah dengan menggunakan konsep fuzzy logic, yaitu: (1) Metode Tsukamoto; (2) Metode Mamdani; (3) Metode Sugeno. Pada kesempatan ini, saya akan menerapkan metode Mamdani untuk menyelesaikan sebuah contoh masalah sederhana menggunakan aplikasi Matlab. Metode Mamdani adalah metode yang lebih mudah digunakan dari kedua pada metode lainnya. Sebagaimana kita ketahui bahwa Matlab menyediakan metode ini (Mamdani) pada toolbox fuzzy, namun saya akan mencobanya dengan koding.

Prosedur Fuzzy Logic:

1.      Fuzzifikasi;
2.      Pembentukan Rule
3.      Mesin Inferensi
4.      Defuzzifikasi

Contoh Kasus

Perhatikan komentar pada script berikut ini:
a = newfis('MAMDANI IDEAL BADAN');

%Tinggi Badan (Input 1)
a = addvar(a,'input','Tinggi Badan',[0 200]);
a = addmf(a,'input',1,'Pendek','trapmf',[0 0 100 140]);
a = addmf(a,'input',1,'Sedang','trimf',[125 150 175]);
a = addmf(a,'input',1,'Tinggi','trimf',[160 200 200]);

%Berat Badan (Input 2)
a = addvar(a,'input','Berat Badan',[0 100]);
a = addmf(a,'input',2,'Ringan','gaussmf',[15 0]);
a = addmf(a,'input',2,'Normal','gaussmf',[15 50]);
a = addmf(a,'input',2,'Berat','gaussmf',[15 100]);

%Ideal Badan (Output 1)
a = addvar(a,'output','Ideal Badan',[0 10]);
a = addmf(a,'output',1,'Sedikit','trimf',[0 1.5 3]);
a = addmf(a,'output',1,'Sedang','trimf',[3 5 7]);
a = addmf(a,'output',1,'Banyak','trimf',[7 8.5 10]);

% Rule #1 : IF TinggiBadan is Tinggi AND BeratBadan is Ringan THEN IdealBadan is Kurus
%      #2 : IF TinggiBadan is Tinggi AND BeratBadan is Normal THEN IdealBadan is Kurus
%      #3 : IF TinggiBadan is Sedang AND BeratBadan is Ringan THEN IdealBadan is Kurus
%      #4 : IF TinggiBadan is Pendek AND BeratBadan is Ringan THEN IdealBadan is Ideal
%      #5 : IF TinggiBadan is Sedang AND BeratBadan is Normal THEN IdealBadan is Ideal
%      #6 : IF TinggiBadan is Tinggi AND BeratBadan is Berat THEN IdealBadan is Ideal
%      #7 : IF TinggiBadan is Pendek AND BeratBadan is Berat THEN IdealBadan is Gemuk
     #8 : IF TinggiBadan is Pendek AND BeratBadan is Normal THEN IdealBadan is Gemuk
%      #9 : IF TinggiBadan is Sedang AND BeratBadan is Berat THEN IdealBadan is Gemuk

% masing-masing kolom adl input1|input2|output1|weight|OR=2; AND=1
ruleList=[...
    3 1 1 1 1
    3 2 1 1 1
    2 1 1 1 1
    1 1 2 1 1
    2 2 2 1 1
    3 3 2 1 1
    1 3 3 1 1
    1 2 3 1 1
    2 3 3 1 1];
a = addrule(a,ruleList);

out = evalfis([165 55],a); % 165 = Tinggi Badan; 55 = Berat Badan

writefis(a,'Mamdani_UseCoding_gaussmf'); % Simpan ke File dng nama "Mamdani_UserCoding.fis"

% fismat = readfis('BuildManualFuzzy'); %Membaca file --> getfis(fismat); %Membaca file

Untuk menjalankan file ini pada toolbox Fuzzy, silahkan ketik: fuzzy('namaFile'); pada Commmad Window Matlab lalu tampilkanlah outputnya dengan memilih menu View - Rules atau Surface pada tollbox fuzzy (Fis Editor).















Sumber :
Suyanto, ST, MSc. (2011). Artificial Intelligence Searching, Reasoning, Planning dan Learning. Bandung: Informatika.
http://pustaka.unpad.ac.id/wp-content/uploads/2010/07/dasar_dasar_fuzzy_logic.pdf
perkuliahan sistem fuzzy STMIK WP
http://joinsucess.blogspot.co.id/2011/05/pengertian-dan-dasar-logika-fuzzy.html
Jannus Maurits Nainggolan, “Logika Fuzzy (Fuzzy Logic) : Teori dan Penerapan Pada Sistem Daya (Kajian Pengaruh Induksi Medan Magnet)”