Anda di halaman 1dari 8

TUGAS

KECERDASAN BUATAN

PROLOG SILSILAH KELUARGA

UNTUK MEMENUHI TUGAS MATAKULIAH


Kecerdasan Buatan
yang dibina oleh Heru Wahyu Herwanto, S.T., M. KOM.

oleh :
Devi Rusilawati
150533600496
S1 PTI’15 Off A

PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MALANG
MARET 2018
TUGAS
PROLOG SILSILAH KELUARGA

A. DASAR TEORI
PROLOG SILSILAH KELUARGA
1. PROLOG
PROLOG (Programming In Logic) yaitu bahasa pemrograman yang
menggunakan syntax yang sederhana, bahasa ini berbeda dengan bahasa pemrograman
lainnya yang membutuhkan algoritma, karena anda dapat memakai kata yang
digunakan sehari-hari. Termasuk kedalam Pemrograman Deklaratif atau Object
Oriented Language dan termasuk kedalam pemrograman tidak terstruktur.
Bahasa pemrograman ini dikembangkan oleh Alain Colmeraurer dan P.Ruoussel
pada Tahun 1972 di Universitas Marseilles Perancis. Bahasa ini mulai popular di Eropa
digunakan untuk aplikasi Artificial Intellegence dan di Amerika digunakan untuk
pembuatan aplikasi LISP oleh Jhon McCarthy pada tahun 1956.
2. KEGUNAAN PROLOG
Berikut adalah kegunaan prolog :
a. Sistem Pakar (Expert System) >> Program menggunakan teknik pengambilan
kesimpulan dari data-data yang didapat layaknya seorang ahli.
b. Pengolahan Bahasa Alami (Natural Language Processing) >> Program dibuat agar
manusia dapat berinteraksi atau berkomunikasi dengan komputer dengan bahasa
sehari-hari layaknya penerjemah.
c. Robotik >> Prolog digunakan sebagai pengolah data yang berasal dari sensor
sebagai input dan diproses untuk menggerakan dan mengambil keputusan kemana
gerak yang akan dilakukan. tentu saja hal ini harus bekerjasama dengan orang-
orang yang paham dengan dunia elektro atau hardware.
d. Pengenalan Pola (Pattern Recognition) >> Prolog digunakan dalam image
processing, dimana komputer dapat membedakan sat objek dengan objek lainnya.
e. Belajar (Learning) >> Prolog menjadi sebuah program yang dapat belajar sendiri
dari kesalahan yang pernah dilakukan dari pengamatan.
3. MENU PROLOG
Menu yang terdapat pada prolog adalah :
a. File >> Penanganan File
b. Edit >> Menulis Program dengan fasilitas editor.

1
c. Run >> Mengkompilasi dan mengeksekusi program.
d. Debug >> Penanganan Error pada kode
e. Setting >> Memilih warna, ukuran jendela dll.
f. Help >> merupkan buku manual untuk pengguna.
4. FAKTA
Prolog terdiri dari kumpulan data-data objek yang merupkan Fakta, dimana Fakta
menunjukan suatu keadaan atau situasi nyata, maka Fakta selalu benar.
ini berfungsi untuk mengungkap suatu pernyataan yang merupakan fakta.
Contoh:
ayah(ajir,devi).
// Artinya
// ajir adalah ayah dari devi.
5. ATURAN
Merupakan suatu pernyataan yang menunjukan fakta-fakta berinteraksi yang satu dan
yang lainnya membentuk sebuah kesimpulan. untuk melakukan ini dibutuhkan
perintan if bisa ditulis if atau :-.

B. TUGAS
A) Bagan Silsilah Keluarga
Silsilah adalah suatu bagan yang menampilkan hubungan keluarga (silsilah) dalam
suatu struktur pohon. Data genealogi ini dapat ditampilkan dalam berbagai format.
Salah satu format yang sering digunakan dalam menampilkan silsilah adalah bagan
dengan generasi yang lebih tua di bagian atas dan generasi yang lebih muda di bagian
bawah. Bagan keturunan yang menampilkan semua keturunan dari satu individu
memiliki bagian yang paling sempit di bagian atas.
Berikut adalah bagan silsilah keluarga saya :

2
B) Project Prolog
 Nama Program : Prolog Silsilah Keluarga
 Bahasa Program : Prolog
 Compiler : Swipl
 Source Code Prolog :
%%FAKTA */
%%orang tua */
ayah(wagiran,edi).
ayah(wagiran,katmini).
ayah(wagiran,sri).
ayah(suhudi,ajir).
ayah(suhudi,satori).
ayah(satori,alfi).
ayah(ajir,fata).
ayah(ajir,devi).
ayah(ajir,aziz).
ibu(mesinem,edi).
ibu(mesinem,katmini).
ibu(mesinem,sri).
ibu(ngaisah,ajir).
ibu(ngaisah,satori).
ibu(katmini,dirga).
ibu(sri,fata).
ibu(sri,devi).
ibu(sri,aziz).

%% ATURAN */
%% Kakek adalah kakek Cucu */
kakek(Kakek,Cucu) :- ayah(Ayah,Cucu),ayah(Kakek,Ayah).
kakek(Kakek,Cucu) :- ibu(Ibu,Cucu),ayah(Kakek,Ibu).

%% Nenek adalah nenek Cucu */


nenek(Nenek,Cucu) :- ayah(Ayah,Cucu),ibu(Nenek,Ayah).
nenek(Nenek,Cucu) :- ibu(Ibu,Cucu),ibu(Nenek,Ibu).

%% Nama1 adalah saudara kandung Nama2


saudara_kandung(Nama,Name) :- ayah(Ayah,Nama),
ayah(Ayah,Name),ibu(Ibu,Nama),ibu(Ibu,Name),
Nama \= Name.

%% Sdr1 adalah saudara sepupu Sdr2


saudara_sepupu(Sdr1,Sdr2) :- ayah(Ayah1,Sdr1), ayah(Ayah2,Sdr2),
saudara_kandung(Ayah1,Ayah2).
saudara_sepupu(Sdr1,Sdr2) :-
ayah(Ayah,Sdr1),ibu(Ibu,Sdr2),saudara_kandung(Ayah,Ibu).
saudara_sepupu(Sdr1,Sdr2) :-
ibu(Ibu,Sdr1),ayah(Ayah,Sdr2),saudara_kandung(Ibu,Ayah).
saudara_sepupu(Sdr1,Sdr2) :- ibu(Ibu1,Sdr1),
ibu(Ibu2,Sdr2),saudara_kandung(Ibu1,Ibu2).

3
 Hasil Tampilan :
A) Kakek
- Kakek Wagiran

- Kakek Suhudi

B) Nenek
- Nenek Mesinem

- Nenek Ngaisah

C) Ayah

4
D) Ibu

E) Saudara Kandung

F) Saudara Sepupu

 Penjelasan
- Program ini menggunakan bahasa pemrograman yang menggunakan syntax
yang sederhana yaitu bahasa prolog untuk membuat program silsilah keluarga.
- Pada syntak berikut merupakan syntax fakta, diman fakta tersebut terdiri dari
kumpulan data-data objek yang menunjuk pada suatu keadaan atau situasi
nyata dalam silsilah keluarga
%%FAKTA */
%%orang tua */
ayah(wagiran,edi).
ayah(wagiran,katmini).
ayah(wagiran,sri).
ayah(suhudi,ajir).
ayah(suhudi,satori).
ayah(satori,alfi).
ayah(ajir,fata).
ayah(ajir,devi).
ayah(ajir,aziz).
ibu(mesinem,edi).
ibu(mesinem,katmini).
ibu(mesinem,sri).
ibu(ngaisah,ajir).
ibu(ngaisah,satori).

5
ibu(katmini,dirga).
ibu(sri,fata).
ibu(sri,devi).
ibu(sri,aziz).
- Dalam program ini terdapat aturan, dimana aturan disini merupakan suatu
pernyataan yang menunjukan fakta-fakta berinteraksi yang satu dan yang
lainnya membentuk sebuah kesimpulan. untuk melakukan ini dibutuhkan
perintan if bisa ditulis if atau :-. Berikut adalah aturan dari program prolog ini:
%% ATURAN */
%% Kakek adalah kakek Cucu */
kakek(Kakek,Cucu) :- ayah(Ayah,Cucu),ayah(Kakek,Ayah).
kakek(Kakek,Cucu) :- ibu(Ibu,Cucu),ayah(Kakek,Ibu).
Syntax diatas digunakan untuk menampilkan nama kakek dalam silsilah
keluarga, contoh pernyataan : wagiran adalah kakek dari devi, devi disini
berarti adalah cucu.
%% Nenek adalah nenek Cucu */
nenek(Nenek,Cucu) :- ayah(Ayah,Cucu),ibu(Nenek,Ayah).
nenek(Nenek,Cucu) :- ibu(Ibu,Cucu),ibu(Nenek,Ibu).
Syntax diatas digunakan untuk menampilkan nama nenek dalam silsilah
keluarga, contoh pernyataan : mesinem adalah nenek dari devi, devi disini
berarti adalah cucu.

%% Nama1 adalah saudara kandung Nama2


saudara_kandung(Nama,Name) :- ayah(Ayah,Nama),
ayah(Ayah,Name),ibu(Ibu,Nama),ibu(Ibu,Name),
Nama \= Name.
Syntax diatas digunakan untuk menampilkan nama saudara kandung dalam
silsilah keluarga, contoh pernyataan : devi adalah saudara kandung dari aziz,
jadi disini devi dan aziz adalah saudara kandung dengan ayah dan ibu yang
sama.

%% Sdr1 adalah saudara sepupu Sdr2


saudara_sepupu(Sdr1,Sdr2) :- ayah(Ayah1,Sdr1),
ayah(Ayah2,Sdr2), saudara_kandung(Ayah1,Ayah2).
saudara_sepupu(Sdr1,Sdr2) :-
ayah(Ayah,Sdr1),ibu(Ibu,Sdr2),saudara_kandung(Ayah,Ibu).
saudara_sepupu(Sdr1,Sdr2) :-
ibu(Ibu,Sdr1),ayah(Ayah,Sdr2),saudara_kandung(Ibu,Ayah).
saudara_sepupu(Sdr1,Sdr2) :- ibu(Ibu1,Sdr1),
ibu(Ibu2,Sdr2),saudara_kandung(Ibu1,Ibu2).
Syntax diatas digunakan untuk menampilkan nama saudara sepupu dalam
silsilah keluarga, contoh pernyataan : devi adalah saudara kandung dari dirga,
jadi disini devi dan dirga adalah saudara sepupu dari kakek dan nenek yang
sama dan orangtua yang berbeda.

6
KESIMPULAN

 PROLOG (Programming In Logic) yaitu bahasa pemrograman yang


menggunakan syntax yang sederhana, bahasa ini berbeda dengan bahasa
pemrograman lainnya yang membutuhkan algoritma, karena anda dapat memakai
kata yang digunakan sehari-hari.
 Program ini digunakan untuk membuat silsilah keluarga
 Prolog terdiri dari kumpulan data-data objek yang merupkan Fakta, dimana Fakta
menunjukan suatu keadaan atau situasi nyata, maka Fakta selalu benar.
 Aturan merupakan suatu pernyataan yang menunjukan fakta-fakta berinteraksi
yang satu dan yang lainnya membentuk sebuah kesimpulan. untuk melakukan ini
dibutuhkan perintan if bisa ditulis if atau :-.

DAFTAR RUJUKAN

Supriyantie, Anni. 2015. Catatan#10 Membuat Program Silsilah Keluarga Dengan Bahasa
PROLOG. (Online : http://catatankuliah-anni.blogspot.co.id/2015/09/catatan10-
membuat-program-silsilah.html). Diakses pada tanggal 27 Maret 2018

Anda mungkin juga menyukai