KATA PENGHANTAR
Puji serta syukur saya panjatkan kehadirat allah SWT yang telah memberikan rahmat dan
karunianya serta kesehatan dan bisa mengerjakan soal ujian tengah semester UTS yang bersifat
take home test di Sekolah Tinggi Teknologi Garut (STTG). Saya sangat berterimakasih kepada
dosen pengampu mata kuliah pemograman non prosedural karena berkat beliau saya bisa
memahami tentang bahasan pemograman non prosedural terutama dalam bahasa SWI.Prolog.
Saya menyadari bahwa dalam pengerjaan dan penulisan ini tidak lepas dalam adanya
kesalahan sedikit maupun besar.
Akhir kata penulis mengucapkan terimakasih.
DAFTAR ISI
BAB II PEMBAHASAN
2.1 Diagram Bagan Silsilah Keluarga dari Ayah ..……………………………………………….4
2.2 Penjelasan Bagan Keluarga dari Ayah………………………………………………………..4
2.3 Fakta Aturan & Rules………………………………………………………………………... 5
2.4 Listing Code …………………………………………………………………………………10
2.3 Screenshot Program dan Argumen…………………………………………………………..11
BAB III PENUTUP
3.1 Kesimpulan…………………………………………………………………………………..29
3.2 Saran………………………………………………………………………………………....29
DAFTAR PUSTAKA
3
BAB I
PENDAHULUAN
Sejalan dengan teknologi jaman sekarang bahwa aplikasi aplikasi yang semakin bermunculan
dan makin canggih, memicu para pengguna computer untuk mencoba dan menggunakannya.
Teknik Informatika adalah ilmu yang menanggani masalah transformatik dan symbol didalam
kehidupan informatika sehari hari. Sejak dulu, kita tahu bahwa computer bukanlah sesuatu yang
sederhana. Termasuk bahasanya yang disebut bahasa pemograman merupakan suatu wahana
untuk menuangkan pikiran dan logika manusia yang dapat dimengerti oleh computer, sehingga
mempunyai nilai guna. Dalam bahasa pemograman ini yaitu bahasa pemograman non procedural
yang contoh aplikasina untuk digunakan yaitu SWI.Prolog. bahasa pemograman tersebut
memiliki kelebihan dan kekurangan tersendiri tergantung perguna menuangkan pikiran dan
logikan.
Tujuan penulisan pengerjaan ini guna untuk mengisi soal uts di Sekolah Tinggi Teknologi Garut
(STTG), Teknik Informatika S1, yang ujian tersebut bersifat Take Home Test.
4
BAB II
PEMBAHASAN
Diagram/Bagan ini dibuat dengan kebenaran pada dunia asli , seperti dibawah :
OJI JUA
UJANG TINI
DENI
ALI INAH
- Agi adalah anak lakilaki pertama dari aep dan marni ( Kakak Saya )
- Revi adalah anak lakilaki kedua dari aep dan marni ( Saya sendiri )
- Rehmanisa adalah anak perempuan ketiga dari aep dan marni ( Adik saya )
- Arfi adalah anak lakilaki keempat dari aep dan marni ( Adik saya )
FAKTA ATURAN
Oji adalah lakilaki lakilaki(oji).
Osad adalah lakilaki lakilaki(osad).
Andre adalah lakilaki lakilaki(andre).
Suganda adalah lakilaki lakilaki(suganda).
Ujangpermana adalah lakilaki lakilaki(ujangpermana).
Engkus adalah lakilaki lakilaki(engkus).
Aep adalah lakilaki lakilaki(aep).
Agi adalah lakilaki lakilaki(agi).
Revi adalah lakilaki lakilaki(revi).
Arfi adalah lakilaki lakilaki(arfi).
Ujang adalah lakilaki lakilaki(ujang).
Deni adalah lakilaki lakilaki(deni).
Ali adalah lakilaki lakilaki(ali).
Empan adalah lakilaki lakilaki(empan).
Iki adalah lakilaki lakilaki(iki).
RULES
suami(A,B):-nikah(B,A),nikah(A,B),lakilaki(A).
istri(A,B):-nikah(A,B),nikah(B,A),perempuan(A).
ayah(X,Y):-suami(X,Z),anak(Y,X),anak(Y,Z).
ibu(X,Y):-istri(X,Z),anak(Y,X),anak(Y,Z).
orangtua(A,B):-anak(B,A).
adik(X,Y):-kaka(Y,X).
saudarakandung(X,Y):-adik(Y,X);kaka(Y,X).
saudara(A,B):-ayah(X,A),ayah(X,B),(A)\==(B).
paman(A,B):-anak(B,C),adik(C,A),lakilaki(A).
mamang(A,B):-anak(B,C),kaka(C,A),lakilaki(A).
tante(A,B):-anak(B,C),adik(C,A),perempuan(A).
bibi(A,B):-anak(B,C),kaka(C,A),perempuan(A).
kakek(X,Y):-cucu(Y,X),lakilaki(Y).
nenek(X,Y):-cucu(Y,X),perempuan(X).
sepupu(X,Y):-anak(Y,Z),anak(X,T),adik(Z,T).
keponakan(X,Y):-anak(X,Z),adik(Z,A),anak(Y,A).
10
nikah(inah,ali). cucu(revi,jua).
LISTING CODING
cucu(rehmanisa,oji).
cucu(rehmanisa,jua).
cucu(arfi,oji).
cucu(arfi,jua).
cucu(deni,oji).
cucu(deni,jua).
cucu(natasya,oji).
cucu(natasya,jua).
cucu(empan,oji).
cucu(empan,jua).
cucu(iki,oji).
cucu(iki,jua).
suami(A,B):-nikah(B,A),nikah(A,B),lakilaki(A).
istri(A,B):-nikah(A,B),nikah(B,A),perempuan(A).
ayah(X,Y):-suami(X,Z),anak(Y,X),anak(Y,Z).
ibu(X,Y):-istri(X,Z),anak(Y,X),anak(Y,Z).
orangtua(A,B):-anak(B,A).
adik(X,Y):-kaka(Y,X).
saudarakandung(X,Y):-adik(Y,X);kaka(Y,X).
saudara(A,B):-ayah(X,A),ayah(X,B),(A)\==(B).
paman(A,B):-anak(B,C),adik(C,A),lakilaki(A).
mamang(A,B):-anak(B,C),kaka(C,A),lakilaki(A).
tante(A,B):-anak(B,C),adik(C,A),perempuan(A).
bibi(A,B):-anak(B,C),kaka(C,A),perempuan(A).
kakek(X,Y):-cucu(Y,X),lakilaki(X).
nenek(X,Y):-cucu(Y,X),perempuan(X).
sepupu(X,Y):-anak(Y,Z),anak(X,T),adik(Z,T).
keponakan(X,Y):-anak(X,Z),adik(Z,A),anak(Y,A).
Jawaban true karena fakta bahwa oji adalah lakilaki dan jua adalah perempuan
2. Ketika saya menanyakan oji menikah dengan siapa dan jua menikah dengan siapa ? :
12
Jawabannya dibulak balik karena harus saling berkaitan satu sama lain.
4. Ketika saya memanggil rule ayah yang tidak didefinisikan X dan Y maka seperti ini :
13
Maksudnya , jadi memanggil siapa semua ayah dari keluarga orang tua saya yang menjadi ayah.
Bisa dilhat , oji adalah ayahnya ratna dan seterusnya.
5. Ketika saya memanggil rule ibu yang tidak di definisikan x dan y nya maka seperti ini :
Maksudnya jadi saya memanggil ibu siapa dan anaknya siapa karena tidak dideinisikan x dan y
nya.
6. Memanggil ayah dan ibu yang di definisikan baik ibunya ayahnya maupun anaknnya , maka
seperti ini :
14
Nama X ayah didefinisikan maka aep mempunyai anak 4 dan sama ibu marni didefinisikan
sebagai X dan mempunyai 4 anak.
7. Sekarang memanggil suami dari semua keluarga ayah yang tidak didefinisikan X dan Y nya
maka seperti ini :
Benar bahwa oji adalah suami jua , dan osad adalah suami ratna , dll.
Memanggil suami yang belum di definisikan dan memanggil suami yang didefinisikan , maka
seperti ini :
8. Memanggil istri dari semua keluarga ayah yang tidak didefinisikan X dan Y nya , maka seperti
ini :
15
Benar bahwa jua adalah istri oji dan ratna adalah istri osad dan yang lainnya benar tidak false.
Memanggil istri yang didefinisikan nama istri dan tidak didefinisikan nama istri , maka seperti
ini :
9. memanggil kedua orang tua dan anak anaknya dari semua keluaga bapa saya , dengan cara
tidak di definisikan X dan Y nya , maka seperti ini :
16
Maka begitu benar oji adalah orang tua ratna , dan jua juga adalah orang tua ratna , begitupun
seterusnya.
Memanggil orang tua yang didefinisikan dan tidak didefinisikan , maka seperti ini :
17
Maka benar bahwa aep punya anak 4 dan ada itu namanya , dan ibu saa marni sama mempunyai
4 anak , dan tini mempunyai 1 anak.
10. Memanggil adik dengan tidak didefinisikan X dan Y :
Karena bapa saya anak ke 4 dan adiknya ada 2 yaitu tini dan inah.
11. Memanggil kaka dengan tidak didefinisikan X dan Y :
18
Karena inah anak bungsu jadi yang keluar 5 kakak kakak nya.
19
13. Memanggil saudara , saudara adalah keseluruhan dari keluarga ayah dan tidak di definisikan
X dan Y :
20
False di akhir tapi pengurutan saudara sudah benar , mungkin kurang jelas dan kurang tambahan
pada rule saudara. Karena saudara ini di ambil dari ayah A dan ayahnya si A adalah saudaranya.
14. Memanggil paman dengan tidak mendefinisikan X dan Y :
21
Ketika sudah di tab dan mentok semua sudah benar pas di ujung ada false , tapi paman sudah
benar seperti ini paman revi adalah suganda :
Ketika memanggil tante tidak ada yang false sudah benar contoh : siapa tante natasya ? maka :
Sama seperti memanggil paman dalam bibi ini , mungkin ada yang kurang dalam rules , tetapi
saya sudah mencoba membolak nalik tetapi hasilnya belum ditemukan.
Contoh memanggil bibi revi :
24
Berjalan dengan benar tidak ada yang false , dan saya abil contoh seperti ini :
Tetap ada false sudah di bulak balik pada coding tetap seperti ini , kake dari lakilaki(X) dan
nenek dari perempuan(X) , bedanya cuman disitu tapi kakek false dan nenek tidak.
20. Menaggil keponakan :
27
Tidak ada yang error atau false dalam keponakan , saya ambail contoh krponakan dari iki siapa ?
Benar bahwa jua mempunyai cucu dari anak anaknya, dan anaknya mempunyai anak seperti saya
revi.
30
BAB III
PENUTUP
3.1 Kesimpulan
Kesimpulan dari pengerjaan laporan soal uts take home ini, bahwa Bahasa Pemrograman
yaitu kumpulan perintah-perintah bermakna, berstruktur tertentu (syntax dan semantik ) yang
dapat dimengerti komputer yang berguna dalam penyelesaian masalah. Dalam bahasa pemograman
non prosedural ini saling ketergantungan antara fakta dan rule , karena rule juga membutuhkan
data fakta, dan dalam rule harus jelas pemanggilan.
3.2 Saran
Saran, sebelum dan setelah mengerjakan ini penulis dapat saran bahwa didalam bahasa
pemograman procedural prolog ini harus tau variable variable dan pemanggilannya.
DAFTAR PUSTAKA
www.google.com