MEMBUAT TITIK MENGGUNAKAN APLIKASI VISUAL STUDIO

15
LAPORAN PRAKTIKUM GRAFIKA KOMPUTER DAN MULTIMEDIA OLEH : NAMA : MURNIATI NIM : 1220305011 KELAS : M3-Pagi JURUSAN : TEKNIK ELEKTRO PRODI : TMJK

Transcript of MEMBUAT TITIK MENGGUNAKAN APLIKASI VISUAL STUDIO

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.

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