Minggu, 02 Oktober 2016

FUZZY LOGIC



Asal Mula Fuzzy Logic

Konsep Fuzzy Logic diperkenalkan oleh Prof. Lotfi Zadeh dari Universitas California diBerkeley pada 1965, dan dipresentasikan bukan sebagai suatu metodologi control, tetapi sebagai suatu cara pemrosesan data dengan memperkenankan penggunaan partial set membership dibanding crisp set membership atau non-membership. Pendekatan pada set teori ini tidak diaplikasikan pada system control sampai tahun 70an karena kemampuan computer yang tidak cukup pada saat itu. Profesor Zadeh berpikir bahwa orang tidak membutuhkan kepastian, masukan informasi numeric, dan belum mampu terhadap control adaptif yang tinggi. Jika pengendali umpan balik dapat di program untuk menerima derau, masukan yang tidak tepat, mereka akan menjadi lebih efektif dan mungkin akan menjadi lebih mudah untuk diimplementasikan. Sayangnya, produsen AS belum begitu cepat untuk merangkul teknologi ini sementara Eropa dan Jepang telah agresif produk bangunan nyata di sekitarnya.

Definisi Fuzzy Logic

Merupakan metodologi pemecahan masalah dengan aplikasi dalam pengendali yang tersimpan dan pemrosesan informasi. Fuzzy logic juga menyediakan penggambaran suatu kesimpulan pasti dari informasi yang ambigu secara sederhana,samar-samar atau tidak tepat. Sehingga fuzzy logic menyerupai pembuatan keputusan pada manusia dengan kemampuan untuk bekerja dari data yang ditafsirkan dan mencari solusi yang tepat. peningkatan dari logika Boolean yang berhadapan dengan konsep kebenaran sebagian. Di mana logika klasik menyatakan bahwa segala hal dapat diekspresikan dalam istilah binary (0 atau 1, hitam atau putih, ya atau tidak), logika fuzzy menggantikan kebenaran boolean dengan tingkat kebenaran.

Ada tiga proses utama jika ingin mengimplementasikan fuzzy logic pada suatu perangkat, yaitu fuzzification, evaluasi rule, dan defuzzification.

  • Fuzzification, merupakan suatu proses untuk mengubah suatu masukan dari bentuk tegas (crisp) menjadi fuzzy yang biasanya disajikan dalam bentuk himpunan-himpunan fuzzy dengan suatu fungsi kenggotaannya masing-masing.
  • Interference System (Evaluasi Rule), merupakan sebagai acuan untuk menjelaskan hubungan antara variable-variabel masukan dan keluaran yang mana variabel yang diproses dan yang dihasilkan berbentuk fuzzy. Untuk menjelaskan hubungan antara masukan dan keluaran biasanya menggunakan “IF-THEN”.
  • Defuzzification, merupakan proses pengubahan variabel berbentuk fuzzy tersebut menjadi data-data pasti (crisp) yang dapat dikirimkan ke peralatan pengendalian.

Keuntungan dari Fuzzy Logic


  • 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 mampu memodelkan fungsi-fungsi non linearyang sangat kompleks.
  • Logika fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan.
  • Logika Fuzzy dapat bekerjasama denan teknik-teknik kendali secara konvensional
  • Logika fuzzy didasarkan pada bahasa alami.


Seperti yang kita ketahui fuzzy logic memang sangat berguna bagi kemajuan teknologi, contohnya pada tahun 1990 negara Jepang pertama kali mencoba logika fuzzy ini pada mesin cuci (Matsushita Electric Industrial Company). Sistem ini digunakan untuk menentukan putaran yang tepat secara otomatis berdasarkan jenis dan banyaknya kotoran serta jumlah yang akan dicuci.selain itu digunakan juga alat lain seperti:
  • Transmisi otomatis pada mobil, biasanya mobil menggunakan transmisi manual yang memerlukan bantuan dari manusia untuk memindahkan perseneling walaupun pada transmisi otomatis ini tetap menggunakan perseneling untuk memisahkan antara transmisi maju atau mundur.
  • Kereta bawah tanah sendai (Jepang) mengontrol pemberhentian otomatis pada area tertentu, sehingga jika terjadi hal yang membahayakan penumpang dan orang lain kereta tersebut memberikan sinyal tertentu pada masinis atau pun kereta tersebut berhenti secara perlahan.
  • Ilmu kedokteran dan biologi, seperti sistem diagnosis yang didasarkan pada logika fuzzy.
  • Manajemen dan pengambilan keputusan, seperti manajemen basis data, tata letak pabrik, pembuatan games yang didasarkan pada logika fuzzy.

Referensi

Sabtu, 01 Oktober 2016

SISTEM PAKAR (EXPERT SYSTEM)



Definisi Sistem Pakar 

     Suatu usaha untuk menirukan seorang pakar merupakan pengertian dari sistem pakar (expert system), dalam arti lain berupa perangkat lunak pengambil keputusan yang mampu mencapai tingkat performa yang sebanding pakar dalam bidang problem yang khusus dan sempit. Jadi kepakaran ditransfer dari seorang pakar (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang ada disimpan dalam komputer, dan pengguna dapat berkonsultasi pada komputer itu untuk suatu nasehat, lalu komputer dapat mengambil inferensi (menyimpulkan, mendeduksi, dll.) seperti layaknya seorang pakar, kemudian menjelaskannya ke pengguna tersebut, bila perlu dengan alasan-alasannya. Sistem Pakar malahan terkadang lebih baik unjuk kerjanya daripada seorang pakar manusia. Mengapa demikian, karena seorang pakar akan memberikan algoritma penghitungan sehingga komputer menghitung secara detail dan kemungkinan untuk salah sangat kecil.
Pakar juga memiliki arti tersendiri yaitu pengetahuan yang meluas (ekstensif) dan spesifik yang diperoleh melalui rangkaian pelatihan, membaca, dan pengalaman. Pengetahuan membuat pakar dapat mengambil keputusan secara lebih baik dan lebih cepat daripada non-pakar dalam memecahkan problem yang kompleks. Kepakaran mempunyai sifat berjenjang.

Penerapan Sistem Pakar
Aplikasi Sistem Pakar Tes Kepribadian Berbasis Web
Kepribadian sangatlah penting untuk diketahui setiap orang agar setiap individu mampu mengembangkan kelebihan yang dimilikinya. Seseorang yang kesulitan dalam mengembangkan dirinya kemungkinan karena tidak mengetahui sama sekali kelemahan dan kekurangan yang dimilikinya. Sistem Pakar merupakan suatu sistem yang dibangun untuk memindahkan kemampuan dari seorang atau beberapa orang pakar ke dalam komputer yang digunakan untuk memecahkan masalah yang dihadapi oleh pemakai dalam bidang tertentu. Untuk membantu setiap orang yang ingin mengetahui kepribadiannya, penulis membangun sebuah aplikasi sistem pakar berbasis web yang mampu membantu pengenalan seseorang terhadap kepribadiannya. Proses pembuatan aplikasi tersebut menggunakan metodologi berorientasi obyek dengan pemodelan visual Unified Modeling Language (UML). Pada tahap implementasi penulis menggunakan perangkat pemrograman berbasis web, Apache2Triad 1.5.2 yang berisi Apache 2.0.53, dan PHP 5.0.4. Aplikasi ini dapat membantu pengguna untuk mengetahui kepribadiannya, sehingga dapat membantu untuk mengembangkannya.
 
 
 
Contoh Penerapan :
  • MYCIN      : Digunakan untuk mendiagnosa penyakit.
  • Dendral  : Digunakan untuk mengidentifikasikan struktur molekul campuran kimia yang tidak dikenal. 
  • XCON & XSEL : Digunakan untuk konfigurasi sistem komputer besar. 
  • Prospector : Digunakan dalam bidang ilmu biologi. 
Beberapa contoh aplikasi sitem pakar:
  • Aplikasi Sistem Pakar untuk konsultasi kerusakan lokomotif dari Delta (General Electric)
  • Aplikasi Sistem Pakar  untuk penaksiran prospek mineral dari Stanford Research Institute bernama Prospector
  • Aplikasi Sistem pakar untuk mengkonfigurasi bagian-bagian komputer dari Digital Equipment Corps’s yaitu Xycon
  • Aplikasi sistem pakar untuk mendiagnosa bakteri penyakit tertentu dari Universitas Stanford tahun 1970 bernama Mycin.
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:
  • Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.
  • Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.
  • Seorang pakar akan pensiun atau pergi.
  • Seorang pakar adalah mahal.
  • Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat.

Ada beberapa keunggulan sistem pakar, di antaranya:
  • Menghimpun data dalam jumlah yang sangat besar.
  • Menyimpan data tersebut untuk jangka waktu yang panjang dalam suatu bentuk tertentu.
  • Mengerjakan perhitungan secara cepat dan tepat dan tanpa jemu mencari kembali data yang tersimpan dengan kecepatan tinggi.
Kemudian kelemahannya, di antaranya:
  • Pengembangan sistem pakar sangat sulit, karena seorang pakar yang baik sulit diperoleh.  Menyatukan pengetahuan seorang pakar dan pengalihannya menjadi sebuah program merupakan pekerjaan yang melelahkan dan memerlukan biaya yang besar.
  • Sistem pakar sangat mahal untuk dikembangkan, misalnya untuk percobaan dan mengirim sistem pakar tersebut ke pengguna akhir memerlukan biaya tinggi.
  • Hampir semua sistem pakar (expert system) masih harus dapat diimplementasikan dalam komputer besar, sistem pakar dijalnkan ada kompputer pada koputer pribadi tergolong sistem pakar kecil dan kurang canggih.
  • Sistem pakar tidak 100% menguntungkan karena produk seseorang tidak ada yang sempurna dan tidak selalu benar, oleh karena itu perlu dikaji ulang secara teliti sebelum digunakan

Sementara kemampuan sistem pakar, di antaranya:
  • Menjawab berbagai pertanyaan yang menyangkut bidang keahliannya.
  • Bila diperlukan dapat menyajikan asumsi dan alur penalaran yang digunakan untuk sampai ke jawaban yang dikehendaki.
  • 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:
  • Pakar, adalah orang yang memiliki pengetahuan khusus, pendapat, pengalaman dan metode, serta kemampuan untuk mengaplikasikan keahliannya tersebut guna menyelesaikan masalah.
  • 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.
  • Pemakai, sistem pakar memiliki beberapa pemakai, yaitu: pemakai bukan pakar, pelajar, pembangun system pakar yang ingin meningkatkan dan menambah basis pengetahuan, dan pakar.

Tahapan Pengembangan Sistem Pakar


·         Identifikasi, Merupakan tahap penentuan hal-hal yang penting sebagai dasar dari permasalahan yang akan dianalisis.
  • Konseptualitas, Hasil identifikasi masalah, dikonseptualisasikan dalam bentuk relasi antar data, hubungan antar pengetahuan dan konsep-konsep penting dan ideal yang akan diterapkan.
  • Formalisasi, Konsep-konsep dari konseptualisasi diimplementasikan secara formal dalam tahap formalisasi.
  • Implementasi, Apabila pengetahuan sudah diformalisasikan secara lengkap maka tahap implementasi dapat dimulai dengan membuat garis besar masalah kemudian memecahkan masalah kedalam modul-modul.
  • Evaluasi, Tahap ini merupakan tahap pengujian terhadap sistem pakar yang telah dibangun dan untuk menemukan kesalahan-kesalahan yang masih ada.
  • Pengembangan sistem, Fungsi dari pengembangan sistem adalah agar sistem yang dibangun tidak menjadi usang dan investasi tidak sia-sia. Hal pengembangan sistem yang paling berguna adalah proses dokumentasi sistem dimana didalamnya tersimpan semua hal penting yang menjadi tolak ukur pengembangan sistem di masa mendatang.
Kesimpulan
       Jadi sitem pakar dapat didefinisikan sebagai suatu sitem perangkat lunak yang menggunakan ilmu,fakta, dan teknik tertentu untuk pengambilan keputusan sehingga masalah-masalah yang tidak terlalu umum atau komplex yang biasanya memerlukan seorang ahli untuk memecahkan masalah tersebut. Jadi perangkat lunak berbasis sistem pakar ini dapat menyelesaikan masalah dengan hanya menggunakan komputer.
    
      Referensi

ARTIFICIAL NEURAL NETWORK (ANN)


Pengenalan Jaringan Syaraf buatan Istilah ini mungkin awam bagi masyarakat,tetapi untuk orang-orang yang belajar tentang Elektronika,kedokteran,maupun Teknolgi Informasi pasti pernah mendengar isitilah ini Jaringan Syaraf Tiruan atau Artificial Neural Network (ANN) yang merupakan paradigma pemrosesan suatu informasi yang terinspirasi oleh sistem sel syaraf biologi, contohnya bagian otak yang mengolah suatu informasi. ANN ini dibentuk untuk memecahkan suatu masalah tertentu seperti pengenalan pola atau klasifikasi karena proses pembelajaran. 



Artificial Neural Network ini dikenalkan pertama kali pada tahun 1943 oleh Waren McCulloch sebagai Neurophysiologist (Ahli Syaraf) dan Walter Pits sebagai logician(ahli logika). Coba bayangkan pada tahun 1943 di indonesia masih belum merdeka tetapi sudah ada sekelompok orang yang mengembangkan jaringan syaraf tiruan,jika dihitung hingga sekarang sudah 73tahun sejak pertama kali diperkenalkan mungkin sudah banyak mengalami perkembangan yang signifikan pada Artifial Neural Network ini. Pada pertama kali diperkenalkan, Waren dan Walter menuliskan dalam paper berjudul “Bagaimana Neuron bekerja?” dalam uraiannya Neural Network diperagakan secara sederhana dengan rangkaian listrik,namun penelitian mereka belum dikembangkan lebih jauh karena terbatas dengan teknolgi yang belum canggih.
     Neural Network memiliki beberapa fungsi diantaranya: 
->    Mengelompokan pola
->    Memetakan pola yang didapat dari input ke dalam output dalam bentuk pola yang baru 
->    Menyimpan pola yang akan dipanggil kembali 
->    Memetakan pola-pola yang sejenis 
->    Mengoptimasi permasalahan
->    Membuat prediksi
        Konsep Neural Network


Ini merupakan contoh beberapa bagian dari otak manusia seperti:
->  Neuron    : Pusat pemrosesan informasi dari masukan ribuan dendrites dan keluaran sebuah axon
->  Nukleus   : Unit proses untuk melakukan segala proses
->  Axon       : Mengirimkan keluaran untuk ke jaringan lain
->  Dendrit    : Mengirimkan masukkan ke unit proses
->  Sinapsis   : Untuk menyimpan pengetahuan

Dalam penjelasannya proses kerja jaringan syaraf pada otak manusia,merupakan sebagai ide dasar dimana otak memiliki sekitar 1011 neuron yang berfungsi sebagai media proses untuk setiap informasi yang masuk. Jadi pada setiap neuron terdapat minimal 1 dendrit dengan setiap sel nya terhubung dengan syaraf lain,yang jumlahnya mencapai sekitar 104 sinapsis. Masing-masing sel itu saling berinteraksi untuk menghasilkan kemampuan tertentu pada kerja otak manusia.

Sebuah neuron menerima impuls dari neuron lain melalui dendrit dan mengirimkan sinyal yang dihasilkan oleh badan sel melalui akson. Akson dari sel syaraf ini bercabang-cabang dan berhubungan dengan dendrit dari sel syaraf lain dengan cara mengirimkan impuls melalui sinapsis. Sinapsis adalah unit fungsional antara 2 buah sel syaraf, misal A dan B, dimana yang satu adalah serabut akson dari neuron A dan satunya lagi adalah dendrit dari neuron B. Kekuatan sinapsis bisa menurun/meningkat tergantung seberapa besar tingkat propagasi (penyiaran) sinyal yang diterimanya. Impuls-impuls sinyal (informasi) akan diterima oleh neuron lain jika memenuhi batasan tertentu, yang sering disebut dengan nilai ambang (threshold) atau dalam penjelasannya lebih singkatnya yaitu otak menerima rangsangan(informasi) yang begitu banyak sehingga otak akan secara otomatis untuk memilah pada bagian mana informasi tersebut akan dihubungkan pada syaraf-syaraf lain.

      Arsitektur ANN

 Setiap neuron dapat memiliki beberapa masukan dan mempunnyai satu keluaran. Jalur masukan pada suatu neuron bisa berisi data mentah atau data hasil olahan neuron sebelumnya. Sedangkan hasil keluaran suatu neutron dapat berupa hasil akhir atau berupa bahan masukkan bagi neutron berikutnya. Jaringan neuron buatan terdiri atas kumpulan grup neuron yang tersusun dalam lapisan. Gambar di bawah ini menunjukkan struktur umum jaringan syaraf buatan yang bersifat feedfordward(data proses pada satu arah).


 ANN terdiri dari banyak neuron di dalamnya. Neuron-neuron ini akan dikelompokkan ke dalam beberapa layer. Neuron yang terdapat pada tiap layer dihubungkan dengan neuron pada layer lainnya. Hal ini tentunya tidak berlaku pada layer input dan output, tapi hanya layer yang berada di antaranya. Informasi yang diterima di layer input dilanjutkan ke layer-layer dalam ANN secara satu persatu hingga mencapai layer terakhir/layer output. Layer yang terletak di antara input dan output disebut sebagai hidden layer. Namun, tidak semua ANN memiliki hidden layer, ada juga yang hanya terdapat layer input dan output saja.



contoh penggunaan Artificial Neural Network dalam Security

IDS (Instrusion Detection System) yang menggunakan teknik signature serangan untuk menentukan apakah suatu paket termasuk jenis serangan tertentu atau bukan. Apabila ada paket yang ,melintasi jaringan dan ditangkap oleh IDS (dalam hal ini snort) dan paket tersebut memenuhi kriteria rules diatas maka IDS akan dapat langsung memutuskan bahwa telah terjadi suatu jenis serangan DDOS yang memanfaatkan tools stacheldracht, dan snort akan langsung mengambil tindakan yang telah ditetapkan sebelumnya. Misalnya, mengirimkan pesan alert via sms atau mail ke administrator sistem.
 


 Referensi: 
>> http://elektronika-dasar.web.id/jaringan-syaraf-tiruan-neural-network/
>> http://socs.binus.ac.id/2012/07/26/konsep-neural-network/