Kelompok Shin G. Melva K.A. Lengary (23123051) - Ketua Jonatan Lewo Ditanya (23123035) Fransiskus Fernando S. Bataona (23123026) 2
Apasih kecerdasan buatan itu ?
Pengertian Kecerdasan buatan atau Artificial Intelligence (AI) adalah simulasi dari kecerdasan yang dimiliki oleh manusia yang dimodelkan di dalam mesin dan diprogram agar bisa berpikir seperti halnya manusia . Sedangkan menurut Mc Leod dan Schell, kecerdasan buatan adalah aktivitas penyediaan mesin seperti komputer dengan kemampuan untuk menampilkan perilaku yang dianggap sama cerdasnya dengan jika kemampuan tersebut ditampilkan oleh manusia .
Artificial Intelligence (AI) AI sendiri merupakan teknologi yang memerlukan data untuk dijadikan pengetahuan , sama seperti manusia . AI membutuhkan pengalaman dan data supaya kecerdasannya bisa lebih baik lagi . Poin penting dalam proses AI adalah learning , reasoning dan self correction . AI perlu belajar untuk memperkaya pengetahuannya . Proses belajar AI pun tidak selalu disuruh oleh manusia , melainkan AI akan belajar dengan sendirinya berdasarkan pengalaman AI saat digunakan oleh manusia . 5
Bagaimana perkembangan dari kecerdasan buatan ? 6 Enhancing your presentation
Perkembangan kecerdasan buatan 7
Apa saja sih cabang-cabang dari kecerdasan buatan ? Machine Learning Deep Learning Natural Language Processing (NLP) Computer Vision Robotics Experts System Neural Networks Cabang- cabang inilah yang akan kami bahas pada presentasi kali ini 8
Machine Learning 9 Machine learning adalah cabang dari artificial intelligence yang memfokuskan pada pembuatan komputer yang dapat belajar dan beradaptasi secara otomatis . Machine learning menggunakan algoritma yang dapat memproses data dan mencari pola-pola yang tersembunyi di dalamnya , sehingga komputer dapat membuat keputusan atau memprediksi hasil tanpa diberi instruksi secara langsung .
Machine Learning 10 Ada beberapa jenis machine learning, yaitu : Supervised learning: Machine learning yang dilatih menggunakan data yang sudah terlabel . Contohnya , sebuah model machine learning dapat diberikan data foto kucing dan anjing yang sudah terlabel sebagai kucing atau anjing , sehingga model tersebut dapat mempelajari apa yang membedakan kucing dan anjing . Kemudian , model tersebut dapat digunakan untuk mengidentifikasi kucing atau anjing pada foto baru yang tidak terlabel . Unsupervised learning: Machine learning yang dilatih tanpa data yang terlabel . Contohnya , sebuah model dapat diberikan data yang tidak terstruktur dan kemudian dapat mencari pola-pola yang tersembunyi di dalamnya .
Machine Learning 11 Ada beberapa jenis machine learning, yaitu : Reinforcement learning: Machine learning yang mencoba mengoptimalkan suatu tindakan dengan memberikan reward atau punishment sesuai dengan hasil tindakannya . Contohnya , sebuah mesin dapat diberikan tugas untuk mengambil objek di depan mereka . Jika mesin berhasil mengambil objek tersebut , maka mesin akan diberikan reward. Namun , jika mesin gagal mengambil objek , maka mesin akan diberikan punishment. Deep learning: Sebuah jenis machine learning yang menggunakan neural network yang sangat kompleks untuk memproses data. Neural network ini terdiri dari lapisan-lapisan neuron yang terhubung satu sama lain, yang dapat mempelajari cara mengolah data dengan sendirinya . Deep learning sangat efektif dalam menangani data yang tidak terstruktur , seperti gambar atau suara .
Deep learning Deep learning adalah sebuah jenis machine learning yang menggunakan neural network yang sangat kompleks untuk memproses data. Deep learning sangat efektif dalam menangani data yang tidak terstruktur , seperti gambar atau suara . Neural network dapat mengidentifikasi pola-pola yang tersembunyi di dalam data dengan sendirinya , tanpa perlu diberikan instruksi secara langsung . Karena itu , deep learning sering digunakan dalam aplikasi yang menangani data visual atau audio, seperti sistem pengenalan wajah atau pengenalan suara . Deep learning juga dapat digunakan dalam aplikasi lain, seperti pemrosesan bahasa alami atau pembuatan keputusan . Namun , deep learning membutuhkan data yang sangat banyak dan waktu yang cukup lama untuk melatih modelnya , sehingga tidak selalu menjadi pilihan yang tepat untuk setiap aplikasi . 12
Natural Language Processing (NLP) NLP adalah cabang dari artificial intelligence yang memfokuskan pada pemrosesan bahasa alami oleh komputer . NLP memungkinkan komputer untuk memahami dan memproses bahasa yang digunakan oleh manusia , seperti bahasa Indonesia atau bahasa Inggris . NLP memiliki banyak aplikasi , seperti pembuatan asisten virtual yang dapat menangani pertanyaan dan perintah dari pengguna dengan bahasa alami , atau sistem pemrosesan pesan yang dapat memisahkan spam dari pesan yang valid. NLP juga dapat digunakan dalam aplikasi seperti pembuatan resume otomatis atau pembuatan terjemahan otomatis . Untuk memproses bahasa alami , NLP menggunakan beragam teknik , seperti tokenisasi , stemming, dan part-of-speech tagging. Teknik- teknik ini digunakan untuk menguraikan kalimat menjadi bagian-bagian yang lebih kecil dan lebih mudah diproses oleh komputer . Contoh penerapan NLP terdapat pada Ojek Online, Translate, Auto correct dan Chatbot
Computer Vision Computer vision adalah cabang dari artificial intelligence yang memfokuskan pada pemrosesan citra oleh komputer . Computer vision memungkinkan komputer untuk mengenali dan memahami apa yang terlihat pada sebuah citra atau video. Computer vision memiliki banyak aplikasi , seperti pengenalan wajah , pengenalan objek , dan pengukuran dimensi objek . Computer vision juga dapat digunakan dalam aplikasi seperti sistem navigasi mobil tanpa pengemudi atau sistem pengawasan keamanan . Untuk memproses citra , computer vision menggunakan beragam teknik , seperti pengenalan pola , pengenalan fitur , dan pembelajaran mesin . Teknik- teknik ini digunakan untuk menguraikan citra menjadi bagian-bagian yang lebih kecil dan lebih mudah diproses oleh komputer . 14
Robotics 15 Robotics adalah cabang dari teknik yang memfokuskan pada pembuatan mesin yang dapat melakukan tugas-tugas seperti manusia . Robotics menggabungkan beragam disiplin , seperti elektronika , mekanika , dan artificial intelligence, untuk membuat mesin yang dapat melakukan beragam tugas , seperti mengepak kartu , memindahkan barang , atau menyapu lantai . Robotics memiliki banyak aplikasi , mulai dari aplikasi industri , seperti pembuatan mobil atau elektronik , hingga aplikasi rumah tangga , seperti mesin cuci atau vacuum cleaner. Robotics juga dapat digunakan dalam aplikasi medis , seperti robot yang dapat membantu dokter dalam operasi , atau robot yang dapat membantu pasien yang kurang mobil . Untuk membuat mesin yang dapat melakukan tugas seperti manusia , robotics menggunakan beragam teknik , seperti pengenalan pola , pengenalan fitur , dan pembelajaran mesin . Teknik- teknik ini digunakan untuk membuat mesin dapat mengenali lingkungannya dan mengambil tindakan sesuai dengan instruksi yang diberikan .
Experts System Expert Systems adalah sebuah sistem yang menggunakan artificial intelligence untuk menyimulasikan kecerdasan dan pengetahuan seorang ahli dalam suatu bidang tertentu . Expert Systems biasanya terdiri dari basis pengetahuan yang menyimpan informasi tentang suatu bidang , serta reasoning engine yang dapat menggunakan informasi tersebut untuk menjawab pertanyaan atau memecahkan masalah . Expert Systems sering digunakan untuk mengambil keputusan dalam situasi yang rumit atau memerlukan pengetahuan yang mendalam . Contohnya , Expert Systems dapat digunakan dalam aplikasi seperti sistem diagnosa medis , yang dapat membantu dokter dalam menentukan diagnosis dari suatu penyakit berdasarkan gejala yang diberikan . Expert Systems juga dapat digunakan dalam aplikasi lain, seperti sistem perencanaan perjalanan atau sistem perencanaan produksi . Namun , Expert Systems tergantung pada basis pengetahuan yang tersedia , sehingga tidak selalu dapat memberikan jawaban yang akurat atau tepat untuk setiap situasi . 16
Neural Networks 17 Neural networks adalah sebuah sistem yang menggunakan artificial intelligence untuk menyimulasikan cara kerja otak manusia . Neural network terdiri dari lapisan-lapisan neuron yang terhubung satu sama lain, yang dapat memproses data dan mencari pola-pola yang tersembunyi di dalamnya . Neural networks sering digunakan untuk memecahkan masalah yang rumit atau tidak terstruktur , seperti pengenalan wajah atau pengenalan suara . Neural networks juga dapat digunakan dalam aplikasi seperti sistem perencanaan perjalanan atau sistem pembuatan keputusan . Untuk membuat neural network, pertama-tama perlu ditentukan jumlah lapisan dan jumlah neuron yang akan digunakan . Kemudian , neural network dilatih dengan menggunakan data yang sudah terlabel , seperti foto kucing dan anjing yang sudah terlabel sebagai kucing atau anjing . Setelah dilatih dengan baik , neural network dapat digunakan untuk mengidentifikasi kucing atau anjing pada foto baru yang tidak terlabel .
BREADTH FIRST SEARCH & DEPTH FIRST SEARCH
BREADTH FIRST SEARCH (BFS) 19 Breadth-first search adalah algoritma yang melakukan pencarian secara melebar yang mengunjungi simpul secara preorder yaitu mengunjungi suatu simpul kemudian mengunjungi semua simpul yang bertetangga dengan simpul tersebut terlebih dahulu . Selanjutnya , simpul yang belum Makalah IF2211 Strategi Algoritma – Sem. II Tahun 2017/2018 dikunjungi dan bertetangga dengan simpul-simpul yang tadi dikunjungi , demikian seterusnya . Jika graf berbentuk pohon berakar , maka semua simpul pada arah d dikunjungi lebih dahulu sebelum simpul-simpul pada arah d+1. Algoritma ini memerlukan sebuah antrian q untuk menyimpan simpul yang telah dikunjungi . Simpul-simpul ini diperlukan sebagai acuan untuk mengunjungi simpul-simpul yang bertetanggaan dengannya . Tiap simpul yang telah dikunjungu masuk ke dalam antrian hanya satu kali. Algoritma ini juga membutuhkan table Boolean untuk menyimpan simpul yang telah dikunjungi sehingga tidak ada simpul yang dikunjungi lebih dari satu kali.
A. CARA KERJA ALGORITMA BFS Dalam algoritma BFS, simpul anak yang telah dikunjungi disimpan dalam suatu antrian . Antrian ini digunakan untuk mengacu simpul-simpul yang bertetangga dengannya yang akan dikunjungi kemudian sesuai urutan pengantrian . Untuk memperjelas cara kerja algoritma BFS beserta antrian yang digunakannya , berikut langkah-langkah algoritma BFS: Masukkan simpul ujung ( akar ) ke dalam antrian . Ambil simpul dari awal antrian , lalu cek apakah simpul merupakan solusi . Jika simpul merupakan solusi , pencarian selesai dan hasil dikembalikan .. Jika simpul bukan solusi , masukkan seluruh simpul yang bertetangga dengan simpul tersebut ( simpul Anak) ke dalam antrian . Jika antrian kosong dan setiap simpul sudah dicek , pencarian selesai dan mengembalikan hasil Solusi tidak ditemukan . Ulangi pencarian dari langkah kedua . 20
A. CARA KERJA ALGORITMA BFS Dalam algoritma BFS, simpul anak yang telah dikunjungi disimpan dalam suatu antrian . Antrian ini digunakan untuk mengacu simpul-simpul yang bertetangga dengannya yang akan dikunjungi kemudian sesuai urutan pengantrian . Untuk memperjelas cara kerja algoritma BFS beserta antrian yang digunakannya , berikut langkah-langkah algoritma BFS: Masukkan simpul ujung ( akar ) ke dalam antrian . Ambil simpul dari awal antrian , lalu cek apakah simpul merupakan solusi . Jika simpul merupakan solusi , pencarian selesai dan hasil dikembalikan .. Jika simpul bukan solusi , masukkan seluruh simpul yang bertetangga dengan simpul tersebut ( simpul Anak) ke dalam antrian . Jika antrian kosong dan setiap simpul sudah dicek , pencarian selesai dan mengembalikan hasil Solusi tidak ditemukan . Ulangi pencarian dari langkah kedua . 21
b. Contoh Metode Pencarian BFS 22 Maka penyelesaiannya adalah : Gambar (a) BFS(1): 1, 2, 3, 4, 5, 6, 7, 1. Gambar (b) BFS(1): 1, 2, 3, 4, 5, 6, 7, 1 Gambar (c) BFS(1): 1, 2, 3, 4, 5, 6, 7, 8, 9
DFS (DEPTH FIRST SEARCH) 23 DFS (Depth First Search) adalah salah satu algoritma penelusuran struktur graf atau pohon berdasarkan kedalaman . Simpul ditelusuri dari root kemudian ke salah satu simpul . Makalah IF2211 Strategi Algoritma– Sem. II Tahun 2017/2018 anaknya ( misal nya prioritas penelusuran berdasarkan anak pertama [simpul sebelah kiri] ), maka penelusuran dilakukan terus melalui simpul anak pertama dari simpul anak pertama level sebelumnya hingga mencapai level terdalam. Setelah sampai di level terdalam, penelusuran akan kembali ke 1 level sebelumnya untuk menelusuri simpul anak kedua pada pohon biner [simpul sebelah kanan] lalu kembali ke langkah sebelumnya dengan menelusuri simpul anak pertama lagi sampai level terdalam dan seterusnya.
a. Contoh pohon biner Depth First Search : Maka, urutan penelusurannya adalah : A – B – D – H – E – I –C – F – G – J – K – L Dalam implementasinya DFS dapat diselesaikan dengan cara rekursif atau dengan bantuan struktur data stack. Kita akan membahas dengan cara yang menggunakan stack. Stack yang digunakan adalah stack yang isi elemennya adalah simpul pohon / tree. Bagaimana cara kerjanya ? Berikut ini adalah urutan algoritmanya : Masukkan simpul root ke dalam tumpukan dengan push. Ambil dan simpan isi elemen ( berupa simpul pohon ) dari tumpukan teratas . Hapus isi stack teratas dengan prosedur pop. Periksa apakah simpul pohon yang disimpan tadi memiliki anak simpul . Jika ya , push semua anak simpul yang dibangkitkan ke dalam stack. Jika tumpukan kosong berhenti , tapi jika tidak kembali ke langkah dua 24
a. Contoh pohon biner Depth First Search : Jadi, untuk gambar pohon biner di atas urutan langkah dan kondisi stack- nya setiap iterasi adalah : 25 Contoh diatas menggunakan prioritas untuk memasukkan anak simpul dari sebelah kanan terlebih dahulu ke dalam stack. Sehingga , pada iterasi 2 elemen A dihapus lalu memasukkan anak simpulnya yaitu C dulu , baru B ke dalam stack. Selain itu bisa dilihat stack teratas (yang diwarna biru ) pada tiap iterasi memiliki urutan A – B – D – H – E – I – C – F – G – J – K – L. Pada iterasi ke 13 itu kondisi stack sudah kosong karena Ketika simpul J dibangkitkan tidak ada anak simpul yang dimasukkan ke stack.