Senin, 10 Oktober 2016

Peng. Teknologi Sistem Cerdas

BAB I
Pengenalan Intelegensi Buatan
1.1     Definisi Kecerdasan Buatan
            Kecerdasan Buatan adalah salah satu cabang Ilmu pengetahuan berhubungan dengan pemanfaatan mesin untuk memecahkan persoalan yang rumit dengan cara yang lebih manusiawi. 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
            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.
            Lebih murah. Menyediakan layanan komputer akan lebih mudah & murah dibandingkan mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama.
            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.
            Lebih cepat dan lebih baik.
Sedangkan
            Kecerdasan Alami
            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.
1.4     Sejarah Kecerdasan Buatan
Pada awal abad 17, René Descartes mengemukakan bahwa tubuh hewan bukanlah apa-apa melainkan hanya mesin-mesin yang rumit. Blaise Pascal menciptakan mesin penghitung digital mekanis pertama pada 1642. Pada 19, Charles Babbage dan Ada Lovelace bekerja pada mesin penghitung mekanis yang dapat diprogram.
Bertrand Russell dan Alfred North Whitehead menerbitkan Principia Mathematica, yang merombak logika formal. Warren McCulloch dan Walter Pitts menerbitkan "Kalkulus Logis Gagasan yang tetap ada dalam Aktivitas " pada 1943 yang meletakkan pondasi untuk jaringan syaraf.
Tahun 1950-an adalah periode usaha aktif dalam AI. Program AI pertama yang bekerja ditulis pada 1951 untuk menjalankan mesin Ferranti Mark I di University of Manchester(UK): sebuah program permainan naskah yang ditulis oleh Christopher Strachey dan program permainan catur yang ditulis oleh Dietrich Prinz. John McCarthy membuat istilah "kecerdasan buatan " pada konferensi pertama yang disediakan untuk pokok persoalan ini, pada 1956. Dia juga menemukan bahasa pemrograman LispAlan Turingmemperkenalkan "Turing test" sebagai sebuah cara untuk mengoperasionalkan test perilaku cerdas. Joseph Weizenbaum membangun ELIZA, sebuah chatterbot yang menerapkan psikoterapi Rogerian.
Selama tahun 1960-an dan 1970-an, Joel Moses mendemonstrasikan kekuatan pertimbangan simbolis untuk mengintegrasikan masalah di dalam program Macsyma, program berbasis pengetahuan yang sukses pertama kali dalam bidang matematika. Marvin Minsky dan Seymour Papert menerbitkan Perceptrons, yang mendemostrasikan batas jaringan syaraf sederhana dan Alain Colmerauer mengembangkan bahasa komputer PrologTed Shortliffe mendemonstrasikan kekuatan sistem berbasis aturan untuk representasi pengetahuan dan inferensi dalam diagnosa dan terapi medis yang kadangkala disebut sebagai sistem pakar pertama. Hans Moravec mengembangkan kendaraan terkendali komputer pertama untuk mengatasi jalan berintang yang kusut secara mandiri.
Pada tahun 1980-an, jaringan syaraf digunakan secara meluas dengan algoritma perambatan balik, pertama kali diterangkan oleh Paul John Werbos pada 1974. Tahun 1990-an ditandai perolehan besar dalam berbagai bidang AI dan demonstrasi berbagai macam aplikasi. Lebih khusus Deep Blue, sebuah komputer permainan catur, mengalahkan Garry Kasparov dalam sebuah pertandingan 6 game yang terkenal pada tahun 1997. DARPA menyatakan bahwa biaya yang disimpan melalui penerapan metode AI untuk unit penjadwalan dalam Perang Teluk pertama telah mengganti seluruh investasi dalam penelitian AI sejak tahun 1950 pada pemerintah AS.
Tantangan Hebat DARPA, yang dimulai pada 2004 dan berlanjut hingga hari ini, adalah sebuah pacuan untuk hadiah $2 juta dimana kendaraan dikemudikan sendiri tanpa komunikasi dengan manusia, menggunakan GPS, komputer dan susunan sensor yang canggih, melintasi beberapa ratus mil daerah gurun yang menantang.
     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
2.1     Agent dan Lingkungannya
            Agents adalah segala sesuatu yang dapat melihat/ mengartikan/ mengetahui (perceiving) linkungannya melalui alat sensor (sensors) dan bertindak (acting) melalui alat aktuator (actuators).
            Manusia sebagai agent : mata, telinga dan organ lainnya sebagai sensors; tangan, kaki, mulut dan bagian tubuh lainnya sebagai actuators.
            Robot sebagai agent : kamera dan pejejak infra merah sebagai sensors; berbagai motor pengerak sebagai actuators.
             Software sebagai agent : tekanan pada keyboard, isi file dan paket paket pada jaringan sebagai masukan sensors; tampilan pada layar, penulisan file dan pengiriman paket jaringan sebagai keluaran actuators.
            Fungsi agent adalah pemetaan dari urutan persepsi (percept) menjadi tindakan (actions)
            Program agent berjalan pada arsitektur fisik untuk menghasilkan fungsi agent (f) agent = architecture + program.
2.2     Konsep Rasionalitas
            Rational agent adalah agent yang melakukan sesuatu yang benar
            Setiap kolom pada tabel (Vacuum-cleaner world) diselesaikan/dikerjakan dengan   benar
            Apakah sesuatu yang benar ?
            Agent yang paling sukses/ berhasil
            Mengukur kesuksesan/ keberhasilan ?

            Pengukur kemampuan haruslah objektif (contoh : Vacuum cleaner world)
            Jumlah debu yang dapat dibersihkan pada waktu tertentu
            Seberapa bersih lantai
            Besarnya konsumsi listrik
            Besarnya noise yang dihasilkan

            Rasional tergantung pada 4 hal :
1.      Kemampuan yang terukur,
2.      Pengetahuan lingkungan sebelumnya/ terdahulu,
3.      Tindakan,
4.      Urutan persepsi (sensors).

            DEF: Untuk setiap urutan persepsi yang mungkin, rational agent harus memilih tindakan yang diharapkan dapat memaksimalkan kemampuan dengan memberikan bukti yang dihasilkan dari urutan persepsi dan pengetahuan yang dimiliki oleh agent.
            Rationalitas ≠ kemahatahuan (omniscience) An omniscient agent adalah agent mengetahui akibat yang terjadi dari suatu tindakan.
            Agent dapat bertindak sesuai dengan yang diharapkan untuk memodifikasi persepsi akan datang dengan mendapatkan informasi yang berguna (pengumpulan informasi dan eksplorasi) Agent dikatakan autonomous, jika perilakunya ditentukan oleh pengalamannya sendiri (dengan kemampuan untuk belajar dan beradaptasi)
2.3     PEAS
            PEAS : Perfomance measure , Environment , Actuators , Sensors 
Pertama-tama harus menentukan pengaturan untuk desain agen cerdas
Contoh:  tugas merancang supir taksi otomatis  
Perfomance Measure : Aman , cepat , legal , perjalanan menyenangkan , maksimumkan keuntungan 
Environment : jalan , trafik lain , pejalan kaki , pelanggan
Actuators : kemudi , gas , rem , lampu sign , horn 
Sensors : kamera , sonar , speedometer , GPS , odometer , engine sensors , keyboard
2.4     Jenis-Jenis Lingkungan 
            Fully observable ( vs. partially obervable ): Sensor-Sensor Sebuah agen memberinya akses ke keadaan lengkap lingkungannya pada setiap jangka waktu.
            Determenistic( vs. stochastic ): Keadaan lingkungan berikutnya sepenuh di tentukan oleh keadaan sekarang dan tindakan yang di laksanakan oleh agen. ( jika lingkungan itu determenistik kecuali untuk tindakan agen-agen lain , maka lingkungannya adalah strategic )
            Episodic( vs.sequential ): Pengalamn agen dibagi kedalam "episode-episode"atomik ( setiap episode terdiri dari si agen memahami ( perceiving ) dan kemudian melaksanakan satu tindakan dan pilihan tindakan dalam tiap episode hanya tergantung pada episode itu sendiri.
2.5     Struktur Agen
            Perilaku agen : tindakan yang di lakukan setelah di berikan sembarang sekuen        persepsi.
            Tugas Al adalah merancang program agen yang mengimplementasikan , fungsi agen yang memetakan persepsi ke tindakan .
            Diasumsikan program ini berjalan di beberapa alat komputasi yang di lengkapi sensors dan actuators (di sebut arsitektur).
            Agent = arsitektur + program.
            Program yang di pilih harus sesuai dengan arsitektur tersebut.
            Cth : action : Walk  ->  arsitekturnya hendaklah memliki kaki.
2.6     Program-Program Agen
            Empat jenis dasar untuk menambah generalitas :
1.      Simple reflex agents
2.      model-based reflex agents
3.      goal-based agents
4.      utility-based agents

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).
            Pertama saya akan membahas tentang Pencarian Buta (Blind Search). Pencarian Buta tidak mempunyai informasi awal dan di simpulkan berdasarkan urutan tertentu dan dibagi menjadi 2, yaitu :
- Pencarian Melebar Pertama (Breadth-Search First)
Pencarian melebar pertama dilakukan dengan melakukan pencarian dengan cara mencari yang dilakukan dengan cara melebar dari node pertama hingga berlanjut kepada node di level selanjutnya. Dimulai pada node n, dan dilanjutkan n+1. Pencarian akan terus dilakukan dari akar kiri ke kanan hingga hasil ditemukan.
-Pencarian Mendalam Pertama (Depth-Search First)
Pencarian metode ini melakukan pencarian pada semua node "anaknya" sebelum dilakukan pencarian ke node-node lain yang selevel. Pencarian dimulai dari node akar ke level yang lebih tinggi, dan proses terus diulang hingga solusi ditemukan. Keuntungan dari metode ini adalah menggunakan memori yang relatif kecil, dan jika pencarian tepat, akan menemukan solusi tanpa harus menguji lebih banyak node. Namun, metode ini tetap memiliki kelemahan, yaitu memungkinkan hasil tidak ditemukan, dan setiap 1 kali pencarian hanya akan menghasilkan satu solusi.
             Kedua saya akan membahas tentang Pencarian Tersusun (heuristic search). Pencarian tersusun mempunyai informasi awal yang digunakan dalam proses pencarian. Heuristic search juga disimpulkan menjadi 2, yaitu :
Generate and test adalah gabungan dari pencarian depth first dengan pelacakan mundur. Nilai dari pengujian ini berupa "ya" atau "tidak". Pencarian ini memiliki beberapa algoritma, yaitu :
1.      Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu atau lintasan tertendu dari keadaan awal).
2.      Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengancara membandingkan node tersebut atau node akhir dari suatu lintasan yang dipilih merupakan tujuan yang diharapkan.