Minggu, 21 Oktober 2012

Membuat menu pada prolog

Berikut ini adalah program menu dengan menggunakan bahasa Prolog, dengan menggabungkan 3 program yaitu Input Biodata, Volume Lingkaran, dan Grade Nilai.

Jalankan SWI-Prolog.
Masuk ke Terminal, dengan klik Application –> Accessories –> Terminal, Ketikswipl di Terminal lalu tekan Enter.

Tulis source code berikut pada gedit :



program:-nl,
write('=========================='),nl,
write('           Menu           '),nl,
write('=========================='),nl,
write('1. Biodata'),nl,
write('2. Volume'),nl,
write('3. Grade'),nl,
write('=========================='),nl,
write('Masukkan Pilihan [1..3] : '),read(Pil),nl,
(
Pil=1->nl,
write('Masukkan Nama : '),read(Nama),
write('Masukkan NPM : '),read(Npm),
write('Nama '),write(Nama),nl,
write('NPM '),write(Npm),nl,
program;

Pil=2->nl,
write('Masukkan R : '),read(R),
Volume is 3.14*4/3*R*R*R,
write('Volume : '),write(Volume),nl,
program;

Pil=3->nl,
write('Masukkan Nilai Uts : '),read(Uts),
write('Masukkan Nilai Uas : '),read(Uas),
Total is (Uts+Uas)/2,
write('Total : '),write(Total),nl,
(
Total > 95 -> write('A');
Total > 75 -> write('B');
Total > 60 -> write('C');
Total > 45 -> write('D');
write('E')),
program;

write('Terima kasih!')).



Simpan ke folder Home (yang berisi Documents, Pictures, Public, Download, dll) dengan nama misalkan menu.pl, harus diakhiri dengan ekstensi ( .pl ) tanpa tanda kurung. atau biasanya save sajah kalau menggunakan SWI prolog nanti bisa langsung ter ekstensi .pl

Compile programnya dengan mengetikkan perintah [filename] pada program, karena nama filenya menu.pl, maka ketikkan [menu] tanpa ekstensi .pl nya, dan tekan Enter.
atau klik file [ada menu bar pilih consult lalu pilih save yang tadi yang berupa menu.pl apabila tidak ada eror jalankan programnya.

Setelah itu tampilkan dengan mengetikkan program. pada program SWI Prolog lalu tekan Enter, masukkan angka '1' untuk masuk ke program Input Biodata atau angka '2' untuk program Volume Lingkaran atau angka '3' untuk program Grade Nilai dan jangan lupa untuk menambahkan ( . ) tanpa tanda kurung pada setiap akhir penginputan/pemasukkan lalu tekan Enter.

Senin, 15 Oktober 2012

Definisi Bahasa Menurut Ahli


Bahasa adalah sistem lambang bunyi ujaran yang digunakan untuk berkomunikasi oleh masyarakat pemakainya. Bahasa yang baik berkembang berdasarkan suatu sistem, yaitu seperangkat aturan yang dipatuhi oleh pemakainya. Bahasa sendiri berfungsi sebagai sarana komunikasi serta sebagai sarana integrasi dan adaptasi.


Berikut ini adalah pengertian dan definisi bahasa menurut para ahli:
# BILL ADAMS
Bahasa adalah sebuah sistem pengembangan psikologi individu dalam sebuah konteks inter-subjektif

# PLATO
Bahasa pada dasarnya adalah pernyataan pikiran seseorang dengan perantaraan onomata (nama benda atau sesuatu) dan rhemata (ucapan) yang merupakan cermin dari ide seseorang dalam arus udara lewat mulut

# CARROL
Bahasa adalah sebuah sistem berstruktural mengenai bunyi dan urutan bunyi bahasa yang sifatnya manasuka, yang digunakan, atau yang dapat digunakan dalam komunikasi antar individu oleh sekelompok manusia dan yang secara agak tuntas memberi nama kepada benda-benda, peristiwa-peristiwa, dan proses-proses dalam lingkungan hidup manusia

# SUDARYONO
Bahasa adalah sarana komunikasi yang efektif walaupun tidak sempurna sehingga ketidaksempurnaan bahasa sebagai sarana komunikasi menjadi salah satu sumber terjadinya kesalah pahaman.

# WILLIAM A. HAVILAND
Bahasa adalah suatu sistem bunyi yang jika digabungkan menurut aturan tertentu menimbulkan arti yang dapat ditangkap oleh semua orang yang berbicara dalam bahasa itu

Minggu, 14 Oktober 2012

Program Prolog


Prolog adalah bahasa pemrograman logika yang berhubungan dengan kecerdasan buatan dan komputasi linguistik atau di sebut juga sebagai bahasa non-procedural. Prolog merupakan salah satu Intrepreter yaitu bahasa program yang menerjemahkan Line-code baris per baris.

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.

Dalam Prolog, logika program dinyatakan dalam hal hubungan, proses komputasi dimulai dengan menjalankan query berdasar atas hubungan ini. Bahasa prolog berpedoman pada kepada hubungan kepada kata-kata, anak kalimat, frase dan konstektual secara dinamis sesuai bahasa kita sehari-hari. Prolog  sangat berguna untuk database, matematika simbolik, dan aplikasi parsing bahasa. Prolog dapat memeriksa apakah terdapat predikat palsu yang diakibatkan oleh ketidaksengajaan. Prolog juga memiliki logika tersendiri yang disebut "pure Prolog", serta sejumlah fitur extralogical.

Bahasa prolog dikenal sebagai bahasa yang lebih sederhana dan efisien dibandingkan bahasa pemrograman lainnya meskipun untuk bahasa basic, seperti Pascal.

Secara umum, program Visual Prolog terdiri dari empat section dasar, yaitu section CLAUSES yaitu section yang paling penting pada program Visual prolog yaitu tempay meletakkan Fakta dan Aturan, section PREDICATES yaitu tempat untuk mendeklarasikan predikat , section DOMAINS bermanfaat untuk memberikan nama yang berarti untuk domain, dan juga digunakan untuk mendeklarasikan struktur data yang tidak didefinisikan standar domain, dan section GOAL yaitu merupakan body sebuah aturan.

Terdapat lima aplikasi yang dapat diterapkan melalui program prolog. Yang pertama adalah Expert System, yaitu menggunakan teknik pengambilan kesimpulan dari data-data yang didapat, layaknya seorang ahli. Contoh dalam mendiagnosa penyakit. Kedua adalah Natural Languange Processing, yaitu program dibuat agar pemakai dapat berkomunikasi dengan komputer dalam bahasa manusia sehari-hari, layaknya penterjemah. Ketiga adalah Robotics,  yaitu mengolah data masukan yang berasal dari sensor dan mengambil keputusan untuk menentukan gerakan yang harus dilakukan. Keempat adalah Pattern Recognition, yaitu kemampuan untuk dapat membedakan suatu objek dengan objek yang lain. Sering digunakan pada Image Processing. Yang terakhir adalah Learning, yaitu prolog dapat belajar dari kesalahan yang pernah diminta untuk dilakukan.

FAKTA (FACTS) DAN RELASI (RELATIONS)

Prolog terdiri dari kumpulan data-data objek yang merupakan suatu fakta. Fakta dibedakan 2 macam yaitu fakta yang menunjukkan relasi dan fakta yang menunjukkan sifat/milik. Dalam penulisannya selalu diakhiri dengan tanda titik.

Fakta
Prolog
Tarno adalah paman Budi
paman (tarno, budi).
Santi adalah seorang guru
guru (santi).
Bejo suka mangga dan membaca
suka(bejo, mangga). dan suka(bejo, membaca).
Mawar berwarna merah
Merah(


ATURAN (RULES)

Aturan adalah suatu pernyataan yang menunjukkan bagaimana fakta-fakta berinteraksi satu dengan yang lain untuk membentuk suatu kesimpulan. Sebuah aturan dinyatakan sebagai suatu kalimat bersyarat. Sebuah aturan dinyakatakan sebagai suatu kalimat bersyarat. Kata “if” adalah kata yang dikenal Prolog untuk menyatakan kalimat bersyarat atau disimbolkan dengan “:-“.

Misalnya ada suatu fakta : Prasojo suka durian. Kemudian ada sebuah aturan yang berbunyi : Andri suka sesuatu yang disukai oleh Prasojo. Dari informasi yang diperoleh dari fakta yang diketahui dapat diambil kesimpulan (jawaban) dari aturan tersebut yaitu Andri suka durian.

Fakta dan Aturan
Prolog
F : Tino suka apel
A : Yuli suka sesuatu yang disukai Tino
suka(tino, apel).
suka(yuli,Sesuatu) :-  suka(tino,Sesuatu).

Setiap aturan terdiri dari kesimpulan(kepala) dan tubuh. Tubuh dapat terdiri dari 1 atau lebih pernyataan atau aturan yang lain, disebut subgoal dan dihubungkan dengan logika “and”. Aturan memiliki sifat then/if conditional. “Kepala(head) benar jika tubuh (body) benar”.

Contoh kasus adalah pada Silsilah keluarga.



Fakta dan Aturan
Prolog
F : Slamet adalah ayah dari Amin
F : Amin adalah ayah dari Badu
F : Slamet adalah kakek dari Badu
A : Slamet adalah benar kakek Badu jika Slamet adalah benar ayah Amin dan Amin adalah benar ayah Badu.
ayah(slamet,amin).
ayah(amin,badu).
kakek(slamet,badu).

kakek(slamet,amin) :-
ayah(slamet,amin) and
ayah(amin,badu).
F : Amin adalah saudara kandung Anang
F : Amin mempunyai ayah Slamet
F:  Anang mempunyai ayah Slamet.
A : Amin adalah benar saudara kandung Anang, jika Amin mempunyai ayah Slamet dan Anang juga mempunyai ayah Slamet.
saudara_kandung(amin,anang).
ayah(slamet,amin).
ayah(slamet,anang).

saudara_kandung(amin,anang) :-
ayah(slamet,amin) and
ayah(slamet,anang).

PERTANYAAN (QUERIES)

Setelah memberikan data-data berupa fakta dan aturan, selanjutnya kita dapat mengajukan pertanyaan berdasarkan fakta dan aturan yang ada. Penulisannya diawali simbol “?-“ dan diakhiri tanda “.”.

Pertanyaan
Prolog dan Jawaban Program
Apakah Tini suka boneka ?
?- suka(tini,boneka).
Yes ……. (jika faktanya Tini suka boneka)
No……..…(jika tidak sesuai fakta).
Apakah yang disukai Tini ?
?- suka(tini,Apa).
Apa=boneka
Siapakah yang suka boneka ?
?- suka(Siapa,boneka).
Siapa=tini
Dari contoh silsilah keluarga di atas :
Siapakah kakek Budi ?


Siapakah cucu Slamet ?
?- kakek(Siapa,budi).
Siapa=slamet

?- kakek(slamet,Cucu).
Cucu=budi ;
Cucu=badu

(jika kemungkinan ada lebih dari satu jawaban gunakan tanda “;” pada akhir setiap jawaban).


PREDIKAT (PREDICATES)

Predikat adalah nama simbolik untuk relasi.

Syarat-syarat penulisan nama predikat :
o   Harus diawali dengan huruf kecil dan dapat diikuti dengan huruf, bilangan atau garis bawah.
o   Panjang nama predikat maksimum 250 karakter.
o   Tidak diperbolehkan menggunakan spasi, tanda minus, tanda bintang dan garis miring.

Referensi:
·         En.wikipedia.org
·         www.slideshare.net
·         jemeinulle.blogspot.com
·         xa.yimg.com