Anda di halaman 1dari 39

1 | P a g e

LAPORAN PRAKTIKUM
KOMPUTER GRAFIK













UNIVERSITAS PEMBANGUNAN PANCA BUDI
FAKULTAS TEKHNIK
JURUSAN SISTEM KOMPUTER
MEDAN
2014

Nama
Praktikan
Nomor
Mahasiswa
Tanggal
Pengumpulan
Tanda tangan
Praktikan

Nur Ismic Hafni G.


1214370267

Nama
Penilai
Tanggal
Koreksi
Nilai Tanda Tangan
Dosen

Indri
Sulistianingsih,S.Kom


Kelas
TI 4 Sore B

i | P a g e

DAFTAR ISI

Daftar Isi ............................................................................................................... i
Kata Pengantar ...................................................................................................... ii
BAB I
Pendahuluan
1.1 Pengertian Komputer Grafik ....................................................................... 1
1.2 Peranan dan Penggunaan Komputer Grafik ................................................ 2
1.3 Pemilihan Aplikasi OPENGL ..................................................................... 3
1.4 Tujuan ......................................................................................................... 3
BAB II
Landasan Teori
2.1 Sejarah OpenGL.......................................................................................... 4
2.2 Pengenalan OpenGL ................................................................................... 6
2.3 Cara Kerja OpenGL .................................................................................... 7
Inisialisasi Awal ......................................................................................... 7
Pembuatan Gambar .................................................................................... 8
Gambar 2D ............................................................................................... 12
Gambar 3D ............................................................................................... 12
BAB III
Hasil Percobaan/Praktikum
3.1 Gambar 2D ................................................................................................ 13
3.2 Gambar 3D ................................................................................................ 27
BAB IV
Analisa Hasil Percobaan
4.1 Analisa dari percobaan gambar 2D ........................................................... 34
4.2 Analisa dari percobaan gambar 3D ........................................................... 36
PENUTUP........................................................................................................... 37
DAFTAR PUSTAKA ......................................................................................... 38

ii | P a g e

KATA PENGANTAR


Syukur alhamdulillah, merupakan satu kata yang sangat pantas penulis ucakan kepada Allah
STW, yang karena bimbingannyalah maka penulis bisa menyelesaikan sebuah karya tulis
sosiologi berjudul " LAPORAN PRAKTIKUM KOMPUTER GRAFIK"

Makalah ini dibuat dengan berbagai observasi dalam jangka waktu tertentu sehingga
menghasilkan karya yang bisa dipertanggungjawabkan hasilnya. Saya mengucapkan
terimakasih kepada pihak terkait yang telah membantu saya dalam menghadapi berbagai
tantangan dalam penyusunan makalah ini.

Saya menyadari bahwa masih sangat banyak kekurangan yang mendasar pada makalah ini.
Oleh karna itu saya mengundang pembaca untuk memberikan kritik dan saran yang bersifat
membangun untuk kemajuan ilmu pengetahuan ini.

Terima kasih, dan semoga makalah ini bisa memberikan sumbangsih positif bagi kita semua.

Medan, 09 Juni 2014

Nur Ismic Hafni G.



1 | P a g e

BAB I
PENDAHULUAN

1.1 PENGERTIAN KOMPUTER GRAFIK
Grafik Komputer adalah suatu proses pembuatan, penyimpanan dan manipulasi model
dan citra. Model berasal dari beberapa bidang seperti fisik, matematik, artistik dan
bahkan struktur abstrak.Istilah Grafik Komputer ditemukan tahun 1960 oleh
William Fetter : pembentukan disain model cockpit (Boeing) dengan menggunakan
pen plotter dan referensi model tubuh manusia 3 Dimensi. Pengguna mengendalikan
isi, struktur dan kemunculan objek serta menampilkan citra melalui suatu komponen
dasar visual feedback.
Grafik Komputer adalah grafis yang dibuat dengan menggunakan komputer lebih
umumnya adalah representasi piktorial dan manipulasi data dengan komputer.
Perkembangan komputer grafis telah membuat komputer lebih mudah untuk
berinteraksi dan lebih baik untuk memahami dan menafsirkan berbagai jenis data.
Perkembangan komputer grafis memiliki dampak yang mendalam pada banyak jenis
media dan telah merevolusi permainan video animasi dan industri.
Menurut Suyoto (2003), grafika komputer (Computer Graphics) dapat diartikan
sebagai perangkat alat yang terdiri dari hardware dan software untuk membuat
gambar, grafik atau citra realistik untuk seni, game komputer, foto dan film animasi.
Sistem grafika komputer dapat dijalankan dengan komputer pribadi (Personal
Computer) atau pada workstation. Grafika komputer semakin lama semakin pesat
perkembangannya, sehingga definisi dari Grafika komputer dapat diartikan sebagai
suatu studi tentang bagaimana menggambar (membuat grafik) dengan menggunakan
komputer dan manipulasinya (merubah sedikit/transformasi/animasi).
Pengertian Grafik berbeda dengan image/citra, image adalah gambar yang diperoleh
dengan alat pengambil gambar, seperti kamera, scanner, dll. Sedangkan Grafik adalah
gambar yang dibuat dengan cara tertentu, yaitu cara yang ada di grafika komputer.
Grafik dan image keduanya termasuk picture/gambar.


2 | P a g e

1.2 PERANAN DAN PENGGUNAAN KOMPUTER GRAFIK

Grafika komputer digunakan diberbagai bidang seni, sains, bisnis, pendidikan dan
hiburan. Sebagai contoh :
Antarmuka pengguna. Setiap aplikasi pada komputer menggunakan Graphical
User Interface (GUI), semua GUI ini menggunakan grafika komputer.
Perpetaan (Cartography). Setiap peta dapat disimpan, dimanipulasi dan dilihat
pada komputer.
Kesehatan. Grafika komputer telah digunakan dengan baik dalam perencanaan
maupun pelaksanaan pembedahan.
Computer Aided Design (CAD). Pengguna dapat merancang banyak objek
(seperti bagian mekanik) menggunakan grafika komputer.
Sistem Multimedia. Grafika komputer memegang peranan yang sangat penting
dalam sistem multimedia.
Presentasi grafika untuk produksi slide. Salah satu bidang penting dalam
grafika komputer dikenal sebagai presentasi grafik atau grafik untuk
bisnis. Bidang ini berfokus pada bagaimana menghasilkan gambar secara
profesional, sering dalam bentuk slide untuk menunjukkan kelompok
pelanggan dan manajemen. Sebagaimana slide sering berisi diagram batang
atau diagram pie yang menunjukkan informasi kompleks dalam bentuk yang
mudah dipahami dan dimengerti.
Sistem Paint. Jenis aplikasi editor grafis yang lain. Sistem ini memungkinkan
pengguna beraksi layaknya seperti pelukis yang melukis objek dengan bantuan
komputer.
Presentasi data saintifik. Data saintifik biasanya kompleks dan berhubungan
antara data yang satu dengan yang lain. Data saintifik ini, biasanya susah untuk
divisualisasikan jika hanya dengan menggunakan piranti biasa.
Simulasi/pelatihan. Sistem ini memungkinkan pengguna menjalankan
simulasi/pelatihan tertentu.
Aplikasi lain. Misalnya : desain jaringan logika interaktif, desain arsitektur
interaktif, desain struktur mekanik, kontrol proses, pemrosesan citra, dan lain
sebagainya.


3 | P a g e

1.3 PEMILIHAN APLIKASI OpenGL
Dalam pembahasan dan praktik kerja di dalam makalah ini Saya akan
memfokuskan pada penggunaan OpenGl sebagai pilihan Saya.

1.4 TUJUAN
1. Sebagai bahan untuk Ujian Akhir Semester mata kuliah komputer grafik
semester 4.
2. mahasiswa diharapkan dapat mempraktikan pembuatan gambar 2D dan 3D.


4 | P a g e

BAB II
LANDASAN TEORI

A. SEJARAH OPENGL
Tahun 1980-an, mengembangkan perangkat lunak yang dapat berfungsi dengan berbagai
hardware grafis adalah tantangan nyata. Pengembang perangkat lunak antarmuka dan
kebiasaan menulis driver untuk setiap perangkat keras yang menjadikannya semakin mahal
dan mengakibatkan banyak duplikasi.
OpenGL Dikembangkan oleh Silicon Graphics (SGI) pada tahun 1990-an. Pendahulu
openGL adalah IRIS GL dari Silicon Grapics, yang pada awalnya berupa GL(Glut
Library) 2D, yang berevolusi menjadi API program 3D untuk workstation canggih milik
perusahaan tersebut.
OpenGL adalah hasil dari usaha SGI untuk mengembangkan dan meningkatkan kemampuan
portable IRIS. API grafis yang baru akan menawarkan kemampuan IRIS GL tetapi dengan
standar yang lebih terbuka, dengan input dari pembuatan hardware lain dan sistem operasi
lain, dan akan memudahkan adaptasi ke hardware platform dan sistem operasi lain. SGI
menganggap bahwa IrisGL API itu sendiri tidak cocok untuk membuka karena masalah
lisensi dan paten. Juga, IrisGL memiliki fungsi-fungsi API yang tidak relevan dengan grafis
3D. Sebagai contoh, termasuk windowing, keyboard dan mouse API, sebagian karena
dikembangkan sebelum Sistem X Window dan Suns NEWS sistem dikembangkan.
Untuk lebih mempopulerkan openGL SGI mengijinkan pihak lain untuk mengembangkan
standart openGL,dan beberapa vendor menyambut hal tersebut dengan membentuk
OpenGL Architecture Review Board (ARB).
Pendiri openGL adalah SGI, Digital Equepment Corporation, IBM, Intel dan Microsoft, pada
tanggal 1 juli 1992 OpenGL versi 1.0 diperkenalkan.
Tahun 1994 SGI mengeluarkan gaggasan yang disebut OpenGL + + yang mencakup unsur-
unsur seperti grafik adegan-API (mungkin berbasis di sekitar mereka Performer teknologi).
Spesifikasi itu beredar di kalangan beberapa pihak yang berkepentingan tetapi tidak pernah
berubah menjadi sebuah produk pada tahun 1995, yang akan menjadi pesaing utama dari
OpenGL. Pada tanggal 17 Desember 1997 Microsoft dan SGI memprakarsai Fahrenheit

5 | P a g e

proyek, yang merupakan upaya bersama dengan tujuan mempersatukan OpenGL dan
Direct3D antarmuka (dan menambahkan adegan-API grafik juga). Pada tahun 1998 Hewlett-
Packard bergabung dengan proyek ini. Ini awalnya menunjukkan beberapa janji untuk
membawa dunia komputer grafis 3D interaktif API, melainkan karena kendala keuangan di
SGI, alasan strategis di Microsoft, dan kurangnya dukungan industri , itu ditinggalkan pada
tahun 1999.
OpenGL mengalami beberapa revisi yang sebagian besar ada penambahan ektensi secara
berangsur-angsur pada main body dari API. Contohnya OpenGL 1.1 (1997) ada penambahan
glBindTexture. OpenGL 2.0 (2004) memasukkan tambahan yang paling penting
yaitu OpenGL Shading Language (GLSL).



6 | P a g e

B.PENGENALAN OPENGL
OpenGL adalah sebuah program aplikasi interface yang digunakan untuk mendefinisikan
komputer grafis 2D dan 3D. Program lintas-platform API ini umumnya dianggap ketetapan
standar dalam industri komputer dalam interaksi dengan komputer grafis 2D dan juga telah
menjadi alat yang biasa untuk digunakan dengan grafis 3D. Singkatnya, Open Graphics
Library, OpenGL menghilangkan kebutuhan untuk pemrogram untuk menulis ulang bagian
grafis dari sistem operasi setiap kali sebuah bisnis akan diupgrade ke versi baru dari sistem.
Fungsi dasar dari OpenGL adalah untuk mengeluarkan koleksi perintah khusus atau
executable ke sistem operasi. Dengan demikian, program ini bekerja dengan perangkat keras
grafis yang ada yang berada pada hard drive atau sumber tertentu lainnya. Setiap perintah
dalam dirancang untuk melakukan tindakan tertentu, atau memulai efek khusus tertentu yang
terkait dengan grafis.
Membuat perintah dalam OpenGL dapat terjadi dalam dua cara yang berbeda. Pertama,
adalah mungkin bagi programmer untuk membuat dan menyimpan daftar perintah yang dapat
dieksekusi secara berulang. Ini adalah salah satu cara yang lebih rutin untuk program
interface yang digunakan. Seiring dengan berkembangnya kelompok perintah yang kurang
lebih permanen, maka memungkinkan untuk membuat dan menjalankan salah satu perintah
dalam batas-batas waktu dari komputer grafis.
Seiring dengan kemampuan interface dari sistem operasi, OpenGL juga menyediakan
beberapa built-in protokol yang mungkin berguna bagi pengguna akhir. Di antaranya fitur
alat seperti alpha blending, pemetaan tekstur, dan efek atmosfer. Alat ini dapat berinteraksi
dengan sistem operasi yang sedang digunakan.
Awalnya dikembangkan oleh Silicon Graphics, OpenGL kini dianggap standar industri.
Interface program aplikasi yang aktif didukung oleh Microsoft ini, menawarkan download
gratis daftar OpenGL untuk digunakan pada sistem Windows. OpenGL juga bekerja sangat
baik dengan Inventor Open, sebuah pemrograman berorientasi obyek alat juga diciptakan
oleh Silicon Graphics.



7 | P a g e

C. CARA KERJA OPENGL

OpenGL lebih mengarah pada prosedural daripada sebuah deskriptif API grafis.Untuk
mendeskripsikan scene dan bagaimana penampilannya,sebenarnya programer lebih tau untuk
menentukan hal-hal yang dibutuhkan untuk menghasilkan efek yang di inginkan.Langkah
tersebut termasuk memanggil banyak perintah openGL,perintah tersebut digunakan untuk
menggambarkan grafis primitif seperti titik,garis dan poligon dalam tiga dimensi.Sebagai
tambahan,openGL mendukung lighting,shading,texture mapping,blending,transparancy,dan
banyak kemampuan efek khusus lainnya.

OpenGL mempunyai bnayak fungsi dan penggunaan perintah yang sangat luas, penggunaan
openGL membutuhkan library tambahan yang harus di letakkan pada direktory system dari
windows (OS),yaitu :
OpenGL32.dll
Glu32.dll
Glut32.dll

I nisialisasi awal
Inti dari tahapan ini adalah mengatur view port dan persepektif untuk penampilan obyek ke
dalam layar monitor,viewport adalah besarnya layar monitor(image) yang dipakai untuk
menampilkan obyek,sedangkan persepektif yang dimaksud adalah pengaturan sumbu z dalam
penampilan obyek 3 dimensi,sehingga user dapat melihat obyek seolah-olah dalam bidang 3
dimensi (X-Y-Z),selain itu penggambaran obyek yang dilakukan oleh programer juga dapat
menggunaan koordinat 3 dimensi.
Selain ke dua tujuan di atas pada tahap ini juga dilakukan koneksi awal dengan library
openGL, koneksi ini dilakukan supaya fungsi-fungsi yang di sediakan openGL dapat
digunakan. Fungsi/prosedur yang digunakan :
LoadGlut(glut32.dll) -pemanggilan library openGL
InitGL inisialisasi openGL awal yang harus dilakukan
glViewport untuk pengaturan viewport
glMatrixMode pengaturan viewport
gluPerspective pengaturan persepektif



8 | P a g e

Contoh script untuk inisialisasi openGL :
Try
LoadGlut(glut32.dll);
InitGL;
Exept one :=
exeption
do
Begin
messageDlg
{ e.message, mtError, [mbOk],};
Halt {1}; End;
End;

Script di atas merupakan script yang paling sederhana, dalam artian minimal diperlukan
untuk
menginisialisasi penggunaan openGL.Fungsi-fungsi lain seperti yang disebut diatas seperti
glViewport, glMatrixMode, dapat di tambah kan pada script sesuai dengan kebutuhan.

Pembuatan gambar
Didalam openGL pembuatan obyek dilakukan dengan titik-titik 3 dimensi,dengan mode
GL_QUARDS, maka otomatis setiap 4 titik digambar menjadi sebuah bidang segiempat,sed
angkan mode GL_LINES, pada setiap 2 titik digambar manjadi sebuah garis.Di dalam tahap
ini setiap garis atau bidang juga dapat di atur warnanya.
Fungsi atau prosedur yang digunakan :
mode GL_QUARDS menggambarkan segi empat
mode GL_LINES menggambark garis
glVertex3f-penentuan titik 3 dimensi
glColor3f penentuan warna
OpenGL memiliki lebih dari 200 fungsi. Fungsi tersebut
bisa dikelompokkan menjadi :
Fungsi primitif, menentukan elemen yang bisa menghasilkan gambar di layar. Fungsi
ini terdiri dari 2 jenis, yaitu primitif geometric seperti polygon (segi banyak) yang

9 | P a g e

bisa dibuat menjadi dua, tiga, atau empat dimensi, dan primitif gambar seperti
bitmaps.
Fungsi atribut, mengontrol tampilan dari primitif. Fungsi ini menentukan warna, jenis
garis, properti material, sumber cahaya, dan tekstur.
Fungsi pandangan, menentukan properti kamera. OpenGL menyediakan sebuah
virtual kamera yang bisa diposisikan dan diorientasikan relatif ke obyek yang
ditentukan dengan fungsi primitif. Lensa kamera juga bisa dikendalikan sehingga bisa
dihasilkan sudut
yang lebar dan pandangan telefoto (jarak jauh).
Fungsi windowing, fungsi ini mengendalikan windows pada layar dan penggunaan
dari mouse dan keyboard.
Fungsi kontrol, menghidupkan macam-macam fitur OpenGL.
Fungsi-fungsi OpenGL dimuat didalam 2 library yang disebut dengan gl dan glu
(atau GL dan GLU). Library yang pertama, adalah fungsi utama dari OpenGL, berisi
semua fungsi OpenGL yang dibutuhkan sedangkan yang kedua, openGL Utility
Llibrary (GLU) memuat fungsi yang ditulis menggunakan fungsi dari library utama
dan sangat
membantu bagi pengguna. Fungsi utama mempunyai nama yang diawali dengan gl seperti
glVertex3f(), sedangkan fungsi didalam GLU mempunyai nama yang diawali dengan glu
seperti gluOrtho2D()
GAMBAR 2D

Primitive object 2D adalah suatu model pembuatan gambar yang mengacu kepada prespektif
2 titik. Umumnya object 2D ini merupakan suatu object yang terdiri dari sekumpulan titik-
titik yang menyambung (dihubungkan) menjadi satu dengan perantara garis lurus berupa
polyline, polygon maupun kurva.

GAMBAR3D

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

10 | P a g e

menggunakan 3 ukuran, yaitu panjang, lebar dan kedalaman. Secara geometri ketiga ukuran
tersebut disimbolkan dengan sumbu x, y, dan z.








11 | P a g e

BAB III
PRAKTIKUM

GAMABAR 2D
1. Membuat Rumah
#include <GL/glut.h>
void userdraw()
{
static int tick = 0;
void drawDot (int x, int y);
glBegin (GL_LINES);
glVertex2i (200,200);
glVertex2i (200,350);

glVertex2i (200,350);
glVertex2i (400,350);

glVertex2i (400,350);
glVertex2i (400,200);

glVertex2i (400,200);
glVertex2i (200,200); //tembok depan

12 | P a g e



glVertex2i (200,350);
glVertex2i (175,350);

glVertex2i (175,350);
glVertex2i (175,375);

glVertex2i (175,375);
glVertex2i (425,375);

glVertex2i (425,375);
glVertex2i (425,350);

glVertex2i (425,350);
glVertex2i (400,350); //plapon dpan


glVertex2i (175,375);
glVertex2i (300,500);

glVertex2i (300,500);
glVertex2i (425,375); //atap dpan

13 | P a g e




glVertex2i (350,450);
glVertex2i (350,525);

glVertex2i (350,525);
glVertex2i (375,525);

glVertex2i (375,525);
glVertex2i (375,425); //tropong


glVertex2i (375,475);
glVertex2i (550,475);

glVertex2i (550,475);
glVertex2i (700,375);

glVertex2i (700,375);
glVertex2i (425,375); //atap samping

glVertex2i (625,375);

14 | P a g e

glVertex2i (625,225);

glVertex2i (625,225);
glVertex2i (400,225); //tembok samping

glVertex2i (275,200);
glVertex2i (275,300);

glVertex2i (275,300);
glVertex2i (325,300);

glVertex2i (325,300);
glVertex2i (325,200); //pintu


glVertex2i (225,250);
glVertex2i (225,300);

glVertex2i (225,300);
glVertex2i (250,300);

glVertex2i (250,300);
glVertex2i (250,250);

15 | P a g e


glVertex2i (250,250);
glVertex2i (225,250); //jendela depan kiri


glVertex2i (350,250);
glVertex2i (350,300);

glVertex2i (350,300);
glVertex2i (375,300);

glVertex2i (375,300);
glVertex2i (375,250);

glVertex2i (375,250);
glVertex2i (350,250); // jendela depan kanan


glVertex2i (425,225);
glVertex2i (425,300);

glVertex2i (425,300);
glVertex2i (475,300);

16 | P a g e


glVertex2i (475,300);
glVertex2i (475,225); //jendela samping kiri


glVertex2i (550,225);
glVertex2i (550,300);

glVertex2i (550,300);
glVertex2i (600,300);

glVertex2i (600,300);
glVertex2i (600,225); //jendela samping kanan
glVertex2i (400,350);



glEnd();
}
void display (void)
{
//clear screen
glClear (GL_COLOR_BUFFER_BIT);

17 | P a g e

userdraw();
glutSwapBuffers();
}
int main(int argc, char **argv)
{
glutInit (&argc, argv) ; // Inisialisasi Toolkit
glutInitDisplayMode (GLUT_DOUBLE|GLUT_RGB);
glutInitWindowPosition (100,100);
glutInitWindowSize(640,480);
glutCreateWindow ("NUR ISMIC HAFNI") ;
glClearColor (1.0f,0.0f,0.0f,0.0f);
gluOrtho2D (0.,1000.,100.,1000.);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Maka hasilnya akan seperti berikut:


18 | P a g e




19 | P a g e

2. Membuat Bunga
#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);
}
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);

20 | P a g e

}
glEnd();
}

void drawPolygon1(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();
}

21 | P a g e

void userdraw()
{

point2D_t
batang[4]={{-5,-190},{-5,0},{5,0},{5,-190}};
color_t biru ={0,0,1};
fillPolygon(batang,4, biru);
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}};

22 | P a g e

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/180;
r=100*sin(5*srad);
shape [s].x = (float)(r*cos(srad));
shape [s].y = (float)(r*sin(srad));

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

point2D_t shape1[360];
double srad1,r1;
for(int s1=0;s1<360;s1++)
{ srad1=(s1+tick)*3.14/180;
r1=40*sin(6*srad1);

23 | P a g e

shape1[s1].x = (float)(r1*cos(srad1));
shape1[s1].y = (float)(r1*sin(srad1));

color_t blue1 ={1,0,0};
fillPolygon(shape1,1, blue1);
}
drawPolygon1(shape1 ,360);
}


void display(void)
{ //clear screen
glClear(GL_COLOR_BUFFER_BIT);
userdraw();
glutSwapBuffers();
}
int main(int argc, char **argv)
{
glutInit(&argc,argv);//Inisialisasi Toolkit
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
//posisi layar
glutInitWindowPosition(100,100);
//ukuran layar

24 | P a g e

glutInitWindowSize(640,480);
//title windows
glutCreateWindow("NUR ISMIC HAFNI");
//warna back layar
glClearColor(1.0f,0.0f,1.0f,0.0f);
gluOrtho2D(-240.,420.,-240.,240.);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Maka hasilnya akan seperti berikut:


25 | P a g e

GAMBAR 3D
1. Membuat Kusi dan Meja
//program dua dimensi
#include<GL/glut.h>
#include<math.h>

typedef struct {
float x,y;
} point3D_t;
typedef struct {
int r,g,b;
} color_t;
void setColor ( color_t col )
{ glColor3f(col.r, col.g, col.b); }
void fillPolygon (point3D_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);
}

26 | P a g e

glEnd();
}

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

void userdraw()
{ static int tic = 0;
point3D_t
meja[4]={{20,80},{60,160},{200,160},{160,80}};
color_t magenta ={1,0,1};
fillPolygon(meja,4, magenta);
//setColor(1,0,1);
drawPolygon(meja,4);

point3D_t
depankiri[4]={{20,20}, {20,80}, {30,80}, {30,20}};

27 | P a g e

color_t white ={1,1,1};
fillPolygon(depankiri,4, white);
//setColor(1,1,1);
drawPolygon(depankiri,4);

point3D_t
depankanan[4]={{150,20},{150,80},{160,80},{160,20}};
color_t green ={0,1,0};
fillPolygon(depankanan,4, green);
drawPolygon(depankanan,4);

point3D_t
belakangkiri[4]={{60,50},{60,80},{70,80},{70,50}};
color_t yellow ={1,1,0};
fillPolygon(belakangkiri,4, yellow);
drawPolygon(belakangkiri,4);

point3D_t
belakangkanan[4]={{190,50},{190,140},{200,160},{200,50}};
color_t red ={1,0,0};
fillPolygon(belakangkanan,4, red);
drawPolygon(belakangkanan,4);


28 | P a g e

point3D_t
kursi[4]={{220,80},{240,120},{320,120},{300,80}};
color_t birumuda ={0,1,1};
fillPolygon(kursi,4, birumuda);
//setColor(0,0,1);
drawPolygon(kursi,4);

point3D_t
depankiri1[4]={{220,20}, {220,80}, {230,80}, {230,20}};
color_t hijau ={0,1,0};
fillPolygon(depankiri1,4, hijau);
//setColor(0,1,0);
drawPolygon(depankiri1,4);

point3D_t
depankanan1[4]={{290,20},{290,80},{300,80},{300,20}};
color_t biru ={0,0,1};
fillPolygon(depankanan1,4, biru);
drawPolygon(depankanan1,4);

point3D_t
belakangkiri1[4]={{240,50},{240,80},{250,80},{250,50}};
color_t kuning ={1,1,0};

29 | P a g e

fillPolygon(belakangkiri1,4, kuning);
drawPolygon(belakangkiri1,4);

point3D_t
belakangkanan1[4]={{310,50},{310,100},{320,120},{320,50}};
color_t merah ={1,0,0};
fillPolygon(belakangkanan1,4, merah);
drawPolygon(belakangkanan1,4);
point3D_t
kursi1[4]={{300,80},{300,160},{320,200},{320,120}};
color_t putih ={1,1,1};
fillPolygon(kursi1,4, putih);
//setColor(1,1,1);
drawPolygon(kursi1,4);

point3D_t
kursi2[4]={{290,160},{310,200},{320,200},{300,160}};
color_t ungu ={1,0,1};
fillPolygon(kursi2,4, ungu);
//setColor(1,0,1);
drawPolygon(kursi2,4);

point3D_t

30 | P a g e

kursi3[4]={{290,160},{290,80},{300,80},{300,160}};
color_t hijau1 ={0,1,0};
fillPolygon(kursi3,4, hijau1);
//setColor(0,1,0);
drawPolygon(kursi3,4);

}
void display(void)
{ //clear screen
glClear(GL_COLOR_BUFFER_BIT);
userdraw();
glutSwapBuffers(); }
int main(int argc, char **argv) {
glutInit(&argc,argv);//Inisialisasi Toolkit
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowPosition(100,100);
glutInitWindowSize(640,480);
glutCreateWindow("Gambar rumah");
glClearColor(0.0,0.0,0.0,0.0);
gluOrtho2D(0.,640.,-240.,240.);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();

31 | P a g e

return 0;
}
Maka hasilnya akan seperti berikut:


32 | P a g e

BAB VI
ANALISA HASIL PRAKTIKUM

Gambar 2D diatas meskipun tampak sederhana namun dalam pengerjaannya Saya
mendapatkan kesulitan. Karena gambar tersebut memiliki berbagai bentuk atau kombinasi
dari berbagai bentuk dasar dari gambar 2D.


33 | P a g e


Gambar 2D diatas meskipun tampak sederhana namun dalam pengerjaannya Saya
mendapatkan kesulitan. Karena gambar tersebut memiliki berbagai bentuk atau kombinasi
dari berbagai bentuk dasar dari gambar 2D.


34 | P a g e


Gambar 3D diatas meskipun tampak sederhana namun dalam pengerjaannya Saya
mendapatkan kesulitan. Karena gambar tersebut memiliki berbagai bentuk atau kombinasi
dari berbagai bentuk dasar dari gambar 3D.










35 | P a g e

PENUTUP
Kesimpulan
Dalam membuat aplikasi pembelajaran ini menggunakan bahasa pemerograman visual
basic dan photoshop CS4 sebagi editing gambar sehingga menghasilkan aplikasi yang
dinamis. Tahap yang digunakan untuk pembuatan aplikasi ini adalah perancangan. Karena
dalam membuat aplikasi ini di perlukan desain untuk mendukung aplikasi ini agar dapat
menarik pada saat user melihat maupun menggunakannya.

Saran
Untuk mengembangkan aplikasi ini masih dapat dilakukan pengembangan dan
modifikasi. Dan pada bagian design di usahakan untuk membuat tampilan yang lebih baik
agar para user tidak merasa jenuh.
Wassalamualaikum WRB.






36 | P a g e

DAFTAR PUSTAKA

Ira Agustin. 2011. Pengantar Grafika Komputer .Online
http://iraagustin.wordpress.com
Diakses tanggal 29 September 2011
http://materiquliah.wordpress.com
Diakses tanggal 15 November 2008

Materi Quliah.2008. Primitif Grafika. Online.
http://materiquliah.wordpress.com
Diakses pada tanggal 3 Juni 2014

2013. Grafika Komputer3D. Online
(http://id.wikipedia.org/wiki/Grafika_komputer_3D
Diakses pada tanggal 4 Juni 2014

2012. Translasi, dan Rotasi Grafik Komputer.Online
http://kripiksukun.blogspot.com
Diakses pada tanggal 5 Juni 2014

Anda mungkin juga menyukai