Rabu, 18 Maret 2009

PRAKTIKUM GRAFIKA KOMPUTER MODUL 4

Transformasi Objek 2 Dimensi

Praktikum kemarin mempelajari beberapa cara untuk memanipulasi obyek grafis dan system koordinat. Ada dua cara untuk melakukan transformasi yaitu transformasi obyek dan transformasi koordinat.
Jenis - jenis Transformasi :
  • Translation
  • Scaling
  • Rotation
  • Searing
Contoh script programnya :

//-----------------------------------------------------//
#include (vcl.h)
#include (math.h)
#pragma hdrstop

#include "Unit1.h"
//-----------------------------------------------------//
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
struct Elemen { float x,y ;} ;
Elemen Objek[6];

//-----------------------------------------------------//
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//-----------------------------------------------------//

void __fastcall TForm1::FormShow(TObject *Sender)
{ int i;
Image1->Canvas->Rectangle(0,0,Image1->Width,Image1->Height);
Image1->Canvas->MoveTo(Objek[5].x,Objek[5].y);
for (i=1;i<=5;i++){ Image1->Canvas->LineTo(Objek[i].x,Objek[i].y);};
}
//-----------------------------------------------------//

void __fastcall TForm1::FormActivate(TObject *Sender)
{
Objek[1].x = 100; Objek[1].y = 50;
Objek[2].x = 50; Objek[2].y = 100;
Objek[3].x = 100; Objek[3].y = 100;
Objek[4].x = 100; Objek[4].y = 150;
Objek[5].x = 150; Objek[5].y = 100;
FormShow(Sender);
}
//-----------------------------------------------------//

void __fastcall TForm1::ButtonKiriClick(TObject *Sender)
{ int i;
for (i=1;i<=5;i++){ Objek[i].x-=5;};
FormShow(Sender);
}
//-----------------------------------------------------//

void __fastcall TForm1::ButtonAtasClick(TObject *Sender)
{
int i;
for (i=1;i<=5;i++){ Objek[i].y-=5;};
FormShow(Sender);
}
//-----------------------------------------------------//

void __fastcall TForm1::ButtonKananClick(TObject *Sender)
{ int i;
for (i=1;i<=5;i++){ Objek[i].x+=5;};
FormShow(Sender);
}
//-----------------------------------------------------//

void __fastcall TForm1::ButtonBawahClick(TObject *Sender)
{
int i;
for (i=1;i<=5;i++){ Objek[i].y+=5;};
FormShow(Sender);
}
//-----------------------------------------------------//

void __fastcall TForm1::Button1Click(TObject *Sender)
{ Elemen TempObjek[6];
int i; float Sdt;
for (i=1;i<=5;i++)
{
Objek[i].x=Objek[i].x-Image1->Width / 2;
Objek[i].y=Objek[i].y-Image1->Height / 2;
Sdt=10*M_PI/180;
TempObjek[i].x=(Objek[i].x*cos(Sdt)-Objek[i].y*sin(Sdt)); TempObjek[i].y=(Objek[i].x*sin(Sdt)+Objek[i].y*cos(Sdt));
Objek[i]=TempObjek[i];
Objek[i].x=Objek[i].x+Image1->Width / 2;
Objek[i].y=Objek[i].y+Image1->Height / 2;
}
FormShow(Sender);
}
//-----------------------------------------------------//

void __fastcall TForm1::Button2Click(TObject *Sender)
{ Elemen TempObjek[6];
int i,n,m; float Sdt;
for (i=1;i<=5;i++)
{
n = Objek[3].x;
m = Objek[3].y;
Objek[i].x=Objek[i].x-n;
Objek[i].y=Objek[i].y-m;
Sdt=10*M_PI/180;
TempObjek[i].x=(Objek[i].x*cos(Sdt)-Objek[i].y*sin(Sdt)); TempObjek[i].y=(Objek[i].x*sin(Sdt)+Objek[i].y*cos(Sdt));
Objek[i]=TempObjek[i];
Objek[i].x=Objek[i].x+n;
Objek[i].y=Objek[i].y+m;
}
FormShow(Sender);
}
//-----------------------------------------------------//


Setelah mengetikkan script tersebut, outputnya sebagai berikut :

Selasa, 17 Maret 2009

PRAKTIKUM SISTEM DIGITAL MODUL 4

LAPORAN PRAKTIKUM
SISTEM DIGITAL
MODUL 4
GERBANG KOMBINASIONAL


Disusun oleh : Pujas Wendro
Nim : 123050002
Plug : 13
Assisten: Haykal

JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UPN “VETERAN” YOGYAKARTA
2009

Gerbang kombinasional merupakan pengkombinasian dari gerbang-gerbang dasar sehingga didapatkan suatu keluaran yang diinginkan. Gerbang kombinasional terbentuk dari berbagai gerbang yaitu gerbang AND, OR, NOT, NAND, dan masih dapat dikombinasikan dengan gerbang-gerbang yang lain.
Dalam gerbang kombinasional ini kita menggunakan berbagai macam IC, yaitu IC 7408. IC 7432, IC 7404, IC 7400.

PERCOBAAN 1
Gambar logika

Peralatan
IC 74LS08
IC 74LS32
Breadboard
Adaptor
Led (1 buah)
Resistor 150 ohm (1 buah)
Kabel jumper 11 buah


Langkah kerja
Hubungkan kaki 1 dari IC 7408 dengan switch 1 sebagai input A
Hubungkan kaki 2 dari IC 7408 dengan switch 2 sebagai input B
Hubungkan kaki 4 dari IC 7408 dengan switch 3 sebagai input C
Hubungkan kaki 5 dari IC 7408 dengan switch 4 sebagai input D
Hubungkan kaki 3 dari IC 7408 sebagai output dari A dan B ke kaki 1 dari IC 7432
Hubungkan kaki 6 dari IC 7408 sebagai output dari C dan D ke kaki 2 dari IC 7432
Hubungkan kaki 3 dari IC 7432 sebagai ouput terakhir ke led dan resistor 150 ohm serta ke ground dari kaki 7 di IC 7432
Hubungkan kaki 7 dari IC 7408 ke ground
Hubungkan kaki 14 dari IC 7408 ke VCC 5 V
Hubungkan kaki 14 dari IC 7432 ke VCC 5 V

Gambar diagram




Gambar skema pengkabelan

Tabel kebenaran
ABCDY
00000
00010
00100
00111
01000
01010
01100
01111
10000
10010
10100
10111
11001
11011
11101
11111

PERCOBAAN 2
Gambar logika

Peralatan
IC 74LS08
IC 74LS32
Breadboard
Adaptor
Led (1 buah)
Resistor 150 ohm (1 buah)
Kabel jumper 17 buah


Langkah kerja
Pasang IC 74LS08, dan IC 74LS32pada bagian tengah breadboard
Atur adaptor pada posisi 4,5 volt
Pasang adaptor pada breadboard
Hubungkan kaki ke-14 dari IC ke bagian VCC pada IC 74LS08 dan IC 74LS32
Hubungkan kaki ke-7 dari IC ke bagian Ground (GND) pada IC 74LS08 dan IC 74LS32
Pasang kabel 1 dan lakukan percabangan sebagai input pada gerbang AND 1
Pasang kabel 2 dan lakukan percabangan sebagai input pada gerbang AND 2
Lakukan percabangan pada hasil gerbang AND 1 ke gerbang OR 1 dan gerbang OR 2
Lakukan percabangan pada hasil gerbang AND 2 ke gerbang OR 1 dan gerbang OR 3
Lakukan percabangan pada hasil gerbang OR 1 ke gerbang OR 2 dan gerbang OR 3
Hasil gerbang OR 2 ke gerbang OR 3 sebagai input gerbang AND 3
Sambungkan output pada gerbang AND 3 pada lampu


Gambar diagram

Gambar skema pengkabelan


Tabel kebenaran
ABY
000
011
101
111

PERCOBAAN 3
Gambar logika

Peralatan
IC 74LS08
IC 74LS32
IC 74LS04
IC 74LS00
Breadboard
Adaptor
Led (1 buah)
Resistor 150 ohm (1 buah)
Kabel jumper 16 buah

Langkah kerja
Pasang IC 74LS08, IC 74LS32, IC 74LS04 dan IC 74LS00 pada bagian tengah breadboard
Atur adaptor pada posisi 4,5 volt
Pasang adaptor pada breadboard
Hubungkan kaki ke-14 dari IC ke bagian VCC pada IC 74LS08, IC 74LS32, IC 74LS04 dan IC 74LS00
Hubungkan kaki ke-7 dari IC ke bagian Ground (GND) pada IC 74LS08 dan IC 74LS32, IC 74LS04 dan IC 74LS00
Pasang kabel 1 sebagai input pada gerbang AND 1
Pasang kabel 2 sebagai input pada gerbang AND 1
Pasang kabel 3 sebagai input pada gerbang OR 1
Pasang kabel 4 sebagai input pada gerbang OR 1
Lakukan percabangan pada output gerbang AND 1 ke gerbang OR 2 dan gerbang NAND
Lakukan percabangan pada output gerbang OR 1 ke gerbang NAND dan gerbang NOT
Hasil gerbang NAND menjadi input pada gerbang OR 2
Hasil pada gerbang OR 2 dan gerbang NOT menjadi input pada gerbang OR 3
Sambungkan output pada gerbang OR 3 pada lampu

Gambar diagram

Gambar skema pengkabelan

Tabel kebenaran
ABCDY
00001
00011
00101
00111
01001
01011
01101
01111
10001
10011
10101
10111
11001
11011
11101
11111

Rabu, 11 Maret 2009

Tugas Grafika Komputer

1. void __fastcall TForm1:: Bressenham (int xa,int ya,int xb,int yb)

ini merupakan method untuk mengatur fungsi bressenham pada program.

2. void __fastcall TForm1::judul(float x,float y)
void __fastcall TForm1::tampil(float x, float y,int k)



ini merupakan method untuk pemberlakuan pada algoritma DDA dan didalamnya terdapat perhitungan untuk DDA.



3. void __fastcall TForm1::ExitClick(TObject *Sender)
void __fastcall TForm1::NewClick(TObject *Sender)


ini merupakan method untuk button new dan button exit.



4. void __fastcall TForm1::FormActivate(TObject *Sender)


ini merupakan method yang menyatakan bahwa form memiliki events Activate.

5. void __fastcall TForm1::DDA(int xa,int ya,int xb,int yb)


ini merupakan method untuk algoritma DDA.

6. void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)


kedua method ini merupakan method yang menyatakan bahwa jika event mousedown bahwa tergambar punya sifat Boolean true, namun jika event mouseup tergambar bersifat false, kemudian diberi method tambahan untuk RadioGroup

7. if(RadioGroup1->ItemIndex==0)
{ DDA(X1,Y1,X2,Y2);}
else if(RadioGroup1->ItemIndex==1)
{ Bressenham (X1,Y1,X2,Y2);}
else if(RadioGroup1->ItemIndex==2)
{ Image1->Canvas->MoveTo(X1,Y1);
Image1->Canvas->LineTo(X2,Y2);
}}


Disini dinyatakan bahwa jika itemindex bernilai 0 maka dia lakukan DDA, jika bernilai 1 melakukan Bressenham, jika bernilai 2 item indexnya maka melakukan garis C++.

Selasa, 10 Maret 2009

Praktikum Sistem Digital

Praktikum Sistem Digital kemarin membahas tentang :
Gerbang EX-OR dan EX-NOR.

1. Gerbang EX-OR
  • Gambar Diagram :
  • Skema Pengkabelan :

  • Rangkaian Percobaan :
  • Tabel Kebenaran :


2. Gerbang EX_NOR
  • Gambar Diagram :
  • Skema Pengkabelan :
  • Rangkaian Percobaan :
  • Tabel Kebenaran :