Senin, 17 Oktober 2016

Pengenalan Teknologi Sistem Cerdas

BAB I
Pengenalan Intelegensi Buatan

1.1     Definisi Kecerdasan Buatan

           Kecerdasan buatan atau artificial intelligence merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia (Buku Sri Kusumadewi).

                  Hal Ini biasanya dilakukan dengan mengikuti/mencontoh karakteristik dan analogi berpikir dari kecerdasan/Inteligensia manusia, dan menerapkannya sebagai algoritma yang dikenal oleh komputer. Dengan suatu pendekatan yang kurang lebih fleksibel dan efisien dapat diambil tergantung dari keperluan, yang mempengaruhi bagaimana wujud dari perilaku kecerdasan buatan.
                  AI biasanya dihubungkan dengan Ilmu Komputer, akan tetapi juga terkait erat dengan bidang lain seperti Matematika, Psikologi, Pengamatan, Biologi, Filosofi, dan yang lainnya. Kemampuan untuk mengkombinasikan pengetahuan dari semua  bidang ini pada akhirnya akan bermanfaat bagi kemajuan dalam upaya menciptakan suatu kecerdasan buatan. Pengertian lain dari kecerdasan buatan adalah bagian ilmu komputer yang membuat agar mesin komputer dapat melakukan pekerjaan seperti dan sebaik yang dilakukan manusia.

1.2     Kecerdasan Buatan dengan Kecerdasan Alami

            Kecerdasan Buatan
           
           Kecerdasan Buatan adalah salah satu cabang Ilmu pengetahuan berhubungan dengan pemanfaatan mesin untuk memecahkan persoalan yang rumit dengan cara yang lebih manusiawi.

            Lebih bersifat permanen. Kecerdasan alami bisa berubah karena sifat manusia pelupa. Kecerdasan buatan tidak berubah selama sistem komputer & program tidak mengubahnya.
           
             Lebih mudah diduplikasi & disebarkan. Mentransfer pengetahuan manusia dari 1 orang ke orang lain membutuhkan proses yang sangat lama & keahlian tidak akan pernah dapat diduplikasi dengan lengkap. Jadi jika pengetahuan terletak pada suatu sistem komputer, maka pengetahuan tersebut dapat disalin dari komputer tersebut & dapat dipindahkan dengan mudah ke komputer yang lain.
           
            Bersifat konsisten karena kecerdasan buatan adalah bagian dari teknologi komputer sedangkan kecerdasan alami senantiasa berubah-ubah.
            Dapat didokumentasi.Keputusan yang dibuat komputer dapat didokumentasi dengan mudah dengan cara melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.

           Kecerdasan Alami

           Kecerdasan Alami adalah sifat pikiran yang mencakup sejumlah kemampuan, seperti kemampuan menalar, merencanakan, memecahkan masalah, berpikir abstrak, memahami gagasan, menggunakan bahasa, dan belajar yang terbentuk secara alami atau biasa disebut bakat.
            Kreatif : manusia memiliki kemampuan untuk menambah pengetahuan, sedangkan pada kecerdasan buatan untuk menambah pengetahuan harus dilakukan melalui sistem yang dibangun.
            Memungkinkan orang untuk menggunakan pengalaman secara langsung. Sedangkan pada kecerdasan buatan harus bekerja dengan input-input simbolik.
            Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan sangat terbatas.

1.3     Komputasi Intelegensi Buatan dan Konvensional

          Komputasi intelegensi buatan memberitahu komputer tentang suatu masalah. Komputer diberi pengetahuan dan kemampuan inferensi dan juga bisa digunakan sebagai representasi dan manipulasi simbol. Sedangkan komputasi konvensional , yaitu memerintah komputer untuk menyelesaikan masalah, memberi data kepada komputer dan program dan juga menggunakan algoritma.

           
Komputasi Konvensional
Komputasi Kecerdasan Buatan
Format keluaran berupa bit, byte, angka, dan fungsi
Hubungan simbol, konsep, dan aturan-aturan
Menggunakan algoritma prosedural yang menyelesaikan problem
Bahasa deskriptif (menguraikan fakta-fakta yang diketahui dan hubungan)
Menggunakan tahap-tahap urutan tertentu untuk penyelesaian (algoritma).
Penggunaan search untuk menemukan penyelesaian (heuristik).
Kesimpulan (conclusion)-nya bersifat determistik.
Tidak tahu apakah algoritma memusat (converge).
Tipe data : angka dan karakter
Tipe data : atom, obyek, list (program)
Perlu deklarasi awal dan tipe variabel
Tidak perlu deklarasi awal atau tipe data (variabel tipe-tipe tertentu dapat dapat dibuat apabila ia diperlukan selama proses penyelesaian)
Dimensi variabel yang tetap
Dimensi struktur data dapat tumbuh atau menyusut selama proses
Representasi informasi yang eksak
Representasi informasi yang tidak eksak
Jawaban yang eksak
Jawaban yang memuaskan

1.4     Sejarah Kecerdasan Buatan

         
Uji Turing (Turing Test) oleh Alan Turing tahun 1950-an : Turing beranggapan bahwa, jika mesin dapat membuat seseorang percaya bahwa dirinya mampu berkomunikasi dengan orang lain, maka dapat dikatakan bahwa mesin tersebut cerdas (seperti layaknya manusia).
    Seorang profesor dari Massachusetts Institute of Technology yang bernama John McCarthy pada tahun 1956 pada Dartmouth Conference yang dihadiri oleh para peneliti AI. Pada koferensi tersebut juga didefinisikan tujuan utama dari kecerdasan buatan, yaitu: mengetahui dan memodelkan proses-proses berfikir manusia dan mendesain mesin agar dapat menirukan kelakuan manusia tersebut.
Beberapa program AI yang mulai dibuat pada tahun 1956-1966, antara lain:
1.Logic Theorist, diperkenalkan pada Dartmouth Conference, program ini dapat membuktikan teorema-teorema matematika.
2.Sad Sam, diprogram oleh Robert K. Lindsay (1960). Program ini dapat mengetahui kalimat-kalimat sederhana yang ditulis dalam bahasa Inggris dan mampu memberikan jawaban dari fakta-fakta yang didengar dalam sebuah percakapan.
3.ELIZA, diprogram oleh Joseph Weizenbaum (1967). Program ini mampu melakukan terapi terhadap pasien dengan memberikan beberapa pertanyaan

    
1.5     Lingkup Kecerdasan Buatan pada Aplikasi Komersial
                 
    Lingkup utama dalam kecerdasan buatan adalah:
1.      Sistem Pakar (Expert System). Disini komputer digunakan sebagai sarana untuk pengetahuan para pakar. Dengan demikian komputer akan memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh pakar.
2.      Pengolahan Bahasa Alami (Natural Language Processing). Dengan pengolahan bahasa alami ini diharapkan user dapat berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.
3.      Pengenalan Ucapan (Speech Recognition). Melalui pengenalan ucapan diharapkan manusia dapat berkomunikasi dengan komputer dengan menggunakan suara.
4.      Robotika & Sistem Sensor (Robotics & Sensory Systems).
5.      Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau obyek-obyek tampak melalui komputer.
6.      Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar.
7.      Game Playing.

 
1.6     Soft Computing
            Soft computing adalah koleksi dari beberapa metodologi yang bertujuan untuk mengeksploitasi adanya toleransi terhadap ketidaktepatan, ketidakpastian, dan kebenaran parsial untuk dapat diselesaikan dengan mudah, robustness, dan biaya penyelesaiannya murah. Definisi ini pertama kali diungkapkan oleh Prof. Lotfi A. Zadeh pada tahun 1992.
            
Unsur Pokok dalam Soft Computing :
1.Sistem Fuzzy (mengakomodasi ketidaktepatan);
2.Jaringan Syaraf (menggunakan pembelajaran);
3.Probabilistic Reasoning (mengakomodasi ketidakpastian);
4.Evolutionary Computing (optimasi).
Keempat unsur tesebut bukan merupakan pesaing antara satu dengan lainnya, namun diantaranya bisa saling melengkapi. Sehingga, Zadeh juga mendefinisikan bahwa soft computing itu merupakan hubungan antara logika fuzzy, neuro-computing, probabilistic reasoning, dan algoritma genetik.


BAB II
Pengenalan Intellegent Agents

           AGENT adalah sesuatu yang dapat mengesan ( percieving ) lingkungan ( environment ) nya  melalui  sensors dan bertindak ( Acting ) terhadap lingkungan tersebut melalui actuators.

Dalam kecerdasan buatan, intelligent agent (IA) adalah sebuah entitas otonom yang mengamati dan bertindak atas lingkungan (yaitu membutuhkan agen) dan mengarahkan aktivitasnya untuk mencapai tujuan  yaitu rasional.Intelligent agen juga dapat belajar atau menggunakan pengetahuan untuk mencapai tujuan mereka. Russell & Norvig (2003) mengartikan Rational Agent  yang mengerjakan segala sesuatu hal dengan benar.

Selanjutnya saya akan membahas tentang PEAS. PEAS adalah singkatan dari Performance Measure, Environment, Actuators, dan Sensor. Dimana harus dispesifikasikan terlebih dahulu mengenai rancangan intelligent agent.

Lalu tipe tipe agent yang terdapat dalam intelegent agent ada 5 tipe, yaitu:

1. Simple Reflex Agents
Agen reflex sederhana merupakan agen yang paling sederhana karena hanya menerapkan teknik kondisi-aksi. Jadi, jika terjadi tertentu maka agen akan secara sederhana memberikan aksi tertentu.

2. Model Based Reflex Agents
            Agen reflex sederhana dapat melakukan tindakanya dengan baik jika lingkungan yang memberikan kesan tidak berubah-ubah. Misalkan untuk kasus agen pengendara taxi, agen tersebut hanya dapat menerima kesan dari mobil dengan model terbaru saja.

3. Goal-Based Agents
            Suatu agen tertentu harus diberikan informasi tentang tujuan yang merupakan keadaan yang ingin dicapai oleh agent.

4. Utility-Based Agents
            Agen refleks berbasis tujuan tidak membedakan keadaan yang bagus dengan keadaan yang tidak bagus untuk agent.

5. Learning Agents
            Learning agents belajar dari pengalaman, meningkatkan kinerja bertanggung jawab untuk membuat perbaikan elemen kinerja bertanggung jawab untuk memilih tindakan eksternal kritikus memberikan umpan balik tentang bagaimana agen bekerja.


BAB III
Pengenalan Logical Agent

3.1     Logical Agent
          Logic merupakan jantung dari program, para pemrogram mempunyai keyakinan bahwa sebuah computer dapat dibuat mengerti logika, maka computer dapat dibuat untuk berfikir, karena logika kelihatannya menjadi inti dari kecerdasan.
1        Problem solving agent hanya bisa menyelesaikan masalah yang lingkungannya accessible
2        Kita membutuhkan agen yang dapat menambah pengetahuan dan menyimpulkan keadaan
3        Agent yang akan membantu seperti ini kita beri nama knowledge based agent

3.2     Knowledge Based Agent
            Komponen utama dari knowledge based agent adalah knowledge basenya. Knowledge base (KB) adalah kumpulan representasi fakta tentang lingkungan atau dunia yang berhubungan atau menjadi daerah bekerjanya agen. Setiap representasi dalam KB disebut sebagai sebuah sentence yang diekspresikan dalam sebuah bahasa yakni knowledge representation language.
1        Representasi Pengetahuan yang bersifat general.
2        Kemampuan beradaptasi sesuai temuan fakta.
3        Kemampuan menyimpulkan sesuatu dari pengetahuan yang sudah ada.

Syarat Representasi KB:
1        Representational    Adequacy
kemampuan merepresentasikan semua pengetahuan yang dibutuhkan dalam domainnya
2        Inferential Adequacy
kemampuan memanipulasi struktur pengetahuan untuk membentuk struktur baru dalam menampung pengetahuan baru hasil inferensi
3        Inferential Efficiency
kemampuan untuk manambahkan informasi untuk mempercepat pencarian dalam inferensi
4        Acquisitional Eficiency
kemampuan untuk menambah informasi baru secara mudah.

3.4     Logic Model
            Logic Models merupakan cara logis untuk membuat perencanaan yang mudah dievaluasi dan logis. Logic Models memberikan gambaran atas suatu program, yang berbentuk grafik dan tulisan yang menunjukan hubungan antara berbagai aktivitas dalam suatu program dengan hasil dan outcome yang akan dicapai. Logic Models dapat didefinisikan sebagai alat atau rerangka konsep yang membantu mengidentifikasi suatu program melalui perencanaan dengan analisis atas sumber daya (resources), proses dan aktivitas yang akan dilakukan (activities), Outputs yang ingin dicapai, orang yang menjadi sasaran program (Customers), dan Outcomes. Logic Models dapat digunakan untuk mengevaluasi hasil dari suatu program. Tahap pertama dalam mengimplementasi Logic Models terhadap suatu program adalah analisis mengenai How to do the Program. Suatu program akan menggunakan sumber daya tersentu, untuk melakukan suatu proses, yang menghasilkanoutput tertentu, sehingga customer dapat melakukan perubahan sesuai outcome yang ingin dituju. Dengan demikian, hasil dari suatu progam sesuai target.

BAB IV
Metode Pencarian dan Pelacakan

             Pencarian dan pelacakan merupakan suatu hal penting dalam suatu sistem. Karena pencarian dan pelacakan ini adalah hal yang menentukan keberhasilan sistem tersebut. Pada dasarnya, metode pencarian dan pelacakan dibagi dua, yaitu Pencarian Buta (blind search) dan Pencarian Tersusun (heuristic search).

Pelacakan adalah teknik untuk pencarian. Didalam pencarian ada dua kemungkinan hasil yang didapat yaitu menemukan dan tidak menemukan. Sehingga pencarian merupakan teknik yang penting dalam AI. Hal penting dalam menentukan keberhasilan sistem berdasarkan kecerdasan adalah kesuksesan dalam pencarian dan pencocokan.
Pencarian adalah suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state place). Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin.
Dua teknik pencarian dan pelacakan
– Pencarian buta (blind search)
• Pencarian melebar pertama (Breadth – First Search)
• Pencarian mendalam pertama (Depth – First Search)
– Pencarian terbimbing (heuristic search)
• Pendakian Bukit (Hill Climbing)
• Pencarian Terbaik Pertama (Best First Search)

Pencarian Melebar Pertama (Breadth-First Search)
• Semua node pada level n akan dikunjungi terlebih dahulu sebelum level n+1
• Mulai dari akar terus ke level 1 dari kiri ke kanan
• Kemudian ke level selanjutnya hingga solusi ditemukan.




• Keuntungan
– Tidak akan menemui jalan buntu
– Menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan 
yang paling baik
– Jika ada satu solusi maka bread-first search akan menemukannya

• Kelemahannya
– Membutuhkan memori yang cukup banyak
– Membutuhkan waktu yang cukup lama

Pencarian mendalam pertama (Depth-First Search)
• Proses pencarian dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel

• Keuntungan
– Memori yang relatif kecil
– Secara kebetulan, akan menemukan solusi tanpa harus menguji lebih banyak lagi.




Pencarian Heuristik
• Pencarian buta tidak selalu dapat diterapkan dengan baik
– Waktu aksesnya yang cukup lama
– Besarnya memori yang diperlukan
• Metode heuristic search diharapkan bisa menyelesaikan permasalahan yang lebih besar.
• Metode heuristic search menggunakan suatu fungsi yang menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke simpul tujuan disebut fungsi heuristic

Pembangkit & Pengujian (Generate and Test)
• Pada prinsipnya metode ini merupakan penggabungan antara depth-first search dengan pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan awal.
Algoritma:
– Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu atau lintasan tertentu dari keadaan awal).
– Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node tersebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.
– Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah yang pertama.
Kelemahan dari Pembangkit & Pengujian (Generate and Test) yaitu ;
– Perlu membangkitkan semua kemungkinan sebelum dilakukan pengujian
– Membutuhkan waktu yang cukup lama dalam pencariannya

Pendakian Bukit (Hill Climbing)
• Metode ini hampir sama dengan metode pembangkitan & pengujian, hanya saja proses pengujian dilakukan dengan menggunakan fungsi heuristik.
• Pembangkitan keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan.
• Tes yang berupa fungsi heuristic ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnya yang mungkin.

Simple Hill Climbing
Algoritma
– Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti; dan jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.
– Kerjakan langkah-langkah berikut sampai solusinya ditemukan, atau sampai tidak ada operator baru yang akan diaplikasikan pada keadaan sekarang:
• Cari operator yang belum pernah digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru.
• Evaluasi keadaan baru tersebut.
• Jika keadaan baru merupakan tujuan, keluar.
• Jika bukan tujuan, namun nilainya lebih baik daripada keadaan sekarang, maka jadikan keadaan baru tersebut menjadi keadaan sekarang.
• Jika keadaan baru tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi.
.

Sumber :