SISTEM PAKAR ARTIFICIAL INTELIGENCE

Sabtu, 01 Oktober 2016

SISTEM PAKAR ARTIFICIAL INTELIGENCE


PENGERTIAN ARTIFICIAL INTELIGENCE

AI dapat didefinisikan sebagai suatu kajian yang mencoba untuk mengaplikasikan kemapuan manusia dalam memecahkan permasalahan kedalam komputer sehingga komputer dapat melakukan pekerjaan seperti dan sebaik yang dilakukan manusia.
Definisi lain yang mendeskripsikan tentang AI adalah bahwa AI merupakan teknologi yang diaplikasikan ke dalam komputer sehingga komputer memiliki kemampuan seperti panca indera manusia ditambah dengan logika dan proses belajar dari pengalaman. Defini lebih lengkap tentang AI dibawah berikut

Schalkof:AI adalah bidang studi yang berusaha menerangkan dan meniru perilaku cerdas dalam bentuk proses komputasi
Rich dan Knight:AI adalah studi tentang cara membuat komputer melakukan sesuatu yang sampai saat ini orang dapat melakukannya dengan baik
Luger dan Stubblefield:AI adalah cabang ilmu komputer yang berhubungan dengan otomasi perilaku yang cerdas
Haag dan keen:AI adalah bidang studi yang berhubungan dengan penangkapan,pemodelan dan penyimpanan kecerdsaan manusia dalam sebuah sistem teknologi informasi sehingga sistem tersebut dapat memfasilitasi proses pengmbilan keputusan yang biasanya dilakukan oleh manusia
Komputer yang telah mendapatkan tambahan teknologi AI diharapkan memiliki kemampuan lebih dari komputer
Komputer yang dilengkapi dengan AI diharapkan memiliki kemampuan dan kecerdasan sebagai berikut :
1.         Berfikir dan menalar
2.         Memakai penalaran untuk memecahkan masalah
3.         Menyerap dan menerapkan pengetahuan
4.         Memperlihatkan kreatifitas dan imajinasi
5.         Bekerja sesuai dengan situasi yang kompleks dan membingungkan
6.         Melakukan tanggapan dengan cepat dan berhasil beradatasi
7.         Mengenali elemen-elemen yang relatif penting dalam sebuah situasi
8.         Menangani informasi yang rancu, tak lengkap atau  salah



Dibandingkan dengan kecerdasan alami yang dimiliki oleh manusia, AI memiliki beberapa kelebihan antara lain :
1.         AI bersifat lebih permanen
2.         AI lebih mudah diduplikasikan dan disebarkan
3.         AI dapat di dokumentasikan
4.         AI lebih konsisten
5.         AI dapat mengerjakan pekerjaan lbh cepat
6.         AI dapat mengerjakan tugas lebih baik

Namun AI memiliki kekurangan jika dibandingkan dengan kecerdasa alami, antara lain :

1. Untuk menambahkan pengetahuan pada AI harus dilakukan melalui sistem yang dibangun

2.  AI hanya  bisa bekerja dengan input-input simbolik

Komponen-kompenan dalam AI

Ada beberapa kajian dalam bidang AI. Setiap kajian mempunyai kemampuan tertentu untuk diaplikasikan pada komputer. Kajian- kajian tersebut antara lain :



ROBOTIK
                                               

















berupa sebuah robot yang digunakan untuk
 menggantikan manusia dalam mengerjakan
 tugas. Robot adalah perangkat elektronik yang
 dapat diprogramkan untuk melakukan  otomasi
  terhadap suatu tugas yang biasanya dilakukan
 oleh manusia. Robot yang banyak digunakan




ARTIFICIAL VISION (AV)
                                                
 Sistem penglihatan buatan yang diberikan pda
 komputer sehingga komputer dapat membe
dakan bentuk benda.Konsep AV sangat seder
hana, yaitu menggunakan sistem kamera dan
video. Kamera menangkap gambar dan
Mengolahnya menjadi sinyal-sinyal digital dan menepatknnya dalam memori. Selanjutnya program AI akan melakukan analisis terhadap data yang diterima menggunakan prosedur. Program yang digunakan untuk hal ini disebut dengan image procesing. Ada beberapa teknik image procesing yang sudah diteliti bahkan diaplikasikan di berbagai bidang .


NEURAL NETWORK

neural network atau jaringan syaraf tiruan adalah sebuah sistem yang meniru pola pemrosesan sinyal syaraf di dalam otak manusia yang berdasarkan pada pengenalan pola. NN terdiri dari sejumlah lapisan elemen  pemrosesan dengan masing-masing lapisan melakukan komputasi sendiri dan melewatkan outputnya kelapisan selanjutnya. Setiap lapisan dalam NN bersifat independen.
Lapisan pertama dikenal sebagai lapisan input dan lapisan terakhir sebagai lapisan output. Diantara lapisan input dan output biasanya terdapat beberapa lapisan lagi yang dinamakan hidden layer. Seperti halnya manusia yang dapat belajar dari pengalaman sebelumnya,NN dapat juga mempelajari sesuatu dengan cara diberi pelatihan . Setelah NN dapat melakukan pencocokan pola atau melakukan klasifikasi.















Kaitan Artificial Intelligence dan Expert System

Sistem pakar merupakan cabang dari kecerdasan buatan, yaitu dengan menyimpan kepakaran dari pakar manusia ke dalam komputer dan meyimpan pengetahuan di dalam komputer sehingga memungkinkan user dapat berkonsultasi layaknya dengan pakar manusia. Program konsultasi tersebut mencoba untuk menirukan proses penalaran seorang pakar dalam memecahkan masalah yang rumit. Sistem pakar disebut juga sebagai aplikasi atau sistem kecerdasan buatan yang banyak dikembangkan dan paling banyak digunakan. Di dalam kecerdasan buatan terdapat dua bagian utama yang dibutuhkan yaitu Knowledge Base dan Inference Engine. Lingkup utama dalam kecerdasan buatan salah satunya adalah sistem pakar. Di dalam sistem pakar sendiri terdapat tiga bagian utama, yaitu Knowledge Base dan Working Memory yang diolah dalam Inference Engine sehingga menghasilkan suatu pemecahan atas suatu masalah.

contoh-contoh penarapan nya

  • Adver : sebuah prototipe Expert system digunakan untuk menggunakan strategi media periklanan yang sesuai dengan kondisi internal dan eksternal perusahaan dengan parameter biaya iklan per seribu pemirsa.
  • Brickwork expert(Bert) : sebuah Expert system untuk disain bangunan. BERT digunakan untuk memeriksa sebuah disain bangunan, kemudian memberikan beberapa rekomendasi untuk perbaikan. Inputnya bisa dalam bentuk gambar.
  • Delta : Expert system untuk mendiagnosa kerusakan pada mesin-mesin Diesel Electric Locomotive.
  • Dendral : Sistem pakar untuk analisis struktur molekul suatu senyawa yang belum diketahui. Senyawa yang belum diketahui tersebut dianalisis dengan menggunakan “mass spectrometer” dan “nuclear magnetic reconancy equipment”. Data hasil analisis tersebut dimasukkan ke DENDRAL yang akan membuat struktur molekulnya.
  •  Mycin : Expert system untuk mendiagnosa infeksi akibat bakteri dan menyarankan jenis obat dan dosisnya untuk penyembuhan.
  • Opera:OPERator Advisor yang digunakan untuk mendiagnosa dan menangani kerusakan pada suatu jaringan komputer. OPERA dijalankan pada malam hari untuk menggantikan Supervisor System Manager.
  • Prospector : Untuk membantu menemukan lokasi yang mengandung bahan tambang. Basis pengetahuannya berisi kaidah berdasar data empiris dan taksonomi beberapa jenis mineral dan batu-batuan. Untuk mengetahui apakah suatu daerah mengandung bahan tambang , lebih dahulu dilakukan survey keadaan geologi dan pengambilan contoh tanah dan batu-batuan. Berdasarkan data hasil survey tersebut akan diberikan rekomendasi apakah daerah tsb layak untuk dieksplorasi dan akan diputuskan apakah akan dilakukan penggalian atau tidak.
  •  Heatings : Untuk pengontrolan proses pembakaran batubara secara terus menerus dengan menggunakan sensor yang dihubungkan ke komputer. Bila terjadi kerusakan yang menimbulkan bahaya (peralatan & manusia) dapat dengan mudah mengetahui dan memberikan pemecahannya. Misal, bila bila HEATINGS mendeteksi kadar CO melewati ambang batas akan terdengar bunyi alarm dan menyuruh membuka ventilasi. 






FUZZY LOGIC

FUZZY LOGIC
                               
PENGERTIAN FUZZY LOGIC
Fuzzy logic jika di atau dalam bahasa Indonesia logika Fuzzy adalah teknik/ metode yang dipakai untuk mengatasi hal yang tidak pasti pada masalah – masalah yang mempunyai banyak jawaban. Pada dasarnya Fuzzy logic merupakan logika bernilai banyak/ multivalued logic yang mampu mendefinisikan nilai diantara keadaan yang konvensional seperti benar atau salah, ya atau tidak, putih atau hitam dan lain-lain. Penalaran Logika Fuzzy memnyediakan cara untuk memahami kinerja system dengan cara menilai input dan output system dari hasil pengamatan. Logika Fuzzy menyediakan cara untuk menggambarkan kesimpulan pasti dari informasi yang samar-samar, ambigu dan tidak tepat. Fuzzy logic Pertama kali dikembangkan oleh Lotfi A. Zadeh tahun 1965.
Fuzzy Logic (Logika Fuzzy) atau biasa juga disebut dengan Logika Samar merupakan suatu cara yang tepat untuk memetakan suatu ruang input ke dalam suatu ruang output didasari oleh konsep himpunan fuzzy.

Gambar : Pemetaan input-output
Diantara input dan output terdapat black box. Di dalam black box terdapat proses yang tidak diketahui, bisa didekati dengan pendekatan sistem linear, ekonometri, interpolasi, sistem pakar atau logika fuzzy, dan lain-lain. Namun, seperti yang diungkapkan Lotfi Zadeh: ”Dalam hampir setiap kasus, cara fuzzy lebih cepat dan lebih murah”.
Logika fuzzy sebagai komponen utama pembangun softcomputing, terbukti telah memiliki kinerja yang sangat baik untuk menyelesaikan masalah-masalah yang mengandung ketidakpastian. Implementasinya luas, baik di bidang engineering, psikologi, social, dan juga bidang ekonomi.
Logika Fuzzy adalah 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 kebenara



CONTOH PENERAPAN
Alasan Kenpa digunakan logika Fuzzy:
-  Karena konsep logika Fuzzy mudah dimengerti.
- Logika Fuzzy fleksibel.
- Logika Fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks.
- Logika Fuzzy dapat bekerja dengan teknik-teknik kendali secara konvensional.
- Logika Fuzzy memiliki toleransi terhadap data-data yang tepat.
- Logika Fuzzy didasarkan pada bahasa alami.
- Logika Fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan.
Di bawah ini adalah beberapa contoh aplikasi Fuzzy Logic:
• Sistem Pengereman Mobil (DAIHATSU).
• Pengontrol kereta bawah tanah di Sendai, Jepang.
• Penghematan Konsumsi Daya Listrik AC (Mitsubhishi Heavy Industries Tokyo).

Logika Fuzzy dengan menggunakan Matlab
MATLAB adalah sistem perangkat lunak interaktif dengan elemen dasar basis data array. Hal ini memunginkan seorang pengguna (user) dapat memecahkan masalah yang berhubungan dengan komputasi dan matematika serta perhitungan teknik, khususnya yang melibatkan matriks dan vektor dengan waktu yang lebih singkat darik waktu yang dibutuhkan untuk menulis program dalam bahasa C atau FORTRAN.MATLAB dikeluarkan oleh perusahaan Mathwork Inc. Agar dapat menggunakan fungsi fungsi logika fuzzy yang ada pada MATLAB, maka harus diinstalkan terlebih dahulu TOOLBOX fuzzy. Fuzzy logic toolbox memberikan fasilitas Grapihcal User Interface (GUI) untuk memperindah dalam membangun suatu sistem fuzzy.



ARTIFICIAL NEURAL NETWORK

ARTIFICIAL NEURAL NETWORK

PENGERTIAN ANN
Artificial Neural Network (Jaringan Saraf Tiruan) sudah mulai
banyak dimanfaatkan sebagai solusi terhadap berbagai macam kasus yang
muncul beberapa dekade terakhir, sejarah ANN (Artificial Neural Network)
menunjukan pembahasan terhadap masalah ini muncul sekitar awal tahun
1900-an namun implementasinya baru banyak muncul beberapa dekade terakhir.
Pemanfaatan ANN juga mulai merambah dunia security khususnya untuk
memecahkan masalah-masalah yang sifatnya tidak tetap sehingga sulit untuk
di pecahkan dengan menggunakan tehnik pemrograman konvensional yang ada
saat ini.

Artificial Neural Network merupakan suatu jaringan saraf tiruan yang
dibangun untuk meniru cara kerja otak manusia. Dengan jaringan saraf tiruan
maka kita dapat memberikan semacam kecerdasan pada sistem, dimana sistem
tersebut akan diberikan waktu untuk 'belajar' dan kemudian diharapkan dari
proses belajarnya, sistem bisa memberikan solusi dari suatu kasus.
Analoginya seperti mengajarkan seorang anak kecil untuk mengetahui bentuk
kursi, kita akan menunjukan pada anak tersebut berbagai macam bentuk kursi
dan bukan kursi. Kita akan memperlihatkan mana saja yang termasuk kursi dan
mana yang bukan, proses ini disebut proses training. Setelah proses training
selesai, maka tiba waktunya untuk melakukan test terhadap anak tersebut
dengan menunjukan suatu bentuk kursi dan menanyakan apakah itu termasuk kursi
atau bukan. Hal yang menarik adalah pada saat kita menunjukan suatu bentuk
kursi yang belum pernah diajarkan pada anak tersebut dan apabila itu memang
variasi dari kursi (dengan ciri misalnya: kakinya ada 4, ada pegangan
tangannya, bentuknya seperti angka 4, dll) maka dia dapat mengambil
kesimpulan bahwa benda tersebut adalah kursi, apabila jawaban si anak salah
maka kita kembali melatihnya (proses training) dengan memasukan bentuk kursi
yang baru tadi kedalam data latih, sehingga si anak dapat mengambil
kesimpulan bahwa benda tersebut (dan yang mirip benda tersebut dimasa yang
akan datang) adalah kursi.





PENERAPAN AAN PADA SECURITY

Pemanfaatan ANN juga sudah mulai banyak dibicarakan pada dunia
security, salah satu impelementasinya diterapkan pada IDS (Intrusion
Detection System).  Teknik IDS yang umumnya digunakan saat ini adalah
menggunakan signature serangan untuk menentukan apakah suatu paket termasuk
dalam jenis serangan tertentu atau bukan, misalnya rule Snort yang merupakan
salah satu IDS opensource yang sangat populer:

  "alert icmp $EXTERNAL_NET any <> $HOME_NET any (msg:"DDOS Stacheldraht
   handler->agent (ficken)"; content:"ficken"; itype:0;icmp_id:6667;
   reference:url,staff.washington.edu/dittrich/misc/stacheldraht.analysis;
   classtype:attempted-dos; sid:1856; rev:2;)"

apabila ada paket yang melintasi jaringan dan ditangkap oleh IDS (dalam hal
ini Snort) dan packet 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 (misal: mengirimkan pesan alert via sms/mail
ke administrator sistem).

        Yang menjadi masalah adalah jenis serangan akan terus berkembang dan
umumnya signature serangan tersebut baru akan diketahui apabila telah jatuh
'korban' oleh serangan baru tersebut, hal ini disebabkan jenis serangan baru
belum terdapat datanya di database signature IDS. Untuk mengatasi masalah
tersebut maka saat ini mulai banyak dikembangkan suatu IDS yang menggunakan
teknologi ANN sehingga diharapkan IDS dapat mengenali suatu jenis serangan
baru (walaupun sifatnya baru 'memperkirakan') dan mengambil langkah yang
sesuai, sehingga sistem dapat lebih terlindungi dari jenis serangan baru
tersebut.

        ANN sifatnya memperkirakan, yang artinya sistem akan diberikan suatu
kecerdasan sehingga apabila ada jenis serangan baru yang belum pernah
dilatihkan pada sistem, dia bisa berpikir "sepertinya ini termasuk dalam
kategori jenis serangan DOS stacheldracht" misalnya. Dan kecerdasan sistem
tergantung pada proses trainingnya, semakin baik jenis data yang dilatihkan
maka semakin baik kecerdasan sistem tersebut.











DASAR-DASAR ALGORITMA AAN


        Dasar teori yang menjelaskan implementasi ANN sangat banyak di
Internet, intinya...mesin ANN bekerja pada 2 mode, yang pertama adalah
'training' dan yang kedua adalah 'execution'. Pada saat proses training,
kita akan melatih sistem dengan memberikannya sebanyak mungkin contoh
data 'input' serta 'output' yang akan dihasilkan oleh data input tersebut.
Contoh paling mudah adalah mengajarkan sistem operasi penjumlahan:

        input ke-1 = 0.1
        input ke-2 = 0.2
        output = 0.3
pada contoh tersebut, kita mengajarkan pada sistem apabila inputan terdiri
dari angka "0.1" dan "0.2" maka outputnya adalah "0.3". Jika hanya diberikan
satu contoh maka sistem tidak akan belajar dengan baik, untuk itu sistem
sebaiknya diberikan contoh data dengan jumlah yang sangat besar sehingga
kecerdasan sistem bisa lebih handal.

        Konsep pertama yang harus di pahami sebelum masuk pada tahap coding
adalah layer. ANN umumnya terdiri dari 3 layer, yaitu "input layer", "hidden
layer", dan "output layer". Ketiga layer inilah yang akan membentuk topologi
ANN. Tiap layer terdiri dari unit-unit node yang jumlahnya dapat kita
tentukan sendiri, bisa dibayangkan bahwa tiap node pada ANN ibaratnya seperti
neuron pada otak manusia. Jumlah node pada input layer tergantung pada jumlah
data input yang akan masuk pada sistem, misalnya pada operasi penjumlahan
diatas maka jumlah node pada input layer sebanyak 2 buah.

        Jumlah node pada hidden layer bervariasi, dan terdapat banyak
teori yang dapat menjelaskan bagaimana mencari jumlah node yang tepat
pada hidden layer, namun pada umumnya 5 buah node pada hidden layer suatu
ANN sudah mencukupi  untuk memecahkan berbagai macam kasus. Node pada
output layer tergantung dari jumlah output pada sistem, pada contoh
operasi penjumlahan diatas dapat dilihat bahwa jumlah node di output
layernya sebanyak 1 buah.

        Konsep kedua yang penting adalah nilai Error minimum yang diharapkan.
Pada saat ANN di inisialisasi akan dibangkitkan nilai random untuk koneksi
antar node dari suatu layer dengan layer sesudahnya, jadi antar node-node
di hidden layer saling terkoneksi satu sama lain dengan node-node di hidden
layer, dan antar node-node di hidden layer akan saling terkoneksi satu sama
lain dengan node-node pada output layer. Nilai koneksi antar node tersebut
sering disebut 'bobot'. Nilai bobot inilah yang akan menentukan kecerdasan
suatu sistem. Pada saat proses training, nilai bobot tersebut akan terus
berubah sehingga didapatkan kesesuaian antara input dengan output dengan
Error minimum. Dengan kata lain, pada proses training kita akan menentukan
nilai minimum error yang bisa di tolerir oleh sistem....seperti yang
disampaikan diatas bahwa sistem tidak akan memberikan kepastian jawaban untuk
suatu kasus yang tidak pernah dilatihkan kepadanya, pasti ada nilai Error
dari jawaban sistem dengan jawaban yang seharusnya, nah nilai Error tersebut
yang harus di definisikan oleh kita sebelum melatih sistem sehingga sistem
bisa menjawab dengan tingkat kebenaran semaksimal mungkin (misal: tingkat
kebenaran sistem 99,9999% dengan nilai Error 0.0001).