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 GARIS DDA
Membuat SEGITIGA.AWT
23.11 |
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
23.08 |
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
22.55 |
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
22.47 |
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 )
06.55 |
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
03.25 |
Media Penyimpanan Magnetik (Magnetik Storage Media)
Hardddisk
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 memiliki
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
23.46 |
Selamat siang sodara semuanya.
Hari ini saya akan memposting tugas PENGANTAR ITELEJENCY BUATAN yang di berikan oleh Dosen saya.
Pertanyaan:
Backward Chaining
23.25 |
Selamat siang sobat,hari ini saya akan memposting tugas PENGANTAR INTELEGENCY BUATAN yang diberikan oleh Dosen saya mengenai Backward
Chaining.