content bg

MEMBUAT GARIS DDA

Algoritma pembentukan garis DDA :

1. Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.
2. Tentukan salah satu titik sebagai awal(x0,y0) dan titik akhir(x1,y1).
3. Hitung dx=x1¬x0, dan dy= y1¬y0.
4. Tentukan langkah, yaitu dengan cara jarak maksimum jumlah penambahan nilai x maupun nilai y, dengan caara :
Bila nilai absolut dari dx lebih besar dari absolut dy, maka langkah= absolut dari dx.
Bila tidak maka langkah= absolut dari dy
5. Hitung penambahan koordinat pixel yaitu x_increment=dx/langkah, dan y_increment=dy/langkah.
6. Koordinat selanjutnya (x+x_increment, y+y_increment).
7. Posisi pixel pada layar ditentukan dengan pembulatan nilai koordinat tersebut.
8. Ulangi nomor 6 dan 7 untuk menentukan posisi pixel selanjutnya,sampai x= x1 dan y= y1

Contoh Source Code nya :


package Garis;

import java.awt.Graphics;


public class Garis {
 
    public void Garisku (Graphics g, int x0, int y0, int x1, int y1){
        int dx,dy,steps;
        int x_tambah,y_tambah,x,y;
                           
  dx= x1-x0;
  dy= y1-y0;    
              
  if (Math.abs(dx) > Math.abs(dy)){
   steps = Math.abs(dx);
  }
  else{
   steps = Math.abs(dy);
  }
  x_tambah = dx / steps;
  y_tambah = dy / steps;
                x=x0;
                y=y0;
                      
                g.fillRect(x, y, 1, 1);
  for (int k=10; k< steps ;k++){
   x += x_tambah;
   y += y_tambah;
 
                        g.fillRect(x, y, 1, 1);
  }            
      
    }
  
}

Contoh Source Code untuk memanggil Class Garis yang bagian pertama yang sudah kita buat
Source Code nya :

package garis;

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


public class tampilgaris extends JPanel{
    @Override
    public void paintComponent(Graphics g){
        Nur baru = new Nur();
        g.setColor(Color.RED);
        baru.Garisku(g, 200, 300, 400, 300);
        baru.Garisku(g, 200, 160, 400, 160);
            }
  
    public static void main(String[] args) {
        Nur baru = new Nur();
        JFrame frame = new JFrame("Nur Gambar ");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new tampilgaris());
        frame.setSize(600, 600);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
             
    }
}
      

Membuat SEGITIGA.AWT


package penggunaanawt;


public class AWTDemo extends Frame implements ActionListener{
  
package penggunaanawt;
import java.awt.*;
import java.awt.event.*;

public class AwtDemo extends Frame implements ActionListener {

    int x = 100;
    int y = 100;
public static void main(String[] args) {
    Frame frame = new AwtDemo();
    frame.setSize(640, 480);
    frame.setVisible(true);
}
public AwtDemo() {
setTitle("AWT Demo");
// create menu
    MenuBar mb = new MenuBar();
    setMenuBar(mb);
    Menu menu = new Menu("File");
    mb.add(menu);
    MenuItem mi = new MenuItem("Exit");
    mi.addActionListener(this);
    menu.add(mi);
// end program when window is closed
    WindowListener l = new WindowAdapter()  {
    public void windowClosing(WindowEvent ev) {
    System.exit(0);
    }
    };
this.addWindowListener(l);
// mouse event handler
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent ev) {
    x = ev.getX();
    y = ev.getY();
    repaint();
}
};
addMouseListener(mouseListener);
}

public void paint(Graphics g) {

g.drawLine(x, y, 400, 100);
g.setColor(Color.yellow);
g.drawLine(x, y,100 , 300);
g.setColor(Color.yellow);
g.drawLine(x, y+200,400 , 100);
g.setColor(Color.yellow);


}
public void actionPerformed(ActionEvent ev) {
String command = ev.getActionCommand();
if ("Exit".equals(command)) {
System.exit(0);
}
}
}

MEMBUAT ORANG.AWT

package Nuraini;



import java.awt.*;

import java.awt.event.*;

public class Nuraini extends Frame implements ActionListener{

    int x = 100;

    int y = 100;

public static void main(String[] args) {

    Frame frame = new Nuraini();

    frame.setSize(640, 480);

    frame.setVisible(true);

}

public Nuraini() {

setTitle("Nuraini");

// create menu

    MenuBar mb = new MenuBar();

    setMenuBar(mb);

    Menu menu = new Menu("File");

    mb.add(menu);

    MenuItem mi = new MenuItem("Exit");

    mi.addActionListener(this);

    menu.add(mi);

// end program when window is closed

    WindowListener l = new WindowAdapter()  {

    public void windowClosing(WindowEvent ev) {

    System.exit(0);

    }

    };

this.addWindowListener(l);

// mouse event handler

MouseListener mouseListener = new MouseAdapter() {

public void mouseClicked(MouseEvent ev) {

    x = ev.getX();

    y = ev.getY();

    repaint();

}

};

addMouseListener(mouseListener);

}



public void paint(Graphics g) {

setBackground (Color.PINK);



        //kepala

g.setColor(Color.RED);

g.drawOval(320,240,  200, 200);

// mata

g.setColor(Color.black);

g.fillOval(360, 310, 50, 20);

g.fillOval(440, 310, 50, 20);



// mulut

g.setColor(Color.black);

g.drawArc(380, 360, 90, 50, 180, 180);

g.drawArc(380, 366, 90, 50, 180, 180);

//alis mata

g.setColor(Color.RED);

g.drawArc(360, 290, 50, 20, -180, -180);

g.drawArc(440, 290, 50, 20, -180, -180);



// bola mata

g.setColor(Color.white);

g.fillOval(379, 321, 10, 10);

g.fillOval(457, 321, 10, 10);

//hidung

g.setColor(Color.GREEN);

g.fillOval(410, 350, 30, 30);

//telinga

g.setColor(Color.YELLOW);

g.fillOval(300, 310, 20, 60);

g.fillOval(520, 310, 20, 60);



}

public void actionPerformed(ActionEvent ev) {

 

String command = ev.getActionCommand();

if ("Exit".equals(command)) {

System.exit(0);

}

}

}


MEMBUAT MOBIL.AWT

 package Nur_mobil;

import java.awt.*;
import java.awt.event.*;
public class Nur_mobil extends Frame implements ActionListener{
    int x = 100;
    int y = 100;
public static void main(String[] args) {
    Frame frame = new Nur_mobil();
    frame.setSize(640, 480);
    frame.setVisible(true);
}
public Nur_mobil() {
setTitle("Nur_mobil");
// create menu
    MenuBar mb = new MenuBar();
    setMenuBar(mb);
    Menu menu = new Menu("File");
    mb.add(menu);
    MenuItem mi = new MenuItem("Exit");
    mi.addActionListener(this);
    menu.add(mi);
// end program when window is closed
    WindowListener l = new WindowAdapter()  {
    public void windowClosing(WindowEvent ev) {
    System.exit(0);
    }
    };
this.addWindowListener(l);
// mouse event handler
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent ev) {
    x = ev.getX();
    y = ev.getY();
    repaint();
}
};
addMouseListener(mouseListener);
}

public void paint(Graphics g) {
g.setColor(Color.yellow);
g.fillRect(550, 250, 550, 270); //g.drawRect(x, y, WIDTH, WIDTH)

g.setColor(Color.red);
g.drawRect(299, 320, 250, 200);
g.setColor(Color.red);
g.fillOval(349, 520, 100, 100);
g.setColor(Color.black);
g.fillOval(470, 520, 100, 100);
g.setColor(Color.black);
g.drawOval(349, 560, 200, WIDTH);

g.setColor(Color.black);
g.fillOval(930, 520, 100, 100);

g.setColor(Color.black);
g.fillOval(800, 520, 100, 100);

g.drawOval(800, 560, 200, WIDTH);

g.setColor(Color.white);
g.fillOval(520, 240, 30, 30);

g.setColor(Color.black);
g.fillRect(550, 244, 550, 120);

g.setColor(Color.pink);
g.fillRect(380, 370, 100, 100);

}
public void actionPerformed(ActionEvent ev) {
String command = ev.getActionCommand();
if ("Exit".equals(command)) {
System.exit(0);
}
}




TUGAS GRAFIKA KOMPUTER

package penggunaanawt;

import java.awt.*;
import java.awt.event.*;
public class AwtDemo extends Frame implements ActionListener{
    int x = 100;
    int y = 100;
public static void main(String[] args) {
    Frame frame = new AwtDemo();
    frame.setSize(640, 480);
    frame.setVisible(true);
}
public AwtDemo() {
setTitle("AWT Demo");
// create menu
    MenuBar mb = new MenuBar();
    setMenuBar(mb);
    Menu menu = new Menu("File");
    mb.add(menu);
    MenuItem mi = new MenuItem("Exit");
    mi.addActionListener(this);
    menu.add(mi);
// end program when window is closed
    WindowListener l = new WindowAdapter()  {
    public void windowClosing(WindowEvent ev) {
    System.exit(0);
    }
    };
this.addWindowListener(l);
// mouse event handler
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent ev) {
    x = ev.getX();
    y = ev.getY();
    repaint();
}
};
addMouseListener(mouseListener);
}

public void paint(Graphics g) {

  
g.setColor(Color.pink);
g.fillOval(320,240,  200, 200);
g.setColor(Color.BLACK);
g.drawArc(360, 290, 50, 20, -180, -180);
g.drawArc(440, 290, 50, 20, -180, -180);
g.setColor(Color.black);
g.drawArc(380, 360, 90, 50, 180, 180);
g.fillOval(360, 310, 50, 20);
g.fillOval(440, 310, 50, 20);


}
public void actionPerformed(ActionEvent ev) {
String command = ev.getActionCommand();
if ("Exit".equals(command)) {
System.exit(0);
}
}
}






Rotasi dan Translasi dengan NetBeans ( MID GRAFIKA KOMPUTER )

1. ROTASI

package Rotasi;

import java.awt.*;
import java.awt.event.*;
public class Rotasi extends Frame implements ActionListener{
int x = 200;
int y = 200;
public static void main(String[] args) {
Frame frame = new Rotasi();
frame.setSize(200,200);
frame.setVisible(true);
}
public Rotasi() {
setTitle("AWT Demo");
// create menu
MenuBar mb = new MenuBar();
setMenuBar(mb);
Menu menu = new Menu("File");
mb.add(menu);
MenuItem mi = new MenuItem("Exit");
mi.addActionListener(this);
menu.add(mi);
// end program when window is closed
WindowListener l = new WindowAdapter()  {
public void windowClosing(WindowEvent ev) {
System.exit(0);
}
};
this.addWindowListener(l);
// mouse event handler
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent ev) {
x = ev.getX();
y = ev.getY();
repaint();
}
};
addMouseListener(mouseListener);
}

public void paint(Graphics g) {
int xasalA = 150; int yasalA = 100;
int xasalB = 100; int yasalB = 250;
int xasalC = 200; int yasalC = 250;


int sudut = 45;

g.setColor(Color.black);
g.drawLine(xasalA,yasalA, xasalB,yasalB);
g.drawLine(xasalB,yasalB,xasalC,yasalC);

long xA = Math.round(x+(xasalA-x)*Math.cos(sudut)-(yasalA-y)*Math.sin(sudut));
long yA = Math.round(x+(xasalA-x)*Math.sin(sudut)-(yasalA-y)*Math.cos(sudut));
long xB = Math.round(x+(xasalB-x)*Math.cos(sudut)-(yasalB-y)*Math.sin(sudut));
long yB = Math.round(x+(xasalB-x)*Math.sin(sudut)-(yasalB-y)*Math.cos(sudut));
long xC = Math.round(x+(xasalC-x)*Math.cos(sudut)-(yasalC-y)*Math.sin(sudut));
long yC = Math.round(x+(xasalC-x)*Math.sin(sudut)-(yasalC-y)*Math.cos(sudut));

int xA1 = (int)xA; int yA1 = (int)yA;
int xB1 = (int)xB; int yB1 = (int)yB;
int xC1 = (int)xC; int yC1 = (int)yC;

g.drawLine(xA1,yA1, xB1,yB1);
g.drawLine(xB1,yB1, xC1,yC1);



}
public void actionPerformed(ActionEvent ev) {
String command = ev.getActionCommand();
if ("Exit".equals(command)) {
System.exit(0);
}
}
}





2. TRANSLASI

package translasi;

import java.awt.*;
import java.awt.event.*;
public class Translasi extends Frame implements ActionListener{
int x = 50;
int y = 100;
public static void main(String[] args) {
Frame frame = new Translasi();
frame.setSize(640, 480);
frame.setVisible(true);
}
public Translasi() {
setTitle("AWT Demo");
// create menu
MenuBar mb = new MenuBar();
setMenuBar(mb);
Menu menu = new Menu("File");
mb.add(menu);
MenuItem mi = new MenuItem("Exit");
mi.addActionListener(this);
menu.add(mi);
// end program when window is closed
WindowListener l = new WindowAdapter()  {
public void windowClosing(WindowEvent ev) {
System.exit(0);
}
};
this.addWindowListener(l);
// mouse event handler
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent ev) {
int x = 50;
int y = 100;
repaint();
}
};
addMouseListener(mouseListener);
}

public void paint(Graphics g) {

g.drawLine(30, 30, 200, 300);
g.drawLine(30+x, 30+y, 200+x, 300+y);



}
public void actionPerformed(ActionEvent ev) {
String command = ev.getActionCommand();
if ("Exit".equals(command)) {
System.exit(0);
}
}
}

Macam-Macam Media Penyimpanan Dan fungsinya

Media Penyimpanan Magnetik (Magnetik Storage Media)
Hardddiskseagate_barracuda_article
Harddisk merupakan alat tambahan untuk menyimpan data dalam kapasitas besar yang dilapisi secara magnetis, saat ini perkembangan harddisk sangat cepat dari daya tampung dan kecepatan membaca data.Perlu kalian ketahui saat ini harddisk memang mutlak ada dalam setiap computer atau laptop sebagai penyimpan sistem operasi yang permanen.
Floppy Disk Drive (Disket)
Floppy disk merupakan alat tambahan untuk menyimpan atau menuliskan ke dalam disket
maupun sebaliknya, ukuran yang umum digunakan adalah ukuran 3,5 inchi.
Zip Driver
Zip driver merupakan media penyimpan magnetik dengan head yang sangat kecil dan dapat
menampung data hingga 750 MB.
Memory Card (Flash Drive atau USB Keys)
Kartu memori adalah sebuat alat penyimpan data digital; seperti gambar digital, berkas
digital ,suara digital dan video digital. Kartu memori biasanya mempunyai kapasitas ukuran berdasarkan standard bit digital yaitu 16MB, 32MB,64MB, 128MB, 256MB dan seterusnya kelipatan dua. Kartu memori terdapat beberapa tipe yang sampai sekarang ini ada sekitar 43 jenis. Jumlah kapasitas terbesar saat ini adalah tipe CF (Compact Flash
) dengan 8 GB (info : 1 GB = 1024MB, 1048576KB). Untuk membaca data digital yang disimpan didalam kartu memori kedalam komputer, diperlukan perangkat pembaca kartu memori (memory
card reader).
USB Flash Disk (Flash Drive atau USB Keys)
USB flash drive adalah alat penyimpanan data memori flash tipe NAND yang memilikiKeyGhost-USB-512KB-Plugs
alat penghubung USB yang terintegrasi. Flash drive ini biasanya berukuran kecil, ringan, serta bisa dibaca dan ditulisi dengan mudah. Per November 2006, kapasitas yang tersedia untuk USB flash drive ada dari 128 megabyte sampai 64 gigabyte.
Media Penyimpanan Optikal (Optical Disk)

1). CD (Compact Disc atau Laser Optic Disc)

CD merupakan jenis piringan optic yang pertama kali muncul. Pembacaan dan penulisan data pada piringan melalui laser. CD berbentuk lingkaran dengan diameter 120 mm serta memiliki libang ditengahnya yang berdiameter 15 mm. kapasitas penyimpanan CD dapat mencapai 870 Mb yang dapat menyimpan data hingga 99 menit.
Contohnya.
1.CD-Rom (Compact Disk read only memory) adalah jenis piringan optic yang mempunyai sifat hanya bisa dibaca. Kapasitas sebuah CD Rom yang berukuran 4,72 inch dapat menampung hingga 640 Mb atau kira-kira 300.000 halamat text.
2.CD-R (CD Recordable) merupakan jenis CD yang dapat menyimpan data seperti halnya disket, namun isinya tidak dapat diubah lagi.
3.CD-RW (CD Writetable) merupakan jenis CD yang dapat menyimpan data namun isinya dapat dihapus dan dapat diganti dengan data yang baru.
2). DVD (Digital Video Disc / Digital Versatile Disc)
DVD adalah merupakan pengembangan dari CD. DVD memiliki kapasitas yang jauh lebih besar dari pada CD biasa, yaitu sekitar 4,7 – 17 GB. Kemampuan DVD dapat dilihat dari jenisnya, yaitu :
1.Single-side, single layer kapasitas 4,7 GB
2.Double-side, single layer kapasitas 8,5 GB
3.Single-sided, double layer kapasitas 9,4 GB
4.Double-sided, double layer kapasitas 17 GB
media penyimpanan chip
Agar tidak keliru memilih SD Card yang ada di pasaran, CHIP tunjukkan faktor apa saja yang harus Anda jadikan pertimbangan utama dalam membelinya.
Setiap kali memotret, foto akan disim¬pan kamera digital dalam media Secure Digital card (SD card). Perangkat lain, seperti camcorder, MP3 player, atau notebook biasanya juga bisa dilengkapi dengan SD card. Meskipun ukuran fisiknya sama, berbagai SD yang ada di pa-saran memiliki perbedaan yang signifikan, baik dalam hal kapasitas maupun kecepatan.
VERSI & KLASIFIKASI: Umumnya SD card (kecuali microSD dan miniSD) berukuran 32 x 24 mm.
Untuk versi awal “SD”, kapasitas maksimalnya hanya 2 GB. Adapun, “SDHC” card (SD High Capacity) memiliki kapasitas data hingga 32 GB. Jenis inilah yang banyak beredar saat ini. Standar masa depan, “SDXC” card (SD Extended Capacity) akan menawarkan kapasitas hingga 2 TB. SDXC card pertama ditawarkan Panasonic dengan kapasitas 64 GB dengan harga realatif mahal, yaitu sekitar US$ 550. Sayangnya, SD terbaru ini belum didukung oleh semua perangkat yang ada.
Semakin cepat data disimpan dan di¬transfer, semakin baik pula SD card tersebut. Oleh sebab itu, perhatikan selalu klasifikasi kecepatan dari SDHC Card. Angka “4″ untuk data transfer menunjukkan nilai transfer minimal 4 MB/s, sedangkan angka “10″ berarti trans¬fer rata minimal 10 MB/s. Perlu Anda ketahui, tuntutan kinerja terbesar bukan diperuntukkan dalam proses perekaman video HD, melainkan fungsi continuous image pada kamera SLR (hingga 20 MB/s). SD card Class 4 sudah memadai untuk HD Video. Sebalik¬nya, pemilik kamera digital SLR direkomendasikan meng¬gunakan card dengan Class 10.
BUY TIP: Kinerjanya yang terbaik menempatkan SanDisk SDHC Extreme 16 GB berada di posisi teratas. Tidak ada SDHC Card lainnya yang menandingi kecepatannya. Harga sekitar US$ 89 masih terbilang wajar, terutama bila dibandingkan dengan Panasonic (Peringkat 2) yang harganya US$ 268. Apabila kapasitas 8 GB sudah dirasa cukup, tersedia SDHC Card seharga 20 Euro yang masih ter¬golong cepat trasfer datanya. Transcend SDHC Ultimate 8 GB tidak lebih lambat saat membaca dan menulis dibandingkan dengan pemenang tes kali ini.
Apabila Anda mempunyai dana ekstra sekitar US$ 20, Pretec SDHC 16 GB menawarkan kapasitas yang lebih besar dua kali lipat dan bahkan lebih cepat daripada Transcend.
Untuk format microSDHC card yang biasa digunakan pada telepon seluler, smartphone, atau perangkat sejenisnya, Kingston microSDHC 16 GB berada di posisi ter¬atas. Dengan harga sekitar US$ 100, card ini tergolong paling mahal di antara card lainnya. Sebaliknya, hanya dengan 18 Euro, Anda bisa mendapatkan A-Data microSDHC 8 GB Turbo dengan transfer data yang relatif cepat (CHIP Tip untuk ka¬tegori microSD).
Eye-Fi: SD Card dengan Fasilitas WiFi
Apabila Anda tidak ingin direpotkan de¬ngan transfer data dari SD card ke PC menggunakan card reader atau kabel USB, gunakan saja SD card Eye-Fi Pro X2 yang dilengkapi dengan modul wireless (mendukung standar 802.11n dan speed class 6 (transfer data minimal 6 MB/s). Ka¬pa¬si¬tasnya yang 8 GB sudah sangat cukup menampung lebih dari 3000 foto

Tugas 3

Selamat siang sodara semuanya.
Hari ini saya akan memposting tugas PENGANTAR ITELEJENCY BUATAN yang di berikan oleh Dosen saya.

Pertanyaan:


1. Rute perjalanan dari Surabaya ke tempat tingal masing – masing.
2. Dari soal no.1 buatlah A* Algoritma dan UCS.


Penyelesaiannya:

1. Rute perjalanan dari Surabaya ke Maumere.


 
2. A* Algoritma Diagram pohon metode A*




Sekian dulu ya postingan saya, Semoga bermanfaat.
GBU^_^





Backward Chaining

Selamat siang sobat,hari ini saya akan memposting tugas PENGANTAR INTELEGENCY BUATAN yang diberikan oleh Dosen saya mengenai Backward Chaining.


 
Menggunakan pendekatan goal-driven, dimulai dari harapan apa yang akan terjadi (hipotesis) dan kemudian mencari bukti yang mendukung (atau berlawanan) dengan harapan kita. Sering hal ini memerlukan perumusan dan pengujian hipotesis sementara. Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam.

Sekian dulu postingan saya, semoga bermanfaat.
Gbu ^_^