Jumat, 19 Oktober 2012

Sistem Pakar dan Implementasi Sistem Pakar



Sistem Pakar

Definisi sistem pakar :
Penjelasan mengenai Sistem Pakar apabila ditinjau dari beberapa aspek, antara lain :

·      Implementasi kecerdasan sang pakar berbasis kode program komputer (code base skill implemetation), menggunakan teknik-teknik tertentu dengan bantuan database ataupun tidak.
·      Suatu bidang dari ilmu kecerdasan buatan dalam kaitannya dengan sistem pendukung keputusan yang dirancang dengan memasukkan unsur-unsur keahlian dari satu atau beberapa orang pakar kedalam suatu konsep terprogram (code base concept) dalam rangka pengambilan keputusan.
·      Menurut Marimin (1992), sistem pakar adalah sistem perangkat lunak komputer yang menggunakan ilmu, fakta, dan teknik berpikir dalam pengambilan keputusan untuk menyelesaikan masalah-masalah yang biasanya hanya dapat diselesaikan oleh tenaga ahli dalam bidang yang bersangkutan.

Adapun ciri-ciri sistem pakar diantaranya adalah :
1.      ·   Bekerja secara sistematis berdasarkan pengetahuan dan mekanisme tertentu.
2.      ·   Pengambilan keputusan berdasarkan kaidah-kaidah tertentu dan dapat merespons masukkan user (melalui kotak dialog).
3.      ·   Dapat menalar data-data yang tidak pasti dan memberikan beberapa alasan pemilihan.
4.      ·   Dikembangkan secara bertahap dan terbatas pada bidang keahlian tertentu saja.
5.      ·   Outputnya berupa saran atau anjuran.

Beberapa kelebihan dari sistem pakar antara lain :
§  Efisiensi waktu, namun sistem atau orang biasa/awam yang terlibat di dalamnya bekerja layaknya sang pakar.
§  Penyimpanan data-data pengetahun ke dalam database dengan lengkap dan terpercaya menyebabkan informasi yang dibutuhkan bisa diakses dalam jangka waktu yang cukup lama. Sehingga seseorang yang berkonsultasi dengan sistem tersebut seolah-olah berkonsultasi dengan pakar aslinya.
§  Dimungkinkan terjadinya penyatuan kemampuan sistem pakar yang satu dengan yang lainnya, sehingga membuat kualitas hasil lebih meningkat sehingga seolah-olah seorang user berkonsultasi dengan banyak pakar.
§  Efisiensi kerja, karena sistem biaya yang dikeluarkan untuk perancangan, implementasi dan perawatan(maintenance) sistem pakar relatif lebih murah dan tidak mengenal sifat lelah/lupa dll. Hal ini berimbas pada meningkatnya produktivitas dan kinerja perusahaan.
§  Suatu aplikasi sistem pakar dapat diperbanyak dan disebarluaskan dengan mudah dan cepat. Hal ini berarti telah memperbanyak jumlah pakar dan memperluas jangkauan aksesnya.
Adapun sub-sub sistem pakar tersebut bila dirinci antara lain :
ü  Perencanaan
ü  Prediksi
ü  Diagnosis
ü  Pengajaran
ü  Interpretasi
ü  Kontrol
ü  Simulasi

Pembagian diatas tentu saja mengacu pada standar pengolahan pengetahuan dalam rangka menyajikan saran/rekomendasi kepada pengguna. Hal ini berkaitan erat dengan sistem pendukung keputusan dari segi analisa masalah dan solusinya.

Tabel perbedaan antara sistem pakar dan sistem pendukung keputusan
Karaktristik
Decission Support Systems (DSS)
Expert Systems
Fungsi
Mencerminkan gaya dan kemampuan manajer untuk memecahkan masalah.
Membuat keputusan melebihi kemampuan manajer.
Alur Penalaran
Tidak terperinci.
Terperinci dengan jelas.
Kemampuan memberikan alasan
Tidak ada.
Ada, terbatas.
Kemampuan menjelaskan
Terbatas.
Ada.
Pembuat keputusan
Manusia dan/atau sistem.
Sistem.
Metode manipulasi data
Numeric.
Simblik.

Dalam kaitannya dengan proses pengambilan keputusan, beberapa manfaat yang dapat diberikan oleh sistem pakar kepada manajer perusahaan antara lain :
• Solusi
Aternatif solusi yang dihasilkan melalui sistem pakar umumnya lebih banyak, lebih beralasan dengan beberapa pertimbangan teknis, penyajiannya lebih sistematis dan terkadang dilengkapi fitur-fitur tambahan seperti grafik, diagram dan alat-alat penunjang lainnya sehingga lebih merepresentasikan keadaan sebenarnya. Hal ini sangat diperlukan oleh seorang manajer mengingat keputusan yang diambil berbasis multi-kriteria.

• Logika
Penerapan logika pada kode-kode program dimungkinkan dalam tingkatan yang cukup rumit sekalipun. Hal serupa apabila dibebankan kepada manusia, maka akan membutuhkan waktu yang lama dengan kemungkinan kesalahan analisa dan faktor-faktor kelemahan manusiawi lainnya yang cenderung tinggi. Sistem pakar memberikan hasil dalam waktu yang cepat melalui penalaran yang terstruktur.

• Waktu
Cepatnya hasil analisa dikeluarkan oleh suatu aplikasi sistem cerdas membuat para pengambil keputusan memiliki waktu yang banyak untuk mengevaluasi hasil keluaran



sistem tersebut. Hal ini tentunya cukup membantu mempercepat kerja manajer khusunya dan perusahaan umumnya.
• Konsisten.
Keputusan yang dihasilkan akan lebih konsisten dan terarah, mengingat bahwa algoritma yang digunakan dalam pengeksekusian data adalah tetap dan konsisten.


  1. §  Implementasi Sistem Pakar di Bidang Ekonomi

System pakar sangat berguna di bidang ekonomi, terutama dalam hal pengambilan keputusan untuk memulai suatu investasi usaha. Apalagi pada saat sekarang orang awam banyak kurang memahami pasar modal sehingga mereka cenderung menggunakan intuisi daripada analisa dalam  berinvestasi. Kondisi ini mengakibatkan mereka harus menghadapi resiko yang tinggi dalam berinvestasi. Untuk meminimumkan resiko tersebut diperlukan suatu alat seperti sistem pakar yang mampu menganalisa sesuai dengan keadaan yang terjadi di pasar modal, sehingga investor menjadi lebih yakin dalam berinvestasi.
Pengembangan sistem ini dilakukan dengan tujuan untuk membantu menganalisa dalam proses pengambilan keputusan di bursa efek. Oleh karena itu aplikasi system pakar yang dibuat untuk menganalisa bursa efek Surabaya yaitu Portofolio Management System (PMS) diharapkan dapat melakukan :
• Mampu mengambil keputusan
• Langkah-langkah pengambilan keputusan jelas
• Mudah dikembangkan lebih lanjut

Sebagaimana ciri-ciri umum sistem pakar, maka di PMS terdapat knowledge base sebagai landasan pijak dalam pengambilan keputusan. Knowledge base ini mengandung dua elemen dasar, yaitu fakta dan aturan. Karena kondisi bursa sebagai tempat studi kasus selalu berkembang berfluktuasi, maka perancangan PMS ini harus memperhatikan keluwesan sistem terhadap perubahan baik kondisi bursa maupun lingkungan yang mempengaruhi bursa. Sistem harus dapat mengikuti kejadian yang berkembang di bursa saham dengan melakukan update untuk memantau perubahan nilai (value) efek atau atribut.
kelebihan dan kekurangan dari system pakar. Dari segi kelebihan dapat kita ambil beberapa point yaitu :

o  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 sebelum berinvestasi.
o   Memberikan solusi tepat waktu. Kadang kala seorang investor 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.
o   Menyimpan pengetahuan. Pengetahuan pakar merupakan hal yang penting dan kadang kala pengetahuan iniakan hilang jika pakar keluar atau telah pensiun. Dengan sistem pakar, pengetahuan dari pakar dapat disimpan di sistem pakar dan tersedia terus selama dibutuhkan.
Segi kekurangannya :
·               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 (perbarui-red), 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
§  Implementasi Sistem Pakar di Bidang Sosial Budaya
System pakar sangat erat kaitannya dengan social budaya. Bidang social yang sangat berkaitan dengan system pakar adalah psikologi. Karena ilmu psikologi bisa memanfaatkan system pakar untuk memberikan solusi dari beberapa sifat yang dimiliki oleh seseorang tanpa menggunakan psikolog.
Hal tersebut sangat membantu karena estimasi waktu untuk pemikiran solusi bagi seseorang bisa dilakukan sesingkat mungkin. Ada suatu kasus, seorang anak sangat bergantung pada kehidupan internet. Hal tersebut bukanlah tanpa alasan mengingat bahwa banyak situs yang menampilkan berbagai test EQ maupun IQ.
Selain itu teknologi dunia maya ini memberikan banyak kesempatan kepada individu untuk mengekspresikan diri secara unik. Namun demikian para Psikolog berpendapat, kalau seseorang gagal mengintegrasikan antara diri sejati dengan diri yang diekspresikan secara berbeda di internet, maka hal ini akan sangat berbahaya bagi pertumbuhan pribadi orang tersebut. Mengenai dampak internet sebagai alat explorasi diri, para Psikolog memandang hal tersebut tergantung dari pribadi si penggunanya.
Tentu internet akan bermanfaat jika mampu meningkatkan kehidupan seseorang, dan sebaliknya menjadi penyakit jika membuat kacau kehidupan orang tersebut. Pengaruh buruk akan terjadi jika internet digunakan sebagai sarana untuk mengisolasi diri. Banyak orang tidak sadar bahwa lama-kelamaan ia menutup diri terhadap komunikasi sosial entah karena keasikan ngebrowse atau karena internet dipakai sebagai pelarian dari masalah-masalah yang berhubungan dengan kepribadiannya.
Hal itu dapat terjadi karena ada individu yang menampilkan kepribadian yang berbeda pada saat online dengan offline. Motivasi dibalik itu tentu berbeda antara satu orang dengan yang lain. Permasalahan akan rumit jika alasannya adalah karena individu tersebut tidak puas/suka terhadap dirinya sendiri (mungkin karena rasa minder, malu, atau merasa tidak pantas), lantas menciptakan dan menampilkan kepribadian yang lain sekali dari dirinya yang asli. Seringkali ia lebih suka pada kepribadian hasil rekayasa yang baru karena tampak ideal baginya. Padahal, menurut para Psikolog, hal ini tidak benar dan tidak sehat.
Melalui system pakar inilah para psikolog bisa membuat suatu aplikasi yang bisa menampung segala sifat yang dimiliki seseorang, kemudian membuat suatu keputusan pemecahan suatu masalah kejiwaan, sehingga bisa mengurangi tingkat pemikiran. Selain itu pasien juga bisa mengetahui langsung keputusan yang muncul tanpa harus didampingi oleh psikolog.
Dari hal tersebut, bisa diambil kesimpulan bahwa kelebihan yang bisa didapat dari hal diatas adalah :

      System pakar bisa memberikan keputusan yang cepat dari masalah-masalah kejiwaan yang dihadapi seseorang tanpa harus didampingi oleh psikolog. System pakar bisa membuat pemikiran psikolog lebih ringan karena segala keputusan bisa diperoleh tanpa harus berpikir lebih mendalam.

Kerugian yang bisa terjadi adalah :
• Apabila terjadi kesalahan system bisa berakibat fatal, karena masalah tersebut menyangkut kejiwaan social seseorang.
• Sifat daripada jiwa social seseorang sangat beragam, sehingga keputusan yang dikeluarkan oleh system tidak selalu 100 % benar. Sehingga perlu adanya koreksi dari psikolog itu sendiri.
§  Decision Support System didalam organisasi
Decision Support System dalam sebuah organisasi digunakan untuk menganalisa sebuah permasalahan yang terjadi dalam organisasi tersebut untuk kemudian dengan decision support system tersebut dicari dan dibuatlah sebuah pemecahan masalah yang terbaik.
Manfaat yang dapat diperoleh dari pengguanaan metode decision support system ini antara lain :
- memperluas pangsa pasar
- memudahkan mendapatkan material dan jasa
- memotong jalur distribusi pemasaran, sehingga produk menjadi lebih murah
- mengurangi biaya pembuatan, pengolahan, distribusi, penyimpanan dan penerimaan informasi dengan mendigitalisasi proses tersebut
- inventori yang lebih rendah dengan fasilitas manajemen rantai persediaan
- membantu beberapa bisnis kecil bersaing dengan perusahaan besar

§  Implementasi decision support system di perusahaan / industry
Salah satu jenis sistem aplikasi yang sangat popular di kalangan manajemen perusahaan adalah Decision Support System atau disingkat DSS. DSS ini merupakan suatu sistem informasi yang diharapkan dapat membantu manajemen dalam proses pengambilan keputusan.
Hal yang perlu ditekankan di sini adalah bahwa keberadaan DSS bukan untuk menggantikan tugas-tugas manajer, tetapi untuk menjadi sarana penunjang (tools) bagi mereka. DSS sebenarnya merupakan implementasi teori-teori pengambilan keputusan yang telah diperkenalkan oleh ilmu-ilmu seperti operation research dan management science.
Hanya bedanya adalah bahwa jika dahulu untuk mencari penyelesaian masalah yang dihadapi harus dilakukan perhitungan iterasi secara manual (biasanya untuk mencari nilai minimum, maksimum, atau optimum), saat ini komputer PC telah menawarkan kemampuannya untuk menyelesaikan persoalan yang sama dalam waktu relatif singkat.
Dalam kedua bidang ilmu di atas, dikenal istilah decision modeling, decision theory, dan decision analysis – yang pada hakekatnya adalah merepresentasikan permasalaha n manaje-men yang dihadapi setiap hari ke dalam bentuk kuantitatif (misalnya dalam bentuk model matematika).
Contoh klasik dari persoalan dalam bidang ini adalah linear programming, game’s theory, transportation problem, inventory system, decision tree, dan lain sebagainya. Dari sekian banyak problem klasik yang kerap dijumpai dalam aktivitas bisnis perusahaan sehari-hari, sebagian dapat dengan mudah disimulasikan dan diselesaikan dengan menggunakan formula atau rumus-rumus sederhana. Tetapi banyak pula masalahan yang ada sangat rumit sehingga membutuhkan kecanggihan komputer.
Dalam DDS terdapat tiga tujuan yang harus di capai yaitu :
- Membantu manajer dalam pembuatan keputusan untuk memecahkan masalah semi terstruktur
- Mendukung keputusan manajer, dan bukannya mengubah atau mengganti keputusan tersebut
- Meningkatkan efektivitas menajer dalam pembuatan keputusan, dan bukannya peningkatan efisiensi
Tujuan ini berkaitan dengan tiga prinsip dasar dari konsep DSS, yaitu struktur masalah, dukungan keputusan, dan efektivitas keputusan.


  1. §  Implemetasi Sistem Pakar di Bidang Ilmu Pengetahuan

1. Impementasi sistem pakar di bidang robotika
           
Pada bidang robotika penerapan sistem pakar sangat jelas. Sebagaimana yang kita ketahui selama ini, robot merupaka suatu benda yang dapat bekerja secara otomatis. Baik bekerja berdasarkan program yang sudah diinputkan atau menerima input dalam bentuk sensor (gerak, cahaya, suhu, dll).
Robot yang diciptakan perusahaan ini suatu bentuk implementasi dari sistem pakar. Salah satu tujuan pembangunan proyek ini adalah membangun robot yang pada masa mendatang dapat membantu manusia dalam mengerjakan tugas sehari-hari.
Karya anak bangsa adalah robot penjinak bom yang digunakan oleh gegana. Tetapi robot ini bekerja berdasarkan input dari remote control. Bentuk lain adalah mesin-mesin pada pabrik. Pada barang elektronik seperti mesin cuci, pendingin ruangan, lemari es dan sebagainya. Pada elektronik rata-rata menggunaka fuzzy logic dalam mekanisme kerjanya.
Pada contoh-contoh impementasi di sekitar kita. Kita dapat menyimpulkan bahwa terdapat beberapa keutungan dan kerugian sistem pakar pada bidang ini. Keuntungannya antara lain :
a. Tugas manusia semakin ringan.
b. Tugas yang mengancam nyawa dapat diminimalisir dengan memanfaatkan robot.
c. Efisiensi waktu.

d. Membantu rumah tangga.
e. Kemajuan teknologi akan membuat generasi muda untuk berusaha menciptakan robot yang lebih pintar lagi.
            Kerugiannya antara lain:
a. Manusia akan semakin malas, dengan era yang serba otomatis.
b. Pengurangan SDM jika pabrik-pabrik menggunakan mesin serba otomatis.
c. Jika tidak dapat mengambil positif dari teknologi robot ini maka akan membuat kehidupan yang ketergantungan.

2 2. Impementasi sistem pakar di bidang kedokteran

Bidang kedokteran sangat erat hubungannya dengan kesehatan. Penerapan sistem pakar pada bidang ini akan sangat membantu dalam kelangsungan hidup sesorang. Beberapa alat kedokteran saat ini sudah memanfaatkna sistem pakar. Ada yang sebagai penentu keputusan dan ada juga yang bekerja untuk menyembuhkan suatu penyakit mulai yang sederhana hingga yang kronis.
Contoh alat kedokteran yang menerapkan sistem pakar di dalamnya antara lain USG (ultrasonografi). Alat ini bekerja berdasarkan pantulan gelombang suara ultrasonik. Banyak digunakan untuk mendeteksi janin dalam kandungan. Alat ini bekerja dengan menerima input berupa suara yang lalu diolah menjadi sebuah informasi berupa visual.
Alat lain yang menerapkannya adalah pengukur kadar lemak dalam darah. Alat ini berfungsi untuk mengetahui kadar lemak dalam darah seseorang. Terlebih dahulu diberi input yang mendukung perhitungan. Perhitungan alat ini telah dirumuskan dengan rule base yang telah terprogram. Setelah input dimasukkan maka alat ini secara otomatis mengolah datanya dan hasilnya berupa keputusan.
Alat terapi kanker yang menghasilkan keputusan berupa bentuk terapi yang otomatis dilakukan oleh alat ini. Sangat membantu memang bila tidak terjadi kesalahan. Tetapi karena kesalahan dalam pengambilan keputusan maka menimbulkan korban jiwa. Hal ini yang tidak diinginkan dari penerapan sistem pakar pada dunia kesehatan.

Seharusnya alat-alat yang dilengkapi sistem pakar pada bidang ini hanya bersifat membantu menghasilkan keputusan bukan secara otomatis melakukan tindakan. Bagaimana pun keputusan final tetap berada pada tangan ahlinya. Dan sistem pakar tercanggih adalah manusia. Sistem pakar yang diterapkan semata-mata hanya sebagai pendukung keputusan. Bila mana dimungkinkan untuk kerja otomatis, itu juga hanya mengerjakan input yang merupakan keputusan dari ahli di bidangnya (dokter/spesialis).
Dari berbagai contoh sistem pakar di bidang kedokteran tampak beberapa keuntungan dan kerugian dalam penerapannya. Keuntungan dan kerugian inilah yang sebaiknya dicermati dalam pembuatan dan penggunaannya di bidang kedokteran ini. Keuntungan yang dapat diambil antara lain:
a. Membantu dalam menghasilkan keputusan berupa analisa suatu penyakit.
b. Membantu tugas yang tidak dapat dilakukan secara manual oleh manusia.
c. Memudahkan untuk penyembuhan.

Kerugian yang dapat terjadi antara lain:
a. Error yang terjadi saat pengambilan keputusan.
b. Rule base yang harus sesuai dengan kondisi setiap pasien.
c. Efek samping dari tindakan yang dilakukan oleh alat.







Daftar pustaka :
Kaprodi, Sistem Pakar
Tika, ARTIFCIAL INTELLIGENCE
Syamsuddin,Aries , PENGANTAR SISTEM PAKAR , 2004, www.IlmuKomputer.Com

PENGENALAN program PROLOG (Programming in Logic)


Prolog merupakan bahasa pemrograman logika atau sebagai bahasa non-procedural. Namanya diambil dari bahasa Perancis programmation en logique (pemrograman logika). Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan komputer.
prolog menjadi populer di Eropa untuk aplikasi AI. Sedangkan di Amerika Serikat, para peneliti juga mengembangkan bahasa lain untuk aplikasi yang sama yaitu LISP. LISP mempunyai kelebihan dibandingkan prolog , tetapi LISP lebih sulit dipelajari.
Pada mulanya, Prolog adalah bahasa yang sangat murni yang didasarkan pada keindahan logika. Sejak ditemukannya pada tahun 1970-an oleh ketiga orang di atas, Prolog berkembang dengan lambat dan hanya digunakan oleh para peneliti dari universitas-universitas terkenal karena hanya merekalah yang dapat mengerti arti dari pentingnya Prolog. Dalam masa pengembangannya, para peneliti banyak menemukan kebutuhan-kebutuhan baru yang perlu ditambahkan di Prolog.
Pada awalnya, Prolog dan LISP sangat lambat dalam eksekusi program dan memakan memori yang besar sehingga hanya kalangan tertentu yang menggunakannya. Dengan adanya Compiler Prolog, kecepatan eksekusi program dapat ditingkatkan, namun Prolog masih dipandang sebagai bahasa yang terbatas (hanya digunakan di kalangan perguruan tinggi dan riset).
Pada awal tahun 1980-an, dunia industri mulai menyadari kelebihan-kelebihan yang dimiliki oleh Prolog dibandingkan dengan bahasa konvensional lainnya. Dengan terlibatnya dunia industri, maka timbul tuntutan-tuntutan baru, misalnya tuntutan akan eksekusi waktu yang lebih cepat, kebutuhan memori yang lebih kecil dan kebutuhan praktis lainnya. Namun hal ini justru menimbulkan 2 kelompok yang mempunyai filosofi yang berbeda.
Di satu sisi, mereka menganggap bahwa Prolog merupakan bahasa penelitian sehingga mereka menginginkan banyak hal tercakup dalam Prolog sehingga Prolog dapat digunakan secara luwes untuk berbagai keperluan penelitian. Di sisi lainnya, mereka yakin bahwa Prolog seharusnya dapat menjadi bahasa yang berguna untuk mengembangkan berbagai macam aplikasi yang bukan penelitian.
Pandangan umum Prolog, hanya digunakan di kalangan perguruan tinggi dan riset, tiba-tiba berubah di tahun 1981 pada konverensi internasional I dalam system generasi kelima di Tokyo, Jepang. Jepang yang saat itu mengalami kesulitan bersaingdalam pemasaran komputer dengan Amerika Serikat, mencanangkan rencana pengembangan teknologi hardware dan software untuk tahun 1990-an. Dan bahasa yang dipilih adalah Prolog.
Sejak saat itu, banyak orang menaruh minat pada prolog dan saat itu telah dikembangkan versi prolog yang mempunyai kecepatan dan kemampuan yang lebih tinggi, lebih murah dan lebih mudah digunakan, baik untuk komputer mainframe maupun komputer pribadi sehingga Prolog menjadi alat yang penting dalam program aplikasi kecerdasan buatan (AI) dan pengembangan system pakar (expert system).

  • Perbedaan Prolog dengan Bahasa Lain

Bahasa Pemrograman yang Umum (Basic, Pascal, C, Fortran):
Bahasa Pemrograman Prolog :
  1. 1. diperlukan algoritma/prosedur untuk memecahkan masalah (procedural languange)
  2. 2. program menjalankan prosedur yang sama berulang-ulang dengan data masukan yang berbeda-beda.
  3. Prosedur dan pengendalian program ditentukan oleh programmer dan perhitungan dilakukan sesuai dengan prosedur yang telah dibuat.
  1. Object oriented languangeatau declarative languange.
  2. Tidak terdapat prosedur, tetapi  hanya kumpulan data-data objek (fakta) yang akan diolah, dan relasi antar objek tersebut membentuk aturan yang diperlukan untuk mencari suatu jawaban
  3. Programmer menentukan tujuan (goal), dan komputer menentukan bagaimana cara mencapai tujuan tersebut serta mencari jawabannya.
  4. Dilakukan pembuktian terhadap cocok-tidaknya tujuan dengan data-data yang telah ada dan relasinya.
  5. Prolog ideal untuk memecahkan masalah yang tidak terstruktur, dan prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non numerik.
  6. Prolog bekerja seperti pikiran manusia, proses pemecahan masalah bergerak di dalam ruang masalah menuju suatu tujuan (jawaban tertentu). Contoh : Pembuatan program catur dengan Prolog

  • Keunggulan Prolog
Keunggulan Prolog terletak pada kemampuannya untuk mengambil kesimpulan (jawaban) dari data-data yang ada. Karena program dalam bahasa prolog tidak memerlukan prosedur (algoritma). Prolog sangat ideal untuk memecahkan masalah yang tidak terstruktur dan yang prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non-numerik.
Misalnya, dalam pembuatan program catur dengan prolog untuk menentukkan gerakan catur anda tidak perlu menganalisa semua kemungkinan atau menentukkan suatu prosedur tertentu untuk untuk menentukan gerakan berikutnya. Tetapi anda cukup menuliskan aturan umum permainan catur dan lebih baik lagi jika ditambah dengan aturan yang diperoleh dari pengalaman. Prolog akan menentukan sendiri langkah yang akan diambil berdasarkan data-data yang ada saat itu dan aturan-aturan yang diberikan.
  • Aplikasi Prolog
  1. Sistem Pakar (Expert System).
Sistem Pakar (Expert System) yaitu program yang menggunakan teknik pengambilan kesimpulan dari data yang didapat seperti yang dilakukan oleh seorang ahli dalam memecahkan masalah. Komputer dapat diprogram untuk berbuat seperti orang yang ahli dalam bidang tertentu. Komputer yang demikian dapat dijadikan seperti konsultan atau tenaga ahli di bidang tertentu yang dapat menjawab pertanyaan dan memberikan nasehat yang dibutuhkan.
Tujuan utama sistem pakar bukan untuk menggantikan kedudukan seseorang ahli atau pakar tetapi hanya untuk memasyarakatkan pengetahuan dan pengalaman pakar-pakar tersebut. System pakar memungkinkan orang lain meningkatkan produktifitasnya, memperbaiki kualitas keputusannya, sistem pakar bias memecahkan masalah yang rumit meskipun tidak ada seorang ahli.
2.   Pengolahan bahasa alami (Natural Language processing).
Natural Language Processing merupakan program yang dibuat agar pemakai dapat berkomunikasi dengan komputer dalam bahasa manusia sehari-hari (bahasa apapun). Sebagai contoh adalah Lotus HAL, yaitu program Bantu untuk Lotus 1-2-3 agar dapat menerima perintah bahasa inggris seperti bahasa biasa.
Program pengolahan bahasa alami menggunakan teknik AI dalam analisis input bahasa yang dimasukan melalui keyboard, program tersebut berusaha mengidentifikasi sintak, semantil dan konteks yang terkandung dalam suatu kalimat agar bias sampai pada kesimpulan untuk bias memberikan jawaban.
3.  Robotik

Dalam robotik, Prolog digunakan untuk mengolah data masukan yang berasal dari sensor dan mengambil keputusan untuk menentukan gerakan yang harus dilakukan. Apalagi kalau robot menemukan peristiwa yang tidak diharapkan atau situasi yang berbeda.
4.  Pengenalan Pola (Pattern Recognition).
Pengenalan pola banyak diterapkan dalam bidang robotic dan pengolahan citra (image processing). Misalkan, bagaimana computer dapat membedakan gambar sebuah benda dan gambar benda yang lain, atau sebuah obyek yang berada diatas obyek lain.
5.  Belajar
Bidang ini berkaitan dengan program yang dapat belajar dari kesalahan yang pernah dilakukan, dari pengamatan atau dari hal-hal yang pernah dilakukan. Secara singkat, berarti membuat sebuah computer mampu untuk mengambil manfaat dari pengalaman yang pernah ditemuinya.
6.  Game
Suatu cara belajar yang digunakan dalam menganalisa interaksi antara sejumlah pemain maupun perorangan yang menunjukkan strategi-strategi yang rasional. Game adalah permainan video yang dimainkan pada komputer, dan bukan pada konsol permainan. Game dibuat berdasarkan logika yang dikembangkan dan diterapkan ke dalam bentuk visual.
  • Macam-macam Prolog
1.  Strawberry prolog
2.  Visual prolog
3.  SWI prolog
4.  Turbo prolog


sumber:
http://id.wikipedia.org/wiki/Prolog 
http://forum.himatif.or.id/viewtopic.php?f=10&t=895&sid=14c116b92f8ff04c1a5a76573b95d55b

Sabtu, 23 Juni 2012

DEFINISI QUEUE


Jika diartikan secara harafiah, queue berarti antrian, queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehiduypan sehari-hari, misalnya saat Anda mengantri di loket untuk membeli tiket. Istilah yang cukup sering dipakai seseorang masuk dalam sebuah antrian adalah enqueue. Dalam suatu antrian, yang dating terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue. Walaupun berbeda implementasi, struktur data queue setidaknya harus memiliki operasi-operasi sebagai
berikut :
EnQueue Memasukkan data ke dalam antrian
DeQueue Mengeluarkan data terdepan dari antrian
Clear Menghapus seluruh antrian
IsEmpty Memeriksa apakah antrian kosong
IsFull Memeriksa apakah antrian penuh

Implementasi Queue dengan Double Linked List
Selain menggunakan array, queue juga dapat dibuat dengan linked list. Metode linked list yang digunakan adalah double linked list. Operasi-operasi Queue dengan Double Linked List :
• IsEmpty
Fungsi IsEmpty berguna untuk mengecek apakah queue masih kosong atau sudah berisi data. Hal ini dilakukan dengan mengecek apakah head masih menunjukkan pada Null atau tidak. Jika benar berarti queue masih kosong.


• IsFull
Fungsi IsFull berguna untuk mengecek apakah queue sudah penuh atau masih bias menampung data dengan cara mengecek apakah Jumlah Queue sudah sama dengan MAX_QUEUE atau belum. Jika benar maka queue sudah penuh.
• EnQueue
Fungsi EnQueue berguna untuk memasukkan sebuah elemen ke dalam queue (head dan tail mula-mula meunjukkan ke NULL).
• DeQueue
Procedure DeQueue berguna untuk mengambil sebuah elemen dari queue. Hal ini dilakukan dengan cara menghapus satu simpul yang terletak paling depan (head).
OPERASI DASAR PADA ANTREAN
Ada 4 operasi dasar yang dapat dilakukan pada Struktur Data Antrean, yaitu :
1. CREATE(Antrean)
2. ISEMPTY(Antrean)
3. INSERT(Elemen,Antrean)
4. REMOVE(Antrean)

Pandang misalnya Antrean Q = [ Q1 , Q2 , .., QNOEL ], maka
1. CREATE(Antrean)
Adalah suatu operator untuk membentuk dan menunjukan suatu Antrean Hampa Q.
Berarti : NOEL(CREATE(Q) = 0
FRONT(CREATE(Q)) = tidak terdefinisi
REAR(CREATE(Q)) = tidak terdefinisi
2. ISEMPTY(Antrean)
Adalah operator yang menentukan apakah Antrean Q hampa atau tidak. Operand dari operator ini merupakan Antrean, sedangkan hasilnya merupakan Type data Boolean.
ISEMPTY(Q)=True,jika Q hampa, yaitu jika NOEL(Q)=0
False, jika Q tidak hampa, yaitu jika NOEL(Q) <> 0
Maka ISEMPTY(CREATE(Q)) = True.
3. INSERT(Elemen,Antrean)
Operator yang menginsert (mengisi) elemen E kedalam Antrean Q. Elemen E ditempatkan dibagian depan dari Antrean. Hasil dari Operasi ini adalah Antrean yang lebih panjang.
REAR(INSERT(E,Q)) = E
QNOEL Adalah E

ISEMPTY(INSERT(E,Q)) = False