http://img412.imageshack.us/img412/3808/image11pc0.gif darkarfien23: database nama dengan progran Prolog

Senin, 12 Desember 2011

database nama dengan progran Prolog

domains
    alamat = alamat(jalan,kota,kode_pos)
    tgl_lahir = tgl_lahir(tanggal,bulan,tahun)
    tanggal,tahun,nomer = integer
    nama,jalan,kota,kode_pos,bulan,pekerjaan = string
    lama = real
   
predicates
    data_pribadi(nama,alamat,tgl_lahir,pekerjaan)
    lama_tinggal(nama,lama)
    penduduk(nama,alamat)
    menu(nomer)
    pilihan(nomer)
   
goal
    menu(Nomer),
    pilihan(Nomer),
   
clauses
    data_pribadi("Andi",alamat("Jl. Singosari No. 100",
        "Bandung","40013"),tgl_lahir(20,"Oktober",1963),
        "Mahasiswa").
    data_pribadi("Amran",alamat("Jl. Kutilang No. 1",
        "Jakarta","11650"),tgl_lahir(5,"Januari",1960),
        "Konsultan").
    data_pribadi("Cindy",alamat("Jl. Merak No. 5100",
        "Surabaya","60281"),tgl_lahir(14,"Maret",1962),
        "Sekretaris").
       
    /*Lama tinggal dlm tahun*/
    lama_tinggal("Andi",1.5).
    lama_tinggal("Amran",2.5).
    lama_tinggal("Cindy",0.5).
   
    /*Seseorang Adl Penduduk Jika tinggal di Suatu Kota Min 2 Thn*/
    penduduk(Nama,Alamat):-
        data_pribadi(Nama,Alamat,_,_),
        lama_tinggal(Nama,Lama),
        Lama>=2.0.
       
    menu(Nomer):-
        makewindow(1,13,1,"Data Pribadi",3,0,20,80),
        write("1. Data Pribadi Semua Orang\n"),
        write("2. Data Orang Yang Tinggal di Kota Tertentu\n"),
        write("3. Data Orang Yang Punya Pekerjaan Tertentu\n"),
        write("4. Data Orang Yang Telah Jadi Penduduk\n"),
        nl,
        write("Masukkan Pilihan Anda (1,2,3,4) : "),
        readint(Nomer).
       
    pilihan(1):-
        clearwindow,
        data_pribadi(Nama,alamat(Jalan,Kota,Kode_Pos),
        tgl_lahir(Tgl,Bulan,Tahun),Pekerjaan),
        write("\n",Nama,"\t",Jalan,"\t",
        Kota," ",Kode_Pos,"\t",Tgl," ",Bulan,
        " ",Tahun,"\t",Pekerjaan),
        fail.
    pilihan(1).
   
    pilihan(2):-
        clearwindow,
        write("Kota : "),readln(Kota),
        clearwindow,
        write("Data Orang Yang Tinggal Di Kota ",Kota," : "),
        nl,
        data_pribadi(Nama,alamat(Jalan,Kota,Kode_Pos),
        tgl_lahir(Tgl,Bulan,Tahun),Pekerjaan),
        write("\n",Nama,"\t",Jalan,"\t",
        Kota," ",Kode}_Pos,"\t",Tgl," ",
        Bulan," ",Tahun,"\t",Pekerjaan),
        fail.
    pilihan(2).
   
    pilihan(3):-
        clearwindow,
        write("Pekerjaan : "),readln(Pekerjaan),
        clearwindow,
        write("Data Orang Yang Punya Pekerjaan Tertentu ",Pekerjaan," : "),
        nl,
        data_pribadi(Nama,alamat(Jalan,Kota,Kode_Pos),
        tgl_lahir(Tgl,Bulan,Tahun),Pekerjaan),
        write("\n",Nama,"\t",Jalan,"\t",
        Kota," ",Kode_Pos,"\t",Tgl," ",
        Bulan," ",Tahun,"\t",Pekerjaan),
        fail.
    pilihan(3).
   
    pilihan(4):-
        clearwindow,
        write("Nama : "),readln

Tidak ada komentar:

Posting Komentar