Post on 11-Mar-2023
LAPORAN PRAKTIKUM
GRAFIKA KOMPUTER DAN MULTIMEDIA
OLEH :
NAMA : MURNIATI
NIM : 1220305011
KELAS : M3-Pagi
JURUSAN : TEKNIK ELEKTRO
PRODI : TMJK
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI LHOKSEUMAWE
LEMBARAN PENGASAHAN
Judul Praktikum : “Membuat titik melalui OpenGL”
No. Praktikum : 01/M3/TMJ/2015
Nama : Murniati
NIM : 1220305011
Kelas/Semester : M3 / VI (Genap)
Jurusan/Prodi : Teknik Elektro / TMJ
Pemeriksa : Mursyidah, ST. MT
Tanggal Pengesahan : 23 Februari 2015
Mahasiswa
( Murniati )Nim. 1220305011
Mengetahui,Dosen Pengajar
(Mursyidah, ST. MT )Nip.
PRAKTIKUM 1
I. Tujuan :
1. Mempersiapkan Instalasi library OpenGL pada komputer saya
2. Mempelajari dan membuat main program tempat event-driven menggunakan OpenGL
3. Mempelajari dan membuat main program untuk mempersiapkan window drawing menggunakan OpenGL
4. Mempelajari dan membuat gambar menggunakan primitive fungsi OpenGL
II. Dasar Teori
Pengenalan OpenGL
OpenGL adalah suatu spefikasi grafik yang low-levelyang menyediakan fungsi untuk pembuatan grafik primitiftermasuk titik, garis, dan lingkaran. OpenGL digunakanuntuk keperluan-keperluan pemrograman grfis.OpenGL bersifatOpen-Source, multi-platform dan multi-language sertadigunakan mendefinisikan suatu objek, baik objek 2 dimensimaupun objek 3 dimensi. OpenGL juga merupakan suatuantarmuka pemrograman aplikasi (application programminginterface (API) yang tidak tergantung pada piranti danplatform yang digunakan, sehingga OpenGL dapat berjalanpada sistem operasi Windows, UNIX dan sistem operasilainnya.
OpenGL pada awalnya didesain untuk digunakan padabahasa pemrograman C/C++, namun dalam perkembangannyaOpenGL dapat juga digunakan dalam bahasa pemrograman yanglain seperti Java, Tcl, Ada, Visual Basic, Delphi, maupunFortran. Namun OpenGL di-package secara berbeda-beda sesuaidengan bahasa pemrograman yang digunakan.
OpenGl melayani dua tujuan :•Untuk menyembunyikan kompleksitas dari interfacing denganberbagai 3D accelerators, memamerkan oleh programmer dengansatu, seragam API. •Untuk menyembunyikan kemampuan yang berbeda dari hardwareplatform, oleh semua yang memerlukan mendukungimplementasi penuh fitur opengl set (menggunakan softwareemulation jika diperlukan).
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
Pengenalan GLUT
Sistem Koordinat didalam laptop ada 3 yaitu :
- Open GL
- Sistem Operasi
Mengikuti resolusi (variabel)
- Fisik (bersifat statis)
1. GLUT (OpenGL Utility Toolkit)
Dikembangkan oleh Mark Kilgard. GLUT merupakan pengembangandari OpenGL dimana memiliki keunggulan sebagai berikut:
- Mudah, portable window manager, menggunakan callback functionsuntuk menambahkan interaksi dari user.
- Didesain untuk aplikasi dengan level kecil hinggamenengah.
- Distribusi library bebas tetapi tidak open source.
2. Pemrograman Berbasis Event
GLUT pada dasarnya dibangun untuk menciptakan aplikasigrafis menggunakan pemrograman yang bersifat prosedural. Didalamnya terdapat fungsi main loop yang diatur oleh GLUT danlooping yang terjadi dalam aplikasi bertujuan untukpenanganan fungsi-fungsi callback sebagai input dari userseperti fungsi redraw, mouse, keyboard, joystick, dan lain-lain.
Klasifikasi Fungsi : - Primitive : berupa geometric, images- Attribute : berupa color, line type, light, texture- Viewing : berupa virtual camera- Control : turn fuction ON / OFF- Windowing : window, mouse, keyboard
III. Peralatan
Pada praktikum ini saya menggunakan laptop dan software
yaitu :
- 1 Unit Laptop Lenovo Z475
- Microsoft Visual Studio 2010
- Contoh laporan yang telah di berikan sebelumnya
IV. Percobaan
Untuk melakukan praktikum dapat mengikuti langkah-
langkah / perintah di bawah ini :
1. Jalankan program visual studio 2010 pada komputer.
2. Tunggu hingga program terbuka.
3. Klik menu File > pilih New > Klik Project.
4. Setelah keluar jendela project pilih Visual C++ >
Win32 Console Application.
5. Tuliskan Nama project dan pilih lokasi tempat
menyimpan file project.
6. Pada Jendela perintah ini pilih Next.
7. Kemudian pilih Empty Project.
8. Dan klik Finish.
9. Lalu klik Kanan pada project dan pilih Add > New Item
10. Memilih Visual C++ > lalu klik C++ file(.cpp)
11. Menuliskan Nama file dan Pilih lokasi
penyimpanan.
12. Klik finish.
13. Setelah pengaturan area kerja selesai makamemasukkan syntax program
1. Membuat satu titik
#include <GL/glut.h>void userdraw(void);void drawDot(float x, float y){
glBegin(GL_POINTS) ;glVertex2f(250,50) ;glEnd() ;}
void setColor(float red, float green, float blue){glColor3f(red, green, blue);}void userdraw(){ glPointSize(8);setColor (5.,0.,0.);for(int i=0; i<20;i+=5){ for(int j=0; j<20;j+=5)
{drawDot(10.0+i,10.0+j);}}}
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 );glutInitWindowSize(640,480);glutInitWindowPosition(100,150);glutCreateWindow ("Desain by Murniati | 1220305011");
glClearColor(1.0,1.0,1.0,0.0);gluOrtho2D(0.,640.,-240.,240.);glutIdleFunc(display);glutDisplayFunc(display);glutMainLoop();return 0;}
2. Membuat banyak titik
#include <GL/glut.h>void userdraw(void);void drawDot(float x, float y){
glBegin(GL_POINTS) ;glVertex2f(x,y) ;glEnd() ;}
void setColor(float red, float green, float blue){
glColor3f(red, green, blue);}void userdraw(){ glPointSize(3);setColor (5.,0.,0.);for(int i=0; i<25;i+=5){ for(int j=0; j<20;j+=5)
{drawDot(10.0+i,10.0+j);
}}}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 );glutInitWindowSize(640,480);glutInitWindowPosition(100,150);glutCreateWindow ("Murni | 1220305011"); glClearColor(1.0,1.0,1.0,0.0);gluOrtho2D(0.,640.,-240.,240.);glutIdleFunc(display);glutDisplayFunc(display);glutMainLoop();return 0;}
#include <gl/glut.h>void userdraw(void);void drawDot(float x, float y)
{glBegin(GL_POINTS);
glVertex2f(x,y);glEnd();
}void setColor(float red, float green, float blue){
glColor3f(red, green, blue);}
void userdraw(){glPointSize(4);setColor(5.,0.,0.);for(int i=0; i<20;i+=10){
for(int j=0;j<200;j+=20)
{drawDot(30.0+i,10.0+j);drawDot(20.0+i,30.0+j);drawDot(10.0+i,50.0+j);drawDot(130.0+i,10.0+j);drawDot(120.0+i,30.0+j);drawDot(110.0+i,50.0+j);drawDot(230.0+i,10.0+j);drawDot(220.0+i,30.0+j);drawDot(210.0+i,50.0+j);
}}}
void display (void){
glClear(GL_COLOR_BUFFER_BIT);userdraw();glutSwapBuffers();
}int main (int argc,char**argv){
glutInit (&argc,argv);glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB);glutInitWindowPosition (100,100);glutInitWindowSize (640,480);glutCreateWindow ("Drawing by Murni");glClearColor(1.0,1.0,1.0,0.0);gluOrtho2D(0.,640.,-240.,240.);glutIdleFunc(display);glutDisplayFunc(display);glutMainLoop();return 0;
}
V. ANALISA
#include <gl/glut.h> Pemrograman grafis menggunakan OpenGL-GLUT membutuhkan
header glut.h yang ada difolder c:\Program Files\Microsoft Visual Studio\VC98\bin\GL
void userdraw(void); Fungsi userdraw adalah suatu fungsi untuk membuat kode
program untuk menghasilkan suatu gambar.
glutInitWindowPosition (100,100);glutInitWindowSize (640,480); Membuat windows dengan ukuran(640,480) dengan titik
kiri atas jendela diletakkan pada posisi(100,100) dilayar computer
glClearColor(1.0,1.0,1.0,0.0);
Mendefinisikan warna dari windows yang dibuat denganwarna(1,1,1) yaitu warna putih . Perintah diatas
digunakan untuk memilih warna dalam membersihkan latarbelakang dalam mode RGBA (Red, Green, Blue, Alpha).
gluOrtho2D(0.,640.,-240.,240.);
Mendefinisikan besarnya system koordinat dengan range sumbu x adalah[0,640] dan range untuk sumbu y adalah[-240,240]
glClearColor (GL_COLOR_BUFFER_BIT); Perintah diatas digunakan untuk membersihkan layar
latar belakang dengan warna hitam dan buffer warna apasaja yang akan dibersihkan sebagai tempat menyimpangambar yang akan dibuat.
userdraw(); perintah untuk memanggil fungsi userdraw()
glutSwapBuffers(); Perintah digunakan untuk menampilkan hasil garis ke
layar.
int main (int argc,char**argv) {glutInit (&argc,argv);
untuk inisialisasi GLUT dengan parameter baris perintah
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB); untuk seting display mode
VI. KESIMPULAN
Dari praktikum diatas dapat saya simpulkan bahwa dalam
membuat objek grafis pada visual studio haruslah didasari
dengan mengetahui sintax dasar yang membentuk sebuah titik
dan untuk membentuk suatu kumpulan titik yang tertata
tertentu misalnya membuat jumlah titik pada layar haruslah
mengerti bagaimana merubah koordinat dari objek tersebut
hingga menampilkan berapa jumlah titik yang akan muncul dan
ukuran nya . Dimana diketahui bahwa OpenGL bersifat Open-
Source, multi-platform dan multi-language serta digunakan
mendefinisikan suatu objek, baik objek 2 dimensi maupun
objek 3 dimensi. Dalam membuat titik tersebut tentu harus
mengetahui dan mempelajari bahasa c++ kode dasar dalam
visual studio. Untuk membuat sebuah gambar di OpenGL,kita
harus menggunakan logika dimana harus bisa membayangkan
sebuah garis kartesian yang mana terdapat sumbu x,y (untuk
2 Dimensi) dan x,y,z (untuk 3 Dimensi).
VII. DAFTAR PUSTAKA
http://academia.edu
http://iamfunnyfany.blogspot.com/2012/10/membuat-garis-
vertikal-horisontal-dan.html
Modul Praktikum