Anda di halaman 1dari 21

LAPORAN PRAKTIKUM

MATA KULIAH
KOMPUTER GRAFIS
(Membuat Objek Grafik 2D Bunga dan Shape )

Andi Muh. Fadel Alfayed


1729041069
PTIK D 2017

PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER


JURUSAN PENDIDIKAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MAKASSAR
2019
PRAKTIKUM

Membuat Objek Grafik 2D

A. Tujuan
Tujuan dari laporan ini adalah untuk memenuhi tugas laporan yang diberikan
olen dosen pengampu mata kuliah komputer grafis dan membuat objek titik titik
menggunakan OpenGL.

B. Teori Dasar
Menurut Suyoto (2003), grafika komputer (Computer Graphic) dapat
diartikan sebagai seperangkat alat yang terdiri dari hardware dan software untuk
membuat gambar, grafik ataucitra realistik untuk seni, game komputer, foto dan
film animasi. Sistem grafika komputer dapat dijalankan dengan komputer pribadi
(Personal Computer) atau workstation.
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.
Dasar-dasar menggambar dengan OpenGL mempunyai 10 buah bentuk
geometris sederhana,biasa disebut 10 Geometris Primitif. Disebut primitif karena
bentuk sederhana dan ditampilkan sangat cepat dan bisa dibentuk gambar yang
lebih kompleks lagi dengan penggabungan gambar geometris primitif tersebut. 10
Geometris tersebut diantarannya :
1. Gl_Points (Point),
2. Gl_Lines (Garis),
3. Gl_Triangles (Segitiga),
4. Gl_Triangle Strip (Segitiga Jalur),
5. Gl_Quad Strip (Quad Jalur),
6. Gl_Line Strip (Garis Jalur),
7. Gl_Line Loop (Garis Looping),
8. Gl_Quads (Quad),
9. Gl_Polygon (Poligon),
10. Gl_Triangle Fan (Segitiga Fan).
Gambar 1.1 Fungsi Geometris

Pada prinsipnya openGL mempunyai prinsip pembuatan warna sama seperti


RGB pada warna-warna yang disediakan oleh berbagai macam pemrograman.
namun perbedaannya adalah :
1. kode warna RGB pada pemrograman lain mempunyai nilai default
(255,255,255).
2. sedangkan openGL memiliki kode warna default (1,1,1)
jadi intinya kode warna pada openGL mempunyai rentang antara 0 sampai
dengan 1. berikut ini adalah sedikit kode warna yang penulis kumpulkan dari
beberapa percobaan :
1. Warna Merah = glColor3f (1.0,0.0,0.0).
2. Warna Hijau = glColor3f (0.0,1.0,0.0).
3. Warna Biru = glColor3f(0.0,0.0,1.0).
4. Warna Kuning = glColor3f(1.0,1.0,0.0).
5. Warna Cyan = glColor3f(0.0,1.0,1.0).
6. Warna Magenta = glColor3f(1.0,0.0,1.0).
7. Warna putih = glColor3f(1.0,1.0,1.0).
8. Warna Hitam = glColor3f(0.0,0.0,0.0).
Berikut ini prosedur untuk membuat titik, dengan menggunakan perintah
GL_POINTS pada program OpenGL.
#include <GL/glut.h>
#include <GL/gl.h>
#include <windows.h>
void userdraw () {
glBegin (GL_POINTS);
glVertex2i (150,0);
glVertex2i (150,200);
glVertex2i (370,200);
glEnd ();
}
void display (void) {
glClear (GL_COLOR_BUFFER_BIT);
userdraw ();
glutSwapBuffers ();
}
int main (int argc, char **argv) {
glutInit (&argc,argv);
glutInitDisplayMode (GLUT_DOUBLE|GLUT_RGB);
glutInitWindowSize (640,480);
glutCreateWindow ("Membuat Objek Titik");
glClearColor (0.0, 0.0, 0.0, 0.0);
gluOrtho2D (0.,640.,-240.,240.);
glutIdleFunc (display);
glutDisplayFunc (display);
glutMainLoop ();
return 0;
}

Gambar 1.2 Output Syntaks Membuat Titik


C. Alat dan Bahan
1. Laptop
2. CodeBlocks Dev c++ OpenGL
3. OS Windows 8

D. Prosedur Percobaan
1. Membuat objek grafik 2D bunga pada layar display berwarna hitam.
2. Membuat objek grafik 2D shape pada layar display berwarna hitam.

E. Langkah Kerja dan Analisis Praktikum


1. Program output objek grafik 2D bunga.
Berikut script dan penjelesannya :
Gambar 4.1 Script Titik Merah

a. Memanggil library

- Kode program di atas berfungsi untuk import library yang akan digunakan
yang diawali dengan menggunakan tanda pagar # disebut sebagai
Preprocessor Directive, Pada contoh di atas tertulis #include <windows.h>
yang berarti program tersebut akan menggunakan fitur dari pustaka
(Library) yang bernama windows.h.
- Bertujuan untuk memberitahu compiler bahwa file akan menggunakan
beberapa fitur dan fungsi yang ada pada pustaka yang disebutkan.
- #include<Windows.h> Mendefinisikan sebuah window berdasarkan
koordinat kiri atas dan kanan bawah.
- #include<GL/glut.h> Pemrograman grafis menggunakan OpenGL-GLUT
membutuhkan header glut.h yang ada di folder c:\Program Files\Microsoft
Visual Studio\VC98\bin\GL.
- #include<math.h> merupakan pustaka untuk perintah operasi matematik.
b. Prosedur untuk menampilkan objek

- Typedef struct{int x,y;} point2D_t ,merupakan perintah untuk membuat


suatu tipe data baru yang berfungsi untuk mempersingkat proses inisiasi
nilai dimana point2D_t adalah nama tipe datanya dan int x,y
mendefenisikan dalam sistem koordinat nilai yang menggunakan bilangan
integer.
- Typedef struct{float r.g.b;} color_t, merupakan perintah untuk membuat
suatu tipe data baru yang berfungsi untuk mempersingkat proses nilai
dimana color_t merupakan nama tipe datanya dan float r,g,b
mendefenisikan dalam pewarnaan yang mengandung bilangan pecahan.
- Void setColor (color_t col) merupakan fungsi untuk memberikan warna
pada objek yang dituju.
- Void drawpolygon (){} merupakan suatu fungsi untuk membuat objek
dengan tipe GL_LINE_LOOP atau polyline, polyline merupakan
sekumpulan garis yang terhubung satu dengan yang lainnya hingga
membentuk sebuah objek gambar serta juga dapat memberikan warna pada
objek.
- Void fillpolygon(){} merupakan suat fungsi untuk membuat objek dengan
GL_POLYGON ,polygon merupakan sekumpulan garis yang saling
terhubung satu dengan yang lainnya dan berbentuk kurva tertutup hingga
membentuk sebuah objek gambar serta dapat memberikan warna pada
objek.
c. Prosedur untuk menampilkan objek

- Void userdraw(void){} suatu fungsi bervariabel userdraw untuk membuat


kode program untuk menghasilkan suatu gambar. Bertipe void artinya
tidak akan mengembalikan nilai apapun, hanya menjalankan rutin
program tertentu saja. Serta fungsi tersebut tidak menggunakan parameter
apapun (void).
- Float o,p suatu perintah untuk menginisialisasi variabel o,p yang memiliki
tipe data float mendukung bilangan koma.
- Int a,b,c suatu perintah untuk menginisialisasi variabel a,b,c yang memiliki
tipe data integer mendukung bilangan desimal.
- glLineWidht(5) merupakan perintah untuk mengatur ketebalan garis dari
objek yang dibentuk sebesar 5 ketebalan.
- For (int i=0; i<1000; i++){} merupakan perintah untuk melakukan
pengulangan sebanyak yang diinginkan pada program, pengulangan for
terdiri dari 3 bagian, pertama inisialisasi variabel i dengan nilai 0 yang
mendukung tipe data integer, kedua tahap kondisi yang harus dipenuhi
agar perulangan terjadi sebanyak 1000 kali, ketiga tahap increment
penaikan nilai 1 kali variabel jika telah memenuhi kondisi.
- X = 380 * (float)rand() / RAND_MAX - 190 dan Y= 380 * (float)rand() /
RAND_MAX - 190 merupakan perintah untuk memberikan nilai secara
random pada variabel o dan p, dimana o memiliki nilai interval 380
terhitung dari -190 sampai 190 , sedangkan p memiliki nilai interval 380
terhitung dari -190 sampai 190. Perintah (float)rand() berfungsi
mengeluarkan angka random antara 0-RAND_MAX, sedangkan
RAND_MAX merupakan konstanta dari suatu angka akhir random yang
bisa dikeluarkan dengan nilai 32767.
- glPointSize(5) merupakan perintah yang digunakan mengatur ketebalan
titik sebesar 5 kali ketebalan.
- g : adalah label yang digunakan menandakan suatu perintah yang
dibawahnya akan dieksekusi ulang oleh perintah goto.
- a = rand()%2 , b = rand()%2, c = rand()%2 adalah perintah untuk memberi
nilai pada variabel a,b,c berupa nilai angka random dengan banyak angka
sebesar 2 yaitu 0 dan 1.
- if(a==0&&b==0){ if(c==0){} } adalah perintah untuk mengecek suatu
kondisi jika syaratnya bernilai benar maka eksekusi akan dilanjutkan
dengan perintah berikut, pada syntak tersebut jika variabel a,b,c bernilai
sama dengan 0 maka akan mengeksekusi perintah goto p;
- goto g adalah perintah untuk melompat ke baris yang miliki label dengan
nama g untuk dieksekusi ulang.
- glColor3f(a,b,c) merupakan perintah yang digunakan untuk memberikan
warna warni pada titik titiknya dengan menggunakan satuan nilai float
karena a,b,c telah merupakan nilai random.
- glBegin(GL_POINTS) merupakan perintah yang digunakan untuk
membuat titik-titik.
- glVertex2f(x,y) merupakan perintah untuk memetakan secara koordinat xy
dari titik yang dibuat, dimana xy merupakan angka acak dengan
menggunakan satuan nilai float.
- glEnd() merupakan perintah untuk mengakhiri glBegin pembuatan objek
titik.
- Point2D_t mini [360]; merupakan perintah untuk mendeklarasikan
variabel mini dengan tipe data point2D_t dalam bentuk array sebanyak
360.
- Point2D_t lingkaran [360]; merupakan perintah untuk mendeklarasikan
variabel lingkaran dengan tipe data point2D_t dalam bentuk array
sebanyak 360.
- Point2D_t bunga1 [360] dan point2D_t bunga [360]; merupakan perintah
untuk mendeklarasikan variabel dengan tipe data point2D_t dalam bentuk
array sebanyak 360.
- Double srad,r,r1,r2,r3; merupakan perintah untuk mendeklarasikan
variabel srad,r,r1,r2 dan r3 dengan tipe data double .
- Color_t merah = {1,1,0} , color_t color_t kuning = {1,1,0}; ,color_t hijau
= {0,1,0};. dan color_t cyan = {0,1,1}; merupakan perintah untuk
mendeklarasikan variabel merah ,kuning, hijau, dan cyan sebagai warna.
- For (int s=0; s<360; s++){} merupakan perintah untuk melakukan
pengulangan sebanyak yang diinginkan pada program, pengulangan for
terdiri dari 3 bagian, pertama inisialisasi variabel i dengan nilai 0 yang
mendukung tipe data integer, kedua tahap kondisi yang harus dipenuhi
agar perulangan terjadi sebanyak 360 kali, ketiga tahap increment
penaikan nilai 1 kali variabel jika telah memenuhi kondisi.
- srad=(s*((2*3.14)/360)); merupakan fungsi matematika pada program
yang menentukan nilai sudut dari objek yang akan dibuat.
- r=100+(90*sin(8*srad));, r1=3+(120*sin(8*srad)); , r2=190;, dan r3=30;
merupakan perintah untuk menginisiasi nilai jari” pada variabel r,r1,r2,dan
r3 dari objek yang akan dibuat.
- bunga[s].x = r*cos(srad), dan bunga[s].y = r*sin(srad); merupakan fungsi
matematika untuk mendapatkan nilai dari setiap titik titik yang
membentuk objek bunga, sekaligus memberi nilai pada arraynya sebanyak
360 kali, dan begitupun perintah selanjutnya.
- Drawpolygon (bunga,360,merah); , fillpolygon (bunga1,360,hijau);
drawpolygon (lingkaran,360,cyan); , dan fillpolygon (mini,360,kuning);
merupakan perintah untuk memanggil fungsi drawpolygon dan fillpolygon
untuk membentuk objek yang diinginkan.

- Void display(void){} suatu fungsi bervariabel display untuk membuat


kode program untuk menghasilkan suatu gambar. Bertipe void artinya
tidak akan mengembalikan nilai apapun, hanya menjalankan rutin
program tertentu saja. Serta fungsi tersebut tidak menggunakan parameter
apapun (void).
- glClear(GL_COLOR_BUFFER_BIT) perintah berfungsi untuk
membersihkan laya dan memberi warna yang telah kita definisikan
sebelumnya.
- userdraw() perintah untuk memanggil fungsi userdraw yang telah dibuat
yang hanya menjalankan rutin program tertentu saja yaitu mendefenisikan
objek yang dibuat.
- glutSwapBuffers() perintah untuk menukar bagian belakang buffer
menjadi buffer layar (screenbuffer).
- ; perintah untuk mengakhiri suatu baris perintah.
d. Program utama

- Int main (int argc, char *argv[]){} merupakan fungsi utama yang
mengeksekusi keseluruhan perintah perintah yang terdapat dalam program.
- glutInit(&argc, argv) perintah ini berguna untuk inisialisasi secara umum
terhadap nilai-nilai yang ada pada library GLUT.
- glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB) perintah ini
digunakan untuk menentukan apakah akan menggunakan model
pewarnaan RGBA atau indek warna. Dengan fungsi ini juga bisa
menentukan apakah akan menggunakan windows buffer single atau
double.
- glutInitWindowPosition (100,100) perintah ini berfungsi untuk
menentukan letak window dengan patokkannya ialah pada window kiri
atas.
- glutInitWindowSize(640,480) perintah ini berfungsi untuk
menspesifikasikan ukuran window yang dibuat dalam pixel.
- glutCreateWindow("Percobaan 1") perintah ini berfungsi untuk memberi
Judul pada windows yaitu percobaan 1.
- glClearColor (1.0 , 1.0 , 1.0 , 1.0) perintah ini berfungsi untuk
mendefinisikan warna dari latar belakang display yang dibuat dengan
warna putih yaitu (1,1,1).
- gluOrtho2D(-320 , 320 , -240 , 240) perintah ini berfungsi untuk
Mendefinisikan besarnya sistem koordinat dengan range sumbu x adalah
-320 sampai 320 dan range untuk sumbu y adalah -240 sampai 240.
- glutDisplayFunc(display) perintah ini berfungsi untuk display yg
menentukan konten dari windows yg telah di buat sebelumnya.
- glutMainLoop() peintah ini berfungsi untuk perulangan fungsi utama jadi
fungsi utama akan dipanggil terus selama aplikasi ditutup.
- Return 0 berfungsi untuk memberitahu cpu bahwa aplikasi berakhir secara
wajar.
- ; perintah yang berfungsi untuk mengakhiri suatu baris perintah.

Hasil praktikum I ;

Gambar 4.2 Hasil praktikum 1 objek grafik 2D bunga


2. Program output objek grafik 2D shape.
Berikut script dan penjelesannya :
Gambar 4.3 Script objek grafik 2d shape

a. Memanggil library

- Kode program di atas berfungsi untuk import library yang akan digunakan
yang diawali dengan menggunakan tanda pagar # disebut sebagai
Preprocessor Directive, Pada contoh di atas tertulis #include <windows.h>
yang berarti program tersebut akan menggunakan fitur dari pustaka
(Library) yang bernama windows.h.
- Bertujuan untuk memberitahu compiler bahwa file akan menggunakan
beberapa fitur dan fungsi yang ada pada pustaka yang disebutkan.
- #include<Windows.h> Mendefinisikan sebuah window berdasarkan
koordinat kiri atas dan kanan bawah.
- #include<GL/glut.h> Pemrograman grafis menggunakan OpenGL-GLUT
membutuhkan header glut.h yang ada di folder c:\Program Files\Microsoft
Visual Studio\VC98\bin\GL.
- #include<math.h> merupakan pustaka untuk perintah operasi matematik.
b. Prosedur untuk menampilkan objek

- Typedef struct{int x,y;} point2D_t ,merupakan perintah untuk membuat


suatu tipe data baru yang berfungsi untuk mempersingkat proses inisiasi
nilai dimana point2D_t adalah nama tipe datanya dan int x,y
mendefenisikan dalam sistem koordinat nilai yang menggunakan bilangan
integer.
- Typedef struct{float r.g.b;} color_t, merupakan perintah untuk membuat
suatu tipe data baru yang berfungsi untuk mempersingkat proses nilai
dimana color_t merupakan nama tipe datanya dan float r,g,b
mendefenisikan dalam pewarnaan yang mengandung bilangan pecahan.
- Void setColor (color_t col) merupakan fungsi untuk memberikan warna
pada objek yang dituju.
- Void drawpolygon (){} merupakan suatu fungsi untuk membuat objek
dengan tipe GL_LINE_LOOP atau polyline, polyline merupakan
sekumpulan garis yang terhubung satu dengan yang lainnya hingga
membentuk sebuah objek gambar serta juga dapat memberikan warna pada
objek.
- Void fillpolygon(){} merupakan suat fungsi untuk membuat objek dengan
GL_POLYGON ,polygon merupakan sekumpulan garis yang saling
terhubung satu dengan yang lainnya dan berbentuk kurva tertutup hingga
membentuk sebuah objek gambar serta dapat memberikan warna pada
objek.
c. Prosedur untuk menampilkan objek

- Void userdraw(void){} suatu fungsi bervariabel userdraw untuk membuat


kode program untuk menghasilkan suatu gambar. Bertipe void artinya
tidak akan mengembalikan nilai apapun, hanya menjalankan rutin
program tertentu saja. Serta fungsi tersebut tidak menggunakan parameter
apapun (void).
- Float o,p suatu perintah untuk menginisialisasi variabel o,p yang memiliki
tipe data float mendukung bilangan koma.
- Int a,b,c suatu perintah untuk menginisialisasi variabel a,b,c yang memiliki
tipe data integer mendukung bilangan desimal.
- glLineWidht(5) merupakan perintah untuk mengatur ketebalan garis dari
objek yang dibentuk sebesar 5 ketebalan.
- For (int i=0; i<1000; i++){} merupakan perintah untuk melakukan
pengulangan sebanyak yang diinginkan pada program, pengulangan for
terdiri dari 3 bagian, pertama inisialisasi variabel i dengan nilai 0 yang
mendukung tipe data integer, kedua tahap kondisi yang harus dipenuhi
agar perulangan terjadi sebanyak 1000 kali, ketiga tahap increment
penaikan nilai 1 kali variabel jika telah memenuhi kondisi.
- X = 380 * (float)rand() / RAND_MAX - 190 dan Y= 380 * (float)rand() /
RAND_MAX - 190 merupakan perintah untuk memberikan nilai secara
random pada variabel o dan p, dimana o memiliki nilai interval 380
terhitung dari -190 sampai 190 , sedangkan p memiliki nilai interval 380
terhitung dari -190 sampai 190. Perintah (float)rand() berfungsi
mengeluarkan angka random antara 0-RAND_MAX, sedangkan
RAND_MAX merupakan konstanta dari suatu angka akhir random yang
bisa dikeluarkan dengan nilai 32767.
- glPointSize(5) merupakan perintah yang digunakan mengatur ketebalan
titik sebesar 5 kali ketebalan.
- g : adalah label yang digunakan menandakan suatu perintah yang
dibawahnya akan dieksekusi ulang oleh perintah goto.
- a = rand()%2 , b = rand()%2, c = rand()%2 adalah perintah untuk memberi
nilai pada variabel a,b,c berupa nilai angka random dengan banyak angka
sebesar 2 yaitu 0 dan 1.
- if(a==0&&b==0){ if(c==0){} } adalah perintah untuk mengecek suatu
kondisi jika syaratnya bernilai benar maka eksekusi akan dilanjutkan
dengan perintah berikut, pada syntak tersebut jika variabel a,b,c bernilai
sama dengan 0 maka akan mengeksekusi perintah goto p;
- goto g adalah perintah untuk melompat ke baris yang miliki label dengan
nama g untuk dieksekusi ulang.
- glColor3f(a,b,c) merupakan perintah yang digunakan untuk memberikan
warna warni pada titik titiknya dengan menggunakan satuan nilai float
karena a,b,c telah merupakan nilai random.
- glBegin(GL_POINTS) merupakan perintah yang digunakan untuk
membuat titik-titik.
- glVertex2f(x,y) merupakan perintah untuk memetakan secara koordinat xy
dari titik yang dibuat, dimana xy merupakan angka acak dengan
menggunakan satuan nilai float.
- glEnd() merupakan perintah untuk mengakhiri glBegin pembuatan objek
titik.
- Point2D_t atap [1000]; merupakan perintah untuk mendeklarasikan
variabel atap dengan tipe data point2D_t dalam bentuk array isinya
sebanyak 1000, serta mendefenisikan titik koordinat yang telah ditentukan.
- Point2D_t persegi [1000]; merupakan perintah untuk mendeklarasikan
variabel persegi dengan tipe data point2D_t dalam bentuk array isinya
sebanyak 1000, serta mendefenisikan titik koordinat yang telah ditentukan.
- Point2D_t mini [360]; merupakan perintah untuk mendeklarasikan
variabel mini dengan tipe data point2D_t dalam bentuk array sebanyak
360.
- Point2D_t lahan [1000], Point2D_t lahan [1000], dan Point2D_t lahan
[1000], merupakan perintah untuk mendeklarasikan variabel lahan,pintu,
dan jendela dengan tipe data point2D_t dalam bentuk array isinya
sebanyak 1000,serta mendefenisikan titik koordinat yang telah ditentukan.
- Double srad,r,r1,r2,r3; merupakan perintah untuk mendeklarasikan
variabel srad,r,r1,r2 dan r3 dengan tipe data double .
- Color_t merah = {1,1,0}; , color_t color_t kuning = {1,1,0}; ,color_t hijau
= {0,1,0};. color_t cyan = {0,1,1};, dan color_t putih = {1,1,1};
merupakan perintah untuk mendeklarasikan variabel merah ,kuning, hijau,
, cyan, dan putih sebagai warna.
- For (int s=0; s<360; s++){} merupakan perintah untuk melakukan
pengulangan sebanyak yang diinginkan pada program, pengulangan for
terdiri dari 3 bagian, pertama inisialisasi variabel i dengan nilai 0 yang
mendukung tipe data integer, kedua tahap kondisi yang harus dipenuhi
agar perulangan terjadi sebanyak 360 kali, ketiga tahap increment
penaikan nilai 1 kali variabel jika telah memenuhi kondisi.
- srad=(s*((2*3.14)/360)); merupakan fungsi matematika pada program
yang menentukan nilai sudut dari objek yang akan dibuat.
- r=100+(90*sin(8*srad));, r1=3+(120*sin(8*srad)); , r2=190;, dan r3=30;
merupakan perintah untuk menginisiasi nilai jari” pada variabel r,r1,r2,dan
r3 dari objek yang akan dibuat.
- mini[s].x = 230+r3*cos(srad), dan mini[s].y = 180+r3*sin(srad);
merupakan fungsi matematika untuk mendapatkan nilai dari setiap titik
titik yang membentuk objek bunga, sekaligus memberi nilai pada arraynya
sebanyak 360 kali.
- Fillpolygon (lahan,360,hijau);, fillpolygon(mini,360,putih);. Fillpolygon
(atap,360,kuning);, fillpolygon (persegi,360,merah);, fillpolygon
(pintu,4,cyan);, dan fillpolygon (jendela,4,cyan); merupakan perintah
untuk memanggil fungsi drawpolygon dan fillpolygon untuk membentuk
objek yang diinginkan.

- Void display(void){} suatu fungsi bervariabel display untuk membuat


kode program untuk menghasilkan suatu gambar. Bertipe void artinya
tidak akan mengembalikan nilai apapun, hanya menjalankan rutin
program tertentu saja. Serta fungsi tersebut tidak menggunakan parameter
apapun (void).
- glClear(GL_COLOR_BUFFER_BIT) perintah berfungsi untuk
membersihkan laya dan memberi warna yang telah kita definisikan
sebelumnya.
- userdraw() perintah untuk memanggil fungsi userdraw yang telah dibuat
yang hanya menjalankan rutin program tertentu saja yaitu mendefenisikan
objek yang dibuat.
- glutSwapBuffers() perintah untuk menukar bagian belakang buffer
menjadi buffer layar (screenbuffer).
- ; perintah untuk mengakhiri suatu baris perintah.
d. Program utama

- Int main (int argc, char *argv[]){} merupakan fungsi utama yang
mengeksekusi keseluruhan perintah perintah yang terdapat dalam program.
- glutInit(&argc, argv) perintah ini berguna untuk inisialisasi secara umum
terhadap nilai-nilai yang ada pada library GLUT.
- glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB) perintah ini
digunakan untuk menentukan apakah akan menggunakan model
pewarnaan RGBA atau indek warna. Dengan fungsi ini juga bisa
menentukan apakah akan menggunakan windows buffer single atau
double.
- glutInitWindowPosition (100,100) perintah ini berfungsi untuk
menentukan letak window dengan patokkannya ialah pada window kiri
atas.
- glutInitWindowSize(640,480) perintah ini berfungsi untuk
menspesifikasikan ukuran window yang dibuat dalam pixel.
- glutCreateWindow("Percobaan 1") perintah ini berfungsi untuk memberi
Judul pada windows yaitu percobaan 1.
- glClearColor (0.0 , 0.0 , 0.0 , 0.0) perintah ini berfungsi untuk
mendefinisikan warna dari latar belakang display yang dibuat dengan
warna hitam yaitu (0,0,0).
- gluOrtho2D(-320 , 320 , -240 , 240) perintah ini berfungsi untuk
Mendefinisikan besarnya sistem koordinat dengan range sumbu x adalah
-320 sampai 320 dan range untuk sumbu y adalah -240 sampai 240.
- glutDisplayFunc(display) perintah ini berfungsi untuk display yg
menentukan konten dari windows yg telah di buat sebelumnya.
- glutMainLoop() peintah ini berfungsi untuk perulangan fungsi utama jadi
fungsi utama akan dipanggil terus selama aplikasi ditutup.
- Return 0 berfungsi untuk memberitahu cpu bahwa aplikasi berakhir secara
wajar.
- ; perintah yang berfungsi untuk mengakhiri suatu baris perintah

Hasil praktikum II ;

Gambar 4.4 Hasil praktikum 2 objek grafik 2D shape.


F. Kesimpulan
Mahasiswa telah mampu membuat objek 2D sesuai dengan indikator yang
telah ditentukan oleh dosen.

Anda mungkin juga menyukai