
% Fakta mahasiswa
student(budi).
student(sari).
student(dewi).

% Fakta mata kuliah
studies(budi, ai).
studies(sari, ml).
studies(dewi, ai).

% Fakta dosen
teaches(media, ai).
teaches(rahmadya, ml).

% Aturan inferensi
taught_by(X, Z) :-
    student(X),
    studies(X, Y),
    teaches(Z, Y).

program :-
    taught_by(budi, Z),
    write('Bapak / Ibu Dosen yang mengajar Budi adalah: '),
    write(Z),
    nl.


% Program utama untuk Ideone
% program :-
%    taught_by(X, Z),
%    write(X),
%    write(' diajar oleh '),
%    write(Z),
%    nl,
%    fail.

% program.
