Senin, 15 Desember 2014

Grafika Komputer - 3D

Membuat tampilan 3D

package penggunaanawt;

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class TigaDimensi extends JPanel {
  public void paint(Graphics g) {
    g.setColor (Color.gray);
    g.draw3DRect (25, 10, 50, 75, false); //(titik kiri atas, lebar x, lebar y)
    g.draw3DRect (25, 110, 50, 75, true);// kiri bawah
     g.setColor (Color.blue);
    g.fill3DRect (100, 10, 50, 75, false); //kanan atas
    g.fill3DRect (100, 110, 50, 75, true); //kanan bawah
  }
  public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.getContentPane().add(new TigaDimensi());

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(400, 400);
    frame.setVisible(true);
  }
}

Outputnya :



Sekian untuk kali yah,,,,



Teknik Kompilasi (Reaksi Kompilator dalam sebuah Program)



REAKSI KOMPILATOR PADA KESALAHAN DALAM SEBUAH PROGRAM



Reaksi yang dapat diterima
Reaksi yang sudah dapat dilakukan (dewasa ini), yaitu melaporkan kesalahan, dan selanjutnya melakukan:
Recovery / pemulihan, lalu melanjutkan menemukan kesalahan yang lain bila masih ada.
Repair / Perbaikan kesalahan, lalu melanjutkan proses translasi dan menghasilkan program objek yang valid.

Reaksi yang belum dapat dilakukan (dewasa ini), yaitu kompilator mengkoreksi kesalahan, lalu menghasilkan program objek sesuai dengan yang diinginkan pemrogram.

ERROR RECOVERY
Tujuannya mengembalikan parser ke kondisi stabil (supaya bisa melanjutkan proses parsing ke posisi selanjutnya).

Strategi yang dilakukan sebagai berikut :
Mekanisme Ad Hoc : Recovery yang dilakukan tergantung dari pembuat kompilator sendiri / Spesifik, dan tidak terikat pada suatu aturan tertentu. Cara ini biasa disebut juga special purpose error recovery
Syntax Directed Recovery : Melakukan recovery berdasarkan syntax
Contoh : program
                                       begin
                                              A:=A+1
                                                   B:=B+1;
                                              C:=C+1
                                       end;

kompilator akan mengenali sebagai (dalam notasi BNF)
begin < statement>?<statement>;<statement>end;
? akan diperlakukan sebagai “;”

Secondary Error Recovery
Berguna untuk melokalisir kesalahan, caranya :
Panic mode
Maju terus dan mengabaikan teks sampai bertemu delimeter (misal ‘:’)
contoh :
                        if A := 1
                            Kondisi := true;

Teks diatas terjadi kesalahan karena tidak ada instruksi THEN, kompilator akan maju terus sampai bertemu ‘;’

Unit deletion
Menghapus keseluruhan suatu unit sintaktik (misal: <block>,<exp>,<statement> dan sebagainya), efeknya sama dengan panic mode tetapi unit deletion memelihara kebenaran sintaksis dari source program.

Context Sensitive Recovery
Berkaitan dengan semantik, misal bila terdapat variabel yang belum dideklarasikan (undifined variabel) maka diasumsikan tipenya berdasarkan kemunculannya.

Sekian...


Sistem Pakar - Radial Basic Function (RBFN)

Contoh Program Gambar menggunakan AWT Java

Kali ini saya akan memberikan contoh program menggambar menggunakan awt pada bahasa pemrograman Java.


Source Code :

package penggunaanawt;

/**
 *
 * @author Ay
 */
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Panel;

/**
 *
 * @author Toshiba
 */
public class AWT1 extends Panel {
    AWT1 () {
        setBackground (Color.cyan);
    }
  
    public void paint(Graphics u)
    {
  
    //Rumput
    u.setColor(Color.GREEN);
    u.fillRect(0, 200, 590, 270);
  
  
    //Matahari
    u.setColor(Color.yellow);
    u.fillOval(430, 50, 80, 80);
  
    u.setColor(new Color(245,135,14));  //cahaya matahari
    u.drawLine(430, 90, 380, 90);   //garis kiri
    u.drawLine(440, 60, 380, 30);   //kiri atas
    u.drawLine(440, 120, 380, 150);   //kiri bawah
    u.drawLine(560, 90, 510, 90);   //garis kanan
    u.drawLine(560, 30, 500, 60);   //kanan atas
    u.drawLine(560, 150, 500, 120);   //kanan bawah
    u.drawLine(470, 10, 470, 50);   //utara
    u.drawLine(470, 130, 470, 170); //selatan
  
    //Awan
    u.setColor(Color.white);
    u.fillOval(20, 15, 70, 70);
    u.fillOval(50, 15, 70, 75);
    u.fillOval(100, 15, 70, 70);
  
    //Rumah
    u.setColor(Color.RED);
    u.fillRect(10, 300, 100, 150);
  
    //Pintu Rumah
    u.setColor(Color.BLUE);
    u.fillRect(50, 374, 50, 75);
  
    //Gagang Pintu
    u.setColor(Color.YELLOW);
    u.fillOval(88, 400, 10, 10);
  
    //Atap Rumah
    u.setColor(Color.ORANGE);
    int x[] = new int[] {10,60,110};
    int y[] = new int [] {300,250,300};
    u.fillPolygon(x, y, 3);
  
    //Jalan
    u.setColor(Color.gray);
    int a[] = new int[]{580,240,410,580};
    int b[] = new int[]{200,460,460,320};
    u.fillPolygon(a, b, 4);
  
    //Garis Jalan 1
    u.setColor(Color.white);
    int c[] = new int[]{530,560,570,540};
    int d[] = new int[]{280,260,260,280};
    u.fillPolygon(c, d, 4);
  
    //Garis Jalan 2
    int e[] = new int[]{440,470,480,450};
    int f[] = new int[]{360,340,340,360};
    u.fillPolygon(e, f, 4);
  
    //Garis Jalan 3
    int g[] = new int[]{340,370,380,350};
    int h[] = new int[]{450,430,430,450};
    u.fillPolygon(g, h, 4);
  
  
    }
  

    public static void main(String[] args) {
     Frame f1 = new Frame();
     AWT1 H = new AWT1();
     f1.add(H);
     f1.setSize(600, 500);
     f1.setVisible(true);
      
    }
}


Hasil Outputnya :




ThankYu.....

God Bless


Rabu, 08 Oktober 2014

Sistem Pakar - Counter Propagation

Full Counterpropagation adalah jaringan yang dapat melakukan pemetaan secara bidirectional (2 arah) baik forward maupun backward.

Arsitektur Full Counterpropagation
FC terdiri dari 2 input layer (X, Y) , sebuah Hidden Layer yang disebut KOHONEN Layer dan 2
buah output layer (X* dan Y*)

Menurut proses pelatihannya, counterpropagation dibagi menjadi 2, yaitu :
1. Kohonen learning (dari input unit ke hidden unit)
2. Grossberg learning (dari hidden unit ke output unit)

Kali ini dibahas hanya Forward saja ...
langsung saja kita liat gambar fase counterpropogation






Nilainya:


Tampilan diatas adalah nilai dari kedua vektor yang belum dinormalisasi, termasuk dengan nilai x1,x2,y1,dan y2
Kedua vektor yakni V dan W harus dinormalisasi terlebih dahulu, caranya lihat angka paling kecil dan terbesar. Contoh untuk V, nilai terbesar pada v12 = 27 dan terkecil v23 = 0,5. untuk menormalisasikannya yaitu dengan membagi nilai pada vektor dengan angka atau nilai yang terbesar. Contoh untuk v11 diperoleh nilai 0,407407 merupakan hasil dari pembagian nilai 11/27, begitupun hasil normalisasi dari v12=27 yaitu 27/27 = 1.
Dibawah ini kolom yang diberi simbol N adalah nilai yang telah dinormalisasi dan juga untuk nilai x1,x2,y1 dan y2 juga telah dinormalisasi.



Selanjutnya ...


Dari hasil D diatas, maka yang menang adalah D1 (karena nilainya terkecil)

Sehingga bobot yang diubah : v11 dan v21 yakni sebagai berikut :


Karena yang menang adalah D1, dimana mengarah ke Z1 maka, Z2, Z3, dan Z4 dieliminasi dan Z1




dilanjutkan proses pencarian nilai W baru (New) ...





Sekian Posting kali ini... Semoga bermanfaat
Tuhan Beserta Kita AMIN




Image Enhancement

Image Enhancement Diketahui : r 1 = 0,3   ; r 2 =   0,5    ; r 3 = 0,8   s 1 = 0,1   ; s 2 =   0,4   ; s 3 =   0,6 ...