Selasa, 22 Desember 2009

DOWNLOAD

heloooooo ..
This week is the final week of the project. We have created a design expert system to provide solutions chosen makeup and hair styles suitable for women.

As introduction, let we tell you ..

Current performance is very important in daily life. Appearances can reflect the character of a person and can give a first impression for those who see it. With her appearance, some people will get lucky, or maybe just got unlucky. One aspect of the appearance of a very influential, especially for women, is a makeup and hair models used.
Makeup is not just a tool daub of makeup on her face. As well as in selecting the haircut. Everything should consider face shape or character. Teenagers are very vulnerable now experimenting with makeup and hairdo that sometimes does not fit with the character or shape of their faces. This fact gives the impression does not match and the impact on our confidence.
With makeup and hair styles that fit the shape of the face, the automatic will have an impact on our confidence. We can work and interact with other people comfortably, and gives a good impression at first sight.
Simple expert system was developed to overcome these problems. To help teens to determine the type of makeup and hairstyle in accordance with the character and shape of their faces. Therefore, no longer expected to have the impression not a bad match, and effects for teenagers who want to experiment with hair and makeup.

Our expert system to identify the style of woman make up. With the character's face shape and also skin color and body shape. Expert system provides a solution based makeup that is 3 things face shape, body shapes, and colors. for categories of faces, have the addition of a solution for hair models.
Knowledge base is the component that contains the knowledge acquired from domain experts. Usually the way to represent knowledge using rules. Inference engine is the component that manipulates the knowledge found in the knowledge base necessary to achieve an outcome or solution. User interface is the component that allows users to query the system and receive the results of the query. and further, the user interface can find the solution of existing problems as long as the rules and scope of the provision.

And you can download the source code of the expert system we've made HERE.
Or you also can download the report that we've made HERE.

Hemmm. please kindly contact us for your opinion. :)
regard.

 

Senin, 14 Desember 2009

Expert System



1. tulis di Notepad

person(riza,hanum,010,surabaya,18).
person(widya,kandora,090,bandung,17).
person(ryan,adelia,096,sidoarjo,16).
person(yanis,widhiastari,002,denpasar,17).
person(nurul,fakhria,097,sidoarjo,16).
person(indah,sari,087,banyuwangi,18).
man(A):-person(A,B,c,D,18).

2. tulis di prolog
?-person(NamaAwal,NamaAkhir,NRP,KotaAsal,Usia).

3. outputnya
NamaAwal = riza
NamaAkhir = hanum
NRP = 10
KotaAsal = surabaya
Usia = 18;

NamaAwal = widya
NamaAkhir = kandora
NRP = 90
KotaAsal = bandung
Usia = 17;

NamaAwal = ryan
NamaAkhir = adelia
NRP = 96
KotaAsal = sidoarjo
Usia = 16;

NamaAwal = yanis
NamaAkhir = widhiastari
NRP = 02
KotaAsal = denpasar
Usia = 17;

NamaAwal = nurul
NamaAkhir = fakhria
NRP = 97
KotaAsal = sidoarjo
Usia = 16;

NamaAwal = indah
NamaAkhir = sari
NRP = 87
KotaAsal = banyuwangi
Usia = 18

Yes

Selasa, 08 Desember 2009

Input Output in Prolog (Loop) : exercise

Exercise 1
Define a predicate to output the values of the squares of the integers from N1 to N2 inclusive and test it with N1 = 6 and N2 = 12.

First, write down the code, and save as .pl file. For this exercise, we will save it as squares.pl


Open Prolog, click File>Consult and find the file that you saved. Prolog will manage to show you a successful quote just like the screenshot show.

write down this : square(8,16).
and the result will be like this :

and done ... :)

Exercise 2
Define and test a predicate to read in a series of characters input by the user and output all of those before the first new line or ? character.

First, write down the code, and save as .pl file. For this exercise, we will save it as number2.pl

Open Prolog, click File>Consult and find the file that you saved. Prolog will manage to show you a successful quote just like the screenshot show.

write down this : start.
hit enter and write the words that you want. and hit enter again.
the result will be like this :



and done .. :)

Exercise 3 
Using the person clauses given in Section 6.3.1, find the professions of all those over 40.
First, write down the code, and save as .pl file. For this exercise, we will save it as person.pl



Open Prolog, click File>Consult and find the file that you saved. Prolog will manage to show you a successful quote just like the screenshot show.


write down this : find.
and the result will be like this : 

and done .. :)

okey .. the Final Project Week 6 is done. hope this tutorial can gives you a inspiration.
if you have any question, plese feel free to ask me !! just by leave comments fellaaas. thanks.

see you soon ..  


Input Output in Prolog (Loop) : summary

Chapter Aims
After reading this chapter you should be able to:
• Define a predicate which causes a sequence of goals to be evaluated
repeatedly, either a fixed number of times or until a specified condition is
satisfied
• Define a predicate which searches a database to find all the clauses with a
specified property.


PART 1 : Looping a Fixed Number of Times

Many programming languages provide 'for loops' which enable a set of instructions to be executed a fixed number of times. No such facility is available in Prolog (directly), but a similar effect can be obtained using recursion, as shown in the example programs below.

Example 1
The following program outputs integers from a specified value down to 1.

loop(0).
loop(N):-N>0,write('The value is: '),write(N),nl,
M is N-1,loop(M).


The loop predicate is defined in terms of itself. The second clause can be thought of as: 'to loop from N, first write the value of N, then subtract one to give M, then loop from M'. This process clearly needs to be terminated and this is achieved by the first clause: 'when the argument is zero, do nothing (and hence stop)'. The first clause can be regarded as a terminating condition for the recursion.
 

?- loop(6).
The value is: 6
The value is: 5
The value is: 4
The value is: 3
The value is: 2
The value is: 1
yes



Note : the use of the two goals M is N-1,loop(M) in the second clause for the loop predicate. The obvious alternative of loop(N-1) will not work. Prolog only evaluates expressions such as N-1 when evaluating goals with functor is or one of the relational operators, as described in Chapter 4. If N-1 is used as an argument of a predicate it is taken to mean the term with infix operator - (i.e. a minus sign) and arguments N and 1. This is most unlikely to be what is intended!

Example 2
The next program outputs integers from First to Last inclusive.

/* output integers from First to Last inclusive */
output_values(Last,Last):- write(Last),nl,
write('end of example'),nl.
output_values(First,Last):-First=\=Last,write(First),
nl,N is First+1,output_values(N,Last).

Here output_values has two arguments, which can be read as 'output the integers from First to Last inclusive'. The loop terminates when both arguments are the same.


?- output_values(5,12).
56789
10
11
12
end of example
yes


Example 3
Define a predicate to find the sum of the integers from 1 to N (say for N = 100).
It is natural to think of this procedurally, i.e. start with 1, then add 2, then add 3,
then add 4, … , then add 100. However the process is much easier to program if reexpressed
declaratively in terms of itself.
The sum of the first 100 integers is the sum of the first 99 integers, plus 100.
The sum of the first 99 integers is the sum of the first 98 integers, plus 99.
The sum of the first 98 integers is the sum of the first 97 integers, plus 98.
…………………………………………………………………………….
The sum of the first 3 integers is the sum of the first 2 integers, plus 3.
The sum of the first 2 integers is the sum of the first 1 integers, plus 2.
The sum of the first 1 integers is one.
There are two distinct cases to consider: the general case: 'the sum of the first
N integers is the sum of the first N-1 integers, plus N' and the terminating case: 'the
sum of the first 1 integers is 1'. This leads directly to the recursive definition:

/* sum the integers from 1 to N (the first argument)

inclusive */

sumto(1,1).

sumto(N,S):-N>1,N1 is N-1,sumto(N1,S1),S is S1+N.
?- sumto(100,N).
N = 5050
?- sumto(1,1).
yes



PART 2 : Looping Until a Condition Is Satisfied
Many languages have an 'until loop' which enables a set of instructions to be executed repeatedly until a given condition is met. Again, no such facility is available directly in Prolog, but a similar effect can be obtained in several ways. 


Recursion
The first example below shows the use of recursion to read terms entered by the user from the keyboard and output them to the screen, until end is encountered.

go:-loop(start). /* start is a dummy value used to get

the looping process started.*/

loop(end).

loop(X):-X\=end,write('Type end to end'),read(Word),

write('Input was '),write(Word),nl,loop(Word).
?- go.
Type end to end: university.
Input was university
Type end to end: of.
Input was of
Type end to end: portsmouth.
Input was portsmouth
Type end to end: end.
Input was end
yes



Using the disjunction operator ;/2 which was defined in Section 4.4 the above program can be rewritten as a single clause.

loop:-write('Type end to end'),read(Word),
write('Input was '),write(Word),nl,
(Word=end;loop).

The 'disjunctive goal' (Word=end;loop) succeeds if variable Word is bound to the atom end. If not, the system attempts to satisfy the goal loop recursively.
?- loop.
Type end to end: university.
Input was university
Type end to end: of.
Input was of
Type end to end: portsmouth.
Input was portsmouth
Type end to end: end.
Input was end
yes



This recursive program repeatedly prompts the user to enter a term until either yes or no is entered.

get_answer(Ans):-write('Enter answer to question'),

nl,get_answer2(Ans).

get_answer2(Ans):-

write('answer yes or no'),

read(A),

((valid(A),Ans=A,write('Answer is '),

write(A),nl);get_answer2(Ans)).

valid(yes). valid(no).
?- get_answer(Myanswer).
Enter answer to question
answer yes or no: maybe.
answer yes or no: possibly.
answer yes or no: yes.
Answer is yes
Myanswer = yes



Using the 'repeat' Predicate
This program repeatedly prompts the user to enter a term until either yes or no is entered. It is an alternative to the recursive program shown at the end of the previous section. In this case it is debatable whether using repeat is an improvement on using recursion, but the example is included for purposes of illustration.

get_answer(Ans):-
write('Enter answer to question'),nl,
repeat,write('answer yes or no'),read(Ans),
valid(Ans),write('Answer is '),write(Ans),nl.
valid(yes). valid(no).
The first five goals in the body of get_answer will always succeed. Evaluating the fifth goal: read(Ans) will prompt the user to enter a term. If the term input is anything but yes or no, say unsure, the following goal valid(Ans) will fail. Prolog will then backtrack over read(Ans) and write('answer yes or no'), both of which are unresatisfiable, i.e. will always fail on backtracking. Backtracking will then reach the predicate repeat and succeed, causing evaluation to proceed forward (left-to-right) again, with write('answer yes or no') and read(Ans) both succeeding, followed by a further evaluation of valid(Ans). Depending on the value of Ans, i.e. the user's input, the valid(Ans) goal will either fail, in which case Prolog will backtrack as far as repeat, as before, or it will succeed in which case the final three goals write('Answer is'), write(Ans) and nl will all succeed. The overall effect is that the two goals write('answer yes or no') and read(Ans) are called repeatedly until the terminating condition valid(Ans) is satisfied, effectively creating a loop between repeat and valid(Ans).
?- get_answer(X).
Enter answer to question
answer yes or no: unsure.
answer yes or no: possibly.
answer yes or no: no.
answer is no
X = no


Goals to the left of repeat in the body of a clause will never be reached on backtracking.
The next program reads a sequence of terms from a specified file and outputs
them to the current output stream until the term end is encountered.


readterms(Infile):-
seeing(S),see(Infile),
repeat,read(X),write(X),nl,X=end,
seen,see(user).
In a similar way to the previous program, this effectively defines a loop
between the goals repeat and X=end.
If file myfile.txt contains the lines


'first term'. 'second term'.
'third term'. 'fourth term'.
'fifth term'. 'sixth term'.
'seventh term'.
'eighth term'.
end.
calling readterms will produce the following output
?- readterms('myfile.txt').
first term
second term
third term
fourth term
fifth term
sixth term
seventh term
eighth term
end
yes

This program shows how to implement a menu structure which loops back repeatedly to request more input. Entering go at the prompt causes Prolog to output a menu from which the user can choose activities one at a time until option d is chosen. Note that all inputs are terms and so must be followed by a full stop character.
go:- write('This shows how a repeated menu works'),
menu.
menu:-nl,write('MENU'),nl,
write('a. Activity A'),nl,write('b. Activity B'),nl,
write('c. Activity C'),nl,write('d. End'),nl,
read(Choice),nl,choice(Choice).
choice(a):-write('Activity A chosen'),menu.
choice(b):-write('Activity B chosen'),menu.
choice(c):-write('Activity C chosen'),menu.
choice(d):-write('Goodbye!'),nl.
choice(_):-write('Please try again!'),menu.

?- go.
This shows how a repeated menu works
MENU
a. Activity A
b. Activity B
c. Activity C
d. End
: b.
Activity B chosen
MENU
a. Activity A
b. Activity B
c. Activity C
d. End
: xxx.
Please try again!
MENU
a. Activity A
b. Activity B
c. Activity C
d. End
: d.
Goodbye!
yes


PART 3 : Backtracking with Failure
As the name implies, the predicate fail always fails, whether on 'standard' evaluation left-to-right or on backtracking. Advantage can be taken of this, combined with Prolog's automatic backtracking, to search through the database to find all the clauses with a specified property.

Searching the Prolog Database
dog(fido).
dog(fred).
dog(jonathan).
Each dog clause can be processed in turn using the alldogs predicate defined
below.
alldogs:-dog(X),write(X),write(' is a dog'),nl,fail.
alldogs.

Calling alldogs will cause dog(X) to be matched with the dog clauses in the database. Initially X will be bound to fido and 'fido is a dog' will be output. The final goal in the first clause of the alldogs predicate will then cause evaluation to fail. Prolog will then backtrack over nl and the two write goals (all of which are unresatisfiable) until it reaches dog(X). This goal will succeed for a second time causing X to be bound to fred. This process will continue until fido, fred and jonathan have all been output, when evaluation will again fail. This time the call to dog(X) will also fail as there are no further dog clauses in the database. This will cause the first clause for alldogs to fail and Prolog to examine the second clause of alldogs. This will succeed and evaluation will stop. The effect is to loop through the database finding all possible values of X that satisfy the goal dog(X).
?- alldogs.
fido is a dog
fred is a dog
jonathan is a dog
yes


Note : the importance of the second clause of the alldogs predicate. It is there to ensure that, after the database has been searched, the goal succeeds. With only the first line, any call to alldogs will eventually fail.
alldogs:-dog(X),write(X),write(' is a dog'),nl,fail.
?- alldogs.
fido is a dog
fred is a dog
jonathan is a dog
no



Finding Multiple Solutions


Backtracking with failure can also be used to find all the ways of satisfying a goal. Suppose that a predicate findroute(Town1,Town2,Route) finds a route Route between two towns Town1 and Town2. The details of this predicate are irrelevant here. It may be assumed that Town1 and Town2 are atoms and that Route is a list. Backtracking with failure can then be used to find all possible routes between Town1 and Town2 and write out each one on a separate line, as follows:

find_all_routes(Town1,Town2):-
findroute(Town1,Town2,Route),
write('Possible route: '),write(Route),nl,fail.
find_all_routes(_,_).


CHAPTER SUMMARY
This chapter describes how a set of goals can be evaluated repeatedly in Prolog, either a fixed number of times or until a specified condition is met, and how multiple solutions can be arrived at using the technique of 'backtracking with failure'. 
 yeaaahhh .. just enjoying this tutorial .. make it easy for you ..  even maybe make you so confuse actually hahahhaa just enjoy it readers ...

Selasa, 24 November 2009

INPUT DAN OUTPUT (makelower)




?- write(9),nl.
9
yes

?- write('Morning Star'),nl.
Morning Star
yes

?- write([widya,riza,dita,sari,[mathematic,on,cyber]),nl.
[widya,riza,dita,sari,[mathematic,on,cyber]]
yes

?- write(mypartners(widya,dita,sari)),nl.
mypartners(widya,dita,sari)
yes

?- write('Morning Star'),nl,nl,write('Bright'),nl.
Morning Star
Bright
yes

?- writeq('Morning Star'),nl.
'Morning Star'
yes

?- read(X).
: riza.
X = riza

?- read(X).
: 9.
X = 9

?- read(X).
: mypartners(widya,dita,sari).
X = mypartners(widya,dita,sari)

?- read(Z).
: [riza,hanum,mypartners(widya,dita,sari),[mathematic,on,cyber]].
Z = [riza,hanum,mypartners(widya,dita,sari),[mathematic,on,cyber]]

?- read(Y).
: 'Morning Star'.
Y = 'Morning Star'

?- X=dita,read(X).
: sari.
no

?- X=riza,read(X).
: riza.
X =riza

INPUT AND OUTPUT (READFILE)

1. Create testa.txt


2. Create in your prolog:




3. The Result Is :

INPUT AND OUTPUT (COPYTERMS)

1. create copyterms.txt






2. Save and now open your prolog, create new rule :




3. Outputfile






Jumat, 13 November 2009

OPERATOR AND ARITHMETIC


Operators and Arithmetics

Operators
Up to now, Prolog user usually use the notation for predicates by a number of arguments in parentheses.
Ex : likes(john,mary)
There is another alternative :


- Two arguments (a binary predicates) be converted to an infix operator ? the functor be written between two arguments with no parentheses
Ex : john likes mary


- One argument (a unary predicate) be converted to :
1. Prefix operator ? the functor be written before the argument with no parentheses
Ex : isa_dog fred
2. Postfix operator ? the functor be written after the argument
Ex : fred isa_dog


Both of predicate (one or two arguments) can be converted to an operator by entering a goal using the op predicate at the system prompt.

Ex : ?-op(150,xfy,likes).
This predicate takes three arguments :
1. 150 (operator precedence) : an integer from 0 upwards
So we can change it with another integer.
2. Xfy : the predicate is binary and is to be converted to an infix operator.
This argument should normally be one of the following three atoms:
1. Xfy
2. Fy : the predicate is unary and is to be converted to an prefix operator
3. Xf : the predicate is unary and is to be converted to a postfix operator
3. Likes : the name of the predicate that is to be converted to an operator. 


Arithmetics
Prolog user can doing arithmetic calculate with prolog, such as :


1. Arithmetic operator
X+Y : sum of X and Y
X-Y : dfference of X and Y
X*Y : product of X and Y
X/Y : quotient of X and Y
X//Y : the ‘integer quotient’ of X and Y (the result is truncated to the nearest integerbetween it and zero)
X^Y : X to the power of Y
-X : negative of X
abs(X) : absolute value of X
sin(X) : sine of X
cos(X) : cosine of X
max(X,Y) : yhe larger of X and Y
sqrt(X) : square root of X


2. Operator presedence in arithmetic expression
Prolog use ordinary algebra algorithm in arithmetic operation.
Ex : A+B*C-D
In the algebra, C*B are calculate first, then the result+A, then the result of sum-D. it is same with those in prolog. But, if we want to calculate A+B, C-D, then multiply both of the result, we must add the parentheses.
Ex : (A+B)*(C-D)


3. Relasion operator
The operator like =,!=, >, >=, <, <= can be used in prolog

Degree operator
Under is the rist of equality operators that used in prolog with the function of each operator:
• Arithmetic Expression Equality ( =:= )
• Arithmetic Expression Inequality ( =\= )
• Terms Identical ( == )
• Terms Not Identical ( \== )
• Terms Identical With Unification ( = )
• Non-Unification Between Two Terms( \= )

Logic operator
a. Operator NOT
Operator not can be placed before predicate to give the negation. Predicate that be negation has the truth value if the origin predicate is false and has the false value if the origin predicate is truth.
The example of using operator not :
dog(fido).
?- not dog(fido).
no
?- dog(fred).
no
?- not dog(fred).
Yes


b. Disjunction operator
Operator disjungsi (;) digunakan sebagai operator ‘atau’. Contoh :
?- 6 > 3;7 is 5+2.
yes
?- 6*6=:=36;10=8+3.
yes



Figure out the Practical Exercise 4 Page : 68




Kamis, 22 Oktober 2009

Fact, Rules, Predicate, and Variable in Prolog

Hellooo .. this is our Final Project on Third Week.
Lets do the exercise on Logic Programming using Prolog e-book Page 27.

Exercise no. 1
Type the following program into a file and load it into Prolog.

/* Animals Database */
animal(mammal,tiger,carnivore,stripes).
animal(mammal,hyena,carnivore,ugly).
animal(mammal,lion,carnivore,mane).
animal(mammal,zebra,herbivore,stripes).
animal(bird,eagle,carnivore,large).
animal(bird,sparrow,scavenger,small).
animal(reptile,snake,carnivore,long).
animal(reptile,lizard,scavenger,small).



Instructions : Devise and test goals to find (a) all the mammals, (b) all the carnivores that are
mammals, (c) all the mammals with stripes, (d) whether there is a reptile that has a mane.


Answer :

Step 1 . write down the following program to notepad, and save as .pl file. For this exercise, we will save it as numberone.pl



 Step 2 . Open your Prolog, click File>Consult and find the file you’ve just saved it. After you successfully open it, Prolog will show to you a successful quote like this image above.



Step 3 . First Question : find all mammals. just type ..
 animal(mammal,X,Y,Z).
   


Step 4 . for the second question : find all the carnivores that are
mammals. type ..

animal(mammal,X,carnivore,Z). 



Rule-based Expert System

Short definition about Rule-based Expert System is an expert system based on a set of rules that a human expert would follow in diagnosing a problem.

But .. WHAT ARE RULE-based EXPERT SYSTEM completely ??
Lets learn more ..

Conventional problem-solving computer programs make use of well-structured algorithms, data structures, and crisp reasoning strategies to find solutions. For the difficult problems with which expert systems are concerned, it may be more useful to employ heuristics: strategies that often lead to the correct solution, but that also sometimes fail. Conventional rule-based expert systems, use human expert knowledge to solve real-world problems that normally would require human intelligence. Expert knowledge is often represented in the form of rules or as data within the computer.

Depending upon the problem requirement, these rules anddata can be recalled to solve problems. Rule-based expert systems have played an important role in modern intelligent systems and their applications in strategic goal setting, planning, design, scheduling, fault monitoring, diagnosis and so on. With the technological advances made in the last decade, today’s users can choose from dozens of commercial software packages having friendly graphic user interfaces (Ignizio, 1991). Conventional computer programs perform tasks using a decision-making logic containing very little knowledge other than the basic algorithm for solving that specific problem. The basic knowledge is often embedded as part of the programming code, so that as the knowledge changes, the program has to be rebuilt. Knowledge-based expert systems collect the small fragments of human knowhow into a knowledge base, which is used to reason through a problem, using the knowledge that is appropriate. An important advantage here is that within the domain of the knowledge base, a different problem can be solved using the same program without reprogramming efforts.

Moreover, expert systems could explain the reasoning process and handle levels of confidence and uncertainty,
which conventional algorithms do not handle (Giarratano and Riley, 1989). Some of the important advantages of expert systems are as follows:
• ability to capture and preserve irreplaceable human experience;
• ability to develop a system more consistent than human experts;
• minimize human expertise needed at a number of locations at the same time (especially in a hostile  environment that is dangerous to human health);
• solutions can be developed faster than human experts.

The basic components of an expert system are illustrated in Figure 1. The knowledge base stores all relevant information, data, rules, cases, and relationships used by the expert system. A knowledge base can combine the knowledge of multiple human experts. A rule is a conditional statement that links given conditions to actions or outcomes. A frame is another approach used to capture and store knowledge in a knowledge base. It relates an object or item to various facts or values. A frame-based representation is ideally suited for object-oriented programming techniques. Expert systems making use of frames to store knowledge are also called frame-based expert systems. The purpose of the inference engine is to seek information and relationships from the knowledge base and to provide answers, predictions, and suggestions in the way a human expert would. The inference engine must find the right facts, interpretations, and rules and assemble them correctly. Two types of inference methods are commonly used – Backward chaining is the process of starting with conclusions and working backward to the supporting facts.

Forward chaining starts with the facts and works forward to the conclusions.


 Figure 1. Architecture of a simple expert system.

The explanation facility allows a user to understand how the expert system arrived at certain results. The overall purpose of the knowledge acquisition facility is to provide a convenient and efficient means for capturing and storing all components of the knowledge base. Very often specialized user interface software is used for designing, updating, and using expert systems. The purpose of the user interface is to ease use of the expert system for developers, users, and administrators.

what is EXPERT SYSTEM ?

these are some literature about EXPERT SYSTEM taken from some source at cyber ..

source from wikipidea.org 
 "An expert system is software that attempts to provide an answer to a problem, or clarify uncertainties where normally one or more human experts would need to be consulted. Expert systems are most common in a specific problem domain, and is a traditional application and/or subfield of artificial intelligence. A wide variety of methods can be used to simulate the performance of the expert however common to most or all are 1) the creation of a so-called "knowledgebase" which uses some knowledge representation formalism to capture the Subject Matter Expert's (SME) knowledge and 2) a process of gathering that knowledge from the SME and codifying it according to the formalism, which is called knowledge engineering. Expert systems may or may not have learning components but a third common element is that once the system is developed it is proven by being placed in the same real world problem solving situation as the human SME, typically as an aid to human workers or a supplement to some information system.

As a premiere application of computing and artificial intelligence, the topic of expert systems has many points of contact with general systems theory, operations research, business process reengineering and various topics in applied mathematics and management science."


source from searchcio-midmarket.techtarget.com
"An expert system is a computer program that simulates the judgement and behavior of a human or an organization that has expert knowledge and experience in a particular field. Typically, such a system contains a knowledge base containing accumulated experience and a set of rules for applying the knowledge base to each particular situation that is described to the program. Sophisticated expert systems can be enhanced with additions to the knowledge base or to the set of rules.

Among the best-known expert systems have been those that play chess and that assist in medical diagnosis."

source from www.webopedia.com
"A computer application that performs a task that would otherwise be performed by a human expert. For example, there are expert systems that can diagnose human illnesses, make financial forecasts, and schedule routes for delivery vehicles. Some expert systems are designed to take the place of human experts, while others are designed to aid them.

Expert systems are part of a general category of computer applications known as artificial intelligence . To design an expert system, one needs a knowledge engineer, an individual who studies how human experts make decisions and translates the rules into terms that a computer can understand."

Kamis, 15 Oktober 2009

it"s aLL abOut sHa



huaa.. akhirnya saia jugga ikUtan mngisi biodata lengkap saia.. Wah,, perkenalkan sebelumnya, Saya Indah Mayang Sari, panggil saja saya Sari. Lahir di Kendari, ibukota provinsi di Sulawesi Tenggara 18tahun yang lalu.. Tidak terasa memang, sekarang saya sudah menjadi salah satu mahasiswi di Institut Teknologi Sepuluh Nopember Surabaya, tepatnya di jurusan Sistem Informasi tahun pertama alias maba [hhehe].








Hmm, pertama kali mendengar tugas dari dosen Matematika Diskrit saya, yth. Cakson untuk membuat sebuah blog grup mengenai mata kuliah kami, saya langsung 'excited' banget. Ini untuk kedua kalinya saya membuat blog (silahkan kunjungi blog saya di shacuap-cuap.blogspot.com) hhe^^.


Saya adalah anak kedua dari dua bersaudara. Saat ini kakak saya sedang melanjutkan pendidikannya di Universitas Airlangga Surabaya jurusan kedokteran hewan. Saya,,sama seperti perempuan remaja lainnya, suka membaca, travelling, menyanyi, bermain musik seperti piano atau keyboard, dan yang pasti online. =)


Hal pertama yang saya pikirkan saat pertama kali mendapat mata kuliah ini adalah "penasaran". Seperti apakah pelajaran ini, kalau dilihat dari namanya saja sudah menarik, [hhehe], saya berpikir pasti sangat 'excited' mendapat pelajaran seperti ini. Dan dugaan saya memang tidak salah, bahkan lebih dari yang saya duga sebelumnya. Pertama, dosen kami sangat 'friendly', saya selalu ingat kata-kataanya disetiap tatap muka "don't worry to make mistake, just larning the process" ^^ [unforgettable]. Kedua, mata kuliah kami ini full english [oh God =D]. Dan yang ketiga, untungnya makul ini berisi tentang logika matematika,jadi sedikit-sedikit saya pahamlah.. [hhe]


Pesan dan kesan saya yang terakhir, semoga dengan adanya blog ini, dapat membantu pembaca sekalian dalam memahami Matematika Diskrit. Tenang saja, ini bukanlah mata kuliah yang mengerikan atau super rumit,     ikutilah saja proses dari pembelajaran disini, dan kalian semua akan menyadari, betapa menyenangkannya matematika itu^^. Semangat(!)*

Selasa, 13 Oktober 2009

about Riza


Nama : Riza Hanum Listya
Panggilan : Riza
TTL : Surabaya, 18 Desember 1990
Asal : Surabaya
Hobi : baca, jahit/merajut, dengerin musik, online
Status : mahasiswa Sistem Informasi-FTIF, ITS
Riwayat pendidikan :
  • TK : TK Siwi Handayani
  • SD : SDN Simomulyo IV-101
  • SMP : SMP Negeri 3 Surabaya
  • SMA : SMA Negeri 6 Surabaya
  • Perguruan Tinggi : ITS
Pengalaman :
  • OSIS 2006-2007
  • Koord. Publikasi, Dekorasi dan Dokumentasi CAFE'06
  • Organisasi BARA (Barisan Bendera), sampai sekarang
  • Kepengurusan BARA 2007-2008, Sekbid Kesekretariatan
  • Koord.perijinan dan akomodasi Latihan Gabungan '07
  • Koord.perijinan dan akomodasi Diklat Junior 2007
  • Koor.Konsumsi MOS 2007
  • Sekertaris KIBAR 2007
  • Ketua Pelaksana Diklat Senior 2008
  • Juara III PBB se-Jawa Timur
Cita - cita : menjadi pengusaha sukses
Motto : manfaatkan kesempatan yang ada dengan sebaik - baiknya dan lakukan yang terbaik untuk hidup.

How to use Prolog language

In this section, we want to share with you how to operate and manage the function of Prolog language.
First of all, you must install the Prolog program. You can got it in our e-learning ITS in www.websi.its-sby.edu/elearning as the guest. Or you can download it by google search typing "Download Prolog".
After all, you can start using this language. For example, following this steps:
1. Make some variable and the member of those variable in notepad.
2.  Save as that variable, rename the name of the file by adding ".pl" in the end of the name.
3. Close the notepad and open the Prolog program.
4.Choose "File" and then click "Consult"
5. Then. start to fill in the dialogue box by writing all variable.
NB: - make sure you always state the "." or "dot" in the end of those sentences
       - if you wanna know all the possible variable, use the ";" punctuation.

for example:
1. Put in the variable
- bunga(mawar).
- bunga(melati).
- buah(semangka).
- buah(mangga).
2. Save as by : "Latihan.pl"
3. Close notepad, open the Prolog program
4. Choose "file" and "consult"
5. Write "bunga(X), buah(Y).
6. to continue all possibility click ";" punctuation.
it's so easy right??. ^^

Widya Putri Kandora




Nama : Widya Putri Kandora
Panggilan : Piwied
TTL : Bandung / 25 Juni 1991
Cita-Cita : Dokter Hewan (g' bakal bisa)
                 Wirausaha

Riwayat Sekolah :
TK : TK Pertiwi Makassar
     TK Hikmat II Bandung
SD : SDN Soka 2 Bandung
     SD Swasta Medan
     SD Swasta Banjarmasin
     SDN Percobaan Surabaya
SMP :SMPN 32 Surabaya
SMA :SMA Swasta Bandung
     SMAN 22 Surabaya

Pengalaman berorganisasi :
SMP : - MPK
           - OSIS Ketua Sekbid 7
           - Ketua PASTABAYA (Paskibra 32 Surabaya)
SMA : - OSIS Ketua sekbid 2
           - OSIS Ketua 1
           - Ketua Umum PASDDRA (Paskibra 22 Surabaya)
           - Organisasi PASDDRA , until now
           - Bendahara Umum Mading
           - Anggota KIR (Karya Ilmiah Remaja)
           - Sekretaris umum IKA (Ikatan Alumni) PASTABAYA
           - Kameramen BroadCasting SMAN 22 Surabaya

Beberapa hal yang ingin saya capai...
1. Menjadi Wirausaha (walaupun  kecil-kecilan)

hello. my name is ditaa.


heihooo ....
saatnyaa perkenalan para authors darii blog inii ..
salah satuunyaa adalah saya !!! DITA KURNIAWATY.





sayaa terlahir di kota JEMBER padaa tanggal 01 April tahunn *tiiit (disembunyikan karena privacy) hehhe.
hemm .. terlahiir sebagaai bayi mungil nan imuut (lihaat fotoo diataas) hingga tumbuuh besaar menjadii gadiis cantik sepertii sekaarang inii (lihaad foto bawaahh). :)









biasaaa dipanggil DITA di manaapunn. tidak adaa panggilan atauu julukan khusuus. okey !! just call me with DITA !!
menghabiiskan 15 tahuun hidup di kota kelahiran JEMBER. pendidikan dasaar dan menengah pertama sayaa habiskan di kotaa tercinta inii. namuun setelah beranjak dewasa, saya memutuskan untuuk melanjuutkan sekolah menengah atas saya di kotaa lain atau istilah laiinnyaa saya merantau ke kotaa orang. humm, keputusan yang berat awalnyaa saat saya beranii mengambil keputusan bersekolah di SMK TELKOM SANDHY PUTRA MALANG. tapi, setelah sayaa menjalani kehiduupan baruu tersebuut, banyak hal baruu yang saya dapatkan. dan hal ituu sangat bermaanfaat bagii hidup sayaa.
duluu saya sangat manja, makluumlah anak paliing bunciit. anak cewe satu satunya, sangat wajar jikaa saya memiliki karakter manja. tapii berkat keputusan merantau, saya dapat belajar bagaimana cara menghargai hiduup. bagaimana caraa untuk lebiih berpikir dewasaa, bagaimanaa belajar untuk tidak bergantuung padaa orang tuaa, bagaimanaa caraa untuuk menjalankan roda kehidupan dengan tangan, otak, dan usaha sendiri. dan alhamdulillah, sedikit demi sedikit pelajaaran hidup ituu mengubah mind set sayaa :)
huaaaaahh .. ngomong apaa sih saya inii .. >,< hahhaha. tapii itu memang sekelumiit kisah yang dapat saya share kepada kalian semua yang memmbacaa blog inii.
ohyaa, sebenarnyaa tidak pernah sayaa menyangkaa saya bisa kuliah di ITS inii. sayaa pikiir takdir sayaa setelah masuuk ke SMK adalahh bekerjaa. dan saya pun telah mempersiapkan diri untuk menghadapii dunia kerjaa. sayaa sudah mengirimkan lamaran ke beberapa perusahaan yang mencari seorang programmer ataupun it staff. sayaa sudah mempersiapkan mentaal untuk menjadi seorang wanita karir mudaa. tapii memang mungkin sudah digariskan bahwa saya belum cukuup umur untuk bekerjaa. ahahaha. sayaa diterimaa di ITS tercintaa ini melalui jalur snmptn dan mengharuskann saya untuuk mengubah keputusan hiduup sayaa. saya haruus belajaar lagii dan belajar lebiih keras lagi untuuk mencapai tujuan DITA KURNIAWATY, S. KOM. amiiinnnnn ... :)
okeee .. apaa lagi yaa yang bisaa saya ceritakann tentaang dirii saya inii ?? hemm .. saya ini adalah tipe orang berhati lembuut. inii kata orang orang terdekat sayaa :) yaa memang sayaa bukan tipe wanita yang bisa dikerasii. tapii sayaa bukan cewe lemah kogg. saya cewe kuat !!! :)
hal yang paliing saya sukaa adalah tertawaa. saya jugaa suka membuat orang tertawaa yah meskii ituu hal jayus yang keluuar darii mulut sayaa :P. sayaa juga suka jalan jalan. inii penting untuk menghilangkan stress di otak sayaa karena dunia perkuliahaan iniii .. jadii, bolehlah jikaa adaa yang ngajak sayaa jalan jalan. hayuuuuu ...
hemmm. segituu dulu aja dehh. laiin kali lagii saya berceritaa pada kalian semuaa. keep on my way @ blog .. buaat kalian yang pengen lebihh tauu sayaa kunjungii my own blog klik ditaabicara.blogspot.com see yaaaaaa :))

Kamis, 01 Oktober 2009

Tentang Nama

Tentang nama MATHEMATIC ON CYBER.
Mengapa kami memilih nama tersebut ?
Cakson menyarankan kami untuk membuat blog dengan nama yang unique. Hemm, kami cukup lama memikirkan, kira kira apa ya nama yang cocok untuk blog kami ini ..
Sekiaan lama berpikir, tak ada ide apapun yang terlintas. Kemudian si Dita tiba tiba memberikan ide untuk memberi nama blog ini MATHEMATIC ON CYBER. haha. Karena berada di dunia maya, dunia cyber, ituu saja alasan yang dikemukakan si Dita. Yahh .. daripada lama laama berpikir tentang nama, akhirnyaa nama itulah yang di pilih. Jika di lain hari mendapat inspirasi baru, bolehlah kita ubah lagi dengan nama yang lebih baik dan lebih unique tentunya. hehehe :)

PERTAMAX!!!

Helloooo semuaaaa :)
wahh waahh. NEW BLOG!!! selamat datang yaa di blog kami yang sederhana ini.
Sekilas ceritaa tentang sejarah blog ini, awalnyaa sihh karna tugaas yang diberikan oleh CAKSON, dosen mata kuliah matematika diskrit yang sangat kami cintai. Beliau memberi mandat untuk membuat sebuah blog khusus tentang matematika diskrit. inii memang tugas. Tapii .. marilah kita buat tugas ini sebagaii ajang sharing bersama mengenai matematika diskrit. Bagii semua yang ingin berdiskusi, monggo bisaa join disinii. :) Segala hal tentang diskrit dapat kita diskusikan disini.
Harapan kamii, semogaa kita dapat berbagi ilmu dan menambah pengetahuan kita tentang matematika diskrit.
SELAMAT BERGABUNG DI MATEMATHICS ON CYBER :)