Minggu, 12 Februari 2012

Logika Fuzzy - Kecerdasan Buatan

Buat class logika_fuzzy

package KECERDASAN_BUATAN;

/**
 *
 * @author Wahyu Basuki
 */
public class logika_fuzzy {
     double data_kecepatan;
     double nilai_TR = 10;
     double nilai_RS = 20;
     double nilai_RSDG = 30;
     double nilai_RP = 40;


     public logika_fuzzy(double input_kecepatan){
     data_kecepatan=input_kecepatan;

     }


     public  double pelan(){
             if((data_kecepatan>=0)&&(data_kecepatan<=25)){
                 return (1);
             }
             else if((data_kecepatan>25)&&(data_kecepatan<=50)){
                 return (data_kecepatan - 50 ) / (25 - 50);
             }
             else{
                 return 0;
             }
         }

         public double sedang(){
             if((data_kecepatan>=25)&&(data_kecepatan<=50)){
                 return (data_kecepatan - 25) / (50-25) ;
             }
             else if((data_kecepatan>50)&&(data_kecepatan<=75)){
                 return (data_kecepatan - 75) / (50-75);
             }
             else{
                 return 0;
             }
         }

         public double agak_cepat(){
             if((data_kecepatan>50 && data_kecepatan<=75)){
               return (data_kecepatan - 50) / (75-50);

             }
             else if((data_kecepatan>75 && data_kecepatan<100)){
           return (data_kecepatan - 100) / (75 - 100);                       }
             else{
                 return 0;             }
         }

         public double cepat(){
             if((data_kecepatan>=75)&&(data_kecepatan<100)){
                 return (data_kecepatan - 75) / (100-75);
             }
             else if((data_kecepatan>100)){
                 return (1);
             }
             else{
                 return 0;
             }
         }
public double DEFUZZIFIKASI (){
return pelan()*nilai_TR+sedang()
*nilai_RS+agak_cepat()*nilai_RSDG
+cepat()*nilai_RP/(pelan()+sedang()+agak_cepat()+cepat());
}
}



Buat class uji_coba untuk memanggil method tersebut

package KECERDASAN_BUATAN;
  import java.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStreamReader;

  public class uji_coba {

  public static void main(String args[]){
  BufferedReader dataIn = new BufferedReader
  (new InputStreamReader(System.in));
         double nilai_kecepatan =0;
        
         try {

     System.out.println(" ╔════════════════════════╗");
     System.out.println("              Wahyu Tri Basuki             ");
     System.out.println("                  09120070                 ");
     System.out.println("             KECERDASAN BUATAN             ");
     System.out.println(" ╚════════════════════════╝");

     System.out.println("Masukan Nilai Kecepatan  : ");
     nilai_kecepatan = Double.valueOf(dataIn.readLine()) ;
     System.out.println("");

     logika_fuzzy kecepatan = new logika_fuzzy
     (nilai_kecepatan);

      System.out.println ("•••••••••••••••••");
      System.out.println ("•  FUZZIFIKASI  •");
      System.out.println ("•••••••••••••••••");
      System.out.println("Kecepatant: " + nilai_kecepatan + " m/s");
      System.out.println("Pelan     : " + kecepatan.pelan());
      System.out.println("Sedang    : " + kecepatan.sedang());
      System.out.println("Agak Cepat: " + kecepatan.agak_cepat());
      System.out.println("Cepat     : " + kecepatan.cepat());
      System.out.println("");

      System.out.println ("•••••••••••••••••");
      System.out.println ("•    ATURAN     •");
      System.out.println ("•••••••••••••••••");

      System.out.println("Nilai TR  : " + kecepatan.pelan());
      System.out.println("Nilai RS  : " + kecepatan.sedang());
      System.out.println("Nilai RSDG: " + kecepatan.agak_cepat());
      System.out.println("Nilai RP  : " + kecepatan.cepat());
      System.out.println("");


      System.out.println ("•••••••••••••••••");
      System.out.println ("• DEFUZZIFIKASI •");
      System.out.println ("•••••••••••••••••");
      System.out.println(": "+ kecepatan.DEFUZZIFIKASI());
      System.out.println("");
      System.out.println ("Teknik Informatika\nUniversitas Wijaya Kusuma Surabaya 11/12");
         }catch (IOException a){
                 System.out.println("Error!");

 }
 }
 }



Tampilan output

Membuat Kotak - Grafika Komputer

Buat class kotak

import java.awt.*;
import java.awt.event.*;

public class kotak extends Frame{
kotak(){

super("Menggambar Objek Kotak");
addWindowListener(JE);
setSize(310,150);
setVisible(true);
}

public void paint(Graphics Gambar){
Gambar.setColor(Color.BLUE);
Gambar.drawRect(50, 50, 70, 70);
Gambar.fillRect(200, 50, 70, 70);
}

JendelaEvent JE = new JendelaEvent();
public class JendelaEvent extends WindowAdapter{
public void windowClosing(WindowEvent wc){
dispose();
System.exit(1);
}
}
}




Buat class test untuk memanggil method tersebut

public class test {
public static void main(String[] args) {
kotak ok = new kotak();
}
}


Tampilan output

Grafik Sinus dan Cosinus - Grafika Komputer

Buat class KanvasAnimasi

import javax.swing.*;
import java.awt.*;

class KanvasAnimasi extends Canvas {
public void paint(Graphics g){
                
g.setColor(Color.white);
g.drawLine(10,10,10,210);
g.drawLine(5,110,380,110);
g.drawString("1",2,14);
g.drawString("-1",14,210);
g.drawString("0",13,123);
g.drawString("90",100,123);
g.drawString("180",190,123);
g.drawString("270",280,123);
g.drawString("360",370,123);        
g.setColor(Color.red);
for(int i=0; i<360;i+=1){
int y=(int)(Math.sin(i*Math.PI/180)*100)*-1;
g.drawOval(i+10,y+110,1,1);
try{
Thread.sleep(10);}
catch(Exception e){
}
}

g.setColor(Color.green);
for(int i=0; i<360;i+=1){
int y=(int)(Math.cos(i*Math.PI/180)*100)*-1;
g.drawOval(i+10,y+110,1,1);
try{
Thread.sleep(10);
}catch(Exception e){
}
}
}
}


Buat class Animasi untuk memanggil method tersebut

import javax.swing.*;
import java.awt.*;
class Animasi extends JFrame {
KanvasAnimasi gambar = new KanvasAnimasi();
Animasi(){
setTitle("Grafik Sinus dan Cosinus");
setLocation(200,100);
setSize(410,260);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void komponenVisual(){
getContentPane().setLayout(new BorderLayout());
getContentPane().add(gambar,BorderLayout.CENTER);
getContentPane().setBackground(Color.BLACK);
setVisible(true);
}

public static void main(String[]args){
Animasi anime = new Animasi();
anime.komponenVisual();
}
}



Tampilan output


Assalamu'alaikum Wr. Wb.