tag:blogger.com,1999:blog-11421823393422545742024-03-13T23:24:44.345-07:00ProNiqueProNique.. is acronim from Prolog is Unique..Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-1142182339342254574.post-58581281970532619052009-12-22T03:31:00.000-08:002009-12-22T04:46:34.408-08:00Final Project MatdisAkhirnya setelah sekian lama berusaha, selesai juga final report kita...<br /><br />Berikut ini linknya..<br /><a href="http://www.4shared.com/file/178689746/e9d562cf/DiscreteMath_FP_Report_ClassB_.html"><br /></a><a href="http://www.4shared.com/file/178732355/543cf5d/DiscreteMath_FP_Report_ClassB_.html">Final Report PDF</a><br /><a href="http://www.4shared.com/file/178689792/5b16d89b/FP_Matdis.html">Source Code Prolog</a>Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com1tag:blogger.com,1999:blog-1142182339342254574.post-79051648440422659282009-12-16T00:49:00.000-08:002009-12-16T01:33:36.420-08:00Testing - Expert SystemUntuk tugas sistem pakar sebelumnya mungkin aplikasi kami sulit untuk diwujudkan. Untuk itu sekarang kelompok kami mencoba membuat aplikasi sederhana yang dapat mengetahui jarak rumah dalam suatu komplek, siapakah keluarga yang lingkungan rumahnya sehat, apakah suatu keluarga dalam komplek tersebut bahagia, apakah rumah keluarga yang satu dengan yang lainnya dalam satu komplek tersebut dekat, dan siapakah keluarga yang memiliki rumah yang besar...<br /><br />berikut adalah source codenya :<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxU_eg6ItCZtYk1MsvMt3PyV7efFdM1Cj5YPhAPuBj7GCNZlDE8_fkOfiluk7HzI5BYiFHqj5zBR06PNN6jOCOn_m8Hu9MDgOILxrJ-cVrY7zMW-HTDSvIJZ257o-Mo_nRTB9hzYDEq4Nq/s1600-h/sourcecode.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 486px; height: 380px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxU_eg6ItCZtYk1MsvMt3PyV7efFdM1Cj5YPhAPuBj7GCNZlDE8_fkOfiluk7HzI5BYiFHqj5zBR06PNN6jOCOn_m8Hu9MDgOILxrJ-cVrY7zMW-HTDSvIJZ257o-Mo_nRTB9hzYDEq4Nq/s400/sourcecode.jpg" alt="" id="BLOGGER_PHOTO_ID_5415758050064590002" border="0" /></a><br />sourcecode.jpg<br /><div style="text-align: left;"><br />Lalu, berikut adalah tampilan jika kita mencobanya pada SWI prolog :<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8imivZvGRE99rTxryNa97_Y6ShJZ3-Oo1bwtpXi2EvJe51NDAnnzNYDUYX9ANP1Z_NG_XdMGW9dIw0QF6sSRgCHV00GSiqr1b45nG368qUJHgLdmhQOdnsuRyGCBUiVAbk08uJeSdoxzM/s1600-h/bahagia.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 471px; height: 260px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8imivZvGRE99rTxryNa97_Y6ShJZ3-Oo1bwtpXi2EvJe51NDAnnzNYDUYX9ANP1Z_NG_XdMGW9dIw0QF6sSRgCHV00GSiqr1b45nG368qUJHgLdmhQOdnsuRyGCBUiVAbk08uJeSdoxzM/s400/bahagia.jpg" alt="" id="BLOGGER_PHOTO_ID_5415760064165080210" border="0" /></a><br />bahagia.jpg<br /><div style="text-align: left;"><br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNbW7DeSLIH4pZgdrsFIzNor56_Kv82FN6LVuLKocVpBVnPyn_J3c2XvFaLq1czqwZ4zGPFrHN-nvBQHCYZNzXaMOQHp1qh9YMad-kfGO3QTdnIFRw-Sdxjh-VxF5PPlDsnj8AyCGK0WQf/s1600-h/lingkungansehat.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 477px; height: 267px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNbW7DeSLIH4pZgdrsFIzNor56_Kv82FN6LVuLKocVpBVnPyn_J3c2XvFaLq1czqwZ4zGPFrHN-nvBQHCYZNzXaMOQHp1qh9YMad-kfGO3QTdnIFRw-Sdxjh-VxF5PPlDsnj8AyCGK0WQf/s400/lingkungansehat.jpg" alt="" id="BLOGGER_PHOTO_ID_5415761182135202962" border="0" /></a><br />lingkungansehat.jpg<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj49ilaRyFWlMGdw7BywU2reeEExFMawxmgrMG3Jj49hG_Hhn_6A9BjycJKMZAPnXZyaMNvO5k1r5x-u4prFxoR4vOmM0gox8e3KpMiIRHSmyYA4u9sqTrWNvobaf1F3sc1sFfIdr7LWUpW/s1600-h/near.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 476px; height: 263px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj49ilaRyFWlMGdw7BywU2reeEExFMawxmgrMG3Jj49hG_Hhn_6A9BjycJKMZAPnXZyaMNvO5k1r5x-u4prFxoR4vOmM0gox8e3KpMiIRHSmyYA4u9sqTrWNvobaf1F3sc1sFfIdr7LWUpW/s400/near.jpg" alt="" id="BLOGGER_PHOTO_ID_5415762412081489170" border="0" /></a>near.jpg<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqoNpkrT5O6og8T4ogxxMfslAoHQYjL741mWewA7e2QXYweHRli45vi98YF4DdTwdkorR7jaXsOohp5oN6QoYSZDDlnei_UMMVhe-P_jqQGbFTnsQQYY_QDIdZIhXaeTliWJC0ECUJZycw/s1600-h/rumahbersih.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 486px; height: 237px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqoNpkrT5O6og8T4ogxxMfslAoHQYjL741mWewA7e2QXYweHRli45vi98YF4DdTwdkorR7jaXsOohp5oN6QoYSZDDlnei_UMMVhe-P_jqQGbFTnsQQYY_QDIdZIhXaeTliWJC0ECUJZycw/s400/rumahbersih.jpg" alt="" id="BLOGGER_PHOTO_ID_5415763110283233106" border="0" /></a>rumahbersih.jpg<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPKUT4C7Gbv436gV2CV-xdFa8HuepmBmyCPdiTtWHfcSyQeXYsS0EL29SugBPC7HWXkwBjbgYMhtn1fgWIo5SLOUANCDzoLZiA0EmnGs3-mZTPEzFrAXtBuF6_TLno0MOq_knnBEk6Pe7J/s1600-h/rumahbesar.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 488px; height: 262px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPKUT4C7Gbv436gV2CV-xdFa8HuepmBmyCPdiTtWHfcSyQeXYsS0EL29SugBPC7HWXkwBjbgYMhtn1fgWIo5SLOUANCDzoLZiA0EmnGs3-mZTPEzFrAXtBuF6_TLno0MOq_knnBEk6Pe7J/s400/rumahbesar.jpg" alt="" id="BLOGGER_PHOTO_ID_5415763510040298338" border="0" /></a>rumahbesar.jpg<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyUKAnPkzeaPpFSRzxLk8UjhIUhMELA2RFnyzHUQ0rHHlg3wK5S5A10A1Ho6_nfrZMi0Xur2uT2xkpWfDatA0MhO7OG6g7ku7cUFDu8nyIy-lSbOjf9HxPu8L-o6JwTvVH92Dr60OqB5-J/s1600-h/jarakrumah.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 488px; height: 271px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyUKAnPkzeaPpFSRzxLk8UjhIUhMELA2RFnyzHUQ0rHHlg3wK5S5A10A1Ho6_nfrZMi0Xur2uT2xkpWfDatA0MhO7OG6g7ku7cUFDu8nyIy-lSbOjf9HxPu8L-o6JwTvVH92Dr60OqB5-J/s400/jarakrumah.jpg" alt="" id="BLOGGER_PHOTO_ID_5415764311508406050" border="0" /></a>jarakrumah.jpg<br /></div></div></div></div></div>Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com0tag:blogger.com,1999:blog-1142182339342254574.post-35087889619657113802009-12-07T18:25:00.000-08:002009-12-07T18:44:01.158-08:00Jawaban Practical Exercise 6Soal 1<br /><p>Langkah pengerjaan :</p><ol><li>Buat rule prolog yang memanfaatkan predikat outsquare menggunakan metode rekursi untuk mengatur prolog mencari nilai kuadrat dari bilngan N1 selama N1 nilainya tidak lebih dari N2.(Soal1 Rule.jpg)</li><li>Tuliskan perintah pada SWI prolog sesuai rule.(Soal1 SWI.jpg)</li></ol><p align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmuof7nJfA3HAYFx8zmXf0ZedzVd4Q3hkQAl5ulCKt_ZSr-U6CbaprZjA09Azi9Ci1N3RxtaOifVk0CDAndo_Lq4_6Nl5xM4dq57vOARlcp4stri5yzlg1Qi7CcjdgSTnX2vS_vy2VHZW0/s1600-h/Soal1+Rule.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 277px; height: 208px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmuof7nJfA3HAYFx8zmXf0ZedzVd4Q3hkQAl5ulCKt_ZSr-U6CbaprZjA09Azi9Ci1N3RxtaOifVk0CDAndo_Lq4_6Nl5xM4dq57vOARlcp4stri5yzlg1Qi7CcjdgSTnX2vS_vy2VHZW0/s400/Soal1+Rule.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5412686495414487570" /></a><br /></p><p align="center">Soal1 Rule.jpg</p><p align="center"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 221px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVgtQVCqoBAy4DsFr8rhWFmZNbohFrM4cpJ2VMdMEWX3N1lZrhN1cL40ik-WnFMUdBpnrxlTrquqVHFYXGHQPLvS0XxdKbTpKhxtR4qczJEH6BLO7nppbQudPM41KAEo43Jt9ZG6NOXhXh/s400/Soal1+SWI.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5412686884511072370" /><br /></p><p align="center">Soal1 SWI.jpg</p><p align="center"><br /></p><p align="left">Soal 2</p><p align="left">Langkah pengerjaan :</p><ol><li align="left">Buat rule prolog yang memanfaatkan predikat repeat, go, get0 dan getrest untuk mengatur prolog membaca karakter dari input sebelum barisan karakter terakhir/pindah baris atau sebelum karakter ?.(Soal2 Rule.jpg)</li><li align="left">Tuliskan perintah pada SWI prolog sesuai rule.(Soal2 SWI.jpg)</li></ol><p align="center"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 272px; height: 287px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtsfdPAH97c-ya62kXBXNKUy90mNTVk6QAEQMv-gUcBfDicZAa_5KWgZFy2QBit1XW5koNgoTYWQx7CkROIv36rc00O8tm_v_8Y6rMfZDeFU0mWaFDw75iac5FIVT9E40d0b5uUkTBzxf-/s400/Soal2+Rule.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5412688161055977842" /><br /></p><p align="center">Soal2 Rule.jpg</p><p align="center"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 198px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht1CkxnXsgKvByt9j__Ld7MlHrBddYmx20u9tIOQYOMf4w0LALRKSYHKshMHsPgr7S1Aqxo9wtGUx_BqudqTEwgs7Wk9H50a164RmTiwNntRpcr-krGyqp7DDlnMxkoCEi2slXGWz-ROnD/s400/Soal2+SWI.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5412689782249183026" /><br /></p><p align="center">Soal2 SWI.jpg</p><p align="left"><br /></p><p align="left">Soal 3</p><p align="left">Langkah pengerjaan :</p><ol><li align="left">Buat rule prolog yang memanfaatkan predikat find menggunakan metode "bactracking with failure" untuk mengatur prolog mencari profesi dari orang yang berumur lebih dari 40 tahun berdasarkan person clauses yang ada pada Section 6.3.1.(Soal3 Rule.jpg)</li><li align="left">Tuliskan perintah pada SWI prolog sesuai rule.(Soal3 SWI.jpg)</li></ol><p align="center"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 261px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnio6t_kIrt1MRK0iF50jj074GGKjGKQYnmc1KrNxQnHrS7TsbpgilvXCuGSeuxzjiCUk43Wp_MAG6tx2zgKqoSYtnU2jRsvJwUORjUxzEOSc3kVgnx_flEHYyvKo632lIMnB_5zGh0cGb/s400/Soal3+Rule.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5412690126675087090" /><br /></p><p align="center">Soal3 Rule.jpg</p><p align="center"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 191px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg6HQmcqFyh5LmnPpBD76FzTo-QJcEngLjbrizblS1xp6U31yo_izJIuDEB_0JxUPqH0cax5tzl7-kNSPpaXxiLSRyeXOkoz4gfprOyRdvcZLnYy1vCxrmwO97U5vKDYnxSjp_kKcyZOa2/s400/Soal3+SWI.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5412690349092243810" /><br /></p><p align="center">Soal3 SWI.jpg</p>Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com0tag:blogger.com,1999:blog-1142182339342254574.post-63391158529543916402009-12-07T08:25:00.001-08:002009-12-07T08:29:32.239-08:00Summary Bab 6 LoopChapter Aims<br />After reading this chapter you should be able to:<br />1. Define a predicate which causes a sequence of goals to be evaluated<br />repeatedly, either a fixed number of times or until a specified condition is<br />2. satisfied<br />Define a predicate which searches a database to find all the clauses with a<br />specified property.<br /><br />Introduction<br />Most conventional programming languages have a looping facility that enables a<br />set of instructions to be executed repeatedly either a fixed number of times or until<br />a given condition is met. Prolog has no looping facilities, similar effects can be obtained that enable asequence of goals to be evaluated repeatedly. This can be done in a variety of ways, using backtracking, recursion, built-in predicates, or a combination of these.<br /><br />6.1 Looping a Fixed Number of Times<br /><br />Example 1<br />The following program outputs integers from a specified value down to 1.<br />loop(0).<br />loop(N):-N>0,write('The value is: '),write(N),nl,<br />M is N-1,loop(M).<br /><br />The loop predicate is defined in terms of itself. The second clause can be<br />thought of as: 'to loop from N, first write the value of N, then subtract one to give<br />M, then loop from M'. This process clearly needs to be terminated and this is<br />achieved by the first clause: 'when the argument is zero, do nothing (and hence<br />stop)'. The first clause can be regarded as a terminating condition for the recursion.<br /><br />?- loop(6).<br /><br />The value is: 6<br /><br />The value is: 5<br /><br />The value is: 4<br /><br />The value is: 3<br /><br />The value is: 2<br /><br />The value is: 1<br /><br />yes<br /><br /><br /><br />6.2 Looping Until a Condition Is Satisfied<br /><br />6.2.1 Recursion<br /><br />The first example below shows the use of recursion to read terms entered by the<br />user from the keyboard and output them to the screen, until end is encountered.<br /><br />go:-loop(start). /* start is a dummy value used to get<br />the looping process started.*/<br />loop(end).<br />loop(X):-X\=end,write('Type end to end'),read(Word),<br />write('Input was '),write(Word),nl,loop(Word).<br /><br />?- go.<br /><br />Type end to end: university.<br /><br />Input was university<br /><br />Type end to end: of.<br /><br />Input was of<br /><br />Type end to end: portsmouth.<br /><br />Input was portsmouth<br /><br />Type end to end: end.<br /><br />Input was end<br /><br />Yes<br /><br />Using the disjunction operator ;/2 which was defined in Section 4.4 the above<br />program can be rewritten as a single clause.<br /><br />loop:-write('Type end to end'),read(Word),<br />write('Input was '),write(Word),nl,<br />(Word=end;loop).<br /><br />The 'disjunctive goal' (Word=end;loop) succeeds if variable Word is bound to<br />the atom end. If not, the system attempts to satisfy the goal loop recursively.<br /><br />?- loop.<br /><br />Type end to end: university.<br /><br />Input was university<br /><br />Type end to end: of.<br /><br />Input was of<br /><br />Type end to end: portsmouth.<br /><br />Input was portsmouth<br /><br />Type end to end: end.<br /><br />Input was end<br />yes<br />This recursive program repeatedly prompts the user to enter a term until either<br />yes or no is entered.<br /><br />get_answer(Ans):-write('Enter answer to question'),<br />nl,get_answer2(Ans).<br />get_answer2(Ans):-<br />write('answer yes or no'),<br />read(A),<br />((valid(A),Ans=A,write('Answer is '),<br />write(A),nl);get_answer2(Ans)).<br />valid(yes). valid(no).<br /><br />?- get_answer(Myanswer).<br /><br />Enter answer to question<br /><br />answer yes or no: maybe.<br /><br />answer yes or no: possibly.<br /><br />answer yes or no: yes.<br /><br />Answer is yes<br /><br />Myanswer = yes<br /><br />6.2.2 Using the 'repeat' Predicate<br /><br />The name of this predicate is really a misnomer. The goal repeat does not<br />repeat anything; it merely succeeds whenever it is called. The great value of repeat<br />is that it also succeeds (as many times as necessary) on backtracking. The effect of<br />this, as for any other goal succeeding, is to change the order of evaluating goals<br />from 'right to left' (i.e. backtracking) back to 'left-to-right'. This can be used to<br />create a looping effect, as shown in the examples below.<br /><br />get_answer(Ans):-<br />write('Enter answer to question'),nl,<br />repeat,write('answer yes or no'),read(Ans),<br />valid(Ans),write('Answer is '),write(Ans),nl.<br />valid(yes). valid(no).<br /><br /><br /><br />The first five goals in the body of get_answer will always succeed. Evaluating<br />the fifth goal: read(Ans) will prompt the user to enter a term. If the term input is<br />anything but yes or no, say unsure, the following goal valid(Ans) will fail. Prolog<br />will then backtrack over read(Ans) and write('answer yes or no'), both of which<br />are unresatisfiable, i.e. will always fail on backtracking.<br />Backtracking will then reach the predicate repeat and succeed, causing<br />evaluation to proceed forward (left-to-right) again, with write('answer yes or no')<br />and read(Ans) both succeeding, followed by a further evaluation of valid(Ans).<br />Depending on the value of Ans, i.e. the user's input, the valid(Ans) goal will<br />either fail, in which case Prolog will backtrack as far as repeat, as before, or it will<br />succeed in which case the final three goals write('Answer is'), write(Ans) and nl<br />will all succeed. The overall effect is that the two goals write('answer yes or no')<br />and read(Ans) are called repeatedly until the terminating condition valid(Ans) is<br />satisfied, effectively creating a loop between repeat and valid(Ans).<br /><br />?- get_answer(X).<br /><br />Enter answer to question<br /><br />answer yes or no: unsure.<br /><br />answer yes or no: possibly.<br /><br />answer yes or no: no.<br /><br />answer is no<br /><br />X = no<br /><br />6.3 Backtracking with Failure<br /><br />As the name implies, the predicate fail always fails, whether on 'standard'<br />evaluation left-to-right or on backtracking. Advantage can be taken of this,<br />combined with Prolog's automatic backtracking, to search through the database to<br />find all the clauses with a specified property.<br /><br />6.3.1 Searching the Prolog Database<br /><br />Supposing the database contains clauses such as<br /><br />dog(fido).<br />dog(fred).<br />dog(jonathan).<br /><br />Each dog clause can be processed in turn using the alldogs predicate defined<br />below.<br /><br />alldogs:-dog(X),write(X),write(' is a dog'),nl,fail.<br />alldogs.<br /><br /><br /><br /><br /><br /><br />Calling alldogs will cause dog(X) to be matched with the dog clauses in the<br />database. Initially X will be bound to fido and 'fido is a dog' will be output. The<br />final goal in the first clause of the alldogs predicate will then cause evaluation to<br />fail. Prolog will then backtrack over nl and the two write goals (all of which are<br />unresatisfiable) until it reaches dog(X). This goal will succeed for a second time<br />causing X to be bound to fred.<br />This process will continue until fido, fred and jonathan have all been output,<br />when evaluation will again fail. This time the call to dog(X) will also fail as there<br />are no further dog clauses in the database. This will cause the first clause for<br />alldogs to fail and Prolog to examine the second clause of alldogs. This will<br />succeed and evaluation will stop.<br />The effect is to loop through the database finding all possible values of X that<br />satisfy the goal dog(X).<br /><br />?- alldogs.<br /><br />fido is a dog<br /><br />fred is a dog<br /><br />jonathan is a dog<br /><br />yes<br /><br />Note the importance of the second clause of the alldogs predicate. It is there to<br />ensure that, after the database has been searched, the goal succeeds. With only the<br />first line, any call to alldogs will eventually fail.<br /><br />alldogs:-dog(X),write(X),write(' is a dog'),nl,fail.<br /><br />?- alldogs.<br /><br />fido is a dog<br /><br />fred is a dog<br /><br />jonathan is a dog<br /><br />no<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />6.3.2 Finding Multiple Solutions<br /><br />Backtracking with failure can also be used to find all the ways of satisfying a goal.<br />Suppose that a predicate findroute(Town1,Town2,Route) finds a route Route<br />between two towns Town1 and Town2. The details of this predicate are irrelevant<br />here. It may be assumed that Town1 and Town2 are atoms and that Route is a list.<br />Backtracking with failure can then be used to find all possible routes between<br />Town1 and Town2 and write out each one on a separate line, as follows:<br /><br />find_all_routes(Town1,Town2):-<br />findroute(Town1,Town2,Route),<br />write('Possible route: '),write(Route),nl,fail.<br />find_all_routes(_,_).Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com0tag:blogger.com,1999:blog-1142182339342254574.post-69198361117279740292009-11-25T19:41:00.000-08:002009-12-07T18:25:19.097-08:00Jawaban Practical Exercise 5Soal 1<br /><br />Langkah pengerjaan :<br /><ol><li>Buat rule prolog yang memanfaatkan predikat makelower untuk mengatur prolog mengubah huruf kapital menjadi huruf kecil.(Soal1 Rule.jpg)</li><li>Tuliskan perintah sesuai rule, kemudian tuliskan kalimat yang terdapat huruf kapital untuk kemudian diubah menjadi huruf kecil.(Soal1 SWI.jpg)</li></ol><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoyuyIO5VetoBBQYBNVhmMwJs0VDrF7sx6Kz017kq9DpCOSNO2BQ5oAzBZJOtrZxNvqiHW8p1tqYkQX6LYq2bl-r63kEhdKr4j0JbeywpKAfTDSFcaL9G2C6Ftbe1IctK6cVLzQ4Ax0br1/s1600/Soal1+Rule.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 243px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoyuyIO5VetoBBQYBNVhmMwJs0VDrF7sx6Kz017kq9DpCOSNO2BQ5oAzBZJOtrZxNvqiHW8p1tqYkQX6LYq2bl-r63kEhdKr4j0JbeywpKAfTDSFcaL9G2C6Ftbe1IctK6cVLzQ4Ax0br1/s320/Soal1+Rule.jpg" alt="" id="BLOGGER_PHOTO_ID_5408253004547954882" border="0" /></a>Soal1 Rule.jpg<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj__RPbPr1UaTkxBvPwNy12m1XGlntkRRhNfdNG4w2O_AZnj8DEYZVEpsS9LKkRwPa0tFA7BFdDGZNWRoB1f8YDnm5WiRXlQuXr4Guu1BnPsLZ7QboVYcYBGrZdkJ8yuCLfSDir0759uz10/s1600/Soal1+SWI.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 205px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj__RPbPr1UaTkxBvPwNy12m1XGlntkRRhNfdNG4w2O_AZnj8DEYZVEpsS9LKkRwPa0tFA7BFdDGZNWRoB1f8YDnm5WiRXlQuXr4Guu1BnPsLZ7QboVYcYBGrZdkJ8yuCLfSDir0759uz10/s400/Soal1+SWI.jpg" alt="" id="BLOGGER_PHOTO_ID_5408255138297030434" border="0" /></a>Soal1 SWI.jpg<br /><div style="text-align: left;">Soal 2<br /><br />Langkah pengerjaan :<br /><ol><li>Buat dua textfile sebagai input dan output.</li><li>Input yang terdiri dari beberapa pernyataan dituliskan ke dalam sebuah textfile bernama input.txt(Soal2 Input.jpg)</li><li>Buat rule prolog yang memanfaatkan predikat copyterms untuk mengatur prolog mengkopi isi dari textfile input ke dalam textfile output dan di dalam textfile output masing-masing pernyataan ada pada baris yang berbeda.(Soal2 Rule.jpg)</li><li>Tuliskan perintah sesuai rule pada prolog(Soal2 SWI.jpg)</li><li>Hasilnya akan keluar pada textfile output(Soal2 Output.jpg)</li></ol><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9LUVtejoz7zh0sQQelbDh_9bWosuW8IxArrXzhear3G-IwS4F1xitZ5bgDwvuBhO8PoWKp2CUEuLPROL_3XrXO5i1t_r0whhJFqQDTRpdznfW19ZiWnc08PaNDE6Pc3drrxUvQgTbaUk7/s1600/Soal2+Input.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 246px; height: 186px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9LUVtejoz7zh0sQQelbDh_9bWosuW8IxArrXzhear3G-IwS4F1xitZ5bgDwvuBhO8PoWKp2CUEuLPROL_3XrXO5i1t_r0whhJFqQDTRpdznfW19ZiWnc08PaNDE6Pc3drrxUvQgTbaUk7/s400/Soal2+Input.jpg" alt="" id="BLOGGER_PHOTO_ID_5408255409854545762" border="0" /></a><br /><div style="text-align: center;">Soal2 Input.jpg<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB8mXDvdM5SLpNpjT5cwLnvxRU9hHtjAVmCt0R6WBpxCRj6hTlM4oIR3WtLD2cJ_-mbicJYlO6QQml09SICCMBelo9j1y42l2urdXiwSgbSL0Orlt5pN_SEAGwYxgbLJaoerDWAEFX2MvV/s1600/Soal2+Rule.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 298px; height: 279px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB8mXDvdM5SLpNpjT5cwLnvxRU9hHtjAVmCt0R6WBpxCRj6hTlM4oIR3WtLD2cJ_-mbicJYlO6QQml09SICCMBelo9j1y42l2urdXiwSgbSL0Orlt5pN_SEAGwYxgbLJaoerDWAEFX2MvV/s400/Soal2+Rule.jpg" alt="" id="BLOGGER_PHOTO_ID_5408255794591086706" border="0" /></a>Soal2 Rule.jpg<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLsyNrbR50SS6MVGkOwVhNhkKiRJ4DK-XaIr8kGxWbEOFWqWDM3tNHQXsea_y-TTgqZ5-SWONiM5fcuCldJpggqtnxwt_CE-y1iOkyqcaZFWsQxf5NqmxoLUWXy4wyPd6o4YZwWPVmC5ig/s1600/Soal2+SWI.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 168px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLsyNrbR50SS6MVGkOwVhNhkKiRJ4DK-XaIr8kGxWbEOFWqWDM3tNHQXsea_y-TTgqZ5-SWONiM5fcuCldJpggqtnxwt_CE-y1iOkyqcaZFWsQxf5NqmxoLUWXy4wyPd6o4YZwWPVmC5ig/s400/Soal2+SWI.jpg" alt="" id="BLOGGER_PHOTO_ID_5408255997452722434" border="0" /></a>Soal2 SWI.jpg<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyxVlZtR8zTuHeyECJhzdDZk1XvzejJtvJvA7p8hUu6Fv5bk42ywHBw0cskiNXsHrwASqZ0KPmAY8_mLBKGIBh6weNobui1IHKLSU9MopTSrsOvrBq7p6r048pCI2Jeh3XUInVL9NISmT8/s1600/Soal2+Output.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 244px; height: 232px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyxVlZtR8zTuHeyECJhzdDZk1XvzejJtvJvA7p8hUu6Fv5bk42ywHBw0cskiNXsHrwASqZ0KPmAY8_mLBKGIBh6weNobui1IHKLSU9MopTSrsOvrBq7p6r048pCI2Jeh3XUInVL9NISmT8/s400/Soal2+Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5408256129989963570" border="0" /></a>Soal2 Output.jpg<br /><div style="text-align: left;">Soal 3<br /><br />Langkah-langkah pengerjaan :<br /><ol><li>Buatlah sebuah file bernama testa.txt yang digunakan sebagai input dan tuliskan beberapa karakter di dalamnya.(Soal3 Input.jpg)</li><li>Buat rule prolog yang memanfaatkan predikat readfile untuk mengatur prolog membaca masing-masing karakter yang terdapat pada textfile input untuk kemudian dicari nilai ASCII dari masing-masing kareakter tersebut.(Soal2 Rule.jpg)</li><li>Tuliskan perintah sesuai rule pada prolog sehingga keluar nilai ASCII dari masing-masing karakter pada input(Soal2 SWI.jpg)</li><li>Nilai yang muncul seharusnya seperti berikut :</li></ol> ?- readfile('testa.txt').<br />97<br />98<br />99<br />100<br />101<br />13<br />10<br />102<br />103<br />104<br />105<br />106<br />13<br />10<br />-1<br />yes<br /><br />Karena hasil yang keluar pada prolog kami tidak seperti itu, berarti versi prolog yang kami gunakan menggunakan cara yang berbeda dari yang ada prolog yang digunakan dalam E-Book Logic Programming with Prolog dalam merepresentasikan end of file, end of record, atau keduanya<br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAsdvXp22RoXFFqlFDj2eCj-uxRdC4MGy_yuELmnIbroY1f8KygJ76v80733YxQa-KsqRC_JLBq2v_4hNM-ng-y7Pfa2y3mLsv19tnHEzgYxp29h-PCPNat97unkwUZRgMLdY9o9TNfo-w/s1600/Soal3+Input.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 228px; height: 144px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAsdvXp22RoXFFqlFDj2eCj-uxRdC4MGy_yuELmnIbroY1f8KygJ76v80733YxQa-KsqRC_JLBq2v_4hNM-ng-y7Pfa2y3mLsv19tnHEzgYxp29h-PCPNat97unkwUZRgMLdY9o9TNfo-w/s400/Soal3+Input.jpg" alt="" id="BLOGGER_PHOTO_ID_5408256830117162850" border="0" /></a><br />Soal3 Input.jpg<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggDXEH6be5nBJaYhoRQgqevkaVPwHjuB-rJ4OMLffaUDvYYayMftn6NuTdAQnTd5XWB9_avDzkDxsQgNFlDfy6W2KqQHMXr1K6QjwmkdJjOjlmCv5PFQClVjbfrSeBO5G2vxmRw6yTbfYW/s1600/Soal3+Rule.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 280px; height: 267px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggDXEH6be5nBJaYhoRQgqevkaVPwHjuB-rJ4OMLffaUDvYYayMftn6NuTdAQnTd5XWB9_avDzkDxsQgNFlDfy6W2KqQHMXr1K6QjwmkdJjOjlmCv5PFQClVjbfrSeBO5G2vxmRw6yTbfYW/s400/Soal3+Rule.jpg" alt="" id="BLOGGER_PHOTO_ID_5408257103229446530" border="0" /></a>Soal3 Rule.jpg<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgha4kztBGqqKgmxZjQf5KIwnJ84lBJPmU7gX_VK85e1nNPs7_YiJAZtGl0esfygwEKQIB6sfTSiFjMTk1kWn5J7I7EEwt3tZ2AVbi3moSZU02nhgu94Kj07d48DiXCzhxCyeNJCSZcYWoI/s1600/Soal3+SWI.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 306px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgha4kztBGqqKgmxZjQf5KIwnJ84lBJPmU7gX_VK85e1nNPs7_YiJAZtGl0esfygwEKQIB6sfTSiFjMTk1kWn5J7I7EEwt3tZ2AVbi3moSZU02nhgu94Kj07d48DiXCzhxCyeNJCSZcYWoI/s400/Soal3+SWI.jpg" alt="" id="BLOGGER_PHOTO_ID_5408257255893397330" border="0" /></a>Soal3 SWI.jpg<br /><div style="text-align: left;"><br />Soal 4<br /><br />Langkah-langkah pengerjaan :<br /><ol><li>Buat dua textfile untuk input dan satu textfile untuk output.</li><li>Isikan beberapa pernyataan yang berbeda pada textfile input dan tuliskan pernyataan end pada baris terakhir.(Soal4 Input1.jpg, Soal4 Input2.jpg)</li><li>Buat rule prolog yang memanfaatkan predikat combine untuk menggabungkan pernyataan-pernyataan dari kedua textfile input yang hasil gabungannya akan muncul pada textfile output dan pernyataan end hanya ada pada baris terakhir.(Soal4 Rule.jpg)</li><li>Tuliskan perintah sesuai rule yang dibuat.(Soal4 SWI.jpg)</li><li>Hasil gabungan akan keluar textfile output.(Soal4 Output.jpg)</li></ol><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8msPuw2ZvrMpThspbdUGR8MgHJMB_QfOW-IwAbK3EYFKxjdZmJVnWKPuCLKCD4jAwjzTQFaR_TlyQt2JP0-J-ophJ50XO_b1XKAlU8k9QR2ch5iA5K5yCaz1eRu00CBLZ72yCAd-F5gcc/s1600/Soal4+Input1.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 223px; height: 165px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8msPuw2ZvrMpThspbdUGR8MgHJMB_QfOW-IwAbK3EYFKxjdZmJVnWKPuCLKCD4jAwjzTQFaR_TlyQt2JP0-J-ophJ50XO_b1XKAlU8k9QR2ch5iA5K5yCaz1eRu00CBLZ72yCAd-F5gcc/s400/Soal4+Input1.jpg" alt="" id="BLOGGER_PHOTO_ID_5408257758461521378" border="0" /></a><br />Soal4 Input1.jpg<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgef2Z0XiOIUGhVROILc1avxQYdh80mD8Sd1yDMukH7pW_AzYY-HihDsNh676Bd4ZW53fAqbXOB9YnkU7mN416bkKdIjMFFFEzwWnzd7S8kEmHHWjuw1BUfbxya7hQTjlG8-a41lxPg0flb/s1600/Soal4+Input2.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 241px; height: 167px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgef2Z0XiOIUGhVROILc1avxQYdh80mD8Sd1yDMukH7pW_AzYY-HihDsNh676Bd4ZW53fAqbXOB9YnkU7mN416bkKdIjMFFFEzwWnzd7S8kEmHHWjuw1BUfbxya7hQTjlG8-a41lxPg0flb/s400/Soal4+Input2.jpg" alt="" id="BLOGGER_PHOTO_ID_5408257917883763474" border="0" /></a>Soal4 Input2.jpg<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiFQitJi53a5z3wlz5v8ibnysmJ4W3UNuS2qhJCx9ynzAt2L1yi29Vnsp_tcTMpPoZhMKl4Q7crOOWTmxQoz-QgIzZnElyeNeC4YwGiI3xa8u2hDHkHQMtb3zVJS9h2k4hNPRW2b5km_Iq/s1600/Soal4+Rule.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 373px; height: 330px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiFQitJi53a5z3wlz5v8ibnysmJ4W3UNuS2qhJCx9ynzAt2L1yi29Vnsp_tcTMpPoZhMKl4Q7crOOWTmxQoz-QgIzZnElyeNeC4YwGiI3xa8u2hDHkHQMtb3zVJS9h2k4hNPRW2b5km_Iq/s400/Soal4+Rule.jpg" alt="" id="BLOGGER_PHOTO_ID_5408258101304838098" border="0" /></a>Soal4 Rule.jpg<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig0dmqZdGtcJ5pUUPK3HNlBli_ydV8CKYXQj80IK8-HB6PIdOFbqfKVHgQmCLpwllVJCByQ2YRmbsu96dJ_hHowpyUJcK2uF2_FI3SX5D8hFRlS-k8X1wdP5MVMRzAKcztWBXhyyXWI4I_/s1600/Soal4+SWI.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 172px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig0dmqZdGtcJ5pUUPK3HNlBli_ydV8CKYXQj80IK8-HB6PIdOFbqfKVHgQmCLpwllVJCByQ2YRmbsu96dJ_hHowpyUJcK2uF2_FI3SX5D8hFRlS-k8X1wdP5MVMRzAKcztWBXhyyXWI4I_/s400/Soal4+SWI.jpg" alt="" id="BLOGGER_PHOTO_ID_5408258261873202498" border="0" /></a>Soal4 SWI.jpg<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpMs6L041WjGyOXk6Z95L8DLZbBgoaQKVSLl_b0V4hk57GFvyJaXlMDTr4Lgx-BlnwVa0DLuhSy-63Z85tlxi07xVeH8Z5zbz6HVydg3sFXJpvQtB2wpWDeLurQfZf9eV8Lpk5wu_wFcKR/s1600/Soal4+Output.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 249px; height: 228px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpMs6L041WjGyOXk6Z95L8DLZbBgoaQKVSLl_b0V4hk57GFvyJaXlMDTr4Lgx-BlnwVa0DLuhSy-63Z85tlxi07xVeH8Z5zbz6HVydg3sFXJpvQtB2wpWDeLurQfZf9eV8Lpk5wu_wFcKR/s400/Soal4+Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5408258432824413922" border="0" /></a>Soal4 Output.jpg<br /><div style="text-align: left;"><br />Soal 5<br /><br />Langkah-langkah pengerjaan :<br /><ol><li>Buat dua textfile untuk input.</li><li>Isikan beberapa pernyataan sembarang boleh sama boleh beda pada textfile input dan tuliskan pernyataan end pada baris terakhir.(Soal5 Input1.jpg, Soal5 Input2.jpg)</li><li>Buat rule prolog yang memanfaatkan predikat compare untuk membandingkan pernyataan-pernyataan dari kedua textfile input.(Soal5 Rule.jpg)</li><li>Tuliskan perintah sesuai rule yang dibuat dan hasil perbandingan akan keluar.(Soal5 SWI.jpg)</li></ol><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4hLXegov_QN7Y5qU6tONomhkbrS-XyQH60rECp0QqWbDcZyBvETnpXCIV4F9kOZ1MBTiUPpfyoQLTMyciK32h8kxxQ_8yZ1P85mCZ7Rh6sLED096e9_1pZJIb8vR0qwYHDd8CbrU1WgTY/s1600/Soal5+Input1.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 228px; height: 163px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4hLXegov_QN7Y5qU6tONomhkbrS-XyQH60rECp0QqWbDcZyBvETnpXCIV4F9kOZ1MBTiUPpfyoQLTMyciK32h8kxxQ_8yZ1P85mCZ7Rh6sLED096e9_1pZJIb8vR0qwYHDd8CbrU1WgTY/s400/Soal5+Input1.jpg" alt="" id="BLOGGER_PHOTO_ID_5408258915518651378" border="0" /></a><br />Soal5 Input1.jpg<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRm7OW_X1JzZUj5BwSUjiaJc2qDM9-wOAEThbpmBczZFIYKYxBDGeFsb9P8stl6MQLhTkuXZvS1hB-RyETb3__stxMx53EVIg9sxt6N3ZNbJ84zAgwOC7Hkw409UV-Dtvdfq5NbJnVmjaP/s1600/Soal5+Input2.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 229px; height: 147px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRm7OW_X1JzZUj5BwSUjiaJc2qDM9-wOAEThbpmBczZFIYKYxBDGeFsb9P8stl6MQLhTkuXZvS1hB-RyETb3__stxMx53EVIg9sxt6N3ZNbJ84zAgwOC7Hkw409UV-Dtvdfq5NbJnVmjaP/s400/Soal5+Input2.jpg" alt="" id="BLOGGER_PHOTO_ID_5408259087571683490" border="0" /></a>Soal5 Input2.jpg<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi122sq22krb_q2T4Y1fa5mBPJy-jrxPnN1hGENGmrvqm21wk1yWpvmNbPNhY18wmF6DXjmQJsoGPtO2zXORYuYIoQkYDNcc3h5jDvyjc4c9P93uEOaDEbjYoZNzV1F24pM8UKuwyFuTzdW/s1600/Soal5+Rule.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 363px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi122sq22krb_q2T4Y1fa5mBPJy-jrxPnN1hGENGmrvqm21wk1yWpvmNbPNhY18wmF6DXjmQJsoGPtO2zXORYuYIoQkYDNcc3h5jDvyjc4c9P93uEOaDEbjYoZNzV1F24pM8UKuwyFuTzdW/s400/Soal5+Rule.jpg" alt="" id="BLOGGER_PHOTO_ID_5408259289102986466" border="0" /></a>Soal5 Rule.jpg<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqO2kEiEzh1MltwaS-RZOSALp8yZ0ALm8s0FdQ7vftRlhUONrGlVnPSkelMddu00tyulfJfxs6-2CaqYhAlHwGGizDhznC8nORpy7mJHAoKtdT6077ZkiJfNpqzRdzHriPvIInpJa6KhfS/s1600/Soal5+SWI.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 208px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqO2kEiEzh1MltwaS-RZOSALp8yZ0ALm8s0FdQ7vftRlhUONrGlVnPSkelMddu00tyulfJfxs6-2CaqYhAlHwGGizDhznC8nORpy7mJHAoKtdT6077ZkiJfNpqzRdzHriPvIInpJa6KhfS/s400/Soal5+SWI.jpg" alt="" id="BLOGGER_PHOTO_ID_5408259448997862242" border="0" /></a>Soal5 SWI.jpg<br /></div></div></div></div></div></div></div></div></div>Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com1tag:blogger.com,1999:blog-1142182339342254574.post-8801694449741459752009-11-24T09:08:00.000-08:002009-11-24T09:11:44.112-08:00Sumary bab 5Input Output<br /><br />Chapter Aims<br /><br />After reading this chapter you should be able to:<br /><br />• Use the built-in predicates that read from and write to either the user'sterminal (keyboard and screen) or a file, both term by term and characterby-character in your own programs<br />• Use ASCII values to manipulate strings of characters<br /><br />Introduction<br /><br />Prolog has facilities to enable input and output either of terms or of characters.<br />Using terms is simpler and will be described first. Initially, it will be assumed that<br />all output is to the user's screen and all input is from the user's keyboard.<br />5.1 Outputting Terms<br /><br />The main built-in predicate provided for outputting terms is write/1, which has<br />already been used many times in this book.<br />The write/1 predicate takes a single argument, which must be a valid Prolog<br />term. Evaluating the predicate causes the term to be written to the current output<br />stream, which by default is the user's screen. (The meaning of current outpu<br />stream will be explained in Sections 5.7 and 5.8. At present it can simply be taken<br />to mean the user's screen.)<br />5.2 Inputting Terms<br /><br />In the input stream, the term must be followed by a dot ('.') and at least one<br />white space character, such as space or newline. The dot and white space<br />characters are read in but are not considered part of the term.<br /><br />.<br /><br /><br />5.3 Input and Output Using Characters<br /><br />Although input and output of terms is straightforward, the use of quotes and full<br />stops can be cumbersome and is not always suitable. For example, it would be<br />tedious to define a predicate (using read) which would read a series of characters<br />from the keyboard and count the number of vowels. A much better approach for<br />problems of this kind is to input a character at a time. To do this it is first necessary<br />to know about the ASCII value of a character.<br />All printing characters and many non-printing characters (such as space and<br />tab) have a corresponding ASCII (American Standard Code for Information<br />Interchange) value, which is an integer from 0 to 255.<br />The table below gives the numerical ASCII values corresponding to the main<br />printable characters and some others.<br /><br />5.4 Outputting Characters<br /><br />Characters are output using the built-in predicate put/1. The predicate takes a<br />single argument, which must be a number from 0 to 255 or an expression that<br />evaluates to an integer in that range.<br /><br />5.5 Inputting Characters<br /><br />Two built-in predicates are provided to input a single character: get0/1 and get/1.<br />The get0 predicate takes a single argument, which must be a variable. Evaluating a<br />get0 goal causes a character to be read from the current input stream. The variable<br />is then unified with the ASCII value of this character.<br /><br /><br /><br />5.6 Using Characters: Examples<br /><br />The first example shows how to read in a series of characters from the keyboard<br />finishing with * and to output their corresponding ASCII values one per line (for<br />all characters excluding *).<br />The predicate readin is defined recursively. It causes a single character to be<br />input and variable X to be bound to its (numerical) ASCII value. The action taken<br />(the process(X) goal) depends on whether or not X has the value 42 signifying a *<br /><br />character. If it has, the evaluation of the goal stops. If not, the value of X is output,<br />followed by a new line, followed by a further call to readin. This process goes on<br />indefinitely until a * character is read. (In the example below, the ASCII values of<br />characters P, r, o etc. are correctly shown to be 80, 114, 111 etc.)<br /><br />5.7 Input and Output Using Files<br /><br />Prolog takes all input from the current input stream and writes all output to the<br />current output stream. By default both of these are the stream named user,<br />denoting the user's terminal, i.e. keyboard for input and screen for output. The user may open and close input and output streams associated with any<br />number of named files but there can only be one current input stream and one<br />current output stream at any time. Note that no file can be open for both input and<br />output at the same time (except user) and that the user input and output streams<br />cannot be closed.<br /><br />5.8 File Output: Changing the Current Output Stream<br /><br />The current output stream can be changed using the tell/1 predicate. This takes a<br />single argument, which is an atom or variable representing a file name, e.g.<br />tell('outfile.txt').<br />Evaluating a tell goal causes the named file to become the current output<br />stream. If the file is not already open, a file with the specified name is first created<br />(any existing file with the same name is deleted).<br />Note that the file corresponding to the previous current output stream remains<br />open when a new current output stream is selected. Only the current output stream<br />can be closed (using the told predicate described below).<br />The default current output stream is user, i.e. the user's terminal. This value can<br />be restored either by using the told predicate or by tell(user).<br />The built-in predicate told/0 takes no arguments. Evaluating a told goal causes<br />the current output file to be closed and the current output stream to be reset to user,<br />i.e. the user's terminal.<br />The built-in predicate telling/1 takes one argument, which must be a variable<br />and will normally be unbound. Evaluating a telling goal causes the variable to be<br />bound to the name of the current output stream.<br /><br /><br /><br />5.9 File Input: Changing the Current Input Stream<br /><br />The current input stream can be changed using the see/1 predicate. This takes a<br />single argument, which is an atom or variable representing a file name, e.g.<br />see('myfile.txt').<br />Evaluating a see goal causes the named file to become the current input stream.<br />If the file is not already open it is first opened (for read access only). If it is not<br />possible to open a file with the given name, an error will be generated.<br />The default current input stream is user, i.e. the user's terminal. This value can<br />be restored either by using the seen predicate or by see(user).<br />The built-in predicate seen/0 takes no arguments. Evaluating a see goal causes<br />the current input file to be closed and the current input stream to be reset to user,<br />i.e. the user's terminal.<br />The built-in predicate seeing/1 takes one argument, which must be a variable<br />and will normally be unbound. Evaluating a seeing goal causes the variable to be<br />bound to the name of the current input stream.<br /><br />5.9.1 Reading from Files: End of File<br /><br />If the end of file is encountered when evaluating the goal read(X), variable X will<br />be bound to the atom end_of_file.<br />If the end of file is encountered while evaluating the goal get(X) or get0(X),<br />variable X will be bound to a 'special' numerical value. As ASCII values must be in<br />the range 0 to 255 inclusive, this will typically be -1, but may vary from one<br />implementation of Prolog to another.<br /><br />5.9.2 Reading from Files: End of Record<br /><br />Depending on the version of Prolog used, there may be an incompatibility for<br />character input between reading the end of a record (i.e. the character(s) that<br />signify the end of a line) from the user's terminal and from a file.<br />Typically the end of a line of input at the user's terminal will be indicated by<br />the character with ASCII value 13. The end of a record in a file will generally be<br />indicated by two ASCII values: 13 followed by 10.<br />The following program shows how to read in a series of characters from the<br />keyboard and print them out, one per line.Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com0tag:blogger.com,1999:blog-1142182339342254574.post-49845886297990288592009-11-23T20:45:00.000-08:002009-11-23T20:53:49.965-08:00Office Voice Recognition Integrated (OVRI)1.Latar Belakang<br /><br />Saat ini banyak sekali beredar aplikasi office untuk membantu pekerjaan kantor kita, seperti MS Office, Open Office.org, dll. Banyak fitur yang ditawarkan untuk mempermudah pekerjaan kita seperti fitur ribbon yang ada pada MS Office. Namun, semua itu masih memiliki beberapa kekurangan, di antara lain efisiensi waktu pengetikan. Kita lihat jika kita mengetik membutuhkan waktu yang lama dan sering terjadi salah pengetikan. Untuk mengatasi masalah ini kita mempunyai solusi cerdas. <br /><br />2.Penjelasan Ide<br /><br />Kita mempunyai ide untuk membuat aplikasi Office yang berbeda. Aplikasi ini dapat mengenali suara yang kemudian akan diterjemahkan dalam bentuk tulisan pada lembar kerja kita. Oleh karena itu aplikasi ini kita beri nama Office Voice Recognition Integrated (OVRI). Seperti MS Office pada umumnya, OVRI juga menyediakan fitur ribbon yang berguna apabila user ingin mengetikkan sesuatu secara manual. Dengan begitu OVRI memiliki dua cara kerja, yaitu secara otomatis dan manual. Apabila user ingin mengaktifkan mode otomatis, user cukup menambahkan alat seperti microphone, headphone atau sejenisnya yang dapat digunakan untuk merekam lalu user berkomentar di depan microphone tersebut dan kalimat apa yang diucapkan akan ditampilkan pada workspace kita. Aplikasi OVRI ini juga dapat mendeteksi suara pada frekuensi yang tidak begitu tinggi. <br />Cara kerja OVRI sendiri adalah dengan memilah-milah kata demi kata yang kita ucapkan serta rendering lalu diterjemahkan dalam bentuk tulisan pada workspace kita dengan penginisialisasian suara dan bentuk huruf, angka atau sebagainya lalu dihubungkan satu sama lain yang kesemuanya itu terdapat dalam database aplikasi ini. <br />Keuntungan dari aplikasi OVRI ini adalah efisiensi waktu pengetikan dan meminimalisir kesalahan pengetikan ketika user terlalu cepat mengetik dan tidak memperhatikan pengejaan tiap katanya. Selain itu, kita juga dapat menghemat tenaga kita yang tidak harus susah-susah mengetik lagi apalagi ketika harus mengetik berlembar-lembar dan terburu-buru oleh deadline. <br /><br />3.Kesimpulan<br /> <br />Jadi, dengan software ini terintregasi dengan software-software office, software ini akan melakukan efisiensi yang sangat besar. Kita tidak usah lagi capek-capek mengetik atau mengulang lagi jika ada salah ketik. Semuanya akan otomatis terketik jika kita mengucapkan suatu kata pada microphone. Kita harap ide ini akan segera terealisasikan secepetnya karena sangat membantu kita di saat bekerja dengan software office.Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com0tag:blogger.com,1999:blog-1142182339342254574.post-69895639898067043612009-11-12T08:08:00.000-08:002009-11-12T15:15:32.989-08:00Jawaban Practical exercise 4Jawaban practical exercises 4 no 1.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXo2QYj4X3Kj00vsOEECcQlhJe8lXrSAOv8mPbzmJSS0eBFO4e2M_K_-oMJaNbJbDFz1RLXYGWei_NBZogLO3m9jNPwafpte0L2Qvi_Rbialy_sLFjvHxIdwF1oYB5OYR-CIjhTm60ywyC/s1600-h/gambar+1.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 271px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXo2QYj4X3Kj00vsOEECcQlhJe8lXrSAOv8mPbzmJSS0eBFO4e2M_K_-oMJaNbJbDFz1RLXYGWei_NBZogLO3m9jNPwafpte0L2Qvi_Rbialy_sLFjvHxIdwF1oYB5OYR-CIjhTm60ywyC/s320/gambar+1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5403251472931444530" /></a><br /><br />Ini adalah rule dengan penulisan predikat biasa.<br />Dan ini adalah outputnya pada prolog .<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiryNoqeLUSehr151dCzXr35FdIPMT0QH8wm27Vu9BHAo4OAdOUzArG1nzy5YUJE4MIdQZxSExcUEzeBF4akU0F7N82R8MjRuguBc21TxVWDbNmRlDzaz00TrEt-Y88qD0chKN2FhO-Io_D/s1600-h/gambar+2.2.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 270px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiryNoqeLUSehr151dCzXr35FdIPMT0QH8wm27Vu9BHAo4OAdOUzArG1nzy5YUJE4MIdQZxSExcUEzeBF4akU0F7N82R8MjRuguBc21TxVWDbNmRlDzaz00TrEt-Y88qD0chKN2FhO-Io_D/s320/gambar+2.2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5403253604910457298" /></a><br /><br />Berikut tampilan rule setelah di edit.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7Gb2KcgfYc-blTPY6XjwHoOln05bWJPRj0d6XFWY2IrQCVCdSkVaHBSQySA7oxiU70MVq5Bp3IxL0IaCz5C3Muwj9fWVDMPT1gYCcbI2O2Z746ka12fLmURjQNekWuONt4vF1EytCQhfK/s1600-h/gambar+3.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 251px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7Gb2KcgfYc-blTPY6XjwHoOln05bWJPRj0d6XFWY2IrQCVCdSkVaHBSQySA7oxiU70MVq5Bp3IxL0IaCz5C3Muwj9fWVDMPT1gYCcbI2O2Z746ka12fLmURjQNekWuONt4vF1EytCQhfK/s320/gambar+3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5403254487982204514" /></a><br /><br />Dan ini tampilan prolognya.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8Ssx8qVSEGOvp_57wHZhEsVbzbD7pOva8REeGQbku42oRxRhtWQdNLkVe3RzVJh5Yc1cvbRUHs5Xrfvx19h01frk-Z-noKnFONBUjGmanZroesI2jpAyMKCQfLZ072HuOSKPkWxnqhAM4/s1600-h/gambar+4.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 230px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8Ssx8qVSEGOvp_57wHZhEsVbzbD7pOva8REeGQbku42oRxRhtWQdNLkVe3RzVJh5Yc1cvbRUHs5Xrfvx19h01frk-Z-noKnFONBUjGmanZroesI2jpAyMKCQfLZ072HuOSKPkWxnqhAM4/s320/gambar+4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5403255272930520354" /></a><br /><br /><br /><br />Ini adalah jawaban no 2 <br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOCxwQwFCzfKg8urWakVKkmUT-683mFim0RWmH2IJNArd-HW7CO6n-M4CwQTrfpPDqcJEf76uYYxeqy3qQ6czCmkhf9Gt84yZwJGXNmosKATNB5C-CWemx-uTSTYl6MciZB2dbxDQTH-al/s1600-h/gambar+5.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 260px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOCxwQwFCzfKg8urWakVKkmUT-683mFim0RWmH2IJNArd-HW7CO6n-M4CwQTrfpPDqcJEf76uYYxeqy3qQ6czCmkhf9Gt84yZwJGXNmosKATNB5C-CWemx-uTSTYl6MciZB2dbxDQTH-al/s320/gambar+5.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5403256452231742498" /></a><br /><br />Ini adalah rulenya.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiPojaYmJ5du2go_sgSHrkmcGUV7TlbKV-bB-AuDCF23EWzd0zRZqTeTIt2gHzCUL5d6FzX2ZkuufNpi8lblt_rPkiS0xZV3JGLwCftGdGPUxOq5OiuTCO0RK6C5_JmaS00S0TCqPDDtlk/s1600-h/gambar+6.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 215px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiPojaYmJ5du2go_sgSHrkmcGUV7TlbKV-bB-AuDCF23EWzd0zRZqTeTIt2gHzCUL5d6FzX2ZkuufNpi8lblt_rPkiS0xZV3JGLwCftGdGPUxOq5OiuTCO0RK6C5_JmaS00S0TCqPDDtlk/s320/gambar+6.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5403256966385013538" /></a>Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com2tag:blogger.com,1999:blog-1142182339342254574.post-87360234907807806722009-11-10T20:27:00.000-08:002009-11-10T20:41:16.655-08:00Summary of Chapter 4 : Operator and ArithmaticOPERATOR AND ARITHMETIC in Prolog<br />1. Operators<br />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. Contoh :<br />makan (adit,pisang)<br />bentuk standard tersebut dapat diubah menjadi infix operator<br />adit makan pisang<br />Kemudian untuk bentuk unary predikat (predikat dengan satu argumen) dapat diubah menjadi bentuk prefix operator atau postfix operator. Contoh :<br />keren (satriya)<br />bentuk tersebut diubah menjadi prefix operator<br />keren satriya<br />atau bisa juga diubah menjadi postfix operator<br />satriya keren<br />2. Arithmetic<br />Prolog menyediakan fasilitas untuk melakukan penghitungan aritmatik menggunakan notasi-notasi yang mirip dengan aljabar dasar. Pembahasan tentang aritmatik di dalam prolog dibagi menjadi beberapa bagian.<br />a. Arithmetic Operators<br />Merupakan operator yang biasanya digunakan untuk melakukan penghitungan aritmatik variabel-variabel di dalam pemrograman menggunakan prolog. Berikut adalah contoh penggunaan dari masing-masing operator.<br />o X+Y (penjumlahan dari X ditambah Y) <br />o X-Y (selisih dari X dikurangi Y)<br />o X*Y (hasil perkalian dari X dan Y) <br />o X/Y (hasil pembagian dari X dibagi oleh Y) <br />o X//Y the 'integer quotient' of X and Y (the result is truncated to the nearest integer between it and zero) <br />o X^Y (nilai dari X pangkat Y) <br />o -X (nilai negatif dari X)<br />b. Arithmetic Functions<br />Merupakan fungsi yang biasanya digunakan untuk melakukan penghitungan aritmatik variabel-variabel di dalam pemrograman menggunakan prolog. Berikut adalah contoh penggunaan dari masing-masing fungsi.<br />o abs(X) (nilai absolut dari X) <br />o sin(X) (nilai sinus dari X untuk X dalam derajat) <br />o cos(X) (nilai cosinus dari X untuk X dalam derajat) <br />o max(X,Y) (menentukan mana yang lebih besar antara X dan Y) <br />o sqrt(X) (nilai dari X akar pangkat dua)<br />c. Pengutamaan Operator Dalam Ekspresi Aritmatika<br />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).<br />d. Relational Operators<br />Operator seperti =, !=, >,>=, <, =<, dapat digunakan di Prolog. Digunakan untuk membandingkan dua variabel. <br /><br />3. Operator Pembanding<br />Berikut merupakan daftar dari equality operators yang digunakan dalam prolog beserta fungsi dari masing-masing operator.<br />o Arithmetic Expression Equality =:=<br />o Arithmetic Expression Inequality =\=<br />o Terms Identical ==<br />o Terms Not Identical \==<br />o Terms Identical With Unification =<br />o Non-Unification Between Two Terms \=<br />4. Operator Logika<br />a. Operator Not<br />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 : <br />dog(fido).<br />?- not dog(fido). <br />no <br />?- dog(fred). <br />no <br />?- not dog(fred). <br />yes <br />?- X=0,X is 0. <br />X = 0 <br />?- X=0,not X is 0. <br />no<br />b. Operator Disjungsi<br />Operator disjungsi (;) digunakan sebagai operator ‘atau’. Contoh :<br />?- 6<3;7 is 5+2. <br />yes <br /><br /> ?- 6*6=:=36;10=8+3. <br />yesProloger SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com0tag:blogger.com,1999:blog-1142182339342254574.post-29996292010500225002009-11-09T16:47:00.000-08:002009-11-09T16:51:31.101-08:00Satria Personal Bloghello, i made my personal blog. Please come to<a href="http://kuroudo66.blogspot.com"> kuroudo66.blogspot.com</a>Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com0tag:blogger.com,1999:blog-1142182339342254574.post-31389593814045047982009-10-21T20:38:00.000-07:002009-10-21T20:49:01.787-07:00How to List All Combination PrologIt is simple.. First create the database in notepad.. We use "makan" and "minum" clause.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUwhEagRdBVmVXp5SZDvFHn7xLjskGe1ZWVMYvnmE-QE_Mx9n5zo8rtgfSEDJAkSJWCu4JhWzSuGPZwXukhbwKxwghFkTmBG65txl_HURKintkMxL_pXr14kEMd_cm7ZOyPpedY_pkuQl4/s1600-h/Gambar+2.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 126px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUwhEagRdBVmVXp5SZDvFHn7xLjskGe1ZWVMYvnmE-QE_Mx9n5zo8rtgfSEDJAkSJWCu4JhWzSuGPZwXukhbwKxwghFkTmBG65txl_HURKintkMxL_pXr14kEMd_cm7ZOyPpedY_pkuQl4/s320/Gambar+2.jpg" alt="" id="BLOGGER_PHOTO_ID_5395264415716382658" border="0" /></a>Figure 2.1.<br /><br />Save it into .pl extension<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLAvrfcxuQZwyKoo7q4Ojd8TAt1QZitdKJ-3VckRGmlfPIBdpcocLQCXi2GmPUqQTAt2IIzn22W5RHOjW8pbIJ5IT8axyWzl1Z0tBieAV64V6xyoC_VuV2io-0obD2c85ZkAR1kcXvexUx/s1600-h/Gambar+3.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 230px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLAvrfcxuQZwyKoo7q4Ojd8TAt1QZitdKJ-3VckRGmlfPIBdpcocLQCXi2GmPUqQTAt2IIzn22W5RHOjW8pbIJ5IT8axyWzl1Z0tBieAV64V6xyoC_VuV2io-0obD2c85ZkAR1kcXvexUx/s320/Gambar+3.jpg" alt="" id="BLOGGER_PHOTO_ID_5395264701280497330" border="0" /></a><br />Figure 2.2<br /><br />Then open the prolog, and consult the file..<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnHQwkl1jVl_tvWtZq6u8WcW_qwHAotSdcJQ5p08eszHCkMHBsQFij4cLGaQWQIc9PwKs8dQ6CISYClDWN-gQ_s33IJ4zQzFa-tNib1AjvzzhT6h1jvwlWekYuci_r6aOH_nlNaUx3InlM/s1600-h/Gambar+4.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 163px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnHQwkl1jVl_tvWtZq6u8WcW_qwHAotSdcJQ5p08eszHCkMHBsQFij4cLGaQWQIc9PwKs8dQ6CISYClDWN-gQ_s33IJ4zQzFa-tNib1AjvzzhT6h1jvwlWekYuci_r6aOH_nlNaUx3InlM/s320/Gambar+4.jpg" alt="" id="BLOGGER_PHOTO_ID_5395264922878079362" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5WTB-xfEfstq48fR_cp1mbMyVwO_eVymBmDx47W4yCu-TvIHYMX0hGo081_69wMgXYZeEVJdOqNQzDep1rpvRbnL5LWP0x9M0Rc3ptx-K3lCbve4P-fwmjV0-YJbDu3A2jVaCZINjdyaN/s1600-h/Gambar+5.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 267px; height: 238px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5WTB-xfEfstq48fR_cp1mbMyVwO_eVymBmDx47W4yCu-TvIHYMX0hGo081_69wMgXYZeEVJdOqNQzDep1rpvRbnL5LWP0x9M0Rc3ptx-K3lCbve4P-fwmjV0-YJbDu3A2jVaCZINjdyaN/s320/Gambar+5.jpg" alt="" id="BLOGGER_PHOTO_ID_5395265246473704978" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQIO4pwjdBfC7XaP0Zwz5KEq3avmCNs7C3p9ERnHh1XuHWvvaoDqU2eEHz9X3ytvO7V05yTr71LA3BWGnD3gKpWGnXUTmhZaivLao_Jf9GDYr9zsvgz-olY2ejUO0DAJc_hNM78ss7n53r/s1600-h/Gambar+6.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 116px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQIO4pwjdBfC7XaP0Zwz5KEq3avmCNs7C3p9ERnHh1XuHWvvaoDqU2eEHz9X3ytvO7V05yTr71LA3BWGnD3gKpWGnXUTmhZaivLao_Jf9GDYr9zsvgz-olY2ejUO0DAJc_hNM78ss7n53r/s320/Gambar+6.jpg" alt="" id="BLOGGER_PHOTO_ID_5395265514712822418" border="0" /></a>Figure 2.3<br /><br />To list all combination just type the queries, makan(X),minum(Y). Note it means give all posible makan and minum. (,) means "and". Don't forget to press semicolon (;) to view next combination.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfX5J0EGBfBt2QcXzsaC2ECbpk9yxenax_E2fO4QvUuiu6gp4sIvREpimUkCPMnbJy57-7RQXPJFrQ1LsvmBU2lCZB6ShLsriAEjHICNw434gSfBue3y68x1g54R7-2gdUkEU8ykan87-8/s1600-h/Gambar+7.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 121px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfX5J0EGBfBt2QcXzsaC2ECbpk9yxenax_E2fO4QvUuiu6gp4sIvREpimUkCPMnbJy57-7RQXPJFrQ1LsvmBU2lCZB6ShLsriAEjHICNw434gSfBue3y68x1g54R7-2gdUkEU8ykan87-8/s320/Gambar+7.jpg" alt="" id="BLOGGER_PHOTO_ID_5395265805233883202" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUflZc0pUPaPKaIn0Ta07YjKjb3PLOup3veEQeQSYdgMXGKi3TOWTpbw9xQGsrXNxB5j_JZ_ZI6qXAj_wcTq92Fdw6D1Tjan8gsPCS4ndA4Ab5WSyZ8zOhl0L3JcgIXV0xvMzAiKGaVCHe/s1600-h/Gambar+8.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 225px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUflZc0pUPaPKaIn0Ta07YjKjb3PLOup3veEQeQSYdgMXGKi3TOWTpbw9xQGsrXNxB5j_JZ_ZI6qXAj_wcTq92Fdw6D1Tjan8gsPCS4ndA4Ab5WSyZ8zOhl0L3JcgIXV0xvMzAiKGaVCHe/s320/Gambar+8.jpg" alt="" id="BLOGGER_PHOTO_ID_5395265983043218706" border="0" /></a><br /><br />Figure 2.4<br /><br />Done.. Simple right? :)Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com0tag:blogger.com,1999:blog-1142182339342254574.post-3034811285637852332009-10-21T20:12:00.000-07:002009-10-21T20:36:38.743-07:00Introduction For All MemberHei, we are from group prologer want to introduce ourselves. We are the group created for completing final project from mister Mukhlason, our discrethe math teacher. We are consist for four member. It is Satria, Agus, Febri, and Adit. Here it is our member biography.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7emzlg6aPuzh5QSFGyQdWewaDIZUJ9LmYMNgxcI46pJLZx2TfDykCUtgkqssZZeLmUK5X8oj7bAsD_IuSx2QSDUIQ1l8HZuKs_jnQgef0WdK8ttU8-rCm0zPkbMfuddq_cT8ysZt_1Z0b/s1600-h/Image0048.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7emzlg6aPuzh5QSFGyQdWewaDIZUJ9LmYMNgxcI46pJLZx2TfDykCUtgkqssZZeLmUK5X8oj7bAsD_IuSx2QSDUIQ1l8HZuKs_jnQgef0WdK8ttU8-rCm0zPkbMfuddq_cT8ysZt_1Z0b/s320/Image0048.jpg" alt="" id="BLOGGER_PHOTO_ID_5395259029238822738" border="0" /></a><br /><div style="text-align: left;">This is our profile :<br />1.) Let me introduce my self. My name is Satria Wibawa. My full name is Satria Wibawa Narendra Putra. Im born at Bandung, date 21 Februari 1991.<br /><br />In 1996 i enter Tunas Harapan II elementary school. From elementary school to senior high school, i study at Bandung. Then i enter Two Junior High School . Then i enter Five Senior High School.<br /><br />Now i study at Institut Teknologi Sepuluh November. I moved to Surabaya to study there. Im proud to be ITS student. :) I hope i will find true knowledge here and led me to success.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK97kTS7b2PuGjAISM5bciZtuzWmcKlPraJOgbgSpOu0WoTSxQDZGbVaDQ6fOFfdvopPaoU8DwKIL5vOh8TlKx74JmPChPN0WSLZ0egcQjr5i3AarbcHcI0RJ15dnF2xyHQ4Wjudzxme3h/s1600-h/Image0044.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK97kTS7b2PuGjAISM5bciZtuzWmcKlPraJOgbgSpOu0WoTSxQDZGbVaDQ6fOFfdvopPaoU8DwKIL5vOh8TlKx74JmPChPN0WSLZ0egcQjr5i3AarbcHcI0RJ15dnF2xyHQ4Wjudzxme3h/s320/Image0044.jpg" alt="" id="BLOGGER_PHOTO_ID_5395259899928655314" border="0" /></a><br />2.) Nama : Febrian Wahyutama<br />NRP : 5209100119<br />Hobi : Maen game Adventure n sport kayak Devil May Cry 4, PES 2009, browsing d internet, dengerin musik, gambar, n lain-lain.<br /> <br />Warna Favorit : Merah<br />Makanan Favorit : Nasi Goreng, Cap Cay<br />Minuman Favorit : Soda Gembira<br />Email : thedemons_willback@rocketmail.com; febrian09@mhs.is.its.ac.id<br />Nomor HP : 081330008632<br />Alamat Surabaya : Jl. Jedong Gg. Buntu No.1 - Pacarkeling - Surabaya<br />Pendidikan : Tk Brawijaya Sampang, SDN Gunong Sekar 1 Sampang, SMPN 1 Sampang, SMAN 1 Sampang<br /> JSI FTIF ITS Surabaya<br />TTL : Surabaya 03 Februari 1991<br />Karakter : Aku ini supel, suka menolong, gak suka diremehin, sedikit emosional, n apa lagi yach.. Emm,, tapi yang pasti aku asyik kok orangnya<br />Cita-cita : Pengen jadi programer handal<br />Moto : Tidak ada yang tidak mungkin di dunia ini asalkan kita mau berusaha dan berdoa<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghp1CBO7_IZlFXvjYykounv-B_u_iLbmgYLGlUQYHfGGJiKOsr7k1r8WjkumvZ0rv8krz62730_V7qhBKSz1HslX8o6YEZpKoQHHqpvTnrPMbh1RRFBmbAnVSyjTSE9iImQtHZhPueqEk9/s1600-h/hey+u.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghp1CBO7_IZlFXvjYykounv-B_u_iLbmgYLGlUQYHfGGJiKOsr7k1r8WjkumvZ0rv8krz62730_V7qhBKSz1HslX8o6YEZpKoQHHqpvTnrPMbh1RRFBmbAnVSyjTSE9iImQtHZhPueqEk9/s320/hey+u.jpg" alt="" id="BLOGGER_PHOTO_ID_5395260348876579570" border="0" /></a><br /><br /><br />3.) Nama : Agus Nur Hidayat<br />NRP : 5209100116<br />Hobi : Nonton dorama sama box office movie, ndengerin musik Jepang ma UK/US, maen PES di PC,<br /> mbaca Shonen Trinity (Naruto, OnePiece & Bleach), surfing internet (paling sering buka<br /> FB, gmail,indowebster, sama websi)<br />Warna Favorit : Biru<br />Makanan Favorit : Ayam Bakar<br />Minuman Favorit : Susu hangat<br />Email : agusarridho@gmail.com; agus09@mhs.is.its.ac.id<br />Nomor HP : 081939177759<br />Alamat Surabaya : TegalMulyorejoBaru Nomor 11<br />Alamat Asal : Jl Masjid No 17 Kauman Mojoagung Jombang<br />Pendidikan : TK Muslimat Mojoagung, MI Sulaimaniyah Mojoagung, SMPN 2 Jombang, SMAN 2 Jombang,<br /> JSI FTIF ITS Surabaya<br />TTL : Jombang 27 Agustus 1991<br />Karakter : Aku ini supel, gak gampang emosi, suka bercanda, murah tawa, tapi kadang2 bisa jadi cuek juga<br />Cita-cita : Pengen jadi investor<br />Moto : Jadilah orang yang apa adanya dan syukuri apa yang ada<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4dpPB3Vbc4lMl3E8iA6bkAyfWQR_WtOxVWcDgUeBrbktiOl0IulIRMvFGA6ikePcrNj-nVlY17cjklksS-8iGU-NQ4yblFc752fKpXUfs-Z4RpnZsD8Sxr2mqwDsfrR-Fo9G4hpAZJYzc/s1600-h/Agus+Ngguyu.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 254px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4dpPB3Vbc4lMl3E8iA6bkAyfWQR_WtOxVWcDgUeBrbktiOl0IulIRMvFGA6ikePcrNj-nVlY17cjklksS-8iGU-NQ4yblFc752fKpXUfs-Z4RpnZsD8Sxr2mqwDsfrR-Fo9G4hpAZJYzc/s320/Agus+Ngguyu.jpg" alt="" id="BLOGGER_PHOTO_ID_5395261365927403298" border="0" /></a><br />4.) Name : Aditya Zulkifli<br />Tempat lahir : Lamongan<br />Tanggal lahir : 7 Juli 1991<br />Sex : Male<br />Pendidikan : SD kepatihan 17 Jember<br /> SMPN 12 Jember<br /> SMAN 2 Jember<br /> Kuliah ITS Sistem Informasi(Sekarang)<br />Hobi : Maen Game,Nonton Film,Renang,Bela diri,belajar Dikit sichh!!!!hehehe<br />Film kesukaan : All of Anime,horor,action<br />Makanan kesukaan : Nasi Goreng,Lumpia semarang,asparagus,bakso,tempe penyet,sambel petis<br />Minuman : air putih,legen<br />Warna : Biru,Dark<br />About me : aneh,cuek,gak jelas,suka aneh-aneh,usil,perhatian lo(mungkin kalo ada maunya),pokoknya yang rame-rame<br />Status : Sedih,bingung,gak jelas<br />Home Town : Jember,Tegal Besar Permai D-4<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio_b-HY7u_P8nmFs3-t3KfC3akK0_H2_7dy0WbADfP_5NWvDKE5yNpjL2XJm0gG2bezSzR5WQ7rSjbJzRQZwDGF8m1y2zwtOHXwVMvP0wF8WTRFd5T5IizXYfH0-E9Kw78m7ZdeWCKi1Dt/s1600-h/IMG_0024.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio_b-HY7u_P8nmFs3-t3KfC3akK0_H2_7dy0WbADfP_5NWvDKE5yNpjL2XJm0gG2bezSzR5WQ7rSjbJzRQZwDGF8m1y2zwtOHXwVMvP0wF8WTRFd5T5IizXYfH0-E9Kw78m7ZdeWCKi1Dt/s320/IMG_0024.JPG" alt="" id="BLOGGER_PHOTO_ID_5395262208142012946" border="0" /></a><br /><br /><br /><br /><br /></div>Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com0tag:blogger.com,1999:blog-1142182339342254574.post-68509748944287525992009-10-02T04:07:00.000-07:002009-10-02T04:08:28.176-07:00First PostIni adalah blog untuk Final Project, mohon dibimbing ya Pak...<br />:-)Prologer SI Class B Cakhttp://www.blogger.com/profile/03241493470802631123noreply@blogger.com0