sebagai bhaan latihan bisa mengerjakan soal erikut :
Buat program Prolog untuk mencatat struktur keluarga dan menjawab pertanyaan tentang hubungan antar anggota keluarga. Program ini akan menggunakan fakta, aturan, dan kueri.
Langkah-Langkah Pengerjaan
1. Persiapkan Lingkungan Kerja
- Pastikan SWI-Prolog sudah terinstal di komputer Anda.
- Buat file baru dengan nama
keluarga.pl
menggunakan editor teks seperti Notepad++ atau Visual Studio Code.
2. Tuliskan Fakta
Tambahkan fakta berikut dalam file keluarga.pl
:
% Fakta hubungan keluarga
orang_tua(ali, budi).
orang_tua(ali, cici).
orang_tua(diana, budi).
orang_tua(diana, cici).
orang_tua(budi, edo).
% Fakta jenis kelamin
jenis_kelamin(ali, laki_laki).
jenis_kelamin(diana, perempuan).
jenis_kelamin(budi, laki_laki).
jenis_kelamin(cici, perempuan).
jenis_kelamin(edo, laki_laki).
Fakta ini mendefinisikan hubungan orang tua-anak dan jenis kelamin setiap anggota keluarga.
3. Definisikan Aturan
Tambahkan aturan berikut ke dalam file keluarga.pl
:
% Aturan untuk menentukan saudara kandung
saudara_kandung(X, Y) :-
orang_tua(Z, X),
orang_tua(Z, Y),
X \= Y.
% Aturan untuk menentukan ayah
ayah(X, Y) :-
orang_tua(X, Y),
jenis_kelamin(X, laki_laki).
% Aturan untuk menentukan ibu
ibu(X, Y) :-
orang_tua(X, Y),
jenis_kelamin(X, perempuan).
4. Muat Program ke SWI-Prolog
- Buka SWI-Prolog di komputer Anda.
- Pindah ke direktori tempat file
keluarga.pl
disimpan:?- cd('path/to/directory').
Ganti
path/to/directory
dengan lokasi file Anda. - Muat file ke dalam Prolog:
?- [keluarga].
5. Jalankan Kueri
Setelah file dimuat, jalankan kueri berikut untuk menjawab pertanyaan:
Pertanyaan 1: Siapa saja saudara kandung dari Cici?
?- saudara_kandung(cici, Siapa).
Output:
Siapa = budi.
Pertanyaan 2: Siapa yang menjadi ayah dari Cici?
?- ayah(Siapa, cici).
Output:
Siapa = ali.
Pertanyaan 3: Siapa yang menjadi ibu dari Budi?
?- ibu(Siapa, budi).
Output:
Siapa = diana.
Penjelasan Logika
- Fakta
orang_tua/2
: Mendefinisikan hubungan orang tua-anak. - Fakta
jenis_kelamin/2
: Menentukan jenis kelamin anggota keluarga. - Aturan
saudara_kandung/2
: Menyatakan bahwa dua orang adalah saudara jika mereka memiliki orang tua yang sama dan bukan individu yang sama. - Aturan
ayah/2
danibu/2
: Membedakan peran orang tua berdasarkan jenis kelamin.