Anda di halaman 1dari 8

PRAKTIKUM GRAFIK PRIMITIF

DOSEN PENGAMPU : ESTU SINDUNINGRUM,ST.,MT.


TEORI DASAR

Komputer Grafik adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar (visual)
secara digital. Bentuk sederhana dari grafika komputer adalah grafika komputer 2D yang menghasilkan gambar 2D,
kemudian berkembang menjadi grafika komputer 3D yang lebih heboh dan canggih. Komputer grafik merupakan suatu
proses pembuatan, penyimpanan dan manipulasi model dan citra. Model berasal dari beberapa bidang seperti fisik,
matematik, artistik dan bahkan struktur abstrak.

Penggunaan komputer grafik telah lama digunakan dalam beberapa macam aplikasi, diantaranya pendidikan,
kedokteran, fisika, matematika, multimedia, dan lain-lain. Pada saat ini komputer grafik sudah digunakan pada bidang sains,
engineering, kedokteran, bisnis, industri, pemerintahan, seni, hiburan, iklan, pendidikan, dan lain-lain. Oleh karena itu, sudah
semakin banyak pula bahasa pemrograman yang dilengkapi dengan tools/library pembuatan grafik. Salah satu tools/library
pembuatan aplikasi grafik adalah OpenGl (Open Graphics Library).
Pada prinsipnya openGL mempunyai prinsip pembuatan warna sama seperti RGB pada warna-warna yang disediakan
oleh berbagai macam pemrograman. namun perbedaannya adalah :* kode warna RGB pada pemrograman lain mempunyai
nilai default (255,255,255).* 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 kami kumpulkan dari beberapa
percobaan.
HASIL & ANALISA DATA
Membuat Titik
#include <gl/glut.h>
void point(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glPointSize(5.0f);
glBegin(GL_POINTS);
glColor3f(1.0f, 0.0f, 0.0f);
glVertex3f(0.25, 0.25, 0);
glVertex3f(0.25, 0.75, 0);
glVertex3f(0.75, 0.25, 0);
glVertex3f(0.75, 0.75, 0);
glEnd();
glFlush();
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitWindowSize(640,480);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
glutCreateWindow("Titik");
glutDisplayFunc(point);
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
Dari script yang telah kami gunakan,terdapat berapa titik yang telahdimasukkan. glutMainLoop();
Namun pada penerapannya, kami menurunkan letak titik pada semuakoordinat. return 0;
}
Yaitu dengan menambahkan 0, . Hal ini dikarenakan tampilan dari scripthanya
sebatas 1.0f ,sehingga jika memasukkan seperto 25.0f , maka akan keluar
daritampilan.
HASIL & ANALISA DATA
Membuat Segitiga
#include <gl/glut.h>
void Segitiga(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glColor3f(255, 255, 255);
glVertex3f( -0.10,-0.10, 0.00);
glColor3f(255, 255, 255);
glVertex3f( 0.10,-0.10, 0.00);
glColor3f(255, 255, 255);
glVertex3f( 0.00, 0.10, 0.00);
glEnd();
glFlush();
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitWindowSize(640,480);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
Segitiga digambar dengan perintah glBegin(GL_TRIANGLES). Bahwa segitiga juga glutCreateWindow("Membuat Segitiga");
glutDisplayFunc(Segitiga);
bisa memiliki warna degradasi.Untuk menggambar beberapa segitiga, lakukan glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
dengan looping seperti cara biasa. Bila ingin menggambar beberapa segitiga yang glutMainLoop();
return 0;
terhubung, gunakan glBegin(GL_TRIANGLE_STRIP). }
Di sini, titik pertama, kedua, dan ketiga akan membentuk segitiga pertama. Titik
kedua,ketiga, dan keempat akan membentuk segitiga kedua, dan seterusnya.
HASIL & ANALISA DATA #include <gl/glut.h>
void Garis(void)
Membuat 4 Garis Warna {
glClear(GL_COLOR_BUFFER_BIT);
glLineWidth(8.0f);
glBegin(GL_LINES);
glColor3f(0.0f, 0.0f, 1.0f);
glVertex3f( -0.40, 0.20, 0.0);
glColor3f(1.0f, 0.0f, 0.0f);
glVertex3f( -0.40, -0.20, 0.0);
glColor3f(0.0f, 0.0f, 0.0f);
glVertex3f( -0.20, 0.20, 0.0);
glColor3f(0.0f, 0.0f, 1.0f);

glVertex3f( -0.20, -0.20, 0.0);


glColor3f(1.0f, 1.0f, 0.0f);
glVertex3f( 0.20, 0.20, 0.0);

glColor3f(0.0f, 1.0f, 1.0f);


glVertex3f( 0.20, -0.20, 0.0);
glColor3f(1.0f, 0.0f, 1.0f);
glVertex3f( 0.40, 0.20, 0.0);
glColor3f(0.0f, 0.0f, 0.0f);
glVertex3f( 0.40, -0.20, 0.0);
glEnd();
Hasil dari script diatas telah menampilkan 4 buah garis dengan gradasi warna yang glFlush();
}
berbeda tiap garisnya. Pada pemilihan warna, kami menggunakan beberapa kombinasi int main(int argc, char* argv[])
dari warna yang ada pada dasar teori,yaitu RGB dan CMYK serta warna putih. Selain {
glutInit(&argc, argv);
itu, kami menempatkan sesuai koordinat yang telah kami tentukan,serta ketebalan glutInitWindowSize(640,480);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
sebanyak 8.0f . Dari hasil script diatas pula kami menggunakan latar putih yang diatur glutCreateWindow("Membuat Garis");
pada baris glClearColor, sehingga terdapat perbedaan warna latar dari soal glutDisplayFunc(Garis);
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
sebelumnya. Hal ini kami lakukan agar gradasi warna yang terbentuk dari garis yang glutMainLoop();
return 0;
telah dibuat tidak merusak pandangan penglihatdan dapat melihatnya dengan jelas. }
ANALISA

Pada praktikum ini, selain beberapa analisis yang telah tertera pada hasil, bahwa kami dalam melakukan langkah kerja,
meneliti script yang terdapat pada dasar teori dan mengadakan modifikasi terhadap script itu, sehingga muncullah setiap
gambar grafik yang diinginkan. Namun dalam penerapannya, kami belajar bahwa dalam membuat grafik yang sesederhana
ini, perlu mempelajar ititik koordinat setiap titiknya, sehingga dapat membentuk sebuah objek yang diinginkan. Untuk
menjalankan beberapa script diatas, ada beberapa yang perludiperhatikan. Salah satunya yaitu pendefinisian nama tipe data
void yang harus sama pada baris glutCreateWindow dan glutDisplayFunc haruslah sama, karena aplikasi akan mendeteksi
jika terdapat ketidak cocokan. Untuk mengubah warna latar belakang setelah script di compile dan dijalankan, kita pula
harus memperhatikan baris glClearColor dengan memasukkan beberapa pilihan warna yang tertera padadasar teori. Dalam
menggabungkan beberapa objek dalam satu script, perlu memperhatikan batas script untuk setiap titik pada setiap objek,
haruslah mengakhirinya dengan baris glEnd()
KESIMPULAN

Berdasarkan hasil praktikum ini, dapat disimpulkan bahwa untuk membuat suatu objek diperlukan fungsi tertentu
seperti untuk membuat segitiga menggunakanfungsi gl_Triangles, untuk membuat garis menggunakan gl_Lines, untuk
membuat titik gl_points, untuk membuat persegi menggunakan glRectf. Fungsi-fungsi ini bertujuan untuk membentuk suatu
objek berdasarkan titik koordinat yang ditentukan dan dihubungkan sehingga dapat menjadi suatu objek.Pada praktikum ini
pula dikenal istilah OpenGl, dimana terdapat beberapafungsi yang digunakan dalam pembuatan objek. Grafis yang
dihasilkan pada praktikum ii bersifat primitif atau sederhana, karena belum dapat membuat bentuk- bentuk objek yang
kompleks. Dengan adanya OpenGl ini, pembaca diharapkan dapatmemahami bahwa teknik penggambaran objek
menggunakan OpenGl masih dalamkategori mudah dipamahi, kita hanya tinggal belajar mengenai titik koordinat
untukmeletakkan setiap titik dalam pembuatan objek.

Anda mungkin juga menyukai