Rabu, 07 April 2010

Males....

hari yang membosankan di kampus....pengen buru buru pulang trus ngerangkum kewarganegaraan 4 bab,,,,,,kapan w maen'a??giliran punya waktu tp ga punya uang T.T

Game Suit Gajah Semut Orang pada Java

Java merupakan perangkat lunak yang di dalamnya berisi pemrograman. buat orang awam seperti saya, menggunakan pemrograman java cukup bikin otak muter” dan harus kerja mati”an dalam mengerjakan suatu program. seperti dalam hal berikut, seorang dosen yang memberi tugas “membuat game sederhana menggunakan java”,, saya aja belum paham benar bagaimana cara membuat suatu program, malah udah di suruh bikin game.
GAME SUIT namanya,,
seperti inilah bentuk rupa listingnya..
..........listening program.........

package MainSuit;
import java.io.*;
public class MainSuit {
public static void main(String[] args) {
System.out.println(”Permainan suit”);
System.out.println(”==============”);
System.out.println(”Masukkan salah satu dari 3 kemungkinan :”);
System.out.println(”J untuk Jempol”);
System.out.println(”T untuk Telunjuk”);
System.out.println(”K untuk Kelingking”);
System.out.println(” “);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = null;
boolean inputvalid = false;
int suitKomputer = 0;
int suitUser = 0;
while (!inputvalid) {
System.out.print(”Masukkan suit Anda “);
try {
input = br.readLine();
} catch (IOException ioe) {
System.out.println(”Kesalahan IO, program berhenti”);
System.exit(1);
}
if (input.length() > 0) {
switch (input.charAt(0)) {
case ‘j’ :
case ‘J’ :
suitUser = 0;
inputvalid = true;
break;
case ‘t’ :
case ‘T’ :
suitUser = 1;
inputvalid = true;
break;
case ‘k’ :
case ‘K’ :
suitUser = 2;
inputvalid = true;
break;
}
}
}
suitKomputer = (int)(Math.random()*3);
if (suitKomputer == 3) {
suitKomputer = 2;
}
switch (suitKomputer) {
case 0:
System.out.println(”Suit komputer = Jempol”);
switch (suitUser) {
case 0:
System.out.println(”Seri”);
break;
case 1:
System.out.println(”Anda kalah”);
break;
case 2:
System.out.println(”Anda menang”);
break;
}
break;
case 1:
System.out.println(”Suit komputer = Telunjuk”);
switch (suitUser) {
case 0:
System.out.println(”Anda menang”);
break;
case 1:
System.out.println(”Seri”);
break;
case 2:
System.out.println(”Anda kalah”);
break;
}
break;
case 2:
System.out.println(”Suit komputer = Kelingking”);
switch (suitUser) {
case 0:
System.out.println(”Anda kalah”);
break;
case 1:
System.out.println(”Anda menang”);
break;
case 2:
System.out.println(”Seri”);
break;
}
break;
}
}
}
..........akhir listening........

Sistem Pakar

Secara umum, sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para ahli di bidangnya. Sistem pakar ini juga akan dapat membantu aktivitas para pakar sebagai asisten yang berpengalaman dan mempunyai asisten yang berpengalaman dan mempunyai pengetahuan yang dibutuhkan. Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu.

Ciri-Ciri Sistem Pakar

Sistem pakar yang baik harus memenuhi ciri-ciri sebagai berikut :

Memiliki informasi yang handal.

Mudah dimodifikasi.

Dapat digunakan dalam berbagai jenis komputer.

Memiliki kemampuan untuk belajar beradaptasi.

Keuntungan Sistem Pakar

Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar, antara lain :

1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli.

2. Bisa melakukan proses secara berulang secara otomatis.

3. Menyimpan pengetahuan dan keahlian para pakar.

4. Meningkatkan output dan produktivitas.

5. Meningkatkan kualitas.

6. Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka).

7. Mampu beroperasi dalam lingkungan yang berbahaya.

8. Memiliki kemampuan untuk mengakses pengetahuan.

9. Memiliki reabilitas.

10. Meningkatkan kapabilitas sistem komputer.

11. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian.

12. Sebagai media pelengkap dalam pelatihan.

13. Meningkatkan kapabilitas dalam penyelesaian masalah.

14. Menghemat waktu dalam pengambilan keputusan

.

Kelemahan Sistem Pakar

Di samping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain :

1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.

2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.

3. Sistem Pakar tidak 100% bernilai benar.

Alasan Pengembangan Sistem Pakar

Sistem pakar sendiri dikembangkan lebih lanjut dengan alasan :

Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.

Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.

Seorang pakar akan pensiun atau pergi.

Seorang pakar adalah mahal.

Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat.

Modul Penyusun Sistem Pakar

Menurut Staugaard (1987) suatu sistem pakar disusun oleh tiga modul utama yaitu :

1. Modul Penerimaan Pengetahuan (Knowledge Acquisition Mode) Sistem berada pada modul ini, pada saat ia menerima pengetahuan dari pakar. Proses mengumpulkan pengetahuan-pengetahuan yang akan digunakan untuk pengembangan sistem, dilakukan dengan bantuan knowledge engineer. Peran knowledge engineer adalah sebagai penghubung antara suatu sistem pakar dengan pakarnya.

2. Modul Konsultasi (Consultation Mode)

Pada saat sistem berada pada posisi memberikan jawaban atas permasalahan yang diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul ini, user berinteraksi dengan sistem dengan menjawab pertanyaan-pertanyaan yang diajukan oleh sistem.

3. Modul Penjelasan (Explanation Mode)

Modul ini menjelaskan proses pengambilan keputusan oleh system (bagaimana suatu keputusan dapat diperoleh).

Struktur Sistem Pakar

Komponen utama pada struktur sistem pakar menurut 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.

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 teknik pengendalian tersebut.

3. Basis Data (Data Base)

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)

Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai.dengan komputer.

Teknik Representasi Pengetahuan

Representasi pengetahuan adalah suatu teknik untuk merepresentasikan basis pengetahuan yang diperoleh ke dalam suatu skema/diagram tertentu sehingga dapat diketahui relasi/keterhubungan antara suatu data dengan data yang lain. Teknik ini membantu knowledge engineer dalam memahami struktur pengetahuan yang akan dibuat sistem pakarnya. Terdapat beberapa teknik representasi pengetahuan yang biasa digunakan dalam pengembangan suatu sistem pakar, yaitu

a. Rule-Based Knowledge

Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk representasi ini terdiri atas premise dan kesimpulan.

b. Frame-Based Knowledge

Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame.

c. Object-Based Knowledge

Pengetahuan direpresentasikan sebagai jaringan dari obyek-obyek. Obyek adalah elemen data yang terdiri dari data dan metoda (proses).

d. Case-Base Reasoning

Pengetahuan direpresentasikan dalam bentuk kesimpulan kasus (cases).

Inferencing dengan Rule : Forward dan Backward Chaining

Inferensi dengan rules merupakan implementasi dari modus ponen, yang direfleksikan dalam mekanisme search (pencarian). Dapat pula mengecek semua rule pada knowledge base dalam arah forward maupun backward. Proses pencarian berlanjut sampai tidak ada rule yang dapat digunakan atau sampai sebuah tujuan (goal) tercapai. Ada dua metode inferencing dengan rules, yaitu forward chaining atau data-driven dan backward chaining atau goal-driven.

a. Backward chaining

Menggunakan pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (ataupun kontradiktif) dari ekspektasi tersebut.

Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining.

b. Forward chaining

Forward chaining merupakan grup dari multiple inferensi yang melakukan pencarian dari suatu masalah kepada solusinya.

Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan meng-assert konklusi.

Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh.

Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining.