Rabu, 25 November 2009

INPUT DAN OUTPUT dalam Prolog (5)






























1. Buat variabel dalam notepad dan file yang untuk di compare.
2. Kemudian simpan dalam drive C atau yang lainnya.
3. Consult di prolog. Ketik perintahnya '?-compare('C:/nomor5.txt','C:/nomor51.txt','C:/output5.txt').'

4. Kemudian muncul beberapa macam statement dan muncul statement lagi menyatakan YES.




INPUT DAN OUTPUT dalam Prolog (4)






1. Pertama kita membuat di dalam notepad variabel in1 dulu,
2. Kemudian simpan dalam bentuk txt.
3. Ketik lagi perintah dalam notepad untuk in2.




4. Kemudian simpan dalam bentuk txt.
5. Buatlah variabel dalam prolog yang menggunakan combine sebagai predikat untuk mengabungkan kedua file tersebut. Kemudian simpan dalam bentuk .pl

 
6. Consult di prolog. Ketik perintah yaitu?- combine('in1.txt','in2.txt','out.txt').
7. Lalu akan muncul statement yang menyatakan YES






8. Kemudian dengan sendirinya output akan tersimpan dalam drive dimana anda simpan tadi dalam bentuk
    notepad.


INPUT DAN OUTPUT dalam Prolog (3)















1. Buatlah variabelnya dulu dalam notepad.
2. Kemudian simpan dalam drive C atau yang lainnya dalam bentuk .pl
3. Bikin lagi inputanya dalam notepad simpan dengan nama input3 atau yang lain dalam bentuk txt.




4. Consult di program prolog variabel yang pertama tadi. Ketik perintahnya seperti pada gambar.



5. Akan muncul hasil  berbagai macam angka dan statement dengan dinyatakan  YES.


INPUT DAN OUTPUT dalam Prolog (2)





1. Pertama kita ketikan variabel terlebih dahulu dalam notepad sebagai inputannya.
2. Setelah itu simpan dalam local disk c atau yang lain dalam bentuk txt.
3. Setelah itu bikin rulenya dalam notepad juga dengan menggunakan copyterms.



4. Simpan dalam bentuk .pl
5. Consult di program prolog. kemudian ketik perintahnya.
6. Setelah itu munculah kalimat yes.




7. Hasil  output akan tersimpan langsung di dalam tempat yang anda simpan tadi.














INPUT DAN OUPTUT

INPUT dan OUTPUT adalah dua istilah yang sangat umum ketika berbicara tentang menggunakan komputer. Yang kami maksud dengan INPUT adalah informasi yang diberikan untuk sebuah program (baik itu sistem operasi, aplikasi seperti pengolah kata program, atau program yang Anda tulis sendiri). OUTPUT keprihatinan yang menghasilkan komputer sebagai hasil dari menjalankan program. Agak membingungkan, pengguna komputer selalu merujuk pada saluran input dan output sebagai "masukan" dan "output" juga.

Biasanya, Anda memberikan masukan ke program dari terminal (apa yang Anda ketik pada keyboard) atau dari sebuah file. Yang pertama sering disebut sebagai STANDAR INPUT (dalam arti kanal input). Misalnya, ketika anda mengetik perintah untuk Unix atau untuk SICStus pada tingkat atas meminta Anda menggunakan standard input. Ketika Anda meminta kompiler Prolog untuk berkonsultasi file, saluran masukan Anda adalah file.

Output dari program-program ini biasanya dikirim ke terminal (ditampilkan pada layar), tetapi Anda juga dapat mengirim output ke file, atau perintah lain. Ini adalah apa yang Anda lakukan di Unix bila Anda menggunakan> perintah untuk mengarahkan kembali output dari perintah ke file, atau pipa | perintah untuk mengirim output dari perintah ke perintah lain (lebih misalnya).

Sejauh ini, bila Anda telah menjalankan program Prolog, Anda hanya menggunakan terminal untuk input dan output. Tetapi ada cara untuk memberitahu Prolog untuk mengambil input dari sebuah file, atau untuk mengirim output ke satu. Hal ini berguna misalnya ketika Anda ingin menguji sebuah program, atau jika itu menghasilkan suatu kumpulan data yang ingin Anda menganalisis kemudian.

Ouput


built-in predikat utama yang disediakan untuk istilah output write/ 1, yang d gunakan dalam resume ini
write/ 1 predikat mengambil satu argumen, yang harus yang valid dengan syarat prolog.  Evaluasi predikat menyebabkan syarat akan ditulis ke current output stream, , yang secara default adalah layar user.
Built-in predikat nl / 0 juga telah digunakan berkali-kali sebelumnya dalam hal ini
buku. Tanpa membutuhkan argumen. Mengevaluasi sebuah tujuan nl menyebabkan baris baru untuk menjadi output untuk
output stream.
Contoh
? – write(26), nl.
26
ya
? – write( ’string karakter’), nl.
string karakter
ya
? – write([a, b, c, d, [x, y, z]]), nl.
[a, b, c, d, [x, y, z]]
ya
? – write (mypred (a, b, c)), nl.
mypred (a, b, c)
ya
? – write( ‘Contoh useran nl’), nl, nl, write( ‘akhir contoh’), nl.
Contoh useran nl
contoh akhir
ya

Input

Built-in predikat membaca disediakan untuk masukan istilah. Dibutuhkan satu argumen, yang harus menjadi variabel.
Mengevaluasi itu menyebabkan istilah berikutnya untuk dibaca dari input arus sungai,
yang secara default adalah pengguna keyboard. (Yang dimaksud dengan arus input). Dalam input stream, istilah harus diikuti oleh sebuah titik ('.') dan setidaknya satu spasi, seperti spasi atau baris baru. Titik dan spasi karakter dibaca dalam tetapi tidak dianggap bagian dari istilah. Perhatikan bahwa untuk masukan dari keyboard (hanya) sebuah prompt karakter seperti titik dua biasanya akan ditampilkan untuk menunjukkan bahwa input pengguna diperlukan. Mungkin perlu untuk tekan tombol 'kembali' tombol sebelum Prolog akan menerima input. Kedua tidak berlaku untuk masukan dari file. Ketika sebuah tujuan membaca dievaluasi, istilah input disatukan dengan argumen variabel. Jika variabel tidak terikat (yang biasanya terjadi) itu adalah terikat pada masukan nilai.

Contoh
? - Read (X).
: Jim.
X = jim
? - Read (X).
: 26.
X = 26
? - Read (X).
: Mypred (a, b, c).
X = mypred (a, b, c)
? - Read (Z).
: [A, b, mypred (p, q, r), [z, y, x]].
Z = [a, b, mypred (p, q, r), [z, y, x]]
? - Read (Y).
: 'String karakter'.
Y = 'string karakter'

Jika variabel argumen sudah terikat (yang bagi sebagian besar pengguna adalah jauh lebih mungkin terjadi karena kesalahan daripada desain), tujuan berhasil jika dan hanya jika masukan istilah adalah identik dengan nilai terikat sebelumnya.


Dalam Prolog :
? - X = fred, read (X).
: Jim.
tidak
? - X = fred, read (X).
: Fred.
X = fred


INPUT dan OUTPUT KARAKTER
Meskipun input dan output sangat mudah,tapi useran tanda kutip dan titik dapat menjadi rumit dan tidak selalu sesuai.Sebagai contoh, akan membosankan untuk menentukan predikat (menggunakan baca) yang akan membaca serangkaian karakter dari keyboard dan menghitung jumlah huruf vokal.
untuk mengetahui tentang nilai ASCII karakter.
Semua mencetak karakter dan banyak karakter non-cetak (seperti ruang dan
tab) memiliki sesuai ASCII (American Standard Code for  Information
Interchange) nilai, yang merupakan integer 0-255.

Output Karakter
 

Karakter adalah output dengan menggunakan built-in predikat meletakkan / 1. Predikat mengambil
argumen tunggal, yang harus menjadi nomor 0-255 atau ekspresi yang
mengevaluasi ke integer dalam jangkauan.
Mengevaluasi tujuan put menyebabkan satu karakter untuk menjadi output untuk saat ini
output stream. Ini adalah karakter yang sesuai dengan nilai numerik (ASCII
nilai) dari argumen, misalnya
?- put(97),nl.
a
yes
?- put(122),nl.
z
yes
?- put(64),nl.
@
Yes


 INPUT KARAKTER
 
Dua predikat built-in disediakan untuk memasukkan satu karakter: get0 / 1 da n get/ 1.
Get0 predikat yang mengambil satu argumen, yang harus menjadi variabel. Mengevaluasi
tujuan get0 menyebabkan karakter untuk dibaca dari input saat ini stream. Variabel
kemudian disatukan dengan nilai ASCII karakter ini.
Mengasumsikan argumen variabel tak terikat (yang biasanya akan terjadi), itu
terikat ke nilai ASCII karakter input.
? – Get0 (N).
: A
N = 97
? – Get0 (N).
: Z
N = 90
Logika Pemrograman Dengan 74 Prolog
? – Get0 (M)
)
M = 41
Jika variabel argumen sudah terikat, tujuan berhasil jika dan hanya jika memiliki
nilai numerik yang sama dengan nilai ASCII karakter input.
?- get0(X).
: a
X = 97
?- M is 41,get0(M).
: )
M = 41
?- M=dog,get0(M).
: )
no
?- M=41.001,get0(M).
: )
No
predikat mengambil satu argumen, yang harus menjadi variabel. Mengevaluasi
get berikutnya menyebabkan tujuan non-white-space karakter (yaitu ASCII karakter dengan
nilai kurang dari atau sama dengan 32) untuk dibaca dari input saat ini stream. Itu
variabel ini kemudian disatukan dengan nilai ASCII karakter ini dengan cara yang sama seperti
untuk get0.
?- get(X).
: Z
X = 90
?- get(M).
: Z
M = 90

Input and Output Using File
 

Prolog mengambil semua input dari input stream dan menulis semua output ke
output stream. Secara default kedua stream ini bernama user,
menunjukkan user terminal, yaitu untuk input keyboard dan layar untuk memperoleh output.
Fasilitas yang sama yang tersedia untuk input dan output dari dan ke user
terminal kedua istilah tersebut dengan istilah atau karakter demi karakter juga tersedia untuk input
dan output dari dan ke file (misalnya file pada hard disk atau CD-ROM).
User dapat membuka dan menutup streaminput dan output yang terkait dengan
jumlah nama file, tapi hanya ada satu streaminput dan satu
stream output pada setiap saat. Perhatikan bahwa tidak ada file bisa terbuka untuk input maupun
output pada waktu yang sama (kecuali user) dan bahwa user input dan output stream
tidak dapat ditutup.

Mengubah Output Current Stream


Stream output dapat diubah menggunakan tell / 1 predikat. Ini membutuhkan
argumen tunggal, yang merupakan atom atau variabel yang mewakili nama file, misalnya
kirim ( ‘outfile.txt’).
Mengevaluasi sebuah tujuan kirim menyebabkan file bernama untuk menjadi arus output
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 stream output sebelumnya tetap
terbuka ketika arus output baru stream dipilih. Hanya stream output
dapat ditutup (menggunakan predikat kata yang dijelaskan di bawah).
Arus output default stream user, yaitu user terminal. Nilai ini dapat
dikembalikan baik dengan menggunakan kata predikat atau dengan kirim (user).
Built-in predikat tell/ 0 mengambil tanpa argumen. Mengevaluasi sebuah tujuan kepada penyebab
arus output file yang akan ditutup dan arus output stream untuk diatur ulang ke user,
i.e. user.
Built-in predikat tell / 1 memerlukan satu argumen, yang harus menjadi variabel
dan biasanya akan terikat. Mengevaluasi sebuah tujuan memberitahu menyebabkan variabel yang akan
terikat nama output stream.

Mengubah Input Current 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, misalnya
see( ‘myfile.txt’).
Mengevaluasi sebuah tujuan see menyebabkan file bernama input yang menjadi 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.
Catatan bahwa file yang sesuai dengan arus input yang sebelumnya tetap
terbuka ketika sebuah arus input yang baru dipilih. Hanya arus input
dapat ditutup. Default input stream user, yaitu user. Nilai ini dapat
dipulihkan baik dengan menggunakan dilihat predikat atau dengan see (user).
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 input stream.

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 get(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.

End Of Record


Tergantung pada versi Prolog digunakan, mungkin ada ketidakcocokan untuk
karakter input antara membaca akhir sebuah catatan dari terminal user dan dari sebuah file.
Biasanya akhir baris dari input pada terminal user 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.
Readline:-get0 (X), proses (X).
proses (13).
proses (X):-X = \ = 13, memakai (X), nl, Readline.
Perhatikan useran meletakkan daripada menulis dan bahwa tes untuk nilai ASCII 13
menghindari kebutuhan untuk karakter seperti * untuk menunjukkan ‘akhir input’.
? – Readline.
: Prolog test
Pr
ol
og
t
est
ya


 



Selasa, 24 November 2009

INPUT DAN OUTPUT dalam Prolog

Sekarang kita akan belajar bagaimana cara mengkonversi huruf besar menjadi huruf kecil atau yang lainnya.



1. Pertama kita harus membuka notepad terlebih dahulu.
2. Kemudian isikan dalam notepad seperti pada gambar diatas.
    Penjelasan :
    - get0 (X):  untuk mengkonversi karakter ASCII.

    -  (V, X): digunakan untuk memeriksa apakah X adalah antara 63-95. Jika betul, maka akan                 mengkonversi huruf besar huruf kecil dengan menambahkan angka ASCII karakter dengan 32.

    - (13) untuk memasukkan karakter kosong dalam proses.
3. Setelah itu, setelah mengetikan dalam notepad.Simpan dalam bentuk .pl
4. Kemudian buka file yang tadi dalam program prolog.
5. Ketikan readline pada prolog.Kemudian tekan enter.
6. Coba ketikan huruf terserah anda.Jangan lupa titik pada akhirnya.Dan tekan enter.
















Jika ingin menampilkan yang Horizontal caranya sama tetapi memakai nl.

Contoh   :













                                Notepad


                               Hasil Horizontal

SMART SCAN

Latar belakang :
Perkembangan tekhnologi membuat manusia semakin banyak kebutuhannya yang berhubungan dengan tekhnologi.
Misal pelajar/mahasiswa sampai dengan saat ini masih banyak yang menggunakan buku sebagai sumber untuk membuat makalah.
Dan kebanyakan mereka ketika ingin merangkum susah-susah membaca bukunya terlebih dahulu kemudian sebagian dari buku itu kata-katanya disalin.
Maka dari itu kelompok kami mempunyai ide tentang bagaimana supaya tidak susah-susah ketika merangkum (mengetik ulang).
Hanya perlu menscan, lalu mengedit melalui program kelompok kami, dan tinggal menambahkan/menghapus kalimat-kalimat yang tidak perlu.
Di sisi lain pada saat ini banyak orang ingin menyelesaikan sesuatu dengan cepat,karena dengan mengetik ulang akan banyak menghabiskan waktu.
Sedangkan jika hanya menscan saja kalimat-kalimat yang tidak diperlukan tidak bisa dihilangkan.

Penjelasan ide :
Aplikasi ini mampu mengedit file digital hasil scan, jika yang kita ketahui selama ini hasil scan hanya dapat dibaca tapi dengan aplikasi ini
hasil scan yang berupa gambar text setiap hurufnya akan dapat diterjemahkan menjadi bentuk text yang dapat di edit seperti dalam microsoft word.
Aplikasi ini juga dilengkapi fitur-fitur seperti dalam microsoft word.Selain itu Aplikasi ini tidak hanya dapat menerjemahkan bentuk text,tetapi juga dapat menerjemahkan hasil scan yang berupa gambar.
Jadi jika file digital scannya berupa gambar sketsa yang biasanya terdiri dari garis-garis hasil freehand maka garis-garis tersebut dapat di edit kembali di dalam aplikasi ini seperti dalam corel draw/autocad.

Manfaat :

- Mempermudah dalam merubah hasil scan seperti yang kita inginkan.
- Memgefisiensi waktu pengetikan data yang diambil dari buku.
- Memudahkan kita untuk merubah hasil gambar freehand menjadi gambar digital yang lebih akurat.

Kesimpulan :

Jadi dengan menggunakan software ini kita akan lebih mudah dalam merubah hasil scan yang kita inginkan.
Dengan software ini juga kita akan lebih mengefisiensi waktu.Semoga ide ini dapat tercipta dan memudahkan kita semua.

Kamis, 12 November 2009

Resume Chapter 4

1. Arithmetic
Prolog menyediakan fasilitas untuk melakukan penghitungan aritmatik menggunakan notasi-notasi yang mirip dengan aljabar dasar.
2. Operators
Ada bentuk lain untuk menulis suatu predikat selain bentuk standar yang sudah dipelajari pada bab sebelumnya. Untuk binary predicate (predikat dengan dua argumen) dapat diubah menjadi bentuk infix operator.
Kemudian untuk bentuk unary predikat (predikat dengan satu argumen) dapat diubah menjadi bentuk prefix operator atau postfix operator.
a. Arithmetic Operators
Merupakan operator yang biasanya digunakan untuk melakukan penghitungan aritmatik variabel-variabel di dalam pemrograman menggunakan prolog. Berikut adalah contoh penggunaan dari masing-masing operator.
1. X+Y (penjumlahan dari X ditambah Y)
2.X-Y (selisih dari X dikurangi Y)
3.X*Y (hasil perkalian dari X dan Y)
4.X/Y (hasil pembagian dari X dibagi oleh Y)
5.X//Y the 'integer quotient' of X and Y (the result is truncated to the nearest integer between it and zero)
6.X^Y (nilai dari X pangkat Y)
b. Arithmetic Functions
Merupakan fungsi yang biasanya digunakan untuk melakukan penghitungan aritmatik variabel-variabel di dalam pemrograman menggunakan prolog. Berikut adalah contoh penggunaan dari masing-masing fungsi.
- abs(X) (nilai absolut dari X)
- sin(X) (nilai sinus dari X untuk X dalam derajat)
- cos(X) (nilai cosinus dari X untuk X dalam derajat)
- max(X,Y) (menentukan mana yang lebih besar antara X dan Y)
- sqrt(X) (nilai dari X akar pangkat dua)
c. Pengutamaan Operator Dalam Ekspresi Aritmatika
Prolog menggunakan algoritma aljabar biasa dalam pengopersian aritmatika. Contohnya A+B*C-D. Di dalam ajabar C dan D dikalikan lebih dahulu lalu ditambah dengan A lalu dikurangi dengan D. DI prolog juga demikian. Untuk pengecualian, kita tinggal menggunakan kurung. Contoh : (A+B)*(C+D).
d. Relational Operators
Operator seperti =, !=, >,>=, <, =<, dapat digunakan di Prolog. Digunakan untuk membandingkan dua variabel.

3. Operator Pembanding
Berikut merupakan daftar dari equality operators yang digunakan dalam prolog beserta fungsi dari masing-masing operator.
o Arithmetic Expression Equality =:=
o Arithmetic Expression Inequality =\=
o Terms Identical ==
o Terms Not Identical \==
o Terms Identical With Unification =
o Non-Unification Between Two Terms \=
4. Operator Logika
a. Operator Not
Operator not dapat ditempatkan sebelum predikat untuk memberikan negasi. Predikat yang dinegasikan bernilai benar jika predikat yang asli salah dan bernilai salah jika predikat yang asli benar. Berikut contoh penggunaan operator not :
dog(fido).
?- not dog(fido).
no
?- dog(fred).
no
?- not dog(fred).
yes
?- X=0,X is 0.
X = 0
?- X=0,not X is 0.
no
b. Operator Disjungsi
Operator disjungsi (;) digunakan sebagai operator ‘atau’. Contoh :
?- 6<3;7>
yes

?- 6*6=:=36;10=8+3.
yes

Rabu, 11 November 2009

OPERATOR AND ARITHMETIC

Jawaban Exercise 4 no 1














Rule dalam Notepad

1.Pertama-tama kita bikin rulenya dulu dalam notepad.Seperti pada gambar diatas.
2.Kemudian simpan dalam bentuk .pl
3.Setelah itu buka file yang dalam bentuk .pl td.
4.Kemudian ketik contoh(4,7).
5.Kalimat contoh td bs di ganti dengan pred.














Hasil dalam Prolog


Jawaban Exercise 4 no 2














Rule dalam Notepad

1.Pertama-tama kita bikin rulenya terlebih dahulu dalam notepad.
2.Kemudian kita save dalam bentuk .pl
3.Buka file yang dalam bentuk .pl td dalam prolog.
4.Setelah itu ketikan X chases Y.














Hasil dalam Prolog