Anda di halaman 1dari 6

LAPORAN PRAKTIKUM

Nama Matakuliah : PEMROGRAMAN DEKLARATIF PRAKTEK/TEORI


SKS 4
Pertemuan ke 4
Nama Mahasiswa : Ramli sinaga
NPM : 180210056

Praktikum 1:
A. Soal
1. Buatlah program untuk perkalian, penambahan, pengurangan, dan pembagian
menggunakan DOMAINS jika diketahui faktanya adalah
a. 10 + 5
b. 35*10
c. 100-25
d. 500/25
e. 18+3*2
Buatlah program dan analisisnya pada laporan praktikum

2. Diketahui suatu bangun Panjang 20, lebar 15 berapakan luasnya?

3. Hitunglah luas segitiga jika diketahui


alas = 5
tinggi = 7

B. Logika Program
1. Program Perkalian, Penambahan, Pengurangan, dan Pembagian
DOMAINS
jumlah=integer
kali=integer
kurang=integer
bagi=integer
hasil=integer

PREDICATES
tambahkan(Tambah,Tambah,Tambah).
kalikan(kali,kali,kali).
kurangkan(kurang,kurang,kurang).
bagikan(bagi,bagi,bagi).
hasilkan(hasil,hasil,hasil,hasil).

CLAUSES
tambahkan(X,Y,Jumlah):- Jumlah=X+Y.
kalikan(X,Y,Kali):- Kali=X*Y.
kurangkan(X,Y,Kurang):- Kurang=X-Y.
bagikan(X,Y,Bagi):- Bagi=X/Y.
hasilkan(X,Y,Z,Hasil):- Hasil=X+Y-Z.

GOAL
tambahkan(10,5,Jumlah).

2. Program Persegi Panjang


DOMAINS
panjang=integer
lebar=integer
luas=integer

PREDICATES
persegipanjang(panjang,lebar,luas).

CLAUSES
persegipanjang(P,L,Luas):- Luas=P*L.

GOAL
persegipanjang(20,15,Luas).

3. Program Luas Segitiga


DOMAINS
alas=real
tinggi=real
luas=real

PREDICATES
luas_segitiga(alas,tinggi,luas).

CLAUSES
luas_segitiga(A,T,Luas):- Luas=A*T/2.

GOAL
luas_segitiga(5,7,Luas).
C. Analisis Hasil
1. Program Perkalian, Penambahan, Pengurangan, dan Pembagian

a. 10 + 5
Berdasarkan Goal yang diinput tambahkan(10,5,Jumlah).
Hasil eksekusi akan ditampilkan pada jendela yang berbeda yang harus ditutup sebelum
menguji GOAL lainnya. Ketika program dieksekusi maka hasil yang muncul seperti
gambar dibawah ini

b. 35*10
Untuk Goal 35*10 maka rule yang diinput adalah kalikan(35,10,Kali).
Maka hasilnya seperti gambar dibawah ini
c. 100-25
Untuk Goal 100-25 maka rule yang diinput adalah
kurangkan(100,25,Kurang).
Maka hasilnya seperti gambar dibawah ini

d. 500/25
Untuk Goal 500/25 maka rule yang diinput adalah bagikan(500,25,Bagi).
Maka hasilnya seperti gambar dibawah ini
e. 18+3*2
Untuk Goal 18+3*2 maka rule yang diinput adalah hasilkan(18,3,2,Hasil).
Maka hasilnya seperti gambar dibawah ini

2. Diketahui suatu bangun Panjang 20, lebar 15 berapakan luasnya?


Pada goal ini menggunakan type data integer. Rumus menghitung Luas Segitiga adalah
Luas = Panjang * Lebar
Untuk rulenya adalah persegipanjang(20,15,Luas).
Maka hasilnya seperti dibawah ini
3. Menghitung Luas Segitiga
Pada Goal ini, type data yang digunakan adalah real karena nilainya pecahan (berkoma)
Rumus menghitung luas segitiga adalah Luas = Alas * Tinggi * ½
Untuk rulenya adalah luas_segitiga(5,7,Luas).
Maka hasilnya seperti dibawah ini

Anda mungkin juga menyukai