Jumat, 23 Juni 2017

UAS Artificial Intelligence (AI)



Nama                  : Gati Pramukasari
NIM                     : 11150043
Nama Tugas        : UAS Artificial Intelligence (AI)
Tempat Kuliah    : STMIK DCI Tasikmalaya
Nama Dosen       : Dr. Djadja Achmad Sardjana, ST, MM.

1.  Jelaskan dan gambarkan komponen-komponen sistem cerdas serta fungsi masing-masing dan keterkaitan antar komponen tersebut.
Jawab:
Pada system cerdas ini dibutuhkan 2 komponen utama supaya AI dapat berjalan sesuai tujuannya, yaitu :
1)   Basis pengetahuan (knowledge base): berisi fakta-fakta, teori, pemikiran & hubungan antarsatu dengan lainnya.
Knowledge base merupakan representasi pengetahuan dari seorang pakar yang diperlukan untuk memahami, memformulasikan dan memecahkan masalah. Terdiri dari dua elemen dasar, yaitu :
      • Fakta yang berupa informasi tentang situasi permasalahan, teori dari area permasalahan atau informasi tentang objek.
      • Spesial heuristik yang merupakan informasi tentang cara bagaimana membangkitkan fakta baru dari fakta yang sudah diketahui. Dalam sistem pakar berbasis rule, bagian ini berupa rules.
Knowledge base adalah jantung sebuah sistem pakar. Bagian ini adalah totalitas keahlian pakar yang telah disarikan dan diformat ke dalam external memory komputer. Sampai saat ini terdapat berbagai cara representasi pengetahuan yang telah dikenal, misalnya :
      • Rule-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk representasi ini terdiri atas premise dan kesimpulan.
      • Case-Base Reasoning
Pada penalaran berbasis kasus (cases), basis pengetahuan berisi solusi-solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang (fakta yang ada).
      • Frame-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame.
      • Object-Based Knowledge
Pengetahuan direpresentasikan sebagai jaringan dari objek-objek. Objek adalah elemen data yang terdiri dari data dan metode (proses).

2) Motor inferensi (inference engine): kemampuan menarik kesimpulan berdasarkan pengetahuan.
Mesin inferensi merupakan otak dari Sistem Pakar, bagian ini mengandung mekanisme fungsi berpikir dan pola-pola penalaran sistem yang digunakan oleh seorang pakar. Mekanisme ini akan menganalisa suatu masalah tertentu dan kemudian mencarikan jawaban atau kesimpulan yang terbaik. Dari fakta-fakta yang diperoleh selama proses tanya jawab dengan user, serta aturan-aturan yang tersimpan di knowledge base, inference engine dapat menarik suatu kesimpulan dan memberikan rekomendasi atau saran yang diharapkan oleh user.
Proses penalaran ada dua macam dan biasanya lebih disebut dengan proses chaining yaitu forward chaining dan backward chaining. Kedua metode ini mempunyai kelebihan tersendiri, semuanya itu tergantung dari kondisi permasalahan yang dihadapi dan basis pengetahuan.
Berikut ini penjelasan mengenai kedua metode pencarian tersebut:
      • Runut maju (Forward chaining)
Forward chaining merupakan suatu strategi pengambilan keputusan yang dimulai dari bagian sebelah kiri (IF terlebih dahulu). Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis.
Sebagai contoh penalaran maju (forward chaining) adalah mendiagnosa penyakit berdasarkan gejala-gejala atau fakta yang dirasakan oleh pasien.
      • Runut balik (Backward chaining).
Backward Chaining merupakan strategi pengambilan keputusan atau kesimpulan dengan pencocokan fakta atau pernyataan yang dimulai dari bagian sebelah kanan (THEN terlebih dahulu). Dengan kata lain, penalaran dimulai dari hipotesis terlebih dahulu, dan untuk menguji kebenaran hipotesis tersebut harus dicari fakta-fakta yang ada dalam basis pengetahuan.





 Rujukan:




2.   Berikan penjelasan, gambaran dan proses konsep Tes Turing kaitannya dengan sistem cerdas. Berikan contoh pada perang dunia II yang mengilhami Alan Turing untuk membuat konsep ini.
Jawab:
Turing Test merupakan sebuah metode pengujian kecerdasan yang dibuat oleh Alan Turing. Proses uji ini melibatkan seorang penanya (manusia) dan dua obyek yang ditanyai. Yang satu adalah seorang manusia dan satunya adalah sebuah mesin yang akan diuji. Penanya tidak bisa melihat langsung kepada obyek yg ditanyai Penanya diminta untuk membedakan mana jawaban komputer dan mana jawaban manusia berdasarkan jawaban kedua obyek tersebut. Jika penanya tidak dapat membedakan mana jawaban mesin dan mana jawaban manusia maka Turing berpendapat bahwa mesin yang diuji tersebut dapat diasumsikan CERDAS.

Ketika Perang Dunia II berkecamuk ia berhasil memecahkan kode-kode yang terdapat dalam mesin Enigma dengan membuat sebuah mesin pemecah kode (code breaker) Enigma yang diberi nama 'The Bombe' yang di ciptakan pada tahun 1939. Mesin inilah yang kemudian menjadi pioner awal menuju era komputer digital.
Usai perang dunia, Alan Turing kemudian menerbitkan sebuah paper ilmiah yang berjudul 'Computing Machinery and Intelligence'. Dalam tulisannya tersebut ia mengajukan sebuah metode apakah sebuah mesin juga memiliki 'artificial Intelligence' layaknya otak manusia yang kemudian usulannya tersebut dikenal dengan nama 'Tes Turing'.

           




Rujukan:


3.   Sebutkan, terangkan dan berikan contoh 3 penerapan bidang kajian dalam system cerdas, dan knowledge apa yang diperlukan untuk masing-masing bidang tersebut.
Jawab:
1)      Fuzzy Logic (logika fuzzy)
Fuzzy merupakan representasi suatu pengetahuan yang dikonstruksikan dengan if-then rules. Karakteristik dari metode ini adalah :
·         Pemecahan masalah dilakukan dengan menjelaskan sistem bukan lewat angka-angka, melainkan secara linguistik, atau variable-variable yang mengandung ketakpastian/ketidaktegasan.
·         Pemakaian if-then rules untuk menjelaskan kaitan antara satu variable dengan yang lain.
·         Menjelaskan sistem memakai algoritma fuzzy
Berawal dari paper-paper Zadeh di tahun 1965 mengenai fuzzy-sets, ilmu ini berkembang pesat, dan mulai menemukan aplikasinya di bidang control pada tahun 1974. Pada saat itu, Mamdani memperkenalkan aplikasi fuzzy sebagai alat kontrol steam-engine.
Hal ini merupakan momentum penting, sebagai awal bagi teknologi fuzzy untuk menemukan ladang aplikasi di dunia industri. Fuzzy memiliki kelebihan-kelebihan, diantaranya :
1.  Dapat mengekspresikan konsep yang sulit untuk dirumuskan, seperti misalnya “suhu ruangan yang nyaman”
2. Pemakaian membership-function memungkinkan fuzzy untuk melakukan observasi obyektif terhadap nilai-nilai yang subyektif. Selanjutnya membershipfunction ini dapat dikombinasikan untuk membuat pengungkapan konsep yang lebih jelas.
3.      Penerapan logika dalam pengambilan keputusan Dewasa ini, fuzzy merupakan salah satu metode memiliki aplikasi luas di bidang kontrol.
Hal ini disebabkan antara lain :
1.     Kontrol memiliki potensi aplikasi yang sangat luas dan dibutuhkan di berbagai bidang
2.    Kuantitas suatu materi dalam sistem kontrol sangat jelas, dan dapat diekspresikan dengan istilah-istilah yang fuzzy seperti “besar”, “banyak”
3.      Aturan dalam kontrol mudah untuk didefinisikan memakai kata-kata. Misalnya “jika suhu dalam ruangan terlalu dingin, naikkan suhu penghangat”
Perkembangan teori fuzzy sangat pesat, sehingga batas-batasnya dapat dirumuskan dengan jelas.




2)      Neural Networks (Jaringan Saraf Tiruan)

Neural Networks (Jaringan Saraf Tiruan) menurut Haykin didefinisikan sebagai berikut :

“Sebuah neural network (JST: Jaringan Saraf Tiruan) adalah prosesor yang terdistribusi paralel, terbuat dari unit-unit yang sederhana, dan memiliki kemampuan untuk menyimpan pengetahuan yang diperoleh secara eksperimental dan siap pakai untuk berbagai tujuan. Neural network ini meniru otak manusia dari sudut :

Pengetahuan diperoleh oleh network dari lingkungan, melalui suatu proses pembelajaran.

Kekuatan koneksi antar unit yang disebut synaptic weights, berfungsi untuk menyimpan pengetahuan yang telah diperoleh oleh  jaringan tersebut.” 
Pembuatan struktur jaringan saraf tiruan diilhami oleh struktur jaringan biologi, khususya otak manusia. Neuron adalah satuan unit pemroses terkecil pada otak, bentuk sderhana sebuah neuron yang oleh para ahli dianggap sebagai satuan unit pemroses tersebut dapat digambarkan sbb :



 




Gambar 1 Struktur Jaringan syaraf tiruan dan Struktur sederhana sebuah neuron
Pada tahun 1943, Mc.Culloch dan Pitts memperkenalkan model matematika yang merupakan penyederhanaan dari struktur sel saraf yang sebenarnya (lihat gambar 2).



Gambar  2. McCulloch & Pitts neuron model
Gambar 2 memperlihatkan bahwa sebuah neuron memiliki tiga komponen:
synapse (w1 , w2 ,…,wn) T
alat penambah (adder)
fungsi aktifasi (f)

                 Korelasi antara ketiga komponen ini dirumuskan pada persamaan (1).




Signal x berupa vektor berdimensi n (x1 , x2 ,…,xn)T akan mengalami penguatan oleh synapse w (w1, w2 ,…,wn)T. Selanjutnya akumulasi dari penguatan tersebut akan mengalami transformasi oleh fungsi aktifasi f . Fungsi f ini akan memonitor, bila akumulasi penguatan signal itu telah melebihi batas tertentu, maka sel neuron yang semula berada dalam kondisi “0”, akan mengeluarkan signal “1”. Berdasarkan nilai output tersebut (=y), sebuah neuron dapat berada dalam dua status: “0” atau “1”. Neuron disebut dalam kondisi firing bila menghasilkan output bernilai “1”.
Sebuah neural network  dapat dianalisa dari dua sisi:
bagaimana neuron-neuron tersebut dirangkaikan dalam suatu jaringan (arsitektur)
bagaimana jaringan tersebut dilatih agar memberikan output sesuai dengan yang dikehendaki (algoritma pembelajaran). Algoritma pembelajaran ini menentukan cara bagaimana nilai penguatan yang optimal diperoleh secara otomatis.
Berdasarkan arsitekturnya, neural network dapat dikategorikan, antara lain, single- layer neural network ,
multilayer neural network, recurrent neural network dsb. Berbagai algoritma pembelajaran antara lain Hebb’s law, Delta rule, Backpropagation algorithm, Self Organizing Feature Map, dsb.
Berawal dari diperkenalkannya model matematika neuron oleh McCulloch & Pitts, penelitian di bidang neural network berkembang cukup pesat, dan mencapai puncak keemasan pertama pada era tahun 60, dan puncak kedua pada pertengahan tahun 80-an. Penelitian dalam bidang ini, dapat dibagi dalam tiga kategori:
Riset untuk meneliti proses informasi yang terjadi pada otak dan jaringan saraf. Tema ini merupakan porsi penelitian para ahli medis dan neuroscientist.
Penelitian teoritis untuk mendalami konsep dasar proses informasi pada otak. Kategori ini memerlukan ketajaman analisa matematika untuk menggali dasar-dasar teori dari proses tersebut.
Penelitian yang bertujuan memanfaatkan teori-teori yang telah ada untuk aplikasi. Dalam hal ini, perlu sekali memperhatikan tingkat akurasi sistem, dan menekan biaya serendah mungkin (low cost solution ).

Dewasa ini, neural network telah diaplikasikan di berbagai bidang. Hal ini dikarenakan neural network memiliki kelebihan-kelebihan sbb:
Dapat memecahkan problema non-linear yang umum dijumpai di aplikasi
Kemampuan memberikan jawaban terhadap pattern yang belum pernah dipelajari (generalization)
Dapat secara otomatis mempelajari data numerik yang diajarkan pada jaringan tersebut Hingga saat ini jaringan saraf tiruan telah memiliki beberapa aplikasi yang banyak digunakan dalam kehidupan manusia.
Aplikasi yang sering digunakan antara lain:
Pengenalanpola(pattern recognition ) Jaringan saraf tiruan dapat dipakai untuk mengenali beberapa pola seperti huruf, angka, suara, bahkan tanda tangan. Hal ini sangat mirip dengan otak manusia yang mampu mengenali seseorang, tentu saja yang pernah berkenalan dengan kita.
Pengolahansinyal(signa lprocessing ) Jaringan saraf tiruan (terutama model ADALINE (adaptive linear newton )) dapat digunakan untuk menekan derau (noise ) dalam saluran telepon.
Peramalan(forecasting ) Jaringan saraf tiruan juga dapat dipakai untuk meramalkan apa yang terjadi di masa depan berdasarkan pola yang terbentuk di masa lampau. Hal ini dapat dilakukan karena kemampuan  jaringan saraf tiruan untuk mengingat dan membuat generalisasi dari apa yang sudah ada sebelumnya.
Selain aplikasi-aplikasi yang telah disebutkan, jaringan saraf tiruan juga memiliki banyak aplikasi yang menjanjikan seperti dalam bidang kontrol, kedokteran, dan lain-lain. Akan tetapi hal yang perlu diingat adalah jaringan saraf tiruan juga memiliki beberapa keterbatasan. Pertama adalah ketidakakuratan hasil yang diperoleh karena jaringan saraf tiruan bekerja berdasarkan pola yang terbentuk pada input yang diberikan.


 
3)      sistem pakar
sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para ahli di bidangnya. Sistem pakar ini juga akan dapat membantu aktivitas para pakar sebagai asisten yang berpengalaman dan mempunyai asisten yang berpengalaman dan mempunyai pengetahuan yang dibutuhkan. Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu.

Pengembangan sistem pakar melibatkan 4 (empat) pihak yaitu:
1)      analis sistem
2)      knowledge engineer
3)      Pakar
4)      Pemakai sistem (users)
Keempat pihak ini akan terlibat dalam tahapan pengembangan sistemnya sebagai berikut:
1.      Studi awal.
Bertujuan untuk mempelajari domain dari permasalahannya dan kelayakannya apakah dapat dibuatkan sistem pakarnya atau tidak. Studi ini dilakukan oleh analis sistem.
2.      Pemilihan perangkat lunak yang akan digunakan, apakah akan membangun sendiri inference-engine atau menggunakan ES shell. Tahap ini dilakukan oleh analis sistem bersama-sama dengan pemakai sistem.
3.      Pemilihan pakar.
4.      Pengambilan pengetahuan.
Tahap pengambilan pengetahuan (knowledge acquisition) dilakukan ole analis sistem bersama-sama dengan knowledge engineer dan pemakai sistem.
5.      Membangun sistem pakar. Membangun sistem pakar melibatkan ke empat pihak dengan langkah-langkah sebagai berikut:
§  mengidentifikasi sasaran (goal).
§  mengidentifikasi atribut item-item dan nilai-nilainya.
§  menderivasi aturan-aturan.
§  membuat prototip
6.      Menguji sistem
7.      Mengimplementasikan sistem
8.      Mengoperasikan sistem
9.      Merawat sistem (maintenance).


Struktur Sistem
Struktur Sistem Pakar terdiri dari dua pokok yaitu: lingkungan pengembang (development environment) dan lingkungan konsultasi (consulatation environment). Lingkungan pengembang digunakan sebagai pembangunan Sistem Pakar baik dari segi pembangunan komponen maupun basis pengetahuan. Lingkungan konsultasi digunakan oleh seseorang bukan ahli untuk berkonsultasi.





Komponen-komponen Sistem Pakar

    1. Subsistem penambahan pengetahuan. Bagian ini digunakan untuk memasukkan pengetahuan, mengkontruksi atau memperluas pengetahuan dalam basis pengetahuan. Pengetahuan itu bisa berasal dari buku, ahli, basis data, penelitian, dan gambar.
    2. Basis pengetahuan. Berisi pengetahuan yang dibutuhkan untuk memahami, memformulasikan dan menyelesaikan masalah.
    3. Motor inferensi (inference engine). Program yang berisi metodologi yang digunakan untuk melakukan penalaran terhadap informasi-informasi basis pengetahuan dan blackboard, serta digunakan untuk memformulasikan konklusi. Ada tiga elemen utama dalam motor inferensi, yaitu:
      • Interpreter: Mengeksekusi item-item agenda yang terpilih menggunakan aturan-aturan dalam basis pengetahuan.
      • Scheduler: Akan mengontrol agenda.
      • Consistency enforce: Akan berusaha memelihara konsistenan dalam mempresentasikan solusi yang bersifat darurat.
                     4.  Blackboard. Merupakan area dalam memori yang digunakan untuk merekam kejadian 
                    yang sedang berlangsung termasuk keputusan sementara. 
                   Ada tiga tipe keputusan yang dapat direkam, yaitu:
  • Rencana: Bagaimana menghadapi masalah.
  • Agenda: Aksi-aksi yang potensial yang sedang menunggu untuk dieksekusi. 
  • Solusi: Calon aksi yang akan dibangkitkan.
                      5.  Antarmuka digunakan untuk media komunikasi antar user dan program.    
                6.  Subsistem penjelas. Digunakan untuk melacak respond dan memberi penjelas 
                     tentang kelakuan Sistem Pakar secara interaktif melalui pertanyaan:

      • Mengapa suatu pertanyaan diajukan oleh Sistem Pakar?
      • Bagaimana konklusi dicapai?
      • Mengapa ada arternatif yang dibatalkan? 
      • Rencana apa yang digunakan untuk mendapatkan solusi?

                     7.  Sistem penyaring pengetahuan. Sistem ini digunakan untuk mngevaluasi kinerja 
                          Sistem Pakar itu sendiri untuk melihat apakah pengetahuan-pengetahuan yang 
                          ada masih cocok digunakan dimasa mendatang.

                     
                     Kelebihan sistem pakar

  1. Menghimpun data dalam jumlah yang sangat besar.
  2. Menyimpan data tersebut untuk jangka waktu yang panjang dalam suatu bentuk tertentu. 
  3. Mengerjakan perhitungan secara cepat dan tepat dan tanpa jenuh mencari kembali data yang tersimpan dengan kecepatan tinggi 


                    Kelemahan Sistem Pakar

  1. Masalah dalam mendapatkan pengetahuan dimana pengetahuan tidak selalu bisa didapatkan dengan mudah, karena kadang kala pakar dari masalah yang kita buat tidak ada, dan kalaupun ada kadang-kadang pendekatan yang dimiliki pakar berbeda-beda.
  2. Untuk membuat suatu sistem pakar yang benar-benar berkualitas tinggi sangatlah sulit dan memerlukan biaya yang sangat besar untuk pengembangan dan pemeliharaannya.
  3. Boleh jadi sistem tak dapat membuat keputusan.
  4. Sistem pakar tidak 100% menguntungkan, walaupun seorang tetap tidak sempurna atau tidak selalu banar. Oleh karena itu perlu di uji ulang secara teliti sebelum digunakan


 

  


Rujukan:


4.     Pengembangan sistem pakar melibatkan 4 (empat) pihak, sebutkan dan jelaskan bagaimana keempat pihak ini terlibat dalam tahapan pengembangan sistemnya?
Jawab:
Pengembangan sistem pakar melibatkan 4 (empat) pihak yaitu:
1)      analis sistem
2)      knowledge engineer
3)      Pakar
4)      Pemakai sistem (users)
Keempat pihak ini akan terlibat dalam tahapan pengembangan sistemnya sebagai berikut:
1.      Studi awal.
Bertujuan untuk mempelajari domain dari permasalahannya dan kelayakannya apakah dapat dibuatkan sistem pakarnya atau tidak. Studi ini dilakukan oleh analis sistem.
2.  Pemilihan perangkat lunak yang akan digunakan, apakah akan membangun sendiri inference-engine atau menggunakan ES shell. Tahap ini dilakukan oleh analis sistem bersama-sama dengan pemakai sistem.
3.      Pemilihan pakar.
4.      Pengambilan pengetahuan.
Tahap pengambilan pengetahuan (knowledge acquisition) dilakukan ole analis sistem bersama-sama dengan knowledge engineer dan pemakai sistem.
5.  Membangun sistem pakar. Membangun sistem pakar melibatkan ke empat pihak dengan langkah-langkah sebagai berikut:
      • mengidentifikasi sasaran (goal).
      • mengidentifikasi atribut item-item dan nilai-nilainya.
      • menderivasi aturan-aturan.
      • membuat prototip
6.  Menguji sistem
7.  Mengimplementasikan sistem
8.  Mengoperasikan sistem
9.  Merawat sistem (maintenance).


           Rujukan:



            5.  Buat dan jelaskan blok diagram modul expert system untuk solusi di tempat kerja anda 
                  masing-masing. Bila belum bekerja buat untuk sistem pengelolaan SDM STMIKDCI 
                  Tasikmalaya.