Você está na página 1de 5

- no1distributor.

java
package modul9_messageTemplate;
import jade.core.AID;
import jade.core.Agent;
import
jade.core.behaviours.CyclicBehaviour;
import
jade.core.behaviours.TickerBehaviour;
import jade.lang.acl.ACLMessage;
import jade.lang.acl.MessageTemplate;
import java.util.Scanner;
public class no1distributor extends
Agent{
boolean kirimCalo = true;
protected void setup(){
addBehaviour(new TB1(this,
1000));
addBehaviour(new CBdis(this));
}

class TB1 extends TickerBehaviour{
public TB1(Agent a, long period) {
super(a, period);
}

@Override
protected void onTick() {
if(kirimCalo){
String buah ="Pilih Buah :"
+ "\n1.Jeruk"
+ "\n2.Strobery"
+ "\n3.Melon";
ACLMessage msg = new
ACLMessage(ACLMessage.INFORM);
msg.setContent(buah);
msg.addReceiver(new
AID("calo1", AID.ISLOCALNAME));
myAgent.send(msg);
kirimCalo = false;
}
}
}

class CBdis extends CyclicBehaviour{
public CBdis(Agent a) {
super(a);
}
@Override
public void action() {
MessageTemplate dari_caloo =
MessageTemplate.and(MessageTemplate.Mat
chSender(new
AID("calo1",AID.ISLOCALNAME)),
MessageTemplate.MatchPerformative(ACLMe
ssage.INFORM));
ACLMessage msgc =
myAgent.receive(dari_caloo);
if(msgc!=null){
String titleCalo =
msgc.getContent();
int pesann =
Integer.parseInt(titleCalo);
if(pesann==1){

System.out.println("Pembeli memesan
Jeruk");
}else if(pesann==2){

System.out.println("Pembeli memesan
Strobery");
}else if(pesann==3){

System.out.println("Pembeli memesan
Melon");
} else {

System.out.println("BUAH E GAG ONOK
:p");
}
kirimCalo = true;
}
}
}

}

- no1calo.java

package modul9_messageTemplate;

import jade.core.AID;
import jade.core.Agent;
import
jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage;
import jade.lang.acl.MessageTemplate;
public class no1calo extends Agent{
no1pembeli n = new no1pembeli();
protected void setup(){
addBehaviour(new
CBcalo1(this));
}
}
class CBcalo1 extends CyclicBehaviour{

public CBcalo1(Agent a) {
super(a);
}

@Override
public void action() {
MessageTemplate
dari_distributor =
MessageTemplate.and(MessageTemplate.Mat
chSender(new
AID("distributor1",AID.ISLOCALNAME)),
MessageTemplate.MatchPerformative(ACLMe
ssage.INFORM));
ACLMessage dis =
myAgent.receive(dari_distributor);
if(dis!=null){
String titleDis =
dis.getContent();
ACLMessage buah1 = new
ACLMessage(ACLMessage.INFORM);
buah1.setContent(titleDis);
buah1.addReceiver(new
AID("pembeli1", AID.ISLOCALNAME));
myAgent.send(buah1);
}

MessageTemplate dari_pembeli =
MessageTemplate.and(MessageTemplate.Mat
chSender(new
AID("pembeli1",AID.ISLOCALNAME)),
MessageTemplate.MatchPerformative(ACLMe
ssage.INFORM));
ACLMessage pem =
myAgent.receive(dari_pembeli);
if(pem!=null){
String titlePem =
pem.getContent();
ACLMessage buah11 = new
ACLMessage(ACLMessage.INFORM);
buah11.setContent(titlePem);
buah11.addReceiver(new
AID("distributor1", AID.ISLOCALNAME));
myAgent.send(buah11);
}
}

}

- no1pembeli.java

package modul9_messageTemplate;

import jade.core.AID;
import jade.core.Agent;
import
jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage;
import jade.lang.acl.MessageTemplate;
import java.util.Scanner;
public class no1pembeli extends Agent{
protected void setup(){
addBehaviour(new
CBpembeli1(this));
}

class CBpembeli1 extends
CyclicBehaviour{
boolean pembeliPesan = false;
public CBpembeli1(Agent a) {
super(a);
}

@Override
public void action() {
MessageTemplate dari_calo =
MessageTemplate.and(MessageTemplate.Mat
chSender(new
AID("calo1",AID.ISLOCALNAME)),
MessageTemplate.MatchPerformative(ACLMe
ssage.INFORM));
ACLMessage msgp =
myAgent.receive(dari_calo);
if(msgp!=null){
String title2 =
msgp.getContent();
System.out.println(title2);
String pesanan;
Scanner input = new
Scanner(System.in);
System.out.print("pilih
nomor pesanan : ");
pesanan = input.nextLine();
if(pesanan!=null){
ACLMessage balas =
msgp.createReply();
balas.setContent(pesanan);
myAgent.send(balas);
}
}
}
}
}



- no2pembeli.java

package modul9_messageTemplate;

import jade.core.AID;
import jade.core.Agent;
import
jade.core.behaviours.CyclicBehaviour;
import
jade.core.behaviours.TickerBehaviour;
import jade.lang.acl.ACLMessage;
import jade.lang.acl.MessageTemplate;
import java.util.Scanner;
public class no2pembeli extends Agent {

protected void setup() {
addBehaviour(new TB2(this,
1000));
addBehaviour(new CB2(this));
}
boolean makanMinum = true;

class TB2 extends TickerBehaviour {

public TB2(Agent a, long
period) {
super(a, period);
}

@Override
protected void onTick() {
if (makanMinum) {
String a;
Scanner in = new
Scanner(System.in);
System.out.print("mau
pesan makanan atau minuman? ");
a = in.nextLine();
ACLMessage pil = new
ACLMessage(ACLMessage.INFORM);
pil.setContent(a);
pil.addReceiver(new
AID("calo2", AID.ISLOCALNAME));
myAgent.send(pil);
makanMinum = false;
}
}
}

class CB2 extends CyclicBehaviour {

public CB2(Agent a) {
super(a);
}

@Override
public void action() {
MessageTemplate dariCall =
MessageTemplate.and(MessageTemplate.Mat
chSender(new AID("calo2",
AID.ISLOCALNAME)),
MessageTemplate.MatchPerformative(ACLMe
ssage.INFORM));
ACLMessage pc =
myAgent.receive(dariCall);
String titlePee = null;
if (pc != null) {
titlePee =
pc.getContent();
System.out.println(titlePee);
makanMinum = true;
}

}
}
}

- no2calo.java

package modul9_messageTemplate;

import jade.core.AID;
import jade.core.Agent;
import
jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage;
import jade.lang.acl.MessageTemplate;
public class no2calo extends Agent {
boolean mak = false;
boolean min = false;
protected void setup() {
addBehaviour(new
CBcalo2(this));
}

class CBcalo2 extends
CyclicBehaviour {

public CBcalo2(Agent a) {
super(a);
}

@Override
public void action() {
MessageTemplate dariP =
MessageTemplate.and(MessageTemplate.Mat
chSender(new AID("pembeli2",
AID.ISLOCALNAME)),
MessageTemplate.MatchPerformative(ACLMe
ssage.INFORM));
ACLMessage p =
myAgent.receive(dariP);
String titlePe = null;
if (p != null) {
titlePe =
p.getContent();
ACLMessage pilih = new
ACLMessage(ACLMessage.INFORM);

pilih.setContent(titlePe);
if
(titlePe.equals("makanan")) {

pilih.addReceiver(new AID("DISmakanan",
AID.ISLOCALNAME));
mak = true;
} else if
(titlePe.equals("minuman")) {

pilih.addReceiver(new AID("DISminuman",
AID.ISLOCALNAME));
min = true;
}
myAgent.send(pilih);
}

MessageTemplate dariDIS =
null; MessageTemplate dariCalos = null;
if (mak == true) {
dariDIS =
MessageTemplate.and(MessageTemplate.Mat
chSender(new AID("DISmakanan",
AID.ISLOCALNAME)),
MessageTemplate.MatchPerformative(ACLMe
ssage.INFORM));
} else if (min == true) {
dariDIS =
MessageTemplate.and(MessageTemplate.Mat
chSender(new AID("DISminuman",
AID.ISLOCALNAME)),
MessageTemplate.MatchPerformative(ACLMe
ssage.INFORM));
}
ACLMessage pill =
myAgent.receive(dariDIS);
if (pill != null) {
String titlePe2 =
pill.getContent();
ACLMessage pilihM = new
ACLMessage(ACLMessage.INFORM);

pilihM.setContent(titlePe2);
pilihM.addReceiver(new
AID("pembeli2", AID.ISLOCALNAME));
myAgent.send(pilihM);
mak = false; min =
false;
}
}
}
}
- no2makanan.java

package modul9_messageTemplate;

import jade.core.AID;
import jade.core.Agent;
import
jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage;
import jade.lang.acl.MessageTemplate;
public class no2makanan extends Agent {
boolean op = false;
protected void setup() {
addBehaviour(new CBmak(this));
}

class CBmak extends CyclicBehaviour
{

public CBmak(Agent a) {
super(a);
}

@Override
public void action() {
MessageTemplate dariCalo =
MessageTemplate.and(MessageTemplate.Mat
chSender(new AID("calo2",
AID.ISLOCALNAME)),
MessageTemplate.MatchPerformative(ACLMe
ssage.INFORM));
ACLMessage cal =
myAgent.receive(dariCalo);
if (cal != null) {
String makan = "Pilih
Makanan :"
+ "\n1.Soto"
+ "\n2.Gule"
+ "\n3.Sate";
ACLMessage menuMak =
cal.createReply();

menuMak.setContent(makan);
myAgent.send(menuMak);
}
}
}
}
- no2minuman.java

package modul9_messageTemplate;

import jade.core.AID;
import jade.core.Agent;
import
jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage;
import jade.lang.acl.MessageTemplate;

public class no2minuman extends Agent {
boolean ip = false;
protected void setup() {
addBehaviour(new CBmin(this));
}

class CBmin extends CyclicBehaviour
{

public CBmin(Agent a) {
super(a);
}

@Override
public void action() {
MessageTemplate dariCalo =
MessageTemplate.and(MessageTemplate.Mat
chSender(new AID("calo2",
AID.ISLOCALNAME)),
MessageTemplate.MatchPerformative(ACLMe
ssage.INFORM));
ACLMessage cal =
myAgent.receive(dariCalo);
if (cal != null) {
String minum = "Pilih
Minuman :"
+ "\n1.Es
Kopyor"
+ "\n2.Es
degan"
+ "\n3.Es
buah";
ACLMessage menuMin =
cal.createReply();

menuMin.setContent(minum);
myAgent.send(menuMin);
ip = true;
}
}
}

}

Você também pode gostar