INPUT AND OUTPUT


 

OUTPUT
untuk melakukan output, kita bisa mengunakan istilah write. Ada juga istilah nl yang digunakan untuk membuat enter(new line).
contoh penggunaan:
?-write(‘contoh menggunakan write’),nl.
contoh menggunakan write
yes
terlihat bahwa tanda kutip tidak muncul.
jika memang ingin mengisi tanda kutip, maka bisa dipakai writeq
contoh:
?-writeq(‘contoh kutip’),nl.
‘contoh kutip’
yes
INPUT
di prolog kita bisa menggunakan read. read ini hanya bisa dipakai untuk satu argumen dan harus variabel.
contoh:
?-read(X).
:27.
X=27
?-read(Y).
:’ini adalah kalimat’.
Y=’ini adalah kalimat’
dan jika variabel sudah dipakai, maka output akan benar jika inputan sesuai.
contoh:
?-X=adi,read(X).
:jim.
no
?-X=adi,read(X).
:adi.
X=adi
INPUT DAN OUTPUT MENGGUNAKAN KARAKTER
OUTPUT

untuk melakukan output karakter kita bisa menggunakan predikat put. predikat ini hanya bisa dipakai untuk satu argumen dan harus menggunakan angka dari 0-255(kode ASCII).
contoh: ?-put(97),nl.
a
yes
?-put(64),nl.
@
yes
INPUT

disini kita disediakan 2 predikat untuk melakukan input karakter. Yang pertama adalah get0. predikat ini hanya bisa dipakai untuk satu argumen dan itu harus variabel.
contoh:
?-get0(N).
:a
N=97
jadi disini kita menginput suatu variabel N dengan a, yang mana kode ASCII dari a adalah 97.
untuk predikat get, sama halnya dengan get0, akan tetapi get ini mengevaluasi karakter spasi(white space).
contoh:
?-get(M).
:Z
M=90
?-get(M).
:     Z
M=90
bisa dilihat dari contoh diatas, hasil keduanya tetap sama, karena predikat get mengevaluasi white space.
jika kita memakai get0 maka hasilnya akan beda.
?-get0(M).
:     Z
M=32
Using Characters: Examples
Readin predikat didefinisikan secara rekursif. Ini menyebabkan satu karakter untuk
input dan variabel X untuk terikat kepada para (numerik) nilai ASCII. Tindakan diambil
(proses (X) tujuan) tergantung pada apakah atau tidak X memiliki nilai 42 berarti karakter a*. Jika memiliki, evaluasi tujuan berhenti. Jika tidak, nilai dari X adalah output,
diikuti oleh baris baru, diikuti dengan sebuah panggilan ke readin lebih lanjut. Proses ini berlangsung tanpa batas waktu sampai karakter a * yang dibaca.Adajuga versi yang diperluas yaitu Kali ini ASCII nilai-nilai input adalah karakter yang tidak output, tetapi jumlah karakter (termasuk *) adalah output. Predikat hitungan didefinisikan dengan dua argumen yang dapat dibaca sebagai ‘jumlah karakter dihitung sejauh ini’ dan ‘jumlah total
karakter sebelum * ‘. Ada juga program rekrusif yaitu didasarkan dari 2 sebelumnya yang
menunjukkan bagaimana membaca dalam serangkaian diakhiri dengan karakter * dan menghitung jumlahvokal. Karakter dibaca dalam satu demi satu sampai sebuah karakter dengan nilai ASCII 42(menandakan *) adalah dijumpai.Di sini, dua argumen dari predikat hitungan dapat diartikan sebagai “jumlah huruf hidup sejauh ini ‘dan’ jumlah total huruf hidup ‘. Tiga argumen proses predikat dapat dibaca sebagai “nilai ASCII karakter input ‘,’ yang jumlah huruf hidup sampai dengan tetapi tidak termasuk karakter ‘dan’ jumlah total
huruf hidup ‘, masing-masing.Pertama dua argumen dari predikat processChar dapat ditafsirkan dalam cara yang sama seperti untuk proses, tetapi argumen ketiga adalah “jumlah huruf hidup dan termasuk karakter (argumen pertama) ‘.Predikat huruf hidup tes untuk salah satu dari 10 kemungkinan huruf hidup (lima huruf dan lima huruf kecil), menggunakan nilai-nilai ASCII.
Input and Output Using Files
Prolog mengambil semua input dari current input stream dan menulis semua output ke
current output stream. Secara default kedua urutan ini bernama pengguna,
menunjukkan pengguna terminal, yaitu untuk input keyboard dan layar untuk memperoleh keluaran. Perhatikan bahwa tidak ada file bisa terbuka untuk input maupun
output pada waktu yang sama (kecuali pengguna) dan bahwa pengguna input dan output stream tidak dapat ditutup.
File Output: Changing the Current Output Stream
current output stream dapat diubah menggunakan tell / 1 predikat. Ini membutuhkan
argumen tunggal, yang merupakan atom atau variabel yang mewakili nama file, misalnya
kirim ( ‘outfile.txt’). Mengevaluasi tell menyebabkan file bernama untuk menjadi arus keluaran arus. Jika file belum terbuka, file dengan nama tertentu pertama kali diciptakan
(semua file yang sudah ada dengan nama yang sama akan dihapus). Perhatikan bahwa file yang sesuai dengan current output stream sebelumnya tetap terbuka ketika current output stream baru dipilih. Hanya current ouput stream dapat ditutup .Output ke sebuah File
Meskipun definisi di atas tell menyatakan bahwa ’semua file yang sudah ada dengan yang sama Namanya dihapus ‘, ada kemungkinan lain, yang penting bagi beberapa
aplikasi, yaitu bahwa file tersebut tidak dihapus dan setiap output ditempatkan setelah
akhir isi yang ada file. Baik ‘menimpa’ dan ‘append’ pilihan kemungkinan besar akan tersedia dalam pelaksanaan praktis Prolog tetapi mungkin melibatkan menggunakan predikat yang berbeda (misalnya terbuka) sebagai pengganti atau serta tell.
File Input: Changing the Current Input Stream
Input stream yang aktif dapat diubah dengan menggunakan see/ 1 predikat. Ini membutuhkan argumen tunggal, yang merupakan atom atau variabel yang mewakili nama file, misalnya0see ( ‘myfile.txt’). Mengevaluasi sebuah tujuan see menyebabkan file bernama curent input stream.Jika file ini belum terbuka itu pertama kali dibuka (untuk akses baca saja). Jika tidak mungkin untuk membuka file dengan nama yang diberikan, kesalahan akan dihasilkan Built-in predikat see / 1 memerlukan satu argumen, yang harus menjadi variabel dan biasanya akan terikat. Mengevaluasi sebuah tujuan see menyebabkan variabel yang akan terikat nama current input stream.
Reading from file: End of File
Jika akhir file ditemukan ketika mengevaluasi tujuan read (X), variabel X akan
terikat ke atom end_of_file.
Jika akhir file ditemukan saat mengevaluasi tujuan mendapatkan (X) atau get0 (X),
variabel X akan terikat kepada seorang ‘khusus’ nilai numerik. Sebagai nilai-nilai ASCII harus dalam
kisaran 0-255 inklusif, ini biasanya akan menjadi -1, tetapi dapat bervariasi dari satu
Prolog pelaksanaan lain.
Reading from file: End of Record
Tergantung pada versi Prolog digunakan, mungkin ada ketidakcocokan untuk
karakter input antara membaca akhir sebuah catatan (yaitu karakter (s) yang
menandai akhir baris) dari terminal pengguna dan dari sebuah file.
Biasanya akhir baris dari input pada terminal pengguna akan ditunjukkan oleh
karakter dengan nilai ASCII 13. Akhir sebuah catatan dalam sebuah file umumnya akan
ditunjukkan oleh dua nilai ASCII: 13 diikuti oleh 10.
Program berikut menunjukkan bagaimana membaca dalam serangkaian karakter dari
keyboard dan mencetak mereka keluar, satu per baris.
Perhatikan penggunaan put daripada write dan bahwa tes untuk nilai ASCII 13 menghindari kebutuhan untuk karakter seperti * untuk menunjukkan ‘akhir input’
?- readline.
: Prolog test
P
r
o
l
o
g
t
e
s
t
yes

outputuntuk melakukan output, kita bisa mengunakan istilah write. Ada juga istilah nl yang digunakan untuk membuat enter(new line).contoh penggunaan:?-write(‘contoh menggunakan write’),nl.contoh menggunakan writeyesterlihat bahwa tanda kutip tidak muncul.jika memang ingin mengisi tanda kutip, maka bisa dipakai writeqcontoh:?-writeq(‘contoh kutip’),nl.’contoh kutip’yes
inputdi prolog kita bisa menggunakan read. read ini hanya bisa dipakai untuk satu argumen dan harus variabel.contoh:?-read(X).:27.X=27
?-read(Y).:’ini adalah kalimat’.Y=’ini adalah kalimat’
dan jika variabel sudah dipakai, maka output akan benar jika inputan sesuai.contoh:?-X=adi,read(X).:jim.no
?-X=adi,read(X).:adi.X=adi
input dan output menggunakan karakter
outputuntuk melakukan output karakter kita bisa menggunakan predikat put. predikat ini hanya bisa dipakai untuk satu argumen dan harus menggunakan angka dari 0-255(kode ASCII).contoh: ?-put(97),nl. a yes
?-put(64),nl. @ yes
inputdisini kita disediakan 2 predikat untuk melakukan input karakter. Yang pertama adalah get0. predikat ini hanya bisa dipakai untuk satu argumen dan itu harus variabel.contoh:?-get0(N).:aN=97jadi disini kita menginput suatu variabel N dengan a, yang mana kode ASCII dari a adalah 97.
untuk predikat get, sama halnya dengan get0, akan tetapi get ini mengevaluasi karakter spasi(white space).contoh:?-get(M).:ZM=90
?-get(M).:     ZM=90bisa dilihat dari contoh diatas, hasil keduanya tetap sama, karena predikat get mengevaluasi white space.jika kita memakai get0 maka hasilnya akan beda.?-get0(M).:     ZM=32
Using Characters: Examples
Readin predikat didefinisikan secara rekursif. Ini menyebabkan satu karakter untukinput dan variabel X untuk terikat kepada para (numerik) nilai ASCII. Tindakan diambil(proses (X) tujuan) tergantung pada apakah atau tidak X memiliki nilai 42 berarti karakter a*. Jika memiliki, evaluasi tujuan berhenti. Jika tidak, nilai dari X adalah output,diikuti oleh baris baru, diikuti dengan sebuah panggilan ke readin lebih lanjut. Proses ini berlangsung tanpa batas waktu sampai karakter a * yang dibaca.Adajuga versi yang diperluas yaitu Kali ini ASCII nilai-nilai input adalah karakter yang tidak output, tetapi jumlah karakter (termasuk *) adalah output. Predikat hitungan didefinisikan dengan dua argumen yang dapat dibaca sebagai ‘jumlah karakter dihitung sejauh ini’ dan ‘jumlah totalkarakter sebelum * ‘. Ada juga program rekrusif yaitu didasarkan dari 2 sebelumnya yangmenunjukkan bagaimana membaca dalam serangkaian diakhiri dengan karakter * dan menghitung jumlahvokal. Karakter dibaca dalam satu demi satu sampai sebuah karakter dengan nilai ASCII 42(menandakan *) adalah dijumpai.Di sini, dua argumen dari predikat hitungan dapat diartikan sebagai “jumlah huruf hidup sejauh ini ‘dan’ jumlah total huruf hidup ‘. Tiga argumen proses predikat dapat dibaca sebagai “nilai ASCII karakter input ‘,’ yang jumlah huruf hidup sampai dengan tetapi tidak termasuk karakter ‘dan’ jumlah totalhuruf hidup ‘, masing-masing.Pertama dua argumen dari predikat processChar dapat ditafsirkan dalam cara yang sama seperti untuk proses, tetapi argumen ketiga adalah “jumlah huruf hidup dan termasuk karakter (argumen pertama) ‘.Predikat huruf hidup tes untuk salah satu dari 10 kemungkinan huruf hidup (lima huruf dan lima huruf kecil), menggunakan nilai-nilai ASCII.

Input and Output Using Files
Prolog mengambil semua input dari current input stream dan menulis semua output kecurrent output stream. Secara default kedua urutan ini bernama pengguna,menunjukkan pengguna terminal, yaitu untuk input keyboard dan layar untuk memperoleh keluaran. Perhatikan bahwa tidak ada file bisa terbuka untuk input maupunoutput pada waktu yang sama (kecuali pengguna) dan bahwa pengguna input dan output stream tidak dapat ditutup.
File Output: Changing the Current Output Stream
current output stream dapat diubah menggunakan tell / 1 predikat. Ini membutuhkanargumen tunggal, yang merupakan atom atau variabel yang mewakili nama file, misalnyakirim ( ‘outfile.txt’). Mengevaluasi tell menyebabkan file bernama untuk menjadi arus keluaran arus. Jika file belum terbuka, file dengan nama tertentu pertama kali diciptakan(semua file yang sudah ada dengan nama yang sama akan dihapus). Perhatikan bahwa file yang sesuai dengan current output stream sebelumnya tetap terbuka ketika current output stream baru dipilih. Hanya current ouput stream dapat ditutup .Output ke sebuah FileMeskipun definisi di atas tell menyatakan bahwa ’semua file yang sudah ada dengan yang sama Namanya dihapus ‘, ada kemungkinan lain, yang penting bagi beberapaaplikasi, yaitu bahwa file tersebut tidak dihapus dan setiap output ditempatkan setelahakhir isi yang ada file. Baik ‘menimpa’ dan ‘append’ pilihan kemungkinan besar akan tersedia dalam pelaksanaan praktis Prolog tetapi mungkin melibatkan menggunakan predikat yang berbeda (misalnya terbuka) sebagai pengganti atau serta tell.
File Input: Changing the Current Input Stream
Input stream yang aktif dapat diubah dengan menggunakan see/ 1 predikat. Ini membutuhkan argumen tunggal, yang merupakan atom atau variabel yang mewakili nama file, misalnya0see ( ‘myfile.txt’). Mengevaluasi sebuah tujuan see menyebabkan file bernama curent input stream.Jika file ini belum terbuka itu pertama kali dibuka (untuk akses baca saja). Jika tidak mungkin untuk membuka file dengan nama yang diberikan, kesalahan akan dihasilkan Built-in predikat see / 1 memerlukan satu argumen, yang harus menjadi variabel dan biasanya akan terikat. Mengevaluasi sebuah tujuan see menyebabkan variabel yang akan terikat nama current input stream.
Reading from file: End of File

Jika akhir file ditemukan ketika mengevaluasi tujuan read (X), variabel X akanterikat ke atom end_of_file.Jika akhir file ditemukan saat mengevaluasi tujuan mendapatkan (X) atau get0 (X),variabel X akan terikat kepada seorang ‘khusus’ nilai numerik. Sebagai nilai-nilai ASCII harus dalamkisaran 0-255 inklusif, ini biasanya akan menjadi -1, tetapi dapat bervariasi dari satuProlog pelaksanaan lain.
Reading from file: End of RecordTergantung pada versi Prolog digunakan, mungkin ada ketidakcocokan untukkarakter input antara membaca akhir sebuah catatan (yaitu karakter (s) yangmenandai akhir baris) dari terminal pengguna dan dari sebuah file.Biasanya akhir baris dari input pada terminal pengguna akan ditunjukkan olehkarakter dengan nilai ASCII 13. Akhir sebuah catatan dalam sebuah file umumnya akanditunjukkan oleh dua nilai ASCII: 13 diikuti oleh 10.Program berikut menunjukkan bagaimana membaca dalam serangkaian karakter darikeyboard dan mencetak mereka keluar, satu per baris.Perhatikan penggunaan put daripada write dan bahwa tes untuk nilai ASCII 13 menghindari kebutuhan untuk karakter seperti * untuk menunjukkan ‘akhir input’

 

Leave a comment