1 Artificial Intelligence +
1 Artificial Intelligence PRAKATA Puji Syukur kehadirat Tuhan Yang Maha Esa karena atas limpahan rahmatNya sehingga penulis dapat menyelesaikan E-Modul Artificial Intelligence. EModul ini dilengkapi dengan latihan soal untuk menguji pemahaman mahasiswa terkait dengan materi yang terdapat pada modul. Dalam E-Modul Artificial Intelligence ini akan dibahas tentang sistem pakar, Jaringan Syaraf Tiruan (JST), Fuzzy Logic, Computer Vision. Penulis menyadari masih banyak kekurangan dalam penyusunan e-modul ini. Oleh karena itu, penulis sangat mengharapkan kritik dan saran demi perbaikan dan kesempurnaan e modul ini. Penulis mengucapkan terima kasih kepada berbagai pihak yang telah membantu proses penyelesain e-modul ini. Semoga e-modul ini dapat bermanfaat bagi kita semua, khususnya para peserta didik Denpasar, Desember 2023 Nama penulis
2 Artificial Intelligence DAFTAR ISI PRAKATA ____________________________________________________________1 DAFTAR ISI___________________________________________________________2 DAFTAR GAMBAR_____________________________________________________9 DAFTAR TABEL ______________________________________________________11 PENDAHULUAN ______________________________________________________12 KEGIATAN PEMBELAJARAN 1 _________________________________________13 Pengenalan Artificial Intelligence _______________________________________13 1.1 Tujuan Kegiatan Pembelajaran 1 _________________________________13 1.2 Uraian Materi Kegiatan Pembelajaran 1 ____________________________13 1.2.1 Konsep Kecerdasan Buatan (Artificial Intelligence)_________________13 1.2.2 Kecerdasan Buatan Menurut Para Ahli _________________________14 1.2.3 Kategori Kecerdasan Buatan (AI)______________________________14 1.2.4 Perbedaan Kecerdasan Buatan Dan Pemrograman Konvensional __16 1.2.5 Perbedaan Kecerdasan Buatan Dan Pemrograman Konvensional_____17 1. Sistem pakar (Expert System)____________________________________17 2. Pengolahan bahasa alami (Natural Language Processing) _____________18 3. Pengenalan ucapan (Speech Recognition)__________________________18 4. Robotika dan sistem sensor _____________________________________19 5. Computer vision ______________________________________________19 6. Intelligence computer-aided instruction_____________________________19 1.2.6 Sejarah AI ___________________________________________________20 1.2.7 AI Saat Ini ___________________________________________________25 1.2.8 Aplikasi – Aplikasi Yang Memanfaatkan Artificial Intelligence ________26 KEGIATAN PEMBELAJARAN 2 _________________________________________30 Masalah, Ruang Masalah, dan Pencarian _________________________________30
3 Artificial Intelligence 2.1 Tujuan Kegiatan Pembelajaran 2 ___________________________________30 2.2 Uraian Materi Kegiatan Pembelajaran 2 ______________________________30 2.2.1 Masalah Di Dalam Kecerdasan Buatan ___________________________30 2.2.2 Ruang Keadaan ______________________________________________31 2.2.3 Mendefinisikan Masalah Sebagai Suatu Ruang Keadaan ____________31 2.2.4 Merepresentasikan Ruang Keadaan _____________________________32 b. Graph Keadaan_______________________________________________32 c. Pohon Pelacakan / Pencarian____________________________________33 2.2.5 Pencarian ( Searching ) ________________________________________35 a. Blind Search (Pencarian buta) ___________________________________36 b. Heuristic Search (Pencarian terbimbing) ___________________________36 KEGIATAN PEMBELAJARAN 3 _________________________________________37 Metode Blind, Search, Heuristic Search __________________________________37 3.1 Tujuan Kegiatan Pembelajaran 3 _________________________________37 3.2 Uraian Materi Kegiatan Pembelajaran 3 ____________________________37 3.2.1 Metode Blind Search ( Pencarian Buta ) ________________________37 1. Breadth – First search__________________________________________37 2. Depth – First search ___________________________________________38 3.2.2 Metode Heuristic Search ( Pencarian Terbimbing ) _______________39 1. Pembangkit dan pengujian (generate & test) ________________________39 2. Pendakian bukit (hill climbing)____________________________________42 3. Pencarian terbaik pertama (best first search) ________________________43 4. Algoritma A* ( A star) ____________________________________________45 KEGIATAN PEMBELAJARAN 4 _________________________________________47 Representasi Pengetahuan_____________________________________________47 4.1 Tujuan Kegiatan Pembelajaran 4 _________________________________47 4.2 Uraian Materi Kegiatan Pembelajaran 4 ____________________________47
4 Artificial Intelligence 4.1.1 Pengetahuan ( Knowledge ) ____________________________________47 4.1.2 Representasi Pengetahuan_____________________________________48 1. Jaringan Semantik_____________________________________________49 2. Frame ______________________________________________________49 3. Naskah (Script) _______________________________________________52 4. Sistem Produksi (Aturan Produksi/Production Rules)__________________54 5. List Dan Pohon/Tree ___________________________________________55 6. Tabel Keputusan (Decision Table) ________________________________56 7. Pohon Keputusan (Decision Tree) ________________________________57 KEGIATAN PEMBELAJARAN 5 _________________________________________58 Representasi Pengetahuan: Logika______________________________________58 5.1 Tujuan Kegiatan Pembelajaran 5 _________________________________58 5.2 Uraian Materi Kegiatan Pembelajaran 5 ____________________________58 5.2.1 Logika ______________________________________________________58 a. Logika Proposisi________________________________________________60 b. Logika Predikat ________________________________________________62 c. Set/Himpunan _________________________________________________64 KEGIATAN PEMBELAJARAN 6 _________________________________________74 Inferensi ____________________________________________________________74 6. 1 Tujuan Kegiatan Pembelajaran 6 _________________________________74 6. 2 Uraian Materi Kegiatan Pembelajaran 6 ____________________________74 6.2.1 Metode Inferensi _____________________________________________74 6.2.2 Graph, Trees, Lattices _______________________________________75 1. Graph (Graf) _________________________________________________75 2. Tree (Pohon) _________________________________________________75 3. Lattice (Jaringan)______________________________________________76 4. Struktur Keputusan (Decision Structure)____________________________76 5. Decision Tree (Pohon Keputusan): ________________________________78
5 Artificial Intelligence 6. Decision Lattice (Jaringan Keputusan) _____________________________79 7. Pohon AND-OR_______________________________________________79 8. Hukum Inferensi ______________________________________________80 KEGIATAN PEMBELAJARAN 7 _________________________________________84 Penalaran ___________________________________________________________84 7. 1 Tujuan Kegiatan Pembelajaran 7 _________________________________84 7.2.1 Konsep Penalaran ____________________________________________84 7.2.2 Metode Penalaran ____________________________________________85 1. Induktif______________________________________________________85 2. Deduktif _____________________________________________________85 3. Pengambilan Keputusan ________________________________________86 4. Penalaran Dengan Ketidakpastian (UNCERTAINITY) _________________87 5. Probabilitas __________________________________________________88 6. Peluang Dalam Probabilitas _____________________________________90 7. Teorema Bayes_______________________________________________92 8. Faktor Kepastian (Certainly Factor) _______________________________95 Contoh Certainly Factor CF:____________________________________________97 Kelebihan dan Kekurangan Certainly Factor Faktor Kepastian_______________98 9. Dempster-Shafer______________________________________________98 10. Belief dan Plausibility _________________________________________99 11. Frame Of Discernment (Environment)___________________________101 12. Dempster’s Rule of Combination _______________________________103 13. Penerapan Dempster-Shafer__________________________________104 KEGIATAN PEMBELAJARAN 8 ________________________________________106 Sistem Pakar _______________________________________________________106 8.1 Tujuan Kegiatan Pembelajaran 8 ________________________________106 8.2 Uraian Materi Kegiatan Pembelajaran 8 ___________________________106
6 Artificial Intelligence 8.2.1 Sistem Pakar (Expert System) _________________________________106 1. Konsep Dasar Sistem Pakar (Expert System) ______________________107 2. Kelebihan dan Kekurangan Sistem Pakar (Expert System) ____________111 3. Ciri-ciri Sistem Pakar ( Expert System ) ___________________________112 4. Perbedaan Sistem Konvensional dengan Sistem Pakar (Expert System) _112 5. Bentuk Sistem Pakar__________________________________________113 6. Tujuan Sistem Pakar__________________________________________114 7. Struktur Sistem Pakar (Expert System) ___________________________115 8. Tim Pengembangan Sistem Pakar _______________________________118 9. Basis Pengetahuan (Knowledge Base)____________________________118 b. Penalaran berbasis kasus (case-based reasoning ___________________119 10. Teknik Inferensi Forward Chaining Dan Backward Chaining ___________119 KEGIATAN PEMBELAJARAN 9 ________________________________________126 Jaringan Syaraf Tiruan (JST) __________________________________________126 9.1 Tujuan Kegiatan Pembelajaran __________________________________126 9.2 Uraian Materi Kegiatan Pembelajaran 9 ___________________________126 9.2.1 Konsep Dasar Pemodelan Jaringan Syaraf Tiruan_________________127 9.2.2 Lapisan-lapisan penyusun Jaringan Syaraf Tiruan JST ____________127 9.2.3 Arsitektur Jaringan Syaraf Tiruan JST ________________________128 a. Jaringan Lapisan Tunggal______________________________________128 b. Jaringan Lapisan Banyak ______________________________________129 c. Jaringan dengan Lapisan kompetitif ______________________________129 9.2.4 Fungsi Aktivasi Jaringan Syaraf Tiruan__________________________130 9.2.5 Proses Belajar Jaringan Syaraf Tiruan __________________________134 9.2.6 Kelebihan dan Kekurangan Jaringan Syaraf Tiruan________________136 9.2.7 Aplikasi Jaringan Syaraf Tiruan ________________________________136 KEGIATAN PEMBELAJARAN 10 _______________________________________139 Logika Fuzzy _______________________________________________________139
7 Artificial Intelligence 10.1 Tujuan Kegiatan Pembelajaran 10 _______________________________139 10.2 Uraian Materi Kegiatan Pembelajaran 10 __________________________139 10.2.1 Perbedaan Logika Fuzzy dan Logika Tegas _____________________140 10.2.2 Crisp Set atau Conventional Set_______________________________142 10.2.3 Himpunan Fuzzy____________________________________________143 10.2.4 Istilah istilah dalam Himpunan Fuzzy __________________________144 10.2.5 Fungsi Keanggotaan Logika Fuzzy ____________________________145 1. Representasi Linear __________________________________________145 2. Representasi dalam bentuk Kurva Segitiga ________________________146 3. Representasi dalam bentuk kurva Trapesium_______________________147 4. Representasi dalam bentuk Kurva Bahu___________________________147 10.2.6 Operasi Himpunan Fuzzy ____________________________________148 1. Operasi Gabungan (OR / Union)_________________________________149 2. Operasi Irisan (AND / Intersection) _______________________________150 3. Operator Komplemen (NOT / Complement) ________________________150 10.2.7 Penalaran Monoton _________________________________________151 10.2.8 Fungsi Implikasi buku _______________________________________152 1. Min (minimum). ______________________________________________153 2. Dot (product) ________________________________________________153 10.2.9 Proses Sistem Kontrol Logika Fuzzy___________________________154 c. Fuzzifikasi __________________________________________________154 d. Konstruksi Dasar Aturan Fuzzy (Fuzzy Rule Base) __________________154 10.2.10 Penalaran (Inference Machine/Engine) ________________________156 10.2.11 Defuzzifikasi ______________________________________________156 10.2.12 Fuzzy Inference System (FIS) ________________________________157 a. Metode Tsukamoto ___________________________________________157 b. Metode Mamdani_____________________________________________158 c. Metode Sugeno______________________________________________159 10.2.13 Aplikasi Fuzzy Logic _______________________________________160
8 Artificial Intelligence KEGIATAN PEMBELAJARAN 11 _______________________________________162 Computer Vision ____________________________________________________162 11.1 Tujuan Kegiatan Pembelajaran __________________________________162 11.2.1 Computer Vision ___________________________________________162 11.2.2 Sejarah Computer Vision ____________________________________163 11.2.3 Cara Kerja Computer Vision __________________________________164 11.2.4 Aplikasi yang menggunakan Computer Vision___________________165 11.2.5 Contoh Computer Vision_____________________________________167 11.2.6 Mengklasifikasikan batu ruang angkasa dengan menggunakan Python dan kecerdasan buatan ___________________________________________169 1.Tentang batuan luar angkasa dan cara mengklasifikasikannya ___________169 2. Bersiaplah untuk meneliti batuan luar angkasa dengan menggunakan kecerdasan buatan ______________________________________________180 3. Menganalisis gambar batuan menggunakan kecerdasan buatan________191 4. Klasifikasikan jenis batuan luar angkasa dalam foto acak menggunakan kecerdasan buatan ______________________________________________203 5. Melatih jaringan neural untuk mengklasifikasikan batuan ruang angkasa dalam foto secara akurat __________________________________________209 6. Menentukan akurasi jaringan neural dalam mengklasifikasikan batuan ruang angkasa _______________________________________________________218 7. Memprediksi jenis batu ruang angkasa pada foto acak _______________219 8. Menguji jaringan neural yang mengklasifikasikan foto batu ruang angkasa220 DAFTAR PUSTAKA __________________________________________________224
9 Artificial Intelligence DAFTAR GAMBAR Gambar 1. 1 Ruang Lingkup Kecerdasan Buatan __________________________17 Gambar 1. 2 Expert System ____________________________________________17 Gambar 1. 3 Alat bantu membaca untuk tunanetra _________________________18 Gambar 1. 4 Telpon untuk penderita bisu-tuli _____________________________19 Gambar 1. 5 Alat Untuk Tuna Wicara_____________________________________19 Gambar 1. 6 Tahapan Sejarah Perkembangan AI___________________________20 Gambar 1. 7 Teknik AI _________________________________________________25 Gambar 2. 1 Sistem yang menggunakan kecerdasan buatan_________________31 Gambar 2. 2 Node And/Or Tahap 1 ______________________________________34 Gambar 2. 3 Node And/Or Tahap 2 ______________________________________34 Gambar 2. 4 Tree AND/OR sampai tahapan 2 ______________________________35 Gambar 2. 5 Kriteria Searching _________________________________________35 Gambar 5. 1 Proses logika _____________________________________________58 Gambar 6. 1 Bagian bagian dari Tree (Pohon) _____________________________76 Gambar 6. 2 Contoh Family Tree ________________________________________77 Gambar 6. 3 Tipe-tipe Inferensi _________________________________________80 Gambar 7. 1 Contoh penalaran induktif___________________________________85 Gambar 8. 1 Konsep Dasar Sistem Pakar (Expert System)__________________107 Gambar 8. 2 Struktur Sistem Pakar (Expert System) _______________________115 Gambar 8. 3 Pelacakan Forward Chaining _______________________________120 Gambar 12. 1 Meteorite di Antarctica ___________________________________172 Gambar 12. 2 Batu Basalt _____________________________________________174 Gambar 12. 3 Batu highland ___________________________________________175 Gambar 12. 4 Area survei oleh astronaut untuk mencari batuan _____________175 Gambar 12. 5 Peluncuran osiris-rex ____________________________________178 Gambar 12. 6 Osiris rex regolith _______________________________________179 Gambar 12. 7 basalt-cristobalite-2 ______________________________________182
10 Artificial Intelligence Gambar 12. 8 basalt-cristobalite _______________________________________182 Gambar 12. 9 crustal-anorthosite-2 _____________________________________183 Gambar 12. 10 crustal-anorthosite______________________________________183 Gambar 12. 11 Links _________________________________________________184 Gambar 12. 12 association-process ____________________________________185
11 Artificial Intelligence DAFTAR TABEL Table 1. 1 perbedaan Kecerdasan Buatan dan Pemrograman Konvensional ____17 Table 7. 2 Persamaan Certainty Factor ___________________________________96 Table 7. 5 range antara Belief dan Plausibility ____________________________100 Table 11. 1 Mutasi Pengkodean Biner ______________ Error! Bookmark not defined. Table 11. 2 Mutasi Pengkodean Permutasi __________ Error! Bookmark not defined. Table 11. 3 Mutasi Pengkodean Nilai _______________ Error! Bookmark not defined.
12 Artificial Intelligence PENDAHULUAN A. Capaian Pembelajaran Maatakuliah (CPMK) 1. Mampu menunjukkan sikap bertanggungjawab atas pekerjaannya dengan menjunjung tinggi etika profesi dan akademik untuk menyelesaikan masalah rekayasa di bidang sistem computer 2. Mampu mengaitkan konsep teoritis sains alam untuk perancangan sistem komputer 3. Mampu menerapkan prinsip-prinsip rekayasa untuk perancangan perangkat keras dan perangkat lunak 4. Mampu merancang perangkat keras dan perangkat lunak sesuai standar teknis, keselamatan dan kesehatan lingkungan yang berlaku dengan mempertimbangkan aspek kinerja dan keandalan, kemudahan penerapan dan keberlanjutan 5. Mampu menunjukkan sikap bertanggungjawab atas pekerjaannya dengan menjunjung tinggi etika profesi dan akademik untuk menyelesaikan masalah rekayasa di bidang sistem komputer B. Deskripsi Singkat Materi Mata kuliah Artificial Intelligence membahas mengenai metode-metode dalam Artificial Intelligence. Lingkup bahasan kuliah ini adalah pengenalan Artificial Intelligence, konsep masalah dan ruang masalah, metode pencarian, metode pencarian heuristik, representasi pengetahuan, representasi pengetahuan dalam bentuk logika, metode inferensi, penalaran, sistem pakar, jaringan syaraf tiruan, logika fuzzy, dan algoritma genetika
13 Artificial Intelligence KEGIATAN PEMBELAJARAN 1 Pengenalan Artificial Intelligence 1.1 Tujuan Kegiatan Pembelajaran 1 1.2 Uraian Materi Kegiatan Pembelajaran 1 1.2.1 Konsep Kecerdasan Buatan (Artificial Intelligence) Kecerdasan Buatan, atau yang sering disebut sebagai Artificial Intelligence (AI), adalah bagian dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia bahkan bisa lebih baik daripada yang dilakukan manusia. Adapun tujuan pembelajaran dalam kegiatan pembelajaran 1 ini adalah:. Mahasiswa mampu memahami konsep Artificial Intelligence serta ruang lingkup aplikasinya
14 Artificial Intelligence 1.2.2 Kecerdasan Buatan Menurut Para Ahli 1.2.3 Kategori Kecerdasan Buatan (AI) Pada buku "Artificial Intelligence: A Modern Approach" (1995), Stuart Russel dan Peter Norvig mengelompokkan definisi AI, yang diperoleh dari beberapa textbook berbeda, ke dalam empat kategori, yaitu: Rich dan Knight (1991, p3) Kecerdasan buatan merupakan ilmu yang mempelajari bagaimana mcmbuat sebuah komputer dapat mengerjakan sesuatu yang masih lebih baik dikerjakan manusia. Rolston (1988, p15) Kecerdasan buatan merupakan solusi berbasis komputer terhadap masalah yang ada, yang menggunakan aplikasi yang mirip dengan proses berpikir menurut manusia. Setiawan (1993, p1) Kecerdasan buatan dapat didefinisikan sebagai cabang ilmu komputer yang mempelajari otomatisasi tingkah laku cerdas. Thinking Humanly “the cognitive modeling approach” Pendekatan ini dilakukan dengan dua cara sebagai berikut: a. Melalui introspeksi mencoba menangkap pemikiran-pemikiran kita sendiri pada saat kita berpikir. Tetapi, seorang psikolog Barat mengatakan: "how do you know that you understand?" Bagaimana Anda tahu bahwa Anda mengerti? Karena pada saat Anda menyadari pemikiran Anda, ternyata pemikiran tersebut sudah lewat dan digantikan kesadaran Anda. Sehingga, definisi ini terkesan mengada-ada dan tidak mungkin dilakukan. b. Melalui eksperimen-eksperimen psikologi.
15 Artificial Intelligence Acting humanly “the Turing test approach” Pada tahun 1950, Alan Turing merancang suatu ujian bagi komputer berintelijensia untuk menguji apakah komputer tersebut mampu mengelabuhi seorang manusia yang menginterogasinya melalui teletype (komunikasi berbasis teks jarak jauh). Jika interrogator tidak dapat membedakan yang diinterogasi adalah manusia atau komputer, maka komputer berintelijensia tersebut lolos dari Turing test. Komputer tersebut perlu memiliki kemam Natural Language Processing, Knowledge Representation, Automated Reasoning Machine Learning, Computer Vision, Robotics. Turing test sengaja menghindari interaksi fisik antara interrogator dan komputer karena simulasi fisik manual tidak memerlukan intelijensia. Thinking rationally “the laws of thought approach” Terdapat dua masalah dalam pendekatan ini, yaitu : a. Tidak mudah untuk membuat pengetahuan informal dan menyatakan pengetahuan tersebut ke dalam formal term yang diperlukan oleh notasi men logika, khususnya ketika pengetahuan tersebut memiliki kepastian kurang dari 100%. b. Terdapat perbedaan besar antara dapat memecahkan masalah “dalam prinsip” dan memecahkannya “dalam dunia nyata”. “The Rational Agent Approach” Membuat inferensi yang logis merupakan bagian dari suatu rational agent. Hal ini disebabkan satu-satunya cara untuk melakukan aksi secara rasional adalah dengan penalaran logis. Dengan menalar secara logis, maka bisa didapatkan kesimpulan bahwa aksi yang diberikan akan mencapai tujuan atau tidak. Jika mencapai tujuan, maka agent dapat melakukan aksi berdasarkan kesimpulan tersebut. Acting rationally
16 Artificial Intelligence Thinking Humanly dan Acting Humanly adalah dua definisi dalam arti yang sangat Luas. Sampai saat ini, pemikiran manusia yang diluar rasio, yakni refleks dan intuitif (berhubungan dengan perasaan), belum dapat ditirukan sepenuhnya oleh komputer. Dengan demikian, kedua definisi ini dirasa kurang tepat untuk saat ini. Jika kita menggunakan definisi ini, maka banyak produk komputasi cerdas saat ini yang tidak layak disebut sebagai produk AI. Definisi Thinking Rationally terasa lebih sempit daripada Acting Rationally. Oleh karena itu, definisi AI yang paling tepat untuk saat ini adalah acting rationally dengan pendekatan rational agent. Hal ini berdasarkan pemikiran bahwa komputer bisa melakukan penalaran secara logis dan juga bisa melakukan aksi secara rasional berdasarkan hasil penalaran tersebut. 1.2.4 Perbedaan Kecerdasan Buatan Dan Pemrograman Konvensional Erat kaitannya kecerdasan buatan dengan ilmu komputer yang salah satunya lagi erat kaitannya dengan teknik pemrograman. Ternyata antara dua hal ini Kecerdasan buatan dan pemrograman konvensional perbedaan yang paling mencolok adalah fungsinya : a. Pemrograman konvensional lebih difokuskan kepada alat hitung saja. b. Kecerdasan lebih difokuskan kepada penyelesaian suatu masalah. Selain dari hal itu, ada banyak perbedaan Kecerdasan Buatan dan Pemrograman Konvensional yang lain yaitu : Kecerdasan Buatan Pemrograman konvensional Focus pemrosesan kecerdasan buatan berdasarkan pada simbol-simbol atau numerik sebagai pengetahuan Pemrograman konvensional pemrosesan berdasarkan pada data dan informasi yang dimasukkan Pencarian kecerdasan buatan untuk pencariannya menggunakan pencarian terbimbing (heuristic search) Pemrograman konvensional menggunakan algoritma Input kecerdasan buatan input bisa tidak lengkap Input Pemrograman konvensional data yang dimasukkan harus lengkap Keterangan kecerdasan buatan biasanya disediakan keterangan Pemrograman konvensional tidak disediakan keterangan
17 Artificial Intelligence Struktur kecerdasan buatan control dipisahkan dengan pengetahuan Pemrograman konvensional control terintegrasi dengan data (informasi) Keluaran kecerdasan buatan keluaran berupa kuantitatif Pemrograman konvensional keluaran berupa kualitatif Penalaran kecerdasan buatan disediakan penalaran Pemrograman konvensional tidak tersedia penalaran Table 1. 1 perbedaan Kecerdasan Buatan dan Pemrograman Konvensional 1.2.5 Perbedaan Kecerdasan Buatan Dan Pemrograman Konvensional Ruang lingkup kecerdasan buatan untuk aplikasi komersial antara lain: Gambar 1. 1 Ruang Lingkup Kecerdasan Buatan 1. Sistem pakar (Expert System) komputer sebagai media untuk menyimpan knowledge para pakar sehingga komputer mempunyai kemampuan untuk memecahkan masalah layak kemampuan seorang pakar. Diagnosa Penyakit THT Apakah Anda demam (Y/T)?y Apakah Anda sakit kepala (Y/T)?y Apakah Anda merasa nyeri pada saat berbicara atau menelan (Y/T)? y Apakah Anda batuk (Y/T)? y Apakah Anda mengalami nyeri tenggorokan (Y/T)? y Apakah selaput lendir Anda berwarna merah dan bengkak (Y/T)? y Penyakit Anda adalah TONSILITIS Ingin mengulang lagi (Y/T)? Gambar 1. 2 Expert System
18 Artificial Intelligence 2. Pengolahan bahasa alami (Natural Language Processing) User bisa melakukan komunikasi dengan komputer, bentuk komunikasinya dengan menggunakan bahasa sehari-hari, misal bahasa inggris, bahasa Indonesia dan bahasa lainnya a) Pengguna sistem dapat memberikan perintah dengan bahasa seharihari, misalnya, untuk menghapus semua file, pengguna cukup memberikan perintah ”komputer, tolong hapus semua file !” maka sistem akan mentranslasikan perintah bahasa alami tersebut menjadi perintah bahasa formal yang dipahami oleh komputer, yaitu ”delete *.* ”. b) Translator bahasa inggris ke bahasa indonesia begitu juga sebaliknya,dll, tetapi sistem ini tidak hanya sekedar kamus yang menerjemahkan kata per kata, tetapi juga mentranslasikan sintaks dari bahasa asal ke bahasa tujuan c) Text summarization : suatu sistem yang dapat membuat ringkasan halhal penting dari suatu wacana yang diberikan. 3. Pengenalan ucapan (Speech Recognition) manusia bisa melakukan komunikasi dengan komputer, bentuk komunikasi dengan menggunakan suara. Dimana suara manusia sudah disimpan dikomputer terlebih dahulu sehingga komputer bisa mengenali suara manusia. 1. Memberikan instruksi ke komputer dengan suara 2. Alat bantu membaca untuk tunanetra, mempunyai masukan berupa teks tercetak (misalnya buku) dan mempunyai keluaran berupa ucapan dari teks tercetak yang diberikan. Gambar 1. 3 Alat bantu membaca untuk tunanetra
19 Artificial Intelligence 3. Telpon untuk penderita bisu-tuli 4. Alat untuk tuna wicara 4. Robotika dan sistem sensor robotic akan menggantikan sebagian pekerjaan manusia sedangkan sistem sensor akan membuat robotic atau sistem terotomasi. 5. Computer vision menafsirkan image maupun objek-objek tampak melalui komputer 6. Intelligence computer-aided instruction komputer bisa digunakan sebagai guru yang bisa melatih dan mengajar Game playing Gambar 1. 4 Telpon untuk penderita bisu-tuli Gambar 1. 5 Alat Untuk Tuna Wicara
20 Artificial Intelligence 1.2.6 Sejarah AI Istilah Al pertama kali dikemukakan pada tahun 1956 di konferensi Darthmouth. Sejak saat itu. AI terus dikembangkan sebab berbagai penelitian mengenai teori-teori dan prinsip-prinsipnya juga terus berkembang. Meskipun istilah Al baru muncul tahun 1956, tetapi teori-teori yang mengarah ke AI sudah muncul sejak tahun 1941. Secara lengkap, berikut ini tahapan-tahapan sejarah perkembangan AI: a. Era komputer elektronik (1941) Pada tahun 1941, ditemukan komputer elektronik di AS dan Jerman, mesin besar yang memerlukan ruang besar dan konfigurasi kabel rumit. Namun, pada tahun 1949, komputer yang bisa menyimpan program ditemukan, mempermudah pekerjaan pemrograman dan membantu dalam pengembangan teknologi komputer yang akhirnya membawa kita menuju era komputasi yang lebih maju. b. Masa Persiapan AI (1943-1956) Pada tahun 1943, Warren McCulloch dan Walter Pitts menggabungkan pengetahuan tentang sel syaraf dalam otak, logika proposisi, dan teori komputasi Turing. Mereka menciptakan model sel syaraf tiruan yang dapat menggambarkan "on" dan "off" untuk setiap neuron. Mereka membuktikan bahwa semua fungsi dapat dihitung dengan jaringan sel syaraf, serta semua hubungan logis dapat diimplementasikan dengan struktur jaringan yang sederhana. Pada tahun 1950, Norbert Wiener mengembangkan teori umpan balik, yang memiliki aplikasi dalam berbagai bidang, termasuk termostato. Ini juga menjadi Gambar 1. 6 Tahapan Sejarah Perkembangan AI
21 Artificial Intelligence titik awal perkembangan kecerdasan buatan. Kemudian, pada tahun 1956, John McCarthy bekerja sama dengan Minsky, Claude Shannon, dan Natharriel Rochester untuk melakukan penelitian di Dartmouth College. Hasilnya adalah program Principia Mathematica yang mampu berpikir non-numerik dan menyelesaikan masalah pemikiran. McCarthy dikenal sebagai "Father of AI" (Bapak AI) karena kontribusinya dalam perkembangan kecerdasan buatan. c. Awal pengembangan Al (1952-1969) Pada awal perkembangan kecerdasan buatan (AI) antara tahun 1952 hingga 1969, terjadi serangkaian pencapaian penting yaitu: General Problem Solver (GPS) Newell dan Simon menciptakan program GPS yang memungkinkan komputer untuk menyelesaikan masalah dengan cara yang mirip dengan pemikiran manusia. Program ini menggambarkan pemecahan masalah secara manusiawi. Pada tahun 1958, John McCarthy di Massachusetts Institute of Technology (MIT) memperkenalkan bahasa pemrograman tingkat tinggi yang disebut LISP. LISP menjadi bahasa yang dominan dalam pengembangan program-program AI. Bahasa ini dirancang khusus untuk memfasilitasi pemrograman AI dengan kemampuan manipulasi simbolik yang kuat. Bahasa Pemrograman LISP
22 Artificial Intelligence Programs with Common Sense McCarthy mengembangkan program yang disebut "Programs with Common Sense." Program ini dirancang untuk menggunakan pengetahuan dan pemahaman umum dalam mencari solusi untuk masalah, menambahkan unsur kecerdasan buatan yang lebih kontekstual. Pada tahun 1959, Nathaniel Rochester dari IBM bersama mahasiswamahasiswanya menciptakan program AI yang disebut "Geometry Theorem Prover." Program ini memiliki kemampuan untuk membuktikan teorema dengan menggunakan axiomaaxioma yang ada, menunjukkan kemajuan dalam pemrosesan logika formal. Geometry Theorem Prover Pemecahan Masalah Integral Pada tahun 1963, James Slagle berhasil mengembangkan program AI yang dapat menyelesaikan masalah integral tertutup dalam mata kuliah kalkulus. Ini menunjukkan kemajuan dalam pemecahan masalah matematika yang kompleks.
23 Artificial Intelligence Pada tahun 1968, program analisis buatan Tom Evan berhasil menyelesaikan masalah analogi geometris yang ada dalam tes IQ, menunjukkan kemampuan AI untuk mengatasi masalah yang melibatkan pemahaman analogi dan konsep geometri. Pemecahan Masalah Analogi Geometris Periode ini adalah tonggak penting dalam sejarah AI, dengan banyak inovasi dan pencapaian yang mendorong perkembangan teknologi kecerdasan buatan yang lebih lanjut. d. Perkembangan Al melambat (1966-1974) Simon pada tahun 1957 yang menyatakan bahwa AI akan menjadi ilmu pengetahuan yang akan berkembang dengan pesat ternyata meleset. Perkembangan kecerdasan buatan (AI) mengalami perlambatan antara tahun 1966 hingga 1974, Faktor-faktor yang menyebabkan perlambatan ini termasuk: a. Kurangnya Pengetahuan dalam Program AI Banyak program AI pada masa itu memiliki sedikit atau bahkan sama sekali tidak memiliki pengetahuan yang relevan dalam subjeknya. Mereka berhasil karena melakukan manipulasi sintetis yang sederhana. Contohnya adalah program ELIZA buatan Weizenbaum pada tahun 1965, yang sebenarnya hanya melakukan manipulasi kalimat-kalimat yang diketikkan oleh manusia. b. Kelimpahan Masalah yang Harus Diselesaikan Ada banyak masalah yang harus diatasi dalam AI, dan karena kompleksitasnya, seringkali proyek-proyek AI mengalami kegagalan c. Batasan dalam Struktur Dasar Pada tahun 1969, buku "Perceptrons" oleh Minsky dan Papert menunjukkan bahwa ada batasan pada struktur dasar yang digunakan
24 Artificial Intelligence untuk menghasilkan perilaku kecerdasan buatan. Meskipun perceptron dapat belajar, mereka hanya dapat merepresentasikan sejumlah masalah yang terbatas. 7. Sistem berbasis pengetahuan (1969 — 1979) Pada periode 1969-1979, pengembangan kecerdasan buatan (AI) fokus pada sistem berbasis pengetahuan. Program Dendral menghadirkan contoh penggunaan pengetahuan dalam pemecahan masalah kimia, sementara Saul Amarel mengaplikasikan pengetahuan untuk diagnosis medis dalam proyek "Computer in Biomedicine". Periode ini menunjukkan bahwa AI mulai mengakui pentingnya pengetahuan menjadi elemen kunci dalam kemajuan AI. 8. AI menjadi sebuah industri (1980-1988) Pada periode antara tahun 1980 hingga 1988, AI menjadi industri yang berkembang pesat. Ini dimulai dengan penemuan sistem pakar bernama R1 yang bisa mengkonfigurasi komputer baru. Program ini pertama kali diadopsi oleh Digital Equipment Corporation (DEC) pada tahun 1982. Pada tahun 1986, R1 telah berhasil menghemat hingga US$ 40 juta per tahun. Pada tahun 1988, hampir semua perusahaan besar di Amerika Serikat memiliki divisi AI sendiri yang menggunakan atau mempelajari sistem pakar. Industri AI juga melibatkan perusahaan-perusahaan seperti Carnegie Group, Inference, Intellicorp, dan Technoledge yang menyediakan alat perangkat lunak untuk membangun sistem pakar. Selain itu, perusahaan-perusahaan hardware seperti LISP Machines Inc., Texas Instruments, Symbolics, dan Xerox turut berperan dalam mengembangkan workstation yang dioptimalkan untuk pembangunan program LISP. Dampaknya adalah pertumbuhan industri AI yang signifikan, dengan pendapatan yang meningkat dari beberapa juta dolar AS per tahun pada tahun 1982 menjadi sekitar 2 miliar dolar AS per tahun pada tahun 1988. 9. Kembalinya Jaringan Syaraf Tiruan (1986-sekarang) Jaringan syaraf tiruan mengalami kebangkitan setelah awalnya ditolak oleh komunitas ilmu komputer. Ilmuwan mulai mempelajari jaringan syaraf dari sudut
25 Artificial Intelligence pandang fisika, dengan para ahli seperti Hopfield menggunakan teknik mekanika statistika. Di sisi lain, psikolog seperti David Rumelhart dan Geoff Hinton melanjutkan penelitian tentang model jaringan syaraf dalam konteks memori. Pada tahun 1985-an, beberapa kelompok penelitian menemukan kembali algoritma pembelajaran propagasi balik (Back-Propagation), yang kemudian berhasil diimplementasikan dalam bidang ilmu komputer dan psikologi. Hal ini menandai kebangkitan dan perkembangan jaringan syaraf tiruan dalam beberapa dekade terakhir. 1.2.7 AI Saat Ini Dengan semakin pesatnya perkembangan hardware dan software, berbagai produk AI telah berhasil dibangun dan digunakan dalam kehidupan sehari-hari. Di sini, produk-produk tersebut dikelompokkan ke dalam empat teknik yang ada di Al, yaitu: Gambar 1. 17 Teknik AI
26 Artificial Intelligence 1. Teknik Pencarian (Searching) Contohnya, di kota Goteborg, Swedia, taksi dilengkapi dengan komputer dan GPS yang memandu sopir dan penumpang dalam menemukan rute terbaik tanpa harus menghafal jalan. 2. Teknik Pemikiran (Reasoning) Dalam dunia kedokteran, ada software seperti MedicWare yang merekam catatan medis pasien. Ini membantu dokter dan pasien dengan informasi tentang obat-obatan, interaksi, dan efek sampingnya. 3. Teknik Perencanaan (Planning) Dalam manufaktur dan robotik, teknik planning digunakan. Sebagai contoh, European Space Agency menggunakan Optirnum-AIV untuk perakitan pesawat terbang. 4. Teknik Pembelajaran (Learning) Salah satu contoh nyata adalah sistem auto driver ALVINN yang memungkinkan mobil untuk berjalan sendiri dengan menggunakan jaringan syaraf tiruan yang telah dilatih untuk mengenali kondisi jalan raya. Ini adalah contoh bagaimana teknologi AI telah menjadi bagian integral dari kehidupan sehari-hari kita, memfasilitasi banyak aspek seperti navigasi, perawatan kesehatan, dan manufaktur. Teknik AI ini terus berkembang dan diterapkan dalam berbagai domain untuk meningkatkan efisiensi dan kualitas layanan. 1.2.8 Aplikasi – Aplikasi Yang Memanfaatkan Artificial Intelligence Kecerdasan Buatan (AI) adalah teknologi yang merevolusi banyak aspek kehidupan kita. AI sudah digunakan dalam aplikasi seluler, game, desktop, sistem operasi, dan banyak lagi. Berikut beberapa contoh aplikasi populer yang menggunakan AI:
27 Artificial Intelligence Siri Asisten virtual dari Apple ini dirancang untuk menjadi asisten pribadi cerdas yang dapat membantu Anda dalam banyak tugas. Siri dapat mengirim pesan, menjadwalkan rapat, melakukan panggilan, dan lainnya. Siri adalah contoh AI yang dapat memproses perintah Anda menjadi tindakan Gmail Layanan Google ini menggunakan mesin pembelajaran untuk menghentikan email yang tidak pengguna inginkan. Sistem tersebut akan menganalisis dan mempelajari contoh email yang tidak diinginkan dan memasukkannya ke spam. Ini bisa melindungi penggunanya dari malware dan email mencurigakan. Google juga sedang mengembangkan fitur Smart Reply yang bisa membalas email dengan gaya dan bahasa yang mirip seperti penggunanya. Netflix Layanan paling populer di Netflix adalah content-on-demand yang mampu memprediksi film dan serial yang mungkin akan disukai oleh setiap penggunanya. Spotify Serupa dengan Netflix, AI dalam Spotify bekerja dengan cara memberikan rekomendasi musik yang mungkin akan disukai oleh pengguna. Aplikasi ini juga bisa membuatkan playlist mingguan. Tidak hanya memprediksi genre apa yang disukai oleh pengguna, Spotify juga bisa memberikan
28 Artificial Intelligence rekomendasi musik yang belum pernah dieksplor oleh pengguna sebelumnya. Amazon Situs e-commerce ini bisa membaca produk apa yang sering dicari oleh pengguna. Mereka akan menampilkan produkproduk yang serupa di halaman beranda. Algoritma ini semakin berkembang dan menjadi lebih akurat setiap harinya. Di masa depan, Amazon berencana untuk membuat sistem yang akan mengirim produk bahkan sebelum pengguna memintanya. Google Translate Aplikasi pintar ini sangat bermanfaat untuk semua orang. Terjemahan yang dibuat oleh Google Translate tidak selalu akurat, tetapi aplikasi ini bisa meningkatkan hasilnya semakin sering kita menggunakannya. Aplikasi ini juga memungkinkan pengguna untuk menerjemahkan teks dari gambar yang diambil dengan kamera ponsel, hal ini bisa dilakukan oleh aplikasi ini dikarenakan menggunakan AI Google Maps Satu lagi aplikasi terobosan dari Google. Peta dalam bentuk fisik sekarang sudah tidak banyak digunakan. Program navigasi ini menggunakan algoritma untuk menyarankan rute yang paling mudah untuk menuju ke tempat tujuanmu. AI yang dimiliki oleh Google Maps menyimpan data yang sangat besar untuk bisa menampung seluruh peta dan rute yang ada di dunia.
29 Artificial Intelligence Dengan memanfaatkan kecerdasan buatan (AI), berbagai aplikasi diatas berhasil meningkatkan efisiensi, kenyamanan, dan pengalaman pengguna di berbagai situasi. Hal ini terjadi karena AI memungkinkan aplikasi-aplikasi tersebut untuk beroperasi dengan tingkat pemahaman dan penyesuaian yang lebih tinggi terhadap kebutuhan pengguna. Dengan kata lain, AI tidak hanya membantu aplikasi untuk bekerja lebih cerdas, tetapi juga untuk beradaptasi dengan pengguna secara lebih baik. Dengan demikian, aplikasiaplikasi ini menciptakan pengalaman yang lebih efisien, nyaman, dan memuaskan bagi pengguna di berbagai bidang kehidupan, mulai dari komunikasi hingga hiburan, dan bahkan dalam perjalanan sehari-hari.
30 Artificial Intelligence KEGIATAN PEMBELAJARAN 2 Masalah, Ruang Masalah, dan Pencarian 2.1 Tujuan Kegiatan Pembelajaran 2 2.2 Uraian Materi Kegiatan Pembelajaran 2 2.2.1 Masalah Di Dalam Kecerdasan Buatan Secara umum definisi masalah yang paling mudah dipahami adalah "kesenjangan antara yang diharapkan dengan kenyataan yang ada". Sebagai contoh, kita ingin makan enak, tetapi kenyataannya kita tidak punya makanan enak dan tidak punya uang yang cukup. Tentu saja masalah seperti ini tidak bisa diselesaikan dengan menggunakan kecerdasan buatan. Oleh karena itu, perlu didefinisikan apa yang dimaksud dengan masalah dalam kecerdasan buatan. Masalah dalam kecerdasan buatan adalah masalah-masalah yang dapat dikonversi ke dalam ruang keadaan (ada yang menyebut sebagai ruang masalah), mempunyai keadaan awal (initial state), dan keadaan tujuan (goal state), serta dapat dibuat aturan-aturan untuk mengubah suatu keadaan (state) ke keadaan (state) lainnya. Adapun tujuan pembelajaran dalam kegiatan pembelajaran 2 ini adalah:. Mahasiswa mampu memahami dan mengaplikasikan konsep masalah dan ruang masalah serta metode pencarian buta dalam Artificial Intelligence
31 Artificial Intelligence 2.2.2 Ruang Keadaan Sistem yang menggunakan kecerdasan buatan akan memberikan output berupa solusi dari suatu masalah berdasarkan kumpulan pengetahuan yang ada. Pada gambar, input yg diberikan pada sistem yg menggunakan kecerdasan buatan adalah berupa masalah. Sistem harus dilengkapi dengan sekumpulan pengetahuan yang ada pada basis pengetahuan. Sistem harus memiliki motor inferensi agar mampu mengambil kesimpulan berdasarkan fakta atau pengetahuan. Output yang diberikan berupa solusi masalah sebagai hasil dari inferensi. Secara umum, untuk membangun suatu sistem yang mampu menyelesaikan masalah, perlu dipertimbangkan 4 hal : 1. Mendefinisikan masalah dengan tepat. Pendefinisian ini mencakup spesifikasi yang tepat mengenai keadaan awal dan solusi yang diharapkan. 2. Menganalisis masalah tersebut serta mencari beberapa teknik penyelesaian masalah yang sesuai. 3. Merepresentasikan pengetahuan yang perlu untuk menyelesaikan masalah tersebut. 4. Memilih teknik penyelesaian masalah yang terbaik 2.2.3 Mendefinisikan Masalah Sebagai Suatu Ruang Keadaan Contoh permasalahan yang dihadapi adalah permainan catur, maka harus ditentukan : 1. Posisi awal pada papan catur Posisi awal setiap permainan catur selalu sama, yaitu semua bidak diletakkan di atas papan catur dalam 2 sisi, yaitu kubu putih dan kubu hitam. 2. Aturan – aturan untuk melakukan gerakan Aturan – aturan ini sangat berguna untuk menentukan gerakan suatu bidak, yaitu melangkah dari satu keadaan ke keadaan lain. Misalkan untuk mempermudah menunjukkan posisi bidak, setiap kotak ditunjukkan dalam huruf (a,b,c,d,e,f,g,h) Gambar 2. 1 Sistem yang menggunakan kecerdasan buatan
32 Artificial Intelligence pada arah horisontal dan angka (1,2,3,4,5,6,7,8) pada arah vertikal. Suatu aturan untuk menggerakkan bidak dari posisi (e,2) ke (e,4) dapat ditunjukkan dengan aturan : 3. Tujuan (goal) Tujuan yang ingin dicapai adalah posisi pada papan catur yang menunjukkan kemenangan seseorang terhadap lawannya. Kemenangan ini ditandai dengan posisi raja yang sudah tidak dapat bergerak lagi. Contoh tersebut menunjukkan representasi masalah dalam Ruang Keadaan (State Space), yaitu suatu ruang yang berisi semua keadaan yang mungkin. Kita dapat memulai bermain catur dengan menempatkan diri pada keadaan awal, kemudian bergerak dari satu keadaan ke keadaan yang lain sesuai dengan aturan yang ada, dan mengakhiri permainan jika salah satu telah mencapai tujuan. Jadi untuk mendeskripsikan masalah dengan baik harus : a) Mendefinisikan suatu ruang keadaan (state space) b) Menetapkan satu atau lebih keadaan awal (initial state) c) Menetapkan satu atau lebih tujuan (goal state) d) Menetapkan kumpulan aturan 2.2.4 Merepresentasikan Ruang Keadaan Ada beberapa cara untuk merepresentasikan Ruang Keadaan, antara lain : b. Graph Keadaan A. Terdiri dari node yang menunjukkan keadaan yaitu keadaan awal dan keadaan baru yang akan dicapai. B. Node dihubungkan dengan menggunakan arc/edge/busur yang diberi panah. if bidak putih pada kotak(e,2), and kotak(e,3) kosong, and kotak(e,4) kosong then gerakkan bidak dari (e,2) ke (e,4) if bidak putih pada kotak(e,2), and kotak(e,3) kosong, and kotak(e,4) kosong then gerakkan bidak dari (e,2) ke (e,4) if bidak putih pada kotak(e,2), and kotak(e,3) kosong, and kotak(e,4) kosong then gerakkan bidak dari (e,2) ke (e,4) if bidak putih pada kotak(e,2), and kotak(e,3) kosong, and kotak(e,4) kosong then gerakkan bidak dari (e,2) ke (e,4) if bidak putih pada kotak(e,2), andkotak(e3)kosong
33 Artificial Intelligence C. Graph mendefinisikan kondisi tujuan (state goal), yg merupakan solusi dari cakupan sebuah persoalan. D. State space mencari karakteristik pemecahan soal, sebagai proses dari menemukan sebuah path/jalur dari state awal sampai state tujuan. Contoh: Graph keadaan dengan node M menunjukkan keadaan awal, node T adalah tujuan. Ada 4 lintasan dari M ke T : M-A-B-C-E-T M-A-B-C-E-H-T M-D-C-E-T M-D-C-E-H-T Lintasan buntu atau lintasan yang tidak sampai ke tujuan : M-A-B-C-E-F-G M-A-B-C-E-I-J M-D-C-E-F-G M-D-C-E-I-J M-D-I-J c. Pohon Pelacakan / Pencarian Struktur pohon digunakan untuk menggambarkan keadaan secara hirarkis. Node yg terletak pada level- 0 disebut ’akar’. Node akar : menunjukkan keadaan awal & memiliki beberapa percabangan yang terdiri atas beberapa node yg disebut ’anak’. Node-node yg tidak memiliki anak disebut ’daun’ menunjukkan akhir dari suatu pencarian, dapat berupa tujuan yang diharapkan (goal) atau jalan buntu (dead end). CONTOH : CONTOH : CONTOH : CONTOH : CONTOH : CONTOH : CONTOH : CONTOH : Gambar 2. 1 Graph keadaan dengan node M
34 Artificial Intelligence Gambar berikut menunjukkan pohon pencarian untuk graph keadaan dengan 6 level. Pohon And/Or Masalah M dicari solusinya dengan 4 kemungkinan yaitu A OR B OR C OR D Masalah M hanya dapat diselesaikan dengan A AND B AND C AND D Gambar 2. 2 pohon pelacakan Gambar 2. 2 Node And/Or Tahap 1 Gambar 2. 3 Node And/Or Tahap 2
35 Artificial Intelligence Dengan menggunakan pohon OR/AND tujuan yang dicapai sebelumnya bisa dipersingkat hanya sampai level-2 saja. 2.2.5 Pencarian ( Searching ) Pada dasarnya teknik searching (pencarian) dapat dibagi menjadi 2 (dua) kelompok besar. yaitu pencarian buta (blind search) dan pencarian terbimbing (heuristic search). Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian. Pencarian merupakan suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space) dan Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin terjadi. Untuk mengukur kesuksesan metode pencarian, terdapat empat kriteria yang dapat digunakan : Gambar 2. 4 Tree AND/OR sampai tahapan 2 Gambar 2. 5 Kriteria Searching
36 Artificial Intelligence a. Blind Search (Pencarian buta) Blind Search atau Uninformed Search secara umum mengartikan bahwa saat proses pencarian kita tidak memiliki clue/hint apakah hasil yang ditemukan lebih baik daripada yang lainnya, sehingga kita tidak mengetahui apakah hasil dari eksplorasi tersebut bermanfaat secara maksimal atau tidak. Ada 2 metode Blind Search: 1. Pencarian melebar pertama (Breadth – First Search) 2. Pencarian mendalam pertama (Depth – First Search) b. Heuristic Search (Pencarian terbimbing) Heuristic search adalah suatu istilah yang berasal dari bahasa Yunani yang berarti menemukan/menyingkap. Heuristik adalah suatu perbuatan yang membantu kita menemukan jalan dalam pohon pelacakan yang menuntut kita kepada suatu solusi masalah. Heuristik dapat diartikan juga sebagai suatu kaidah yang merupakan metoda/prosedur yang didasarkan pada pengalaman dan praktek, syarat, trik atau bantuan lainnya yang membantu mempersempit dan memfokuskan proses pelacakan kepada suatu tujuan tertentu. George Poyla (dalam Kristanto. A, 2003) mendefinisikan heuristik sebagai ”studi tentang sebuah metode dan aturan discovery serta invention” dalam pencarian state space, heuristic didefinisikan sebagai aturan untuk memilih cabang-cabang dalam ruang keadaan yang paling tepat untuk mencapai solusi permasalahan yang dapat diterima . Ada 4 metode Heuristic Search: 1. Pembangkit dan pengujian (generate & test) 2. Pendakian bukit (hill climbing) 3. Pencarian terbaik pertama (best first search) 4. A*
37 Artificial Intelligence KEGIATAN PEMBELAJARAN 3 Metode Blind, Search, Heuristic Search 3.1 Tujuan Kegiatan Pembelajaran 3 3.2 Uraian Materi Kegiatan Pembelajaran 3 3.2.1 Metode Blind Search ( Pencarian Buta ) 1. Breadth – First search Semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1. Pencarian dimulai dari node akar terus ke level 1 dari kiri ke kanan, kemudian berpindah ke level berikutnya dari kiri ke kanan hingga solusi ditemukan. Adapun tujuan pembelajaran dalam kegiatan pembelajaran 3 ini adalah:. Mahasiswa mampu memahami dan mengaplikasikan konsep metode pencarian Blind Search dan Heuristik
38 Artificial Intelligence 2. Depth – First search Pencarian dilakukan pada suatu simpul dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada simpul sebelah kanan dan simpul yang kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan.
39 Artificial Intelligence 3.2.2 Metode Heuristic Search ( Pencarian Terbimbing ) 1. Pembangkit dan pengujian (generate & test) Generate and Test merupakan algoritma paling sederhana dalam teknik pencarian heuristik. Dalam Generate and Test, terdapat dua prosedur penting yaitu generate (membangkitkan) yaitu membangkitkan semua solusi yang mungkin dan test (pengetesan) yaitu menguji solusi yang dibangkitkan tersebut. Algoritma Generate and Test menggabungkan algoritma DFS dengan pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju state awal. Algoritma Generate and Test adalah sebagai berikut : 1 Bangkitkan sebuah solusi yang mungkin 2 Menguji tiap-tiap node yang merupakan solusi dengan cara membandingkan node tersebut dengan node akhir dari suatu lintasan yang dipilih dengan
40 Artificial Intelligence kumpulan tujuan yang diharapkan. 3 Jika solusi telah ditemukan, maka keluar dari sistem. Jika belum menemukan solusi, maka kembali ke langkah 1. Tabel 1. 1 Algoritma Generate and Test Gambar 3. 1 Algoritma Generate and Test
41 Artificial Intelligence Kasus Algoritma Generate and Test : Seorang salesman ingin mengunjungi n kota. Jarak tiap kota sudah diket.Kita ingin mengetahui rute terpendek dimana setiap kota hanya boleh dikunjungi 1 kali. Misal ada 4 kota dengan jarak sebagai berikut : Penyelesain dari permasalahan diatas adalah sebagai berikut Pencarian Ke- Lintasan Panjang Lintasan Lintasan Terpilih Panjang Lintasan Terpilih 1 ABCD 19 ABCD 19 2 ABDC 18 ABDC 18 3 ACBD 12 ACBD 12 4 ACDB 13 ACDB 12 5 ADBC 16 ADBC 12 Dst … CONTOH :
42 Artificial Intelligence 2. Pendakian bukit (hill climbing) Pendakian bukit (hill climbing) adalah metode dalam pemecahan masalah yang mirip dengan metode pembangkitan dan pengujian. Namun, dalam metode ini, pengujian dilakukan menggunakan fungsi heuristic (aturan berbasis pengalaman). Proses pembangkitan keadaan berikutnya bergantung pada umpan balik dari prosedur pengujian. Fungsi heuristic ini digunakan untuk menilai sejauh mana perkiraan yang diambil mendekati solusi yang diinginkan dibandingkan dengan keadaan lain yang mungkin. Ada dua jenis metode dalam Hill Climbing Search, yaitu Simple Hill Climbing Search dan Steepest-Ascent Hill Climbing. Dalam penelitian ini, kita akan membahas metode Simple Hill Climbing Search yang digunakan untuk mencari jalur terdekat dalam pencarian lokasi. Dalam metode Hill Climbing Search, kita memerlukan node atau titik sebagai titik pembanding jarak. State-state berasal dari jalur yang memiliki dua atau lebih persimpangan jalur. Untuk meningkatkan akurasi, state-state sebelumnya disimpan. Dalam penerapannya, kita menggunakan lokasi dari setiap pengguna dan state-state ini menjadi jalur yang dibandingkan dalam hal jarak. Jarak dari node yang telah ditemukan akan selalu dibandingkan dengan state lainnya hingga ditemukan yang terbaik. Jika ditemukan state yang lebih baik, maka posisi awal akan berubah. Proses ini terus berlanjut hingga mencapai node tujuan, dan state yang sudah dilewati tidak akan diperiksa lagi. Dalam perancangan aplikasi, jalur terdekat ditampilkan dengan polyline berwarna hijau, sementara jalur yang lebih jauh ditandai dengan garis merah. Gambar 3. 2 Flowchart simple hill climbing search.
43 Artificial Intelligence 3. Pencarian terbaik pertama (best first search) Pencarian terbaik pertama (Best First Search) merupakan suatu cara yang menggabungkan kelebihan dari pencarian Breadth First dan Depth First. Pada setiap langkah proses pencarian terbaik pertama, kita memilih simpul-simpul (node) yang paling menjanjikan sesuatu. Hal ini dilakukan dengan menerapkan fungsi Heuristik yang memadai pada setiap simpul tersebut. Kemudian, kita mengembangkan simpul yang kita pilih itu dengan menggunakan aturan-aturan tertentu untuk menghasilkan penggantinya. Jika salah satu simpul tersebut merupakan sebuah solusi, kita berhenti. Jika bukan, semua simpul baru itu ditambahkan ke himpunan simpul yang sejauh ini telah dibuat. Setelah itu, kembali kita memilih simpul yang paling diharapkan dan melanjutkan proses. Namun, jika tidak bisa mendapatkan sebuah solusi, pencabangan itu akan mulai mencari simpul yang kurang menjanjikan sesuatu daripada cabang di tingkat puncak yang telah kita abaikan. Di titik itu, cabang yang saat ini lebih menjanjikan sesuatu dan sebelumnya sempat diabaikan, akan disimak. Namun cabang yang lebih tua tidak dilupakan. Simpul terakhirnya tetap berada di dalam himpunan yang berisi simpulsimpul yang telah dibuat namun tidak dikembangkan. Proses pencarian dapat dikembalikan padanya bila semua simpul lainnya tidak menjanjikan apa-apa dan justru simpul terakhir ini merupakan lintasan yang paling dapat diharapkan. Gambar berikut menunjukkan awal prosedur pencarian terbaik pertama (Best_First). Mula-mula hanya terdapat satu simpul yang kemudian dikembangkan menjadi tiga simpul baru. Dalam contoh ini, fungsi Heuristik yang merupakan pengukur biaya dalam memperoleh sebuah solusi dari sebuah
44 Artificial Intelligence simpul (node) tertentu, diterapkan pada simpul-simpul yang baru tersebut. Karena D merupakan simpul yang paling menjanjikan sesuatu, maka simpul ini yang kemudian dikembangkan dan menghasilkan dua simpul pengganti E dan F. Lewat lintasan yang lain, katakanlah B tampak cukup dapat diharapkan, dan bila diproses akan didapatkan simpul G dan H. Namun setelah dievaluasi, simpul-simpul baru ini tidak begitu dapat diharapkan dibandingkan dengan lintasan yang pertama tadi (lewat simpul D), sehingga perhatian kembali diarahkan ke simpul D menuju ke E. Bila E dikembangkan, diperoleh simpul I dan J. Selanjutnya, simpul J yang akan dikembangkan karena simpul ini yang tampaknya paling dapat diharapkan. Proses semacam ini akan terus dilanjutkan sampai diperoleh sebuah solusi. Tabel 1. 2 awal prosedur pencarian terbaik pertama (Best_First). Algoritma Best-First Search 1. OPEN berisi initial state dan CLOSED masih kosong. 2. Ulang sampai goal ditemukan atau sampai tidak ada nodes di dalam OPEN :
45 Artificial Intelligence 3. Ambil simpul terbaik yang ada di OPEN 4. Jika simpul tersebut sama dengan goal, maka sukses 5. Jika tidak, masukkan simpul tersebut ke dalam CLOSED 6. Bangkitkan semua suksesor dari simpul tersebut 7. Untuk setiap suksesor kerjakan : a. Jika suksesor tersebut belum pernah dibangkitkan, evaluasi suksesor tersebut, tambahkan ke OPEN, dan catat parent atau orang tuanya. b. Jika suksesor tersebut sudah pernah dibangkitkan, ubah parentnya jika jalur melalui parent ini lebih baik daripada jalur melalui parent yang sebelumnya. Selanjutnya, perbarui biaya untuk suksesor tersebut dan nodes lain yang berada di level bawahnya. 4. Algoritma A* ( A star) (A Star) Dalam sains komputer, A* (dibaca “A star”) adalah algoritma komputer yang digunakan secara luas dalam mencari jalur (path finding) dan grafik melintang (graph traversal), proses plotting sebuah jalur melintang secara efisian antara titiktitik, disebut node. Terkenal karena penampilan dan akurasinya, algoritma ini diperluas untuk berbagai bidang. A* mencapai penampilan yang lebih baik dengan menggunakan heuristik. A* menggunakan Best First Search (BFS) dan menemukan jalur dengan biaya terkecil (least-cost path) dari node awal (initial node) yang diberikan ke node tujuan (goal node). Algoritma ini menggunakan fungsi heuristik jarak ditambah biaya (biasa dinotasikan dengan f(x)) untuk menentukan urutan di mana search-nya melalui node-node yang ada di pohon (tree). Notasi yang dipakai oleh Algoritma A* adalah sebagai berikut: f(n) = g(n) + h(n) f(n) = biaya estimasi terendah g(n) = biaya dari node awal ke node n h(n) = perkiraan biaya dari node n ke node akhir. Dalam penerapannya, Algoritma A* memiliki beberapa terminologi dasar diantaranya starting
46 Artificial Intelligence point, simpul (nodes), A, open list, closed list, harga (cost ), halangan (unwalkable). 1. Starting point adalah sebuah terminologi untuk posisi awal sebuah benda. 2. A adalah simpul yang sedang dijalankan dalam algoritma pencarian jalan terpendek. 3. Simpul adalah petak-petak kecil sebagai representasi dari area pathfinding Bentuknya dapat berupa persegi, lingkaran, maupun segitiga 4. Open list adalah tempat menyimpan data simpul yang mungkin diakses dari starting point maupun simpul yang sedang dijalankan. 5. Closed list adalah tempat menyimpan data simpul sebelum A yang juga merupakan bagian dari jalur terpendek yang telah berhasil didapatkan. 6. Harga adalah nilai yang diperoleh dari penjumlahan, jumlah nilai tiap simpul dalam jalur terpendek dari starting point ke A, dan jumlah nilai perkiraan dari sebuah simpul ke simpul tujuan. 7. Simpul tujuan yaitu simpul yang dituju. 8. Halangan adalah sebuah atribut yang menyatakan bahwa sebuah simpul tidak dapat dilalui oleh A. Algoritma A* digunakan untuk pencarian jalur dan traversal grafis, karena efisien dalam menghubungkan titik-titik (nodes). Algoritma ini menggunakan dua daftar, yaitu OPEN dan CLOSED. OPEN berisi simpul-simpul dengan nilai heuristik yang belum terpilih sebagai simpul terbaik, sementara CLOSED menyimpan simpulsimpul yang sudah terpilih sebagai simpul terbaik.
47 Artificial Intelligence KEGIATAN PEMBELAJARAN 4 Representasi Pengetahuan 4.1 Tujuan Kegiatan Pembelajaran 4 4.2 Uraian Materi Kegiatan Pembelajaran 4 4.1.1 Pengetahuan ( Knowledge ) Pengetahuan (knowledge) adalah sesuatu yang hadir dan terwujud dalam jiwa dan pikiran seseorang karena adanya reaksi, sentuhan, dan hubungan dengan lingkungan dan alam sekitarnya. Definisi lain dari pengetahuan adalah fakta atau keadaan yang timbul karena suatu pengalaman. Contoh: pengetahuan tentang binatang, sifat-sifat dan perilakunya. Pengetahuan tentang penyakit, gejala-gejala, dan pengobatannya. Pengetahuan tentang tanaman, jenis-jenisnya dan cara hidupnya, dan lain-lain. Adapun tujuan pembelajaran dalam kegiatan pembelajaran 4 ini adalah:. Mahasiswa mampu memahami representasi pengetahuan yang umum digunakan dalam Artificial Intelligence
48 Artificial Intelligence 4.1.2 Representasi Pengetahuan Dua bagian dasar sistem kecerdasan buatan (menurut Turban) : Basis Pengetahuan Inference Engine Pengetahuan berisi fakta tentang tentang objek-objek dalam domain yang dipilih dan hubungan diantara domain-domain tersebut. Merupakan sekumpulan prosedur yang digunakan untuk menguji basis pengetahuan dalam menjawab suatu pertanyaan, menyelesaikan masalah, atau membuat keputusan. Basis pengetahuan berisi struktur data yang dapat dimanipulasi oleh suatu sistem inferensi yang menggunakan menggunakan pencarian pencarian dan teknik pencocokan pencocokan pola pada basis pengetahuan yang bermanfaat untuk menjawab pertanyaan, menggambarkan kesimpulan atau bentuk lainnya sebagai suatu fungsi kecerdasan Karakteristik representasi pengetahuan 1 Dapat diprogram dengan Bahasa komputer dan disimpan dalam memori 2 Fakta dan pengetahuan pengetahuan lain yang lain yang terkandung didalamnya dapat digunakan untuk melakukan penalaran Dalam menyelesaikan masalah harus dibutuhkan pengetahuan yang cukup dan system juga harus memiliki kemampuan untuk menalar. Basis pengetahuan dan kemampuan untuk melakukan penalaran merupakan bagian terpenting dari sistem yang menggunakan kecerdasan buatan.
49 Artificial Intelligence 1. Jaringan Semantik Jaringan semantik merupakan gambaran pengetahuan grafis yang menunjukkan hubungan antar berbagai objek. Jaringan semantik terdiri dari lingkaran-lingkaran yang menunjukkan objek dan informasi tentang objek-objek tersebut. Objek disini bisa berupa benda atau peristiwa. Antara 2 objek dihubungkan oleh arc yang menunjukkan hubungan antar objek. 2. Frame Frame merupakan kumpulan pengetahuan tentang suatu objek tertentu, peristiwa, lokasi, situasi, dll. Frame memiliki slot yang menggambarkan rincian (atribut) dan karakteristik objek. Frame biasanya digunakan untuk merepresentasikan pengetahuan yang didasarkan pada karakteristik yang sudah dikenal, yang merupakan pengalaman-pengalaman. Dengan menggunakan frame, sangat mudah untuk membuat inferensi tentang objek, peristiwa, atau situasi baru, karena frame menyediakan basis pengetahuan yang ditarik dari pengalaman. Gambar 4. 1 representasi pengetahuan menggunakan jaringan semantik