Anda di halaman 1dari 26

1

Nama Pratikan Nomor


Mahasiswa
Tanggal
Kumpul
Tanda Tangan
Pratikan
Budi Setiawan 1214370001
12 juni 2014

Nama Penilai Tanggal Koreksi Nilai

Tanda tangan
Dosen
Indri
sulistianingsih.S,KOM



FAKULTAS TEKNIK
JURUSAN SISTEM KOMPUTER
UNIVERSITAS PEMBANGUNA PANCA BUDI
MEDAN
2014
LAPORAN PRAKTIKUM
KOMPUTER GRAFIK
Kelas
TI4D
SORE



2

KATA PENGANTAR

Adapun harapan kami, semoga tulisan ini dapat menambah wawasan pembaca mengenai
Grafika Komputer dan penerjemah bahasa pencitraan OpenGL, dengan maksud nantinya
pembaca mampu untuk memahami apa itu Grafika Komputer, OpenGL, dan lain sebagainya
yang menyangkut objek 2 dimensi (2D) dan 3 dimensi (3D).
Kami menyadari bahwa tulisan ini masih jauh dari sempurna, untuk itu kami mengharapkan
kritik dan saran yang membangun dari pembaca demi kesempurnaan tulisan ini.


Medan , 11 juni 2014
Hormat saya ,


Penulis



















3

DAFTAR ISI
Kata Pengantar ..2
Daftar isi ....3
BAB I PENDAHULUAN ......4
1.1. Latar Belakang Masalah4
I.2. Tujuan Pratikum..4
BAB II LANDASAN TEORI
2.1 Pengertian Grafika Komputer..5
2.2. Grafik Komputer 2D ..5
2.3 Grafik komputer 3D.
2.4 Transformasi...6
2.5 Lighting (pencahayaan)....
2.6 Texture Mapping..9
BAB III HASILPERCOBAAN....10
3.1 Primitive drawing 10
3.2. Contoh Fungsi 2D (dimensi )10
3.3. Contoh fungsi 3D ( dimensi )14
3.4 Syntax Monas...24
BAB IV Analisa Hasil Percobaan
4.1 TUJUAN....25
BAB V Penutup25
5.1 Kesimpulan ..25
5.2 Saran .25
DAFTAR PUSAKA 26






4

BAB I
Pendahuluan
Gambaran Umum :

Praktikum ini merupakan bagian dari kuliah Komputer Grafik. Dalam praktikum ini,
praktikan dikenalkan dengan beberapa aspek yang berkaitan dalam pemrograman komputer
grafik. Praktikum ini memuat beberapa modul yang berisi tentang struktur program OpenGL
(Open Graphics Library): primitif drawing, animasi, pencahayaan pada OpenGL, bayangan,
tekstur I dan tekstur II. Modul-modul ini harus dapat dikuasai oleh mahasiswa sebagai dasar
penguasaan Komputer Grafik.


1.1 Latar Belakang Masalah
Semakin berkembangnya ilmu pengetahuan dan teknologi grafis pada masa sekarang
ini, maka pengetahuan mengenai grafik komputer semakin banyak dipakai. Namun sebelum
kita membahas lebih jauh mengenai grafik komputer, kita akan mengetahui dahulu definisi
sebenarnya tentang apa itu grafik komputer.
Secara umum grafik komputer adalah gambar yang dihasilkan oleh komputer, yang
hasilnya sudah sering kita lihat seperti di majalah dan televisi. Disini dibahas bahwa tiap
karakter yang dihasilkan diambil dari library dari bentuk karakter yang ada pada memori
komputer. Gambar-gambar yang berada pada majalah atau televisi tersebut ada beberapa
yang terlihat sangat natural, sehingga kita para pembaca akan sulit membedakan mereka
buatan atau hasil dari fotografi asli.

I.2. Tujuan Pratikum
Mahasiswa mampu memahami dan menerapkan aplikasi komputer grafik menggunakan
bahasa pemrograman OpenGL.









5

BAB II
LANDASAN TEORI
4.2 Pengertian Grafika Komputer
Grafika komputer (Computer graphics) adalah bagian dari ilmu komputer yang
berkaitan dengan pembuatan dan manipulasi gambar secara digital. Bentuk sederhana dari
grafika komputer adalah grafika komputer 2D yang kemudian berkembang menjadi grafika
komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern
recognition). Grafika komputer sering dikenal juga dengan istilah visualisasi data. grafika
komputer tidak hanya mengenai hardware, software maupun berbagai keahlian yang terkait
dengan pengolahan grafis tetapi merupakan keseluruhan keseluruhan hal-hal tersebut.
Grafika komputer berkaitan dengan pengolahan dan pendokumentasian teknologi yang
mengarah kepada komunikasi dan informasi secara akurat dan deskriptif.
Grafika komputer (Computer Graphic) juga dapat diartikan sebagai seperangkat alat
yang terdiri dari hardware dan software untuk membuat gambar, grafik atau citra realistik
untuk seni, game komputer, foto dan animasi komputer dan lain-lain.

1. Elemen Dasar Grafika
Ada beberapa elemen dasar dari grafika komputer antara lain:
1. Point
2. Polyline
3. Polygon
4. Filled Polygon ( Face )
5. Gradate Polygon


4.3 Grafik Komputer 2D
Grafik komputer 2D adalah pembuatan objek gambar dengan menggunakan 2 titik
sebagai acuannya yaitu sumbu x dan y. Grafik 2D ini dapat digunakan dalam berbagai
aplikasi yang pada awalnya dikembangkan pada teknologi cetak tradisional dan gambar,
seperti tipografi, kartografi, gambar teknik, iklan, dan lain-lain.
Grafik komputer 2D ini merupakan langkah paling awal dalam membentuk model
objek yang akan dibangun dalam grafik komputer 3D. Dalam aplikasi, gambar dua dimensi
adalah bukan hanya representasi dari objek dunia nyata, tetapi sebuah artefak independen


6

dengan nilai tambah semantik. Keseluruhan obyek 2D dapat dimasukkan dengan jumlah lebih
dari satu, model yang akan dibentuk sesuai dengan kebutuhan. Tahap rekayasa hasil obyek
2D dapat dilakukan dengan aplikasi program grafis seperti Adobe Photoshop, Corel Draw,
dan lain sebagainya.

4.4 Grafik komputer 3D

Yang membedakan 2 dimensi dan 3 dimensi adalah kedalaman. Kedalaman didefinisikan
sebagai jarak antara viewer terhadap benda yang dia lihat. Ini berarti berbeda dengan 2
dimensi yang hanya menggunakan 2 ukuran, yaitu panjang dan lebar, maka 3 dimensi
menggunakan 3 ukuran, yaitu panjang, lebar dan kedalaman. Secara geometri ketiga ukuran
tersebut disimbolkan dengan sumbu x, y, dan z.

SistemKoordinat
Salah satu sistem koordinat yang dikenal adalah sistem koordinat kartesian yang digunakan
untuk membedakan lokasi atau posisi sembarang titik atau objek dengan titik atau objek yang
lain. Sistem koordinat kartesian terdiri atas sistem koordinat kartesian 2 dimensi dan sistem
koordinat kartesian 3 dimensi. Dalam sistem koordinat 3 dimensi terdapat satu sumbu lain
selain sumbu x dan sumbu y, yaitu sumbu z yang arahnya tegak lurus terhadap sumbu x dan
sumbu y. Hadirnya sumbu z menyebabkan sistem koordinat ini menjadi lebih hidup karena
efek jauh dekat menjadi terlihat. Untuk lebih jelasnya,.

4.5 Transformasi
Transformasi dasar pada objek dua dimensi yang pertama adalah translasi
(translation). Translasi berarti memindahkan suatu objek sepanjang garis lurus dari suatu
lokasi koordinat tertentu ke lokasi yang lain. Transformasi skala (scaling) digunakan untuk
mengubah ukuran suatu objek, sedangkan rotasi (rotation) adalah pemindahan objek menurut
garis melingkar.
Jenis jenis dari transformasi dasar:
1. Translasi
Seperti yang anda ketahui, layar yang disediakan processing adalah selayaknya
sepotong kertas grafik. Jika kita ingin melakukan proses translasi sebenarnya
terdapat dua pemikiran. Sebagai contoh adalah sebuah persegi sederhana
dengan kode rect(20,20,40,40)


7

Dimana (x,y) adalah koordinat asal suatu objek dan (x , y) adalah koordinat baru objek
tersebut setelah ditranslasi.
Kadang-kadang transformasi dinyatakan dalam bentuk matriks, sehingga matriks tranformasi:

Dengan demikian translasi dua dimensi dapat ditulis dalam bentuk matriks :
P = P + T

Disamping dinyatakan dalam vektor kolom, matriks transformasi dapat dituliskan dalam
bentuk vektor baris, sehingga menjadi P = [ x y ] dan T = [ t
x
t
y
]. Bentuk vektor kolom adalah
standar dari symbol matematik, yang juga berlaku bagi notasi grafik seperti GKS dan PHIGS.

2. Skala
Skala adalah perubahan ukuran obyek berdasarkan besaran nilai tertentu. Maka
dengan adanya fungsi skala tersebut bisa dihasilkan beberapa ukuran obyek yang berbeda
walau pun sintaksnya sama. Berikut adalah sintaks untuk melakukan transformasi skala :

Parameter pertama, kedua, dan ke tiga masing-masing menunjukkan nilai skala untuk obyek
berdasarkan sumbu x, y, dan z. Jika nilai skala adalah 1, maka ukuran obyek tersebut adalah
tetap.

3. Rotasi
Selain bergerak pada grid, Anda juga dapat memutar itu dengan fungsi rotate().
Fungsi ini memerlukan satu argumen, yang merupakan jumlah radian yang Anda
ingin putar. Dalam Processing, semua fungsi harus dilakukan dengan mengukur
sudut rotasi dalam radian (rad), bukan derajat. Ketika Anda berbicara tentang
sudut dalam derajat, Anda mengatakan bahwa lingkaran penuh memiliki 360 .
Ketika Anda berbicara tentang sudut dalam radian, Anda mengatakan bahwa
lingkaran penuh telah 2 radian. Berikut ini adalah diagram tentang bagaimana
langkah-langkah Pengolahan sudut dalam derajat (hitam) dan radian (merah)

Pembagian Warna
RGB (Red-Green-Blue) : warna dasar yang dijadikan patokan warna secara universal
(primary colors)
CMYK (Cyan-Magenta-Yellow-Black) : Sistem representasi pada warna tinta yang
diterapkan dalam dunia fotografi dan produksi grafika


8

Sistem Warna Lingkaran (the color wheel) : Digunakan untuk mengkombinasikan dan
mengharmonikan warna pada karya seni dan design
Dari sekian banyak warna, dapat dibagi dalam beberapa bagian yang sering
dinamakan dengan sistem warna Prang System yang ditemukan oleh Louis Prang pada 1876
meliputi :
1. Hue, adalah istilah yang digunakan untuk menunjukkan nama dari suatu warna, seperti
merah, biru, hijau dsb.
2. Value, adalah dimensi kedua atau mengenai terang gelapnya warna. Contohnya adalah
tingkatan warna dari putih hingga hitam.
3. Intensity, seringkali disebut dengan chroma, adalah dimensi yang berhubungan dengan cerah
atau suramnya warna.

4.6 Lighting (pencahayaan)
Lighting merupakan proses menghitung intensitas cahaya terutama pada 3-Dimensi
point, biasanya diatas suatu permukaan.
Beberapa cara mengatasi masalah pencahayaan, antara lain :
Mengerti persepsi dari cahaya (warna)
Membuat sebuah solusi untuk merepresentasikan dan menghasilkan warna menggunakan
komputer.
Mengerti akan pengaruh cahaya dan objek


`Pencahayaan pada OpenGL dan Dunia Nyata
Ketika melihat permukaan fisik, persepsi warna pada mata tergantung pada distribusi
energi foton yang datang dan memicu sel-sel kerucut mata. Foton berasal dari sumber cahaya
atau kombinasi dari sumber, yang sebagian diserap dan sebagian yang dipantulkan oleh
permukaan. Selain itu, permukaan yang berbeda memiliki sifat yang sangat berbeda-ada,
misalnya yang mengkilap dengan sempurna akan memantulkan cahaya dalam arah tertentu,
sementara yang lain menyebarkan cahaya sama-sama masuk di segala penjuru. Pencahayaan
pada OpenGL hanya dengan cahaya pendekatan dan cahaya lampu seolah-olah dapat dipecah
menjadi komponen merah, hijau, dan biru. Dengan demikian, warna sumber cahaya dicirikan
oleh jumlah warna yang memancarkan cahaya merah, hijau, dan biru, dan materi permukaan


9

ditandai dengan persentase komponen warna merah, hijau, dan biru yang masuk dan
tercermin dalam berbagai arah. Persamaan pencahayaan pada OpenGL hanya sebuah
pendekatan, tetapi satu yang bekerja cukup baik dan dapat dihitung relatif cepat. Jika
menginginkan yang lebih akurat atau model pencahayaan hanya berbeda, harus melakukan
perhitungan sendiri dalam perangkat lunak. Dengan perangkat lunak tersebut dapat menjadi
sangat kompleks, seperti beberapa jam membaca buku teks optik pun harus meyakinkan.

4.7 Texture Mapping
Texture mapping merupakan teknik pemetaan sebuah tekstur pada pola gambar
wireframe, dimana wireframe yang telah dibuat akan ditampilkan memiliki kulit luar seperti
tekstur yang diinginkan. Dalam pemberian tekstur, perlu diperhatikan dasarnya seperti:
1. Menentukan tekstur
a. Menandai tekstur
b. Mengenablekan tekstur
2. Menandai koordinat tekstur pada vertek



















10

BAB III
HASIL PERCOBAAN

3.1 Primitive drawing
Penghasilan citra pada komputer grafik menggunakan primitif grafik dasar.
Primitif ini memudahkan untuk merender (menggambar pada layar monitor)
sebagaimana penggunaan persamaan geometrik sederhana.
Contoh primitif grafik dasar (Gambar 2.1) adalah :
o Titik
o Garis, Segiempat
o Kurva, Lingkaran, ellipse, kurva bezier, kurva lainnya
o Fill area
o Text


3.2. Contoh Fungsi 2D (dimensi )

#include <GL/glut.h>
#include <math.h>

typedef struct
{
int x,y;
}point2D_t;

typedef struct
{
float r,g,b;
}color_t;

void setColor (color_t col)
{
glColor3f(col.r, col.g, col.b);
}


11


void drawPolygon(point2D_t pnt[],int n)
{
int i;
glBegin(GL_POLYGON);
for (i=0; i<n; i++)
{
glVertex2i(pnt[i].x,pnt[i].y);
}
glEnd();
}

void fillPolygon (point2D_t pnt[], int n, color_t color)
{
int i;
setColor(color);
glBegin(GL_POLYGON);
for (i=0; i<n; i++)
{
glVertex2f(pnt[i].x, pnt[i].y);
}
glEnd();
}

void userdraw()
{

point2D_t
batang[4]={{-5,-190},{-5,0},{5,0},{5,-190}};
color_t biru ={0,0,1};
fillPolygon(batang,4, biru);


12

drawPolygon(batang,4);

point2D_t
pot[4]={{-60,-190},{60,-190},{30,-240},{-30,-240}};
color_t hitam ={0,0,0};
fillPolygon(pot,4, hitam);
drawPolygon(pot,4);

point2D_t
pot2[6]={{-80,-160},{-50,-160},{-50,-190},{-60,-190},{-60,-170},{-80,-170}};
color_t hitam3 ={0,0,0};
fillPolygon(pot2,4, hitam3);
drawPolygon(pot2,4);

point2D_t
pot3[6]={{80,-160},{50,-160},{50,-190},{60,-190},{60,-170},{80,-170}};
color_t hitam2 ={0,0,0};
fillPolygon(pot3,4, hitam2);
drawPolygon(pot3,4);



static int tick=0;
point2D_t shape[360];
double srad,r;
for(int s=0; s<360; s++)
{
srad =(s+tick)*3.14/360;
r=80*sin(200*srad);
shape [s].x = (float)(r*cos(100*srad));
shape [s].y = (float)(r*sin(100*srad));


13

color_t merah ={1,0,0};
fillPolygon(shape,1, merah);
}
drawPolygon(shape, 360);
}

void display(void)
{
//clear screen
glClear(GL_COLOR_BUFFER_BIT);
userdraw();
glutSwapBuffers();
}
int main(int argc, char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
//posisi layar
glutInitWindowPosition(150,150);
//ukuran layar
glutInitWindowSize(640,480);
//title windows
glutCreateWindow("Bunga Raflesia");
//warna back layar
glClearColor(1.0,1.0,1.0,0.0);
gluOrtho2D(-300.,400.,-300.,300.);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}


14





Hasilnya :





3.3. Contoh fungsi 3D ( dimensi )

#include <Windows.h>
#include <iostream>
#include <gl\GL.h>
#include <gl\GLU.h>
#include <gl\glut.h>
#include <math.h>


15

void cube()
{
//menggambar kubus dan transformasi tarnslasi ke titik 0.5 0.5 0.5 dan skala 1 1 1
glPushMatrix();
glTranslated(0.5,0.5,0.5);//cube
glScaled(1.0,1.0,1.0);
glutSolidCube(1.0);
glPopMatrix();
}


void setMaterial()
{
//set properties of surfaces material
GLfloat mat_ambient[] = {0.7f,0.7f,0.7f,1.0f}; // ada 4 jenis material yang dipakai, dengan
kombinasi warna tertentu
GLfloat mat_diffuse[] = {0.6f,0.6f,0.6f,1.0f};
GLfloat mat_specular[] = {1.0f,1.0f,1.0f,1.0f};
GLfloat mat_shininess[] = {50.0f};
glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);
glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);
glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);
}


void setLighting()
{
//set light sources
GLfloat lightIntensity[] = {0.7f,0.7f,0.7f,1.0f};//mensetting pencahayaan
GLfloat light_position[] = {2.0f,6.0f,3.0f,0.0f};


16

glLightfv(GL_LIGHT0,GL_DIFFUSE,lightIntensity);
glLightfv(GL_LIGHT0,GL_POSITION,light_position);
}


void setViewport()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
double winHt = 1.0;//half height of the window
glOrtho(-winHt*64/48,winHt*64/48,-winHt,winHt,0.1,100.0);
}


void setCamera()
{
//set the camera
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(3.3,3.3,3.0,0,0.25,0,0.0,1.0,0.0);
}


void displayObject()
{
setMaterial();
setLighting();
setViewport();
setCamera();
//startDrawing
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);


17

cube();//memanggil fungsi menggambar kubus
glFlush();//mengirim smua objek untuk dirender
}


void main(int argc, char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
glutInitWindowSize(640,480);
glutInitWindowPosition(100,100);
glutCreateWindow("simple 3d scene");
glutDisplayFunc(displayObject);//fungsi dari display object yang menggabungkan kubus
lighting material dan kamera
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
glEnable(GL_NORMALIZE);
glClearColor(1.0f,1.0f,1.0f,0.0f);
glViewport(0,0,640,480);
glutMainLoop();
}
Hasilnya :


18





3.4 Syntax Monas
#include <GL/glut.h>
typedef struct
{
int x,y;
}point2D_t;

typedef struct
{
float r,g,b;
}color_t;

void setColor(color_t col)
{
glColor3f(col.r, col.g, col.b);
}

void drawPolygon(point2D_t pnt[],int n)


19

{
int i;
glBegin(GL_LINE_LOOP);
for (i=0; i<n; i++)
{
glVertex2i(pnt[i].x,pnt[i].y);
}
glEnd();
}

void fillpolygon(point2D_t pnt[],int n,color_t color)
{
int i;
setColor(color);
glBegin(GL_POLYGON);
for (i=0; i<n; ++i)
{ glVertex2f(pnt[i].x, pnt[i].y);
}
glEnd();
}

void userdraw(void)
{

point2D_t
petakdasar[4]={{0,0},{0,80},{350,80},{350,0}};
color_t hijau ={0,1,0};
fillpolygon(petakdasar, 4, hijau);
drawPolygon(petakdasar,4);

point2D_t


20

tangga[4]={{10,10},{50,50},{310,50},{340,10}};
color_t merah ={1,0,0};
fillpolygon(tangga, 4, merah);
drawPolygon(tangga,4);


point2D_t
petaktengah1[4]={{110,50},{100,70},{260,70},{250,50}};
color_t kuning ={1,1,0};
fillpolygon(petaktengah1, 4, kuning);
drawPolygon(petaktengah1,4);

point2D_t
petaktengah2[4]={{100,70},{80,90},{280,90},{260,70}};
color_t kuning2 ={1,1,0};
fillpolygon(petaktengah2, 4, kuning2);
drawPolygon(petaktengah2,4);

point2D_t
petaktengah3[4]={{80,90},{70,110},{290,110},{280,90}};
color_t kuning3 ={1,1,0};
fillpolygon(petaktengah3, 4, kuning3);
drawPolygon(petaktengah3,4);


point2D_t
batang2[4]={{160,510},{160,530},{200,530},{200,510}};
color_t hitam4 ={0,0,0};
fillpolygon(batang2, 4, hitam4);
drawPolygon(batang2,4);



21


point2D_t
batang[4]={{150,120},{170,520},{190,520},{210,120}};
color_t putih2 ={1,1,1};
fillpolygon(batang, 4, putih2);
drawPolygon(batang,4);

point2D_t
petaktengah4[4]={{70,110},{70,120},{290,120},{290,110}};
color_t hitam3 ={0,0,0};
fillpolygon(petaktengah4, 4, hitam3);
drawPolygon(petaktengah4,4);


point2D_t
segitiga[3]={{170,530},{180,580},{190,530}};
color_t kuning4 ={1,1,0};
fillpolygon(segitiga, 3, kuning4);
drawPolygon(segitiga,3);


point2D_t
bayangbatang[4]={{160,530},{160,535},{200,535},{200,530}};
color_t putih3 ={1,1,1};
fillpolygon(bayangbatang, 4, putih3);
drawPolygon(bayangbatang,4);

point2D_t
bayangbatang2[4]={{200,510},{200,535},{203,535},{203,510}};
color_t putih4 ={1,1,1};
fillpolygon(bayangbatang2, 4, putih4);


22

drawPolygon(bayangbatang2,4);

point2D_t
tanggatgh1[4]={{140,10},{140,50},{150,50},{150,10}};
color_t hitam ={0,0,0};
fillpolygon(tanggatgh1, 4, hitam);
drawPolygon(tanggatgh1,4);

point2D_t
tanggatgh2[4]={{210,10},{210,50},{220,50},{220,10}};
color_t hitam2 ={0,0,0};
fillpolygon(tanggatgh2, 4, hitam2);
drawPolygon(tanggatgh2,4);


point2D_t
tangga2[4]={{10,10},{50,50},{310,50},{340,10}};
drawPolygon(tangga2,4);

point2D_t
petaktengah11[4]={{110,50},{100,70},{260,70},{250,50}};
drawPolygon(petaktengah11,4);

point2D_t
petaktengah22[4]={{100,70},{80,90},{280,90},{260,70}};
drawPolygon(petaktengah22,4);

point2D_t
petaktengah33[4]={{80,90},{70,110},{290,110},{280,90}};
drawPolygon(petaktengah33,4);



23

point2D_t
batang3[4]={{150,120},{170,520},{190,520},{210,120}};
drawPolygon(batang3,4);

point2D_t
anaktangga[4]={{150,40},{150,45},{210,45},{210,40}};
drawPolygon(anaktangga,4);

point2D_t
anaktangga2[4]={{150,30},{150,35},{210,35},{210,30}};
drawPolygon(anaktangga2,4);

point2D_t
anaktangga3[4]={{150,20},{150,25},{210,25},{210,20}};
drawPolygon(anaktangga3,4);

point2D_t
anaktangga4[4]={{150,10},{150,15},{210,15},{210,10}};
drawPolygon(anaktangga4,4);



}
void display(void)
{
//clear screen
glClear(GL_COLOR_BUFFER_BIT);
userdraw();
glutSwapBuffers();
}
int main(int argc, char **argv)


24

{
glutInit(&argc,argv);//Inisialisasi Toolkit
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowPosition(100,100);
glutInitWindowSize(500,640);
glutCreateWindow("MONUMEN NASIONAL JAKARTA");
glClearColor(0.0,0.0,1.0,0.0);
gluOrtho2D(0.,350.,-5.,600.);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}

Hasilnya :







25


BAB IV
Analisa Hasil Percobaan
5.3 TUJUAN

1. mendeskripsikan pengertian, kegunaan dan ruang linkup transformasi di dalam komputer
grafik 2.
2. mengkaji beberapa pembuatan grafik menggunkan bahasa pemograman menggunakan
bahassa aplikasi dan bahasa pemograman

BAB V
Penutup
5.1. Kesimpulan

Dari program tersebut, dapat ditampilkan gambar titik dan garis yang digabungkan agar
menghasilkan gambar 2 dimensi dan 3 dimensi. 2.

Dalam pembuatan grafik 3 dimensi ada hal yang perlu dilakukan yaitu, mengubah titik 3D
menjadi vektor 3D agar gambar yang dihasilkan lebih sempurna. 3.

Pada gambar 2 Dimensi memiliki kelebihan Pada gambar 2 Dimensi memiliki kelebihan
yaitu, gambar yang dirancang dapat diberi warna sesuai dengan RGB (Red, Green, Blue). 4.

5.2. Saran

Dalam penulisan program grafik 2D dan 3D,titik koordinat harus ditemukan dengan tepat
agar gambar yang dihasilkan sempurna..












26


DAFTAR PUSAKA

http://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.html
http://pakgurueka.files.wordpress.com/2011/09/praktikum-03.pdf
http://kubaat.files.wordpress.com/