Hidup itu Kebahagiaan yang harus di syukuri

Minggu, 28 Oktober 2012

Artificial Intellegence (AI)


1.    Sejarah Artificial Intellegence (kecerdasan buatan)
Kecerdasan Buatan (Artificial Intelligence) merupakan inovasi baru di  bidang ilmu pengetahuan. Mulai ada sejak muncul komputer modern, yakni pada 1940 dan 1950. Pada tahun 1956, istilah AI mulai dipopulerkan oleh Jhon McCarthy dalam konferensi Dartmouth tahun 1956, yang dihadiri oleh para peneliti AI. Pada konferensi tersebut juga didefinisikan tujuan utama dari kecerdasan buatan, yaitu mengetahui dan memodelkan proses-proses berpikir manusia dan mendesain mesin agar dapat menirukan kelakuan manusia. Ilmu pengetahuan komputer ini khusus ditujukan dalam  perancangan otomatisasi tingkah laku cerdas dalam sistem kecerdasan komputer.
Menurut beberapa ahli kecerdasan buatan didefinisikan sebagai berikut :
Ø  Menurut H.A.Simon [1987]: ”Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan hal yang dalam pandangan manusia adalah cerdas”.
Ø  Menurut  Rich and knight [1991]: “Kecerdasan buatan (artificial intelligence) merupakan sebuah studi tentang bagaimana membuat komputer melakukan halhal yang pada saat ini dapat dilakukan lebih baik oleh manusia”.
Kecerdasan buatan dilihat dari berbagai sudut pandang adalah sebagai berikut :
1. Sudut pandang Kecerdasan (Intelligence)
Kecerdasan buatan adalah bagaimana membuat mesin yang “cerdas” dan dapat melakukan hal-hal yang sebelumnya dapat dilakukan oleh manusia.
2. Sudut pandang Penelitian
Studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik yang dilakukan oleh manusia.
3. Sudut pandang Bisnis
Kumpulan peralatan yang sangat powerful dan metodologis dalam menyelesaikan masalah-masalah bisnis.
4. Sudut pandang Pemrograman (Programming)
Kecerdasan buatan  termasuk didalamnya adalah studi tentang pemrograman simbolik, pemecahan masalah, proses pencarian (search).1
Walaupun AI memiliki konotasi fiksi ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Pada awalnya, kecerdasan buatan hanya ada di universitas-universitas dan laboratorium penelitian, serta hanya sedikit produk yang dihasilkan dan  dikembangkan. Menjelang akhir 1970-an dan 1980-an, mulai dikembangkan secara penuh dan hasilnya berangsur-angsur dipublikasikan di khalayak umum. AI banyak digunakan untuk pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah.
Beberapa program AI yang mulai dibuat pada tahun 1956-1966 antara lain :
1.      Logic Theorist, diperkenalkan pada Dartmouth Conference di tahun yang sama dengan pengenalan AI, 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 Weinzenbaum (1967). Program ini mampu melakukan terapi terhadap pasien dengan memberikan beberapa pertanyaan.

Menurut Winston dan Prendergast (1984), tujuan dari kecerdasan buatan adalah :
1. Membuat mesin menjadi lebih pintar (tujuan utama)
2. Memahami apa itu kecerdasan (tujuan ilmiah)
3. Membuat mesin lebih berguna (tujuan entrepreneurial)

Permasalahan di dalam kecerdasan buatan akan selalu bertambah dan berkembang seiring dengan laju perkembangan zaman menuju arah globalisasi dalam setiap aspek kehidupan manusia, yang membawa persoalan-persoalan yang semakin beragam pula. Program kecerdasan buatan lebih sederhana dalam pengoperasiannya, sehingga banyak membantu pemakai. Program konvensional dijalankan secara prosedural dan kaku, rangkaian tahap solusinya sudah didefinisikan secara tepat oleh pemrogramnya. Sebaliknya, pada program kecerdasan buatan untuk mendapatkan solusi yang memuaskan dilakukan pendekatan trial and error, mirip seperti apa yang dilakukan oleh manusia.

Sejarah penting pengembangan  bidang Kecerdasan Buatan
No
Tahun
Deskripsi
1
1206
Robot humanoid pertama karya Al-Jazari
2
1796
Boneka penuang the dari jepang bernama Karakuri
3
1941
Komputer elektronik pertama
4
1949
Komputer dengan program tersimpan pertama
5
1956
Kelahiran dari Artificial Intelligence pada Dartmouth conference
6
1958
Bahasa LISP dibuat
7
1963
Penelitian intensif departemen pertahanan Amerika
8
1970
Sisem pakar pertama diperkenalkan secara luas
9
1972
Bahasa Prolog diciptakan
10
1986
Perangkat berbasis AI dijual luas mencapai $425 juta
11
1994
AC berbasis Neuro fuzzy dijual
12
2010
Sistem kecerdasan buatan untuk Pesawat komersial BOEING 900-ER ramai digunakan
13
2011
Service Robot untuk restoran berhasil dibuat di Indonesia
14
2012
Sistem Pakar Troubleshooting Komputer berbasis Fuzzy dan Self Learning
15
2012
Sistem immune pada Deteksi spam diciptakan

2.    Hubungan kognisi manusia dan AI
Dalam perkembangannya AI memerlukan konsep-konsep dari kognisi manusia. Karena AI merupakan suatu program tiruan dari proses kerja kognisi manusia. Otak sebagai mesin berpikir memiliki sistem neuron dan sistem saraf yang sangat rumit, hal itu merupakan salah satu bagian yang sulit untuk pembuatan analoginya pada simulasi komputer.
Semua orang yang merangkai model proses distribsusi paralel seperti neuron pada otak manusia, telah bekerja keras untuk mencoba menemukan solusi atas pertanyaan tentang otak sebagai mesin berpikir, dan apakah komputer mampu meniru kemampuan otak serta kognidi manusia.
Otak sebagai mesin berpikir mesin yang berbeda secara fundamental dibandingkan dengan komputer Von Neumann yang sekarang biasa digunakan. Beberapa program komputer bekerja lebih efektif daripada pikiran manusia dikarenakan manusia memiliki kapasitas penyimpanan dan pemrosesan informasi yang terbatas, serta pelupa. Komputer memecahkan beberapa masalah, seperti soal matematika yang mendetil, lebih cepat dan lebih akurat daripada manusia. Tetapi beberapa tugas lain seperti mengeneralisasi dan mempelajari pola akivitas yang baru, membuat penilaian dan kesimpulan dapat dilakukan dengan sangat baik oleh manusia, dan komputer masi kalah baik.

3.    Sistem pakar
Sistem pakar adalah suatu program komputer yang mengandung pengetahuan dari satu atau lebih pakar manusia mengenai suatu bidang spesifik. Jenis program ini pertama kali dikembangkan oleh periset kecerdasan buatan pada dasawarsa 1960-an dan 1970-an dan diterapkan secara komersial selama 1980-an. Bentuk umum sistem pakar adalah suatu program yang dibuat berdasarkan suatu set aturan yang menganalisis informasi (biasanya diberikan oleh pengguna suatu sistem) mengenai suatu kelas masalah spesifik serta analisis matematis dari masalah tersebut. Tergantung dari desainnya, sistem pakar juga mampu merekomendasikan suatu rangkaian tindakan pengguna untuk dapat menerapkan koreksi. Sistem ini memanfaatkan kapabilitas penalaran untuk mencapai suatu simpulan.
a.       Struktur Sistem Pakar
Komponen utama pada struktur sistem pakar (Hu et al, 1987) meliputi:
1.    Basis Pengetahuan (Knowledge Base)
Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar. Basis pengetahuan tersusun atas fakta dan kaidah. Fakta adalah informasi tentang objek, peristiwa, atau situasi. Kaidah adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui. Menurut Gondran (1986) dalam Utami (2002), basis pengetahuan merupakan representasi dari seorang pakar, yang kemudian dapat dimasukkan kedalam bahasa pemrograman khusus untuk kecerdasan buatan (misalnya PROLOG atau LISP) atau shell sistem pakar (misalnya EXSYS, PC-PLUS, CRYSTAL, dsb.)

2.    Mesin Inferensi (Inference Engine)
Mesin inferensi berperan sebagai otak dari sistem pakar. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia. Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan dalam rangka mencapai solusi atau kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi penalaran dan strategi pengendalian.
Strategi penalaran terdiri dari strategi penalaran pasti (Exact Reasoning) dan strategi penalaran tak pasti (Inexact Reasoning). Exact reasoning akan dilakukan jika semua data yang dibutuhkan untuk menarik suatu kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan sebaliknya.
Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan prose penalaran. Terdapat tiga tehnik pengendalian yang sering digunakan, yaitu forward chaining, backward chaining, dan gabungan dari kedua tehnik pengendalian tersebut.

3.    Basis Data (Database)
Basis data terdiri atas semua fakta yang diperlukan, dimana fakta-fakta tersebut digunakan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem. Basis data menyimpan semua fakta, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemrosesan.

4.    Antarmuka Pemakai (User Interface)
User interface merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi. Sistem pakar menampilkan pertanyaan-pertanyaan yang hanya
perlu dijawab oleh pengguna. Pertanyaanpertanyaan itu harus dijawab dengan benar dan sesuai dengan masalah yang dihadapi pengguna. Antarmuka menerima jawaban dari pengguna dan selanjutnya sistem pakar mencari dan mencocokan ke dalam aturan sehingga diperoleh suatu kesimpulan. Jadi antarmuka menerima input berupa jawaban dari pemakai dan mengubahnya kedalam bentuk yang dapat di terima oleh sistem. Selain itu antarmuka menyajikan informasi dalam bentuk yang dapat dimengerti oleh pemakai. Menurut Mcloed Pada bagian ini terjadi dialog antar program dan pemakai, yang memungkinkan sistem pakar menerima instruksi dan input dari pemakai, juga memberikan informasi (output) kepada pemakai.



b.      Ciri Sistem Pakar
Ø  Memiliki fasilitas informasi yang handal,
Ø  Mudah dimodifikasi,
Ø  Dapat digunakan dalam berbagai jenis komputer,
Ø  Mempunyai kemampuan untuk belajar beradaptasi

c.       Kelebihan sistem pakar
Ø  Memberikan pengambilan keputusan yang lebih baik. Karena sistem pakar memberikan jawaban yang konsisten dan logis dari waktu ke waktu. Jawaban yang diberikan logis karena alasan logiknya dapat diberikan oleh sistem pakar dalam proses konsultasi.
Ø  Memberikan solusi tepat waktu. Kadang kala seorang manajer membutuhkan jawaban dari pakar, tetapi pakar yang dibutuhkan tidak berada ditempat, sehingga keputusan menjadi terlambat. Dengan sistem pakar, jawaban yang dibutuhkan oleh pengambil keputusan selalu tersedia setiap saat dibutuhkan.
Ø  Menyimpan pengetahuan di organisasi. Pengetahuan pakar merupakan hal yang penting dan kadang kala pengetahuan iniakan hilang jika pakar keluar atau telah pensiun dari perusahaan. Dengan sistem pakar, pengetahuan dari pakar dapat disimpan di sistem pakar dan tersedia terus selama dibutuhkan.

d.      Kelemahan Sistem pakar
Ø  Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal,
Ø  Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.
Ø  Sistem pakar tidak 100% bernilai benar
Ø  Sistem pakar hanya dapat menangani pengetahuan yang konsisten. Sistem pakar dirancang dengan aturan-aturan yang hasilnya sudah pasti dan konsisten sesuai dengan alur di diagram pohonnya. Untuk pengetahuan yang cepat berubah-rubah dari waktu ke waktu, maka knowledge base di sistem pakar harus selalu diubah (perbaruired), yang tentu cukup merepotkan.
Ø  Sistem pakar tidak dapat menangani hal yang bersifat judgement. Sistem pakar memberikan hasil yang pasti, sehingga keputusan akhir pengambilan keputusan jika melibatkan kebijaksaaan dan institusi masih tetap di tangan manajemen.
Ø  Format knowledge base sistem pakar terbatas. Knowledge base pada sistem pakar berisi aturan-aturan (rules) yang ditulis dalam bentuk statemen if-then.

e.       Aplikasi dari sistem pakar
·         ELIZA salah satu program komputerpertama yang mapu berkomunikasi, eliza ditulis oleh joseph Weizenbaum (1966). Beberpa revisi atas eliza telah dibuat dari konsep aslinya. Pada satu program spesifik, bernama DOCTOR, eliza mengambil peran seperti psikiater.respon dari komputer cenderung stereotip, misalnya dia diprogram untuk merespon beberapa kunci kalimat dengan respon yang hanyalah merupakan tranformasi dari kalimat aslinya. Seperti “pasien” mengatakan kata kunci “aku”, eliza merespon dengan gaya tutur seperti “aku turut bersedih mendengar kamu...” jika tidak ada kata kunci yang ditemukan,komputer akan menjawab dengan ciri-cirinya yang tanpa isi, atau ada beberapa kasus, perasaan, kecenderungan, dinamika kelompok, dan seterusnya, erbentuk menjadi apa yang mau tidak mau kita sebut pengertian. Eliza kekurangan hal itu.
·         PARRY merupakan suatu program seperti Eliza, tetapi dalam program tersebut perannya diballik. Psikiater berkomunikasi pada pasien simulasi kompute. Colby, Hilf, Weber, dan Kraemer (1972) mensimulasikan seorang pasien, dan menyebut program ini PARRY. Karena ia mensimulasikan seorang pasien paranoid. Mereka memilih seorang paranoid sebagai subyek karena bebrapa teori menyebutkan bahwa proses dan sistem paranoia memeang ada, perbedaan respons psikotis dan repon normalnya cukup hebat, dan mereka bisa menggunakan penilaian dari seorang ahli untuk mengecek keakuratan dari kemampuan pemisahan antara respon simulasi komputer dan respon manusia.
·         NETtalk progam ini jenisnya cukup berbeda, berdasarkan pada jaring jaring neuron, sehinnga dinamakan NETtalk. Program ini dikembangkan oleh Sejnowki disekolah medis harvard  dan Rosenberg di universitas Princeton. Dalam program ini, NETtalk  membaca tulisan dan mengucapkannya keras – keras. NETtalk membaca keras-keras dengan cara mengkonversi tulisan menjadi fenom-fenom, unit dasar dari suara sebuah bahasa. Sistem ini memiliki tiga lapisan: lapisan input, dimana setiap unit merespons sebuah tulisan; lapisan output, dimana unit menampilkan ke 55 fenom dalam bahasa inggris; dan sebuah lapisan unit tersembunyi, dimana setiap unit ditambahkan koneksinya pada setiap unit input maupun output. NETtalk membaca dengan memperhatikan setiap tulisan satu demi satu, dan dengan menscanning tiga tulisan pada setiap sisi demi sebuah informasi yang kontekstual. Disini lafal ‘e’ pada ‘net’, ‘neglect’, dan ‘red’ bisa ditangkap dengan bunyi yang berbeda. Setiap NETtalk membaca sebuah kata, program ini membandingkan pelafalannya dengan lafal yang benar yang disediakan manusia, kemudian menyesuaikan kekuatannya untuk memperbaiki setiap kesalahan.

  1. Langkah-langkah membuat sistem pakar
1)      Identifikasi masalah dan kebutuhan. Seperti banyak program komputer lainnya, pada dasarnya sistem pakar pun sama yaitu suatu solusi yang menjawab masalah. Agar pembuatan sistem pakar dapat dibenarkan, maka harus ada satu masalah yang harus dipecahkan atau harus dicocokan. Untuk ini maka langkah pertama yang harus dilakukan mengkaji situasi dan memutuskan dengan pasti tentang masalah yang akan dikomputerisasi dan apakah dengan sistem pakar bisa lebih membantu atau tidak. Dalam usaha untuk memperoleh suatu hasil yang memuaskan, sering dihadapkan kepada problema, yaitu problema waktu, produktivitas dan problema orang. Problem yang diidentifikasi harus benar-benar cocok untuk solusi sistem pakar. Didalam identifikasi dibahas tentang prosedur-prosedur seperti memahami keadaan gangguan, pengandaian blok-blok yang rusak serta membagi sebuah blok yang rusak dan menemukan bagian-bagian yang rusak serta pencarian gangguan kerusakan/kesalahan utama dan pakar yang terlibat.
2)      Menentukan kesesuaian masalah. Jika masalahnya sudah diidentifikasi dengan jelas, kemudian dilakukan pengkajian lebih mendalam untuk mengetahui apakah tepat menggunakan sistem pakar atau tidak. Hal penting yang harus diingat adalah hanya masalah tertentu yang bisa dipecahkan secara baik dengan menggunakan sistem pakar. Misalnya diagnosis kerusakan TV, diagnosis penyakit batuk, diagnosis penyakit mata dan lain-lain.
3)      Mempertimbangkan alternatif. Apabila sudah bisa mendapatkan masalah yang dianggap cocok untuk diterapkan dalam sistem pakar, perlu adanya pengkajian terlebih dahulu tentang alternatif-alternatif lain yang lebih mudah, cepat dan sesuai dengan masalah yang ingin diselesaikan.
4)      Menghitung pengembalian investasi. Langkah berikutnya adalah menentukan apakah sistem pakar lebih menguntungkan atau tidak. Perhitungan kembali tidaknya investasi dengan jalan menganalisis biaya dan kemungkinan keuntungan. Hal ini akan membantu dalam investasi pembuatan sistem pakar dan menentukan apakah biaya yang dikeluarkan itu akan sesuai dengan hasil yang akan dicapai.
5)      Menyeleksi alat pembuatan. Alat pengembangan sistem pakar adalah paket software dan hardware yang memungkinkan dan cocok untuk memasukkan pengetahuan pakar ke dalam komputer. Yakni melalui suatu proses analisis dan desain yang kemudian dilanjutkan dengan pembuatan suatu prototipe. Hampir semua alat pengembang sistem pakar menggunakan pangkalan kaidah, beberapa diantaranya menggunakan jaringan semantik atau matrik, tetapi bisa juga lebih mahal dan hanya bisa dioperasikan dalam komputer besar.
Dalam pembuatan sistem pakar sangat disarankan untuk menggunakan software khusus untuk sistem pakar (Prolog atau Visual Prolog, Lisp, Corvid). Hal ini karena software-software tersebut mempunyai kekuatan untuk mengambil kesimpulan (jawaban) dari data-data yang ada. Seperti contoh dalam bahasa prolog tidak memerlukan prosedur (algoritma), maka sangat ideal untuk memecahkan masalah yang tidak terstruktur dan yang prosedurnya tidak diketahui. Khususnya untuk memecahkan masalah non numerik.Selain itu pula tidak memerlukan spesifikasi dan kapasitas data yang sangat tinggi. Sebagai contoh: Sistem Pakar yang pernah dibuat oleh penulis yaitu Sistem pakar untuk diagnosis kerusakan TV, dengan jumlah 52 rule ternyata hanya membutuhkan kapasitas sebesar 14 KB untuk file data dan 3 KB untuk file mesin inferensi serta 77 KB untuk file aplikasinya. Sehingga dari kenyataan ini menunjukkan betapa sangat kecilnya kapasitas yang dibutuhkannya dan cukup dimuat dalam disket ukuran kecil. Jadi lebih praktis dan ekonomis serta dapat dengan mudah untuk diedarkan dan bermanfaat.
6)      Melaksanakan rekayasa pengetahuan. Pengembangan sistem pakar dimulai dengan merekayasa pengetahuan, yaitu bagaimana caranya memperoleh pengetahuan. Seperti kita ketahui, pengetahuan dapat diperoleh dengan berbagai cara, yaitu melalui buku-buku, artikel-artikel ilmiah atau acuan lainnya yang bisa diperoleh dengan mudah dan cepat.
Pengetahuan aktual dapat diperoleh dari individu atau seseorang yang memang ahli di bidangnya. Walaupun bisa memperoleh pengetahuan dari buku-buku, tapi toh masih tetap membutuhkan satu atau dua orang ahli yang khusus menekuni pekerjaan tersebut. Adapun cara atau teknik-teknik untuk memperoleh pengetahuan dari pakar misalnya observasi, diskusi masalah, diskripsi masalah, analsisi masalah dan tata cara perbaikan.
Format atau bentuk pengetahuan akan menuntun dan mengarahkan dalam memilih skema penampilan pengetahuan yang diperlukan. Jika itu merupakan pengetahuan yang luar biasa, maka dapat digunakan untuk merepresentasikan pengetahuan dalam bentuk kaidah produksi. Untuk itu selama tahap rekayasa pengetahuan, hendaknya harus berusaha menyempurnakan banyak kaidah yang paling sesuai. Dengan demikian akan mempunyai banyak pilihan alat pengembangan yang paling tepat.
7)      Merancang sistem. Dengan menggunakan pengetahuan yang sudah didapatkan beserta alatnya yaitu software dan hardware, maka sekarang dapat dilakukan tahap merancang sistem pakar. Pertama yaitu memilih alat representasi pengetahauan (misalnya matriks), kemudian mengembangkan matriks tersebut dengan membuat diagram pohon klasifikasi yang nantinya akan membantu dalam mengorganisasi dan memahami pengetahuan itu.
Dengan menggunakan bantuan ini mulailah mengkonversi pengetahuan dalam bentuk kaidah produksi. Sebaiknya mengikuti prosedur tertentu dengan yang disarankan oleh software yang dipilih. Bila sudah selesai barulah mulai menerjemahkan kaidah ke dalam basis data dan menguji bagian yang sudah dibuat. Hal ini dimaksudkan untuk menguji konsep sebelum melanjutkan pembuatan seluruh program. Sebagai langkah terakhir adalah membuat antarmuka pemakai (user interface).






Referensi :
ü  http://www.suaramerdeka.com/harian/0401/26/ragam5.htm
ü  Solso, R. L., Maclin, O. H., Maclin, M. K. (2009). Psikologi Kognitif. Jakarta: Erlangga
ü  Hersatoto Listiyono. Merancang dan Membuat Sistem Pakar. www.unisbank.ac.id/ojs/index.php/fti1/article/download/76/71. Fakultas Teknologi Informasi, Universitas Stikubank Semarang