SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
LAPORAN RESMI
PRAKTIKUM GRAFIKA KOMPUTER
MODUL I
“Primitive Drawing”
Disusun Oleh :
LABORATORIUM MICROTEACHING DAN KOMPUTER
JURUSAN PENDIDIKAN INFORMATIKA
FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN
UNIVERSITAS TRUNOJOYO MADURA
T.A. 2014-2015
Disetujui : Bangkalan, …………………
(AGUS PRIYONO)
12.04.111.00056
TANGGAL PRAKTIKUM : SENIN, 30 MARET 2015
NAMA : AINUN NAJIB
NRP : 130631100018
KELAS : A1
DOSEN PENGAMPU : MEDIKA RISNASARI, MT.
BAB I
PENDAHULUAN
1.1 Latar Belakang
Seiring dengan perkembangan teknologi infomasi dan komunikasi, yang lebih
familiar dikalangan bangsa yaitu computer, dari perkembangan tersbut terdapat
pula istilah Computer Graphic.
Computer Graphic ialah bagian ilmu computer yang berkaitan dengan
pembuatan visual, gambar, animasi atau pun game sederhana secara digital. Oleh
karena itu perkembangan ini sangat berperan aktif di kalangan informatika selain
itu juga hal ini yang menunjang sekali seperti hal di iklan, dunia film dan
semuanya.
Dalam pemanfaatan komputer grafik untuk manipulasi obyek, ada dua jenis
obyek yang bisa dimodelkan, yaitu obyek sederhana dan obyek kompleks. Obyek
sederhana dimodelkan dengan menggunakan persamaan geometri, sedangkan
obyek kompleks dimodelkan dengan merangkai banyak segitiga menjadi satu
kesatuan obyek. Obyek sederhana mudah dimodelkan tetapi bentuk yang
dihasilkan kurang bervariasi.
Sedangkan obyek kompleks lebih sulit dimodelkan tetapi bentuknya sangat
bervariasi. Untuk memodelkan obyek dengan cukup mudah dan bentuk bisa
bervariasi, biasanya digunakan gabungan dari obyek sederhana dan obyek
kompleks. Untuk menghasilkan bentuk permukaan yang lebih bervariasi, dapat
digunakan kurva bezier. Bahasa pemograman C/C++, Delphi pun juga dapat
digunakan.
Penggunaan bahasa pemrograman tersebut harus didukungan dengan IDE toll
untuk menjalankan atau untuk memudahkan user berkomunikasi dengan komputer
seperti OpenGL.
Namun, sebagian orang mengira OpenGL itu sebuah bahasa pemrograman,
itu salah OpenGL (Open Graphic Library) adalah sebuah library terdiri dari
berbagai macam fungsi dan biasanya digunakan untuk menggambar sebuah objek
2D ata 3D.
Tapi bukan berarti OpenGL adalah satu-satunya aplikasi render, pesaing
OpenGL directX (keluaran microsoft) memiliki fungsi yang hampir sama, namun
DirectX lebih banyak digunakan oleh sebagian besar game developer karena
beberapa fungsi DirectX nampaknya lebih memudahkan game developer untuk
membuat game. Tapi bukan berarti tidak ada yang memakai OpenGL, tiap-tiap
render memiliki kelebihan dan kekurangannya tersendiri. OpenGL biasanya
digunakan dengan bahasa pemrograman C/C+.
1.2 Tujuan
- Mahasiswa mampu membuat dan memanfaatkan output primitif (titik,
garis, segi empat, kurva, lingkaran, elips, fill area, dan teks).
- Mahasiswa mampu memahami dan mengerti apa itu OpenGL, CodeBlock
dan apa itu computer graphic.
- Mahasiswa memahami, mengerti fungsi dari computer graphic itu sendiri
dan mampu mengeplorasi kepada orang lain
BAB II
DASAR TEORI
2.1 TEORI
Penghasilan citra pada komputer grafik menggunakan primitif grafik dasar.
Primitif ini memudahkan untuk merender (menggambar pada ayar monitor)
sebagaimana penggunaan persamaan geometrik sederhana. Contoh primitif grafik
dasar (Gambar 1) adalah :
 Titik
 Garis, Segiempat
 Kurva, Lingkaran, ellipse, kurva bezier, kurva lainnya
 Fill area
 Text
 Segita
Gambar: 1. Primitif Drawing
Obyek kompleks dapat dibuat dengan kombinasi dari primitif ini. Adapun
contoh grafik primitif yang lain adalah :
- Poligaris yaitu urutan garis lurus yang saling terhubung.
- Teks adalah bentuk bahasa tulisan dengan simbol-simbol tertentu. Teks
merupakan kumpulan lebih dari dua karakter.
- Citra raster adalah gambar yang dibuat dengan piksel yang membedakan
bayangan dan warna. Citra raster disimpan dalam komputer sebagai larik
bernilai numerik. Larik tersebut dikenal sebagai piksel map atau bitmap.
Ada tiga cara untuk menghasilkan citra grafik yaitu citra didisain dengan
tangan, citra yang didapat dari perhitungan dan citra yang discan.
Pemaparan citra raster dinyatakan oleh piksel dengan video displays
(Cathod-ray Tube CRT), flat panel displays (LCD), hardcopy (printer
laser, dot matrix printers, ink-jet printers). Contoh proses pemaparan
permukaan adalah citra yang ditangkap lalu disimpan di frame buffer,
kemudian digunakan untuk mewarnai sebuah titik pada permukaan
pemapar. Selanjutnya proses scan di CRT. Frame buffer adalah matriks 2
dimensi yang mewakili piksel pada pemapar. Ukuran matriks harus cukup
untuk menyimpan kedalam warna pemapar untuk semua piksel. Sebagai
contoh pemapar (monitor) berresolusi 1280 x 1024 mempunya kedalaman
warna 24 bit (~16 juta warna) membutuhkan ruang simpan sekitar 4 Mb.
- Piksel dan Bitmap. Jumlah bit yang digunakan untuk mewakili
warna/bayangan dari masing-masing piksel (picture element = pixel). 4
bit/piksel = 24 = 16 level abu-abu.
BAB III
IMPLEMENTASI
3.1 Kegiatan Praktikum
PROGRAM PRIMITIS DRAWING
Program Primitis Drawing
#include <windows.h>
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif
#include <stdlib.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0,1.0,0.0);
glBegin(GL_POLYGON);
glVertex2f(-5.0, 5.0);
glColor3f(0.0,0.0,0.0);
glVertex2f(-5.0, -5.0);
glColor3f(1.0,1.0,1.0);
glVertex2f(5.0, -5.0);
glColor3f(0.0,0.0,0.0);
glVertex2f(5.0, 5.0);
glColor3f(1.0,1.0,1.0);
glVertex2f(0.10, 10.0);
glEnd();
glColor3f(0.0,1.0,0.0);
glBegin(GL_TRIANGLES);
glVertex2f(0.0, -10.0);
glVertex2f(-5.0, -5.0);
glVertex2f(5.0, -5.0);
glEnd();
glFlush();
}
void myinit()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-10.0,10.0,10.0,-10.0); // untuk
ukuran coordinat x, y
glMatrixMode(GL_MODELVIEW);
glClearColor(1.0,0.0,0.0,1.0);
/* menentukan intensitas warna RGB = terakhir
glColor3f(0.0,0.0,1.0);
}
int main(int argc, char* argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(300,300); // ukuran
besarnya resolusi
glutInitWindowPosition(100,100); // untuk
posisi windows
glutCreateWindow("Segitiga Warna");
glutDisplayFunc(display);
myinit();
glutMainLoop();
return 0;
}
#include <windows.h>
#include <GL/gl.h>
#include <GL/glut.h>
void display(void)
{
/* bersihkan layar dari titik pixel yang masih
ada */
glClear (GL_COLOR_BUFFER_BIT);
/* gambar poligon (rectangle) dengan titik sudut *
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */
glColor3f (1.0, 1.0, 0.0);
glBegin(GL_POINTS);
glVertex3f (0.0, 0.0, 0.0);
glVertex3f (0.0, 0.8, 0.0);
glVertex3f (0.8, 0.0, 0.0);
glVertex3f (0.0, -0.8, 0.0);
glVertex3f (-0.8, 0.0, 0.0);
glEnd();
glFlush ();
}
void kunci(unsigned char key, int x, int y)
{
switch (key)
{
case 27 :
case 'q':
exit(0);
break;
}
glutPostRedisplay();
}
int main(int argc, char *argv[])
{
glutInitWindowSize(200,200);
glutInitWindowPosition(100,100);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutCreateWindow("Suprapto");
glutDisplayFunc(display);
glutKeyboardFunc(kunci);
glutMainLoop();
return 0;
}
1. Gantilah sintak program yang berwarna merah bold untuk membuat
berbagai macam primitive drawing seperti sintak dibawah ini. Lakukan
pengamatan apa yang terjadi ? dan bagaimana hasilnya?
glBegin(GL_POINTS);
glBegin(GL_LINE_STRIP);
glBegin(GL_LINE_LOOP);
glBegin(GL_LINES);
glBegin(GL_TRIANGLES);
glBegin(GL_TRIANGLE_FAN);
glBegin(GL_TRIANGLE_STRIP);
glBegin(GL_QUADS);
glBegin(GL_QUAD_STRIP);
glBegin(GL_POLYGON);
2. Lakukan penyisipan glColor3f (X, X, X); pada tiap vertek, kemudian
amati lagi apa yang terjadi?
3. Lakukan pengaturan ketebalan titik dan garis dengan perintah
glPointSize(x); dan glLineWidth(x); kemudian amati apa yang terjadi?
glPointSize(20) glLineWidht(20)
3.2 TUGAS
1. glBEGIN (GL_LINE_LOOP)
#include <windows.h>
#include <GL/gl.h>
#include <GL/glut.h>
void display(void){
/* bersihkan layar dari titik pixel yang masih ada */
glClear (GL_COLOR_BUFFER_BIT);
/*gambar poligon (rectangle) dengan titik sudut *
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */
glColor3f (1.0, 1.0, 1.0);
glBegin(GL_LINE_LOOP);
glVertex3f (0.0, 0.0, 0.0);
glVertex3f (0.0, 0.8, 0.0);
glVertex3f (0.8, 0.0, 0.0);
glVertex3f (0.0, -0.8, 0.0);
glVertex3f (-0.8, 0.0, 0.0);
glEnd();
glFlush ();
}
void kunci(unsigned char key, int x, int y)
{
switch (key)
{
case 27 :
case 'q':
exit(0);
break;
}
glutPostRedisplay();
}
int main(int argc, char *argv[]){
glutInitWindowSize(300,300);
glutInitWindowPosition(200,200);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutCreateWindow("Suprapto");
glutDisplayFunc(display);
glutKeyboardFunc(kunci);
glutMainLoop();
return 0;
}
2. glBEGIN (GL_POINTS)
void display(void){
/* bersihkan layar dari titik pixel yang masih ada */
glClear (GL_COLOR_BUFFER_BIT);
/*gambar poligon (rectangle) dengan titik sudut *
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */
glColor3f (1.0, 1.0, 1.0);
glBegin(GL_POINTS);
glVertex3f (0.0, 0.0, 0.0);
glVertex3f (0.0, 0.8, 0.0);
glVertex3f (0.8, 0.0, 0.0);
glVertex3f (0.0, -0.8, 0.0);
glVertex3f (-0.8, 0.0, 0.0);
glEnd();
glFlush ();
}
3. glBegin(GL_LINE_STRIP);
void display(void){
/* bersihkan layar dari titik pixel yang masih ada */
glClear (GL_LINE_STRIP);
/*gambar poligon (rectangle) dengan titik sudut *
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */
glColor3f (0.0, 1.0, 0.0);
glBegin(GL_POINTS);
glVertex3f (0.0, 0.0, 0.0);
glVertex3f (0.0, 0.8, 0.0);
glVertex3f (0.8, 0.0, 0.0);
glVertex3f (0.0, -0.8, 0.0);
glVertex3f (-0.8, 0.0, 0.0);
glEnd();
glFlush ();
}
4. glBegin(GL_LINES);
void display(void){
/* bersihkan layar dari titik pixel yang masih ada */
glClear (GL_LINES);
/*gambar poligon (rectangle) dengan titik sudut *
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */
glColor3f (1.0, 1.0, 0.1);
glBegin(GL_POINTS);
glVertex3f (8.0, 0.0, 0.0);
glVertex3f (0.0, 0.8, 0.0);
glVertex3f (0.8, 0.0, 0.0);
glVertex3f (0.0, -0.8, 0.0);
glVertex3f (-0.8, 0.0, .0);
glEnd();
glFlush ();
}
5. glBegin(GL_TRIANGLES);
#include <windows.h>
#include <GL/gl.h>
#include <GL/glut.h>
void display(void)
{
/* bersihkan layar dari titik pixel yang
masih ada */
glClear (GL_COLOR_BUFFER_BIT);
/* gambar poligon (rectangle) dengan titik sudut
*
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */
glBegin(GL_POLYGON);
glColor3f(0.1, 0.0, 0.1);
glVertex3f (-0.8, 0.0, 0.0);
glColor3f(0.0, 0.0, 1.0);
glVertex3f (0.0, 0.8, 0.0);
glColor3f(1.0, 1.1, 0.0);
glVertex3f (0.8, 0.0, 0.0);
glVertex3f (0.0, -0.8, 0.0);
glColor3f(0.0, 0.1, .0);
glVertex3f (-0.8, 0.0, 0.0);
glColor3f(1.0, 1.0, 0.0);
glEnd();
glColor3f(0.0, 1.0, 0.0);
glBegin(GL_TRIANGLES);
glVertex3f(0.0, 0.0, -0.8);
glVertex3f (0.0, -8.0, 0.0);
glVertex3f(0.0, 0.0, 0.8);
glEnd();
glFlush ();
}
void kunci(unsigned char key, int x, int y)
{
switch (key)
{
case 27 :
case 'q':
exit(0);
break;
}
glutPostRedisplay();
}
int main(int argc, char *argv[])
{
glutInitWindowSize(200,200);
glutInitWindowPosition(100,100);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutCreateWindow("Suprapto");
glutDisplayFunc(display);
glutKeyboardFunc(kunci);
glutMainLoop();
return 0;
}
- Segita tiga sama kaki
void display(void)
{
/* bersihkan layar dari titik pixel yang
masih ada */
glClear (GL_COLOR_BUFFER_BIT);
/* gambar poligon (rectangle) dengan titik
sudut *
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */
glBegin(GL_POLYGON);
glColor3f(0.1, 0.0, 0.0);
glVertex3f (-0.5, 0.0, 0.0);
glColor3f(0.0, 1.0, 1.0);
glVertex3f (0.0, 0.5, 0.0);
glColor3f(1.0, 0.1, 0.1);
glVertex3f (0.5, 0.0, 0.0);
glEnd();
glFlush ();
}
- Gambar Kubus
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <gl/glut.h>
void initializer_list (void){
glClearColor(0.0, 1.0, 0.0, 1.0);
glShadeModel(GL_FLAT);}
void display (void){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0, 0.0, 0.0);
glLoadIdentity();
gluLookAt(0.5, 2.0, 5.0, 0.0, 0.0, 0.0, 0.0,
1.0, 0.0);
glScalef(2.0, 2.0, 2.0);
glutWireCube(1.0);
glFlush();
}
void reshape (int w, int h){
glViewport(0,0,(GLsizei)w, (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1.0, 1.0, -1.0, 1.0, 2.0, 20.0);
glMatrixMode(GL_MODELVIEW);
}
int main (int argc, char**argv){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize (500,500);
glutCreateWindow(argv[0]);
initializer_list ();
glutDisplayFunc (display);
glutReshapeFunc (reshape);
glutMainLoop();
return 0;}
- Buat Warna Pelangi yang terdiri dari 7 warna
glBegin(GL_POLYGON);
glColor3f (1.0, 0.0, 0.0);
glVertex3f (-1.0, -1.0, 0.0);
glVertex3f (-1.0, 1.0, 0.0);
glColor3f (1.0, 0.5, 0.0);
glVertex3f (-0.75, 1.0, 0.0);
glVertex3f (-0.75, -1.0, 0.0);
glEnd();
glBegin(GL_POLYGON);
glColor3f (1.0, 0.5, 0.0);
glVertex3f (-0.75, -1.0, 0.0);
glVertex3f (-0.75, 1.0, 0.0);
glColor3f (1.0, 1.0, 0.0);
glVertex3f (-0.5, 1.0, 0.0);
glVertex3f (-0.5, -1.0, 0.0);
glEnd();
glBegin(GL_POLYGON);
glColor3f (1.0, 1.0, 0.0);
glVertex3f (-0.5, -1.0, 0.0);
glVertex3f (-0.5, 1.0, 0.0);
glColor3f (0.0, 1.0, 0.0);
glVertex3f (-0.25, 1.0, 0.0);
glVertex3f (-0.25, -1.0, 0.0);
glEnd();
glBegin(GL_POLYGON);
glColor3f (0.0, 1.0, 0.0);
glVertex3f (-0.25, -1.0, 0.0);
glVertex3f (-0.25, 1.0, 0.0);
glColor3f (0.0, 0.0, 1.0);
glVertex3f (0.25, 1.0, 0.0);
glVertex3f (0.25, -1.0, 0.0);
glEnd();
glBegin(GL_POLYGON);
glColor3f (0.0, 0.0, 1.0);
glVertex3f (0.25, -1.0, 0.0);
glVertex3f (0.25, 1.0, 0.0);
glColor3f (1.0, 0.0, 0.5);
glVertex3f (0.5, 1.0, 0.0);
glVertex3f (0.5, -1.0, 0.0);
glEnd();
glBegin(GL_POLYGON);
glColor3f (1.0, 0.0, 0.5);
glVertex3f (0.5, -1.0, 0.0);
glVertex3f (0.5, 1.0, 0.0);
glColor3f (1.0, 0.0, 1.0);
glVertex3f (0.75, 1.0, 0.0);
glVertex3f (0.75, -1.0, 0.0);
glEnd();
glBegin(GL_POLYGON);
glColor3f (1.0, 0.0, 1.0);
glVertex3f (0.75, -1.0, 0.0);
glVertex3f (0.75, 1.0, 0.0);
glVertex3f (1.0, 1.0, 0.0);
glVertex3f (1.0, -1.0, 0.0);
glEnd();
glFlush ();
- Buatlah Gambar segi empat dengan didalamnya diblok warna merah
#include <windows.h>
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif
#include <stdlib.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,0.0,0.0);
glBegin(GL_POLYGON);
glVertex2f(-5.0, 5.0);
glColor3f(0.0,0.0,0.0);
glVertex2f(-5.0, -5.0);
glColor3f(1.0,0.0,0.0);
glVertex2f(5.0, -5.0);
glColor3f(0.0,0.0,0.0);
glVertex2f(5.0, 5.0);
glEnd();
glFlush();
}
void myinit()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-10.0,10.0,10.0,-10.0); // untuk
ukuran coordinat x, y
glMatrixMode(GL_MODELVIEW);
glClearColor(0.0,1.0,0.0,0.0); // menentukan
intesitas warna RGB = terakhir
glColor3f(0.0,0.0,1.0);
}
int main(int argc, char* argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(300,300); // ukuran
besarnya resolusi
glutInitWindowPosition(100,100); // untuk
posisi windows
glutCreateWindow("Segitiga Warna");
glutDisplayFunc(display);
myinit();
glutMainLoop();
return 0;
}
BAB IV
PENUTUP
4.1 Kesimpulan
Salah satu aplikasi atau software yang digunakan untuk membuat grafik,
animasi ataupun game serta program sederhana lainnya. Gambar yang terdapat di
dalam openGL meliputi polygon, segiti tiga, persegi dsb. Selain itu juga openGL
merupakan perangkat lunak yang memiliki objek-objek tertentu yang disibut
dengan primitive drawing.
Dalam mengoprasikan atau menjalankan OpenGL ini selalu dimulai dengan
glBegin(); dalam menggambar baik okjek, titik, atau garis selalu disertai dengan
glBegin() gambar yang ingin kita gambar di masukkan di dalam kurung
setelahnya misalnya, glbegin (GL_LINES); perintah dalam kurung yang akan
membuat garis vertical maupun horizontal sesuai dengan selera kita. Titik koma
dibelakang kurang yaitu sebagai pembatas dari setiap pengcodingan dalam
openGL namun tidak semua dari coding tersebut harus ada titik komanya, seperti
glEnd () }, ditandai dengan kurung kurawal yang berfungsi untuk membatasi
keseluruhan program yang kita butuhkan.
Setelah kita melakukan intruksi untuk membuat sesuatu yang berada dalam
imajinasi kita. Maka yang dibutuhkan pula yaitu glVertex, Verrtex ini yang akan
mengawali pekerjaan kita dan akan menjadi suatu acuan penting ketika dalam
pembuatan objek yang berupa titik. Misalnya, glVertex (0.0, 2.0, 0.0, 0.0);
maksudnya titik atau garis coordinat x atau y untuk memulai titik dalam
menggambar sebuah objek.
Setelah kita memula dengan glBegin(), tentu membutuhkan pula untuk
mengakhiri sebuah pekerjaan, glEnd () yang menjadi penutup dari pekerjaan kita
pada perangkat lunak OpenGL.
4.2 Saran
Asisten tidak cukup samapai disini untuk mentransformasikan ilmu yang
dimiliki, namun bagaimana nantinya kami bisa di luar praktikum untuk belajar
lebih baik.
Grafika 130631100018 ainun_najib_modul1

Weitere ähnliche Inhalte

Was ist angesagt?

Rpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunakRpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunakf' yagami
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasimastnie
 
Perangkat lunak presentation
Perangkat lunak presentationPerangkat lunak presentation
Perangkat lunak presentationDavid Indra Kz
 
makalah windows 7 dan ubuntu
makalah windows 7 dan ubuntumakalah windows 7 dan ubuntu
makalah windows 7 dan ubuntuteguh septian
 
makalah Perangkat lunak
makalah Perangkat lunak makalah Perangkat lunak
makalah Perangkat lunak afifahyuha
 
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOContext Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOahmad haidaroh
 
Pertemuan 11 Sistem Pakar (Expert System)
Pertemuan 11 Sistem Pakar (Expert System)Pertemuan 11 Sistem Pakar (Expert System)
Pertemuan 11 Sistem Pakar (Expert System)Endang Retnoningsih
 
Kriptografi - Algoritma RSA
Kriptografi - Algoritma RSAKriptografi - Algoritma RSA
Kriptografi - Algoritma RSAKuliahKita
 
Sistem Komputer Kelas 7
Sistem Komputer Kelas 7Sistem Komputer Kelas 7
Sistem Komputer Kelas 7Farichah Riha
 
Soal-soal Latihan TIK Kelas 9
Soal-soal Latihan TIK Kelas 9Soal-soal Latihan TIK Kelas 9
Soal-soal Latihan TIK Kelas 9wijaya kusumah
 
Aplikasi pengolah kata
Aplikasi pengolah kataAplikasi pengolah kata
Aplikasi pengolah kataHilmi Halim
 
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Nabil Muhammad Firdaus
 
Ppt komponen komputer - sri paramudita x ad2
Ppt komponen komputer - sri paramudita x ad2 Ppt komponen komputer - sri paramudita x ad2
Ppt komponen komputer - sri paramudita x ad2 sriparamudita33
 
Pemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi BerkasPemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi BerkasKuliahKita
 
multiprosesor & multikomputer
multiprosesor & multikomputermultiprosesor & multikomputer
multiprosesor & multikomputerReza Mardiyeni
 

Was ist angesagt? (20)

Rpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunakRpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunak
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasi
 
Perangkat lunak presentation
Perangkat lunak presentationPerangkat lunak presentation
Perangkat lunak presentation
 
makalah windows 7 dan ubuntu
makalah windows 7 dan ubuntumakalah windows 7 dan ubuntu
makalah windows 7 dan ubuntu
 
makalah Perangkat lunak
makalah Perangkat lunak makalah Perangkat lunak
makalah Perangkat lunak
 
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOContext Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
 
Pertemuan 11 Sistem Pakar (Expert System)
Pertemuan 11 Sistem Pakar (Expert System)Pertemuan 11 Sistem Pakar (Expert System)
Pertemuan 11 Sistem Pakar (Expert System)
 
Processing
ProcessingProcessing
Processing
 
Kriptografi - Algoritma RSA
Kriptografi - Algoritma RSAKriptografi - Algoritma RSA
Kriptografi - Algoritma RSA
 
Sistem Komputer Kelas 7
Sistem Komputer Kelas 7Sistem Komputer Kelas 7
Sistem Komputer Kelas 7
 
Komponen sistem komputer ppt
Komponen sistem komputer pptKomponen sistem komputer ppt
Komponen sistem komputer ppt
 
Soal-soal Latihan TIK Kelas 9
Soal-soal Latihan TIK Kelas 9Soal-soal Latihan TIK Kelas 9
Soal-soal Latihan TIK Kelas 9
 
Aplikasi pengolah kata
Aplikasi pengolah kataAplikasi pengolah kata
Aplikasi pengolah kata
 
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
 
Ppt komponen komputer - sri paramudita x ad2
Ppt komponen komputer - sri paramudita x ad2 Ppt komponen komputer - sri paramudita x ad2
Ppt komponen komputer - sri paramudita x ad2
 
Bahasa Pemrograman
Bahasa PemrogramanBahasa Pemrograman
Bahasa Pemrograman
 
GoLang_1
GoLang_1GoLang_1
GoLang_1
 
Tugas imk
Tugas imkTugas imk
Tugas imk
 
Pemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi BerkasPemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi Berkas
 
multiprosesor & multikomputer
multiprosesor & multikomputermultiprosesor & multikomputer
multiprosesor & multikomputer
 

Andere mochten auch

229334287 laporan-praktikum-dhani
229334287 laporan-praktikum-dhani229334287 laporan-praktikum-dhani
229334287 laporan-praktikum-dhaniDex Dun
 
Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code BlockLaporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code BlockIhsan Nurhalim
 
membuat grafis dengan PHP
membuat grafis dengan PHPmembuat grafis dengan PHP
membuat grafis dengan PHPdetal 31392
 
Naskah Repertoar Pantomime, karya : Rhamanda Yudha Pratomo
Naskah Repertoar Pantomime, karya : Rhamanda Yudha PratomoNaskah Repertoar Pantomime, karya : Rhamanda Yudha Pratomo
Naskah Repertoar Pantomime, karya : Rhamanda Yudha PratomoZAM MIME Production
 
Teknik pemrograman sem 2
Teknik pemrograman sem 2Teknik pemrograman sem 2
Teknik pemrograman sem 2setioaribowo
 
Soal dan pembahasan ellips
Soal dan pembahasan ellipsSoal dan pembahasan ellips
Soal dan pembahasan ellipsNida Shafiyanti
 
Membuat Grafik Fungsi di Excel
Membuat Grafik Fungsi di ExcelMembuat Grafik Fungsi di Excel
Membuat Grafik Fungsi di ExcelYani Pieter Pitoy
 

Andere mochten auch (10)

229334287 laporan-praktikum-dhani
229334287 laporan-praktikum-dhani229334287 laporan-praktikum-dhani
229334287 laporan-praktikum-dhani
 
Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code BlockLaporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
 
Animasi Dasar
Animasi DasarAnimasi Dasar
Animasi Dasar
 
Modul praktikum Bahasa assembly
Modul praktikum Bahasa assemblyModul praktikum Bahasa assembly
Modul praktikum Bahasa assembly
 
membuat grafis dengan PHP
membuat grafis dengan PHPmembuat grafis dengan PHP
membuat grafis dengan PHP
 
Naskah Repertoar Pantomime, karya : Rhamanda Yudha Pratomo
Naskah Repertoar Pantomime, karya : Rhamanda Yudha PratomoNaskah Repertoar Pantomime, karya : Rhamanda Yudha Pratomo
Naskah Repertoar Pantomime, karya : Rhamanda Yudha Pratomo
 
Pantomim
PantomimPantomim
Pantomim
 
Teknik pemrograman sem 2
Teknik pemrograman sem 2Teknik pemrograman sem 2
Teknik pemrograman sem 2
 
Soal dan pembahasan ellips
Soal dan pembahasan ellipsSoal dan pembahasan ellips
Soal dan pembahasan ellips
 
Membuat Grafik Fungsi di Excel
Membuat Grafik Fungsi di ExcelMembuat Grafik Fungsi di Excel
Membuat Grafik Fungsi di Excel
 

Ähnlich wie Grafika 130631100018 ainun_najib_modul1

Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxLaporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxkomzud
 
Desain Pemodelan Grafik - Bab 4 Tugas 4
Desain Pemodelan Grafik - Bab 4 Tugas 4Desain Pemodelan Grafik - Bab 4 Tugas 4
Desain Pemodelan Grafik - Bab 4 Tugas 4Bayu Radityo
 
materi tik power point kelas 12 semester 1
materi  tik power point kelas 12 semester 1 materi  tik power point kelas 12 semester 1
materi tik power point kelas 12 semester 1 Angelita S
 
Tugas kuliah dedi yudiana s.t kom
Tugas kuliah dedi yudiana s.t komTugas kuliah dedi yudiana s.t kom
Tugas kuliah dedi yudiana s.t komRyan Santosa
 
Makalah Komgraf
Makalah KomgrafMakalah Komgraf
Makalah Komgrafkiuntoro
 
Pengantar grafika1
Pengantar grafika1Pengantar grafika1
Pengantar grafika1Hanz Skyblue
 
Mendiskusikan_Format_Gambar.pdf
Mendiskusikan_Format_Gambar.pdfMendiskusikan_Format_Gambar.pdf
Mendiskusikan_Format_Gambar.pdfZainul Arifin
 
17._Memahami_teknik_rendering_pada_object_3d.pdf
17._Memahami_teknik_rendering_pada_object_3d.pdf17._Memahami_teknik_rendering_pada_object_3d.pdf
17._Memahami_teknik_rendering_pada_object_3d.pdfZainul Arifin
 
PPT-UEU-–-Graphic-of-Communications-–-Pertemuan-2.ppt
PPT-UEU-–-Graphic-of-Communications-–-Pertemuan-2.pptPPT-UEU-–-Graphic-of-Communications-–-Pertemuan-2.ppt
PPT-UEU-–-Graphic-of-Communications-–-Pertemuan-2.pptssuser637fdc
 
Graphic-of-Communications
Graphic-of-CommunicationsGraphic-of-Communications
Graphic-of-CommunicationsRizaalUyhee
 

Ähnlich wie Grafika 130631100018 ainun_najib_modul1 (20)

Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxLaporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
 
Desain Pemodelan Grafik - Bab 4 Tugas 4
Desain Pemodelan Grafik - Bab 4 Tugas 4Desain Pemodelan Grafik - Bab 4 Tugas 4
Desain Pemodelan Grafik - Bab 4 Tugas 4
 
Komputer grafik 1
Komputer grafik 1Komputer grafik 1
Komputer grafik 1
 
Komputer grafik 1
Komputer grafik 1Komputer grafik 1
Komputer grafik 1
 
Pertemuan 1 Grafika Komputer.pdf
Pertemuan 1 Grafika Komputer.pdfPertemuan 1 Grafika Komputer.pdf
Pertemuan 1 Grafika Komputer.pdf
 
materi tik power point kelas 12 semester 1
materi  tik power point kelas 12 semester 1 materi  tik power point kelas 12 semester 1
materi tik power point kelas 12 semester 1
 
Ady
AdyAdy
Ady
 
Tugas kuliah dedi yudiana s.t kom
Tugas kuliah dedi yudiana s.t komTugas kuliah dedi yudiana s.t kom
Tugas kuliah dedi yudiana s.t kom
 
Makalah Komgraf
Makalah KomgrafMakalah Komgraf
Makalah Komgraf
 
Pengantar grafika1
Pengantar grafika1Pengantar grafika1
Pengantar grafika1
 
9 pengolahan citra
9   pengolahan citra9   pengolahan citra
9 pengolahan citra
 
Mendiskusikan_Format_Gambar.pdf
Mendiskusikan_Format_Gambar.pdfMendiskusikan_Format_Gambar.pdf
Mendiskusikan_Format_Gambar.pdf
 
KD Mendiskusikan format gambar
KD Mendiskusikan format gambarKD Mendiskusikan format gambar
KD Mendiskusikan format gambar
 
Grafik 3 dimensi
Grafik 3 dimensiGrafik 3 dimensi
Grafik 3 dimensi
 
Animasi 2D dan 3D KD: Memahami teknik rendering pada object 3d
Animasi 2D dan 3D KD: Memahami teknik rendering pada object 3dAnimasi 2D dan 3D KD: Memahami teknik rendering pada object 3d
Animasi 2D dan 3D KD: Memahami teknik rendering pada object 3d
 
17._Memahami_teknik_rendering_pada_object_3d.pdf
17._Memahami_teknik_rendering_pada_object_3d.pdf17._Memahami_teknik_rendering_pada_object_3d.pdf
17._Memahami_teknik_rendering_pada_object_3d.pdf
 
Modul-AUTOCAD.pdf
Modul-AUTOCAD.pdfModul-AUTOCAD.pdf
Modul-AUTOCAD.pdf
 
Makalah d2
Makalah d2Makalah d2
Makalah d2
 
PPT-UEU-–-Graphic-of-Communications-–-Pertemuan-2.ppt
PPT-UEU-–-Graphic-of-Communications-–-Pertemuan-2.pptPPT-UEU-–-Graphic-of-Communications-–-Pertemuan-2.ppt
PPT-UEU-–-Graphic-of-Communications-–-Pertemuan-2.ppt
 
Graphic-of-Communications
Graphic-of-CommunicationsGraphic-of-Communications
Graphic-of-Communications
 

Kürzlich hochgeladen

05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.pptSonyGobang1
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 

Kürzlich hochgeladen (6)

05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 

Grafika 130631100018 ainun_najib_modul1

  • 1. LAPORAN RESMI PRAKTIKUM GRAFIKA KOMPUTER MODUL I “Primitive Drawing” Disusun Oleh : LABORATORIUM MICROTEACHING DAN KOMPUTER JURUSAN PENDIDIKAN INFORMATIKA FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN UNIVERSITAS TRUNOJOYO MADURA T.A. 2014-2015 Disetujui : Bangkalan, ………………… (AGUS PRIYONO) 12.04.111.00056 TANGGAL PRAKTIKUM : SENIN, 30 MARET 2015 NAMA : AINUN NAJIB NRP : 130631100018 KELAS : A1 DOSEN PENGAMPU : MEDIKA RISNASARI, MT.
  • 2. BAB I PENDAHULUAN 1.1 Latar Belakang Seiring dengan perkembangan teknologi infomasi dan komunikasi, yang lebih familiar dikalangan bangsa yaitu computer, dari perkembangan tersbut terdapat pula istilah Computer Graphic. Computer Graphic ialah bagian ilmu computer yang berkaitan dengan pembuatan visual, gambar, animasi atau pun game sederhana secara digital. Oleh karena itu perkembangan ini sangat berperan aktif di kalangan informatika selain itu juga hal ini yang menunjang sekali seperti hal di iklan, dunia film dan semuanya. Dalam pemanfaatan komputer grafik untuk manipulasi obyek, ada dua jenis obyek yang bisa dimodelkan, yaitu obyek sederhana dan obyek kompleks. Obyek sederhana dimodelkan dengan menggunakan persamaan geometri, sedangkan obyek kompleks dimodelkan dengan merangkai banyak segitiga menjadi satu kesatuan obyek. Obyek sederhana mudah dimodelkan tetapi bentuk yang dihasilkan kurang bervariasi. Sedangkan obyek kompleks lebih sulit dimodelkan tetapi bentuknya sangat bervariasi. Untuk memodelkan obyek dengan cukup mudah dan bentuk bisa bervariasi, biasanya digunakan gabungan dari obyek sederhana dan obyek kompleks. Untuk menghasilkan bentuk permukaan yang lebih bervariasi, dapat digunakan kurva bezier. Bahasa pemograman C/C++, Delphi pun juga dapat digunakan. Penggunaan bahasa pemrograman tersebut harus didukungan dengan IDE toll untuk menjalankan atau untuk memudahkan user berkomunikasi dengan komputer seperti OpenGL. Namun, sebagian orang mengira OpenGL itu sebuah bahasa pemrograman, itu salah OpenGL (Open Graphic Library) adalah sebuah library terdiri dari berbagai macam fungsi dan biasanya digunakan untuk menggambar sebuah objek 2D ata 3D. Tapi bukan berarti OpenGL adalah satu-satunya aplikasi render, pesaing
  • 3. OpenGL directX (keluaran microsoft) memiliki fungsi yang hampir sama, namun DirectX lebih banyak digunakan oleh sebagian besar game developer karena beberapa fungsi DirectX nampaknya lebih memudahkan game developer untuk membuat game. Tapi bukan berarti tidak ada yang memakai OpenGL, tiap-tiap render memiliki kelebihan dan kekurangannya tersendiri. OpenGL biasanya digunakan dengan bahasa pemrograman C/C+. 1.2 Tujuan - Mahasiswa mampu membuat dan memanfaatkan output primitif (titik, garis, segi empat, kurva, lingkaran, elips, fill area, dan teks). - Mahasiswa mampu memahami dan mengerti apa itu OpenGL, CodeBlock dan apa itu computer graphic. - Mahasiswa memahami, mengerti fungsi dari computer graphic itu sendiri dan mampu mengeplorasi kepada orang lain
  • 4. BAB II DASAR TEORI 2.1 TEORI Penghasilan citra pada komputer grafik menggunakan primitif grafik dasar. Primitif ini memudahkan untuk merender (menggambar pada ayar monitor) sebagaimana penggunaan persamaan geometrik sederhana. Contoh primitif grafik dasar (Gambar 1) adalah :  Titik  Garis, Segiempat  Kurva, Lingkaran, ellipse, kurva bezier, kurva lainnya  Fill area  Text  Segita Gambar: 1. Primitif Drawing Obyek kompleks dapat dibuat dengan kombinasi dari primitif ini. Adapun contoh grafik primitif yang lain adalah : - Poligaris yaitu urutan garis lurus yang saling terhubung. - Teks adalah bentuk bahasa tulisan dengan simbol-simbol tertentu. Teks merupakan kumpulan lebih dari dua karakter. - Citra raster adalah gambar yang dibuat dengan piksel yang membedakan bayangan dan warna. Citra raster disimpan dalam komputer sebagai larik bernilai numerik. Larik tersebut dikenal sebagai piksel map atau bitmap. Ada tiga cara untuk menghasilkan citra grafik yaitu citra didisain dengan
  • 5. tangan, citra yang didapat dari perhitungan dan citra yang discan. Pemaparan citra raster dinyatakan oleh piksel dengan video displays (Cathod-ray Tube CRT), flat panel displays (LCD), hardcopy (printer laser, dot matrix printers, ink-jet printers). Contoh proses pemaparan permukaan adalah citra yang ditangkap lalu disimpan di frame buffer, kemudian digunakan untuk mewarnai sebuah titik pada permukaan pemapar. Selanjutnya proses scan di CRT. Frame buffer adalah matriks 2 dimensi yang mewakili piksel pada pemapar. Ukuran matriks harus cukup untuk menyimpan kedalam warna pemapar untuk semua piksel. Sebagai contoh pemapar (monitor) berresolusi 1280 x 1024 mempunya kedalaman warna 24 bit (~16 juta warna) membutuhkan ruang simpan sekitar 4 Mb. - Piksel dan Bitmap. Jumlah bit yang digunakan untuk mewakili warna/bayangan dari masing-masing piksel (picture element = pixel). 4 bit/piksel = 24 = 16 level abu-abu.
  • 6. BAB III IMPLEMENTASI 3.1 Kegiatan Praktikum PROGRAM PRIMITIS DRAWING Program Primitis Drawing #include <windows.h> #ifdef __APPLE__ #include <GLUT/glut.h> #else #include <GL/glut.h> #endif #include <stdlib.h> void display() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0,1.0,0.0); glBegin(GL_POLYGON); glVertex2f(-5.0, 5.0); glColor3f(0.0,0.0,0.0); glVertex2f(-5.0, -5.0); glColor3f(1.0,1.0,1.0); glVertex2f(5.0, -5.0); glColor3f(0.0,0.0,0.0); glVertex2f(5.0, 5.0); glColor3f(1.0,1.0,1.0); glVertex2f(0.10, 10.0); glEnd(); glColor3f(0.0,1.0,0.0); glBegin(GL_TRIANGLES); glVertex2f(0.0, -10.0); glVertex2f(-5.0, -5.0); glVertex2f(5.0, -5.0); glEnd(); glFlush(); } void myinit() {
  • 7. glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(-10.0,10.0,10.0,-10.0); // untuk ukuran coordinat x, y glMatrixMode(GL_MODELVIEW); glClearColor(1.0,0.0,0.0,1.0); /* menentukan intensitas warna RGB = terakhir glColor3f(0.0,0.0,1.0); } int main(int argc, char* argv[]) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(300,300); // ukuran besarnya resolusi glutInitWindowPosition(100,100); // untuk posisi windows glutCreateWindow("Segitiga Warna"); glutDisplayFunc(display); myinit(); glutMainLoop(); return 0; } #include <windows.h> #include <GL/gl.h> #include <GL/glut.h> void display(void) { /* bersihkan layar dari titik pixel yang masih ada */
  • 8. glClear (GL_COLOR_BUFFER_BIT); /* gambar poligon (rectangle) dengan titik sudut * * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */ glColor3f (1.0, 1.0, 0.0); glBegin(GL_POINTS); glVertex3f (0.0, 0.0, 0.0); glVertex3f (0.0, 0.8, 0.0); glVertex3f (0.8, 0.0, 0.0); glVertex3f (0.0, -0.8, 0.0); glVertex3f (-0.8, 0.0, 0.0); glEnd(); glFlush (); } void kunci(unsigned char key, int x, int y) { switch (key) { case 27 : case 'q': exit(0); break; } glutPostRedisplay(); } int main(int argc, char *argv[]) { glutInitWindowSize(200,200); glutInitWindowPosition(100,100); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutCreateWindow("Suprapto"); glutDisplayFunc(display); glutKeyboardFunc(kunci); glutMainLoop(); return 0; }
  • 9. 1. Gantilah sintak program yang berwarna merah bold untuk membuat berbagai macam primitive drawing seperti sintak dibawah ini. Lakukan pengamatan apa yang terjadi ? dan bagaimana hasilnya? glBegin(GL_POINTS); glBegin(GL_LINE_STRIP); glBegin(GL_LINE_LOOP); glBegin(GL_LINES); glBegin(GL_TRIANGLES); glBegin(GL_TRIANGLE_FAN); glBegin(GL_TRIANGLE_STRIP); glBegin(GL_QUADS); glBegin(GL_QUAD_STRIP); glBegin(GL_POLYGON); 2. Lakukan penyisipan glColor3f (X, X, X); pada tiap vertek, kemudian amati lagi apa yang terjadi? 3. Lakukan pengaturan ketebalan titik dan garis dengan perintah glPointSize(x); dan glLineWidth(x); kemudian amati apa yang terjadi? glPointSize(20) glLineWidht(20)
  • 10. 3.2 TUGAS 1. glBEGIN (GL_LINE_LOOP) #include <windows.h> #include <GL/gl.h> #include <GL/glut.h> void display(void){ /* bersihkan layar dari titik pixel yang masih ada */ glClear (GL_COLOR_BUFFER_BIT); /*gambar poligon (rectangle) dengan titik sudut * * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */ glColor3f (1.0, 1.0, 1.0); glBegin(GL_LINE_LOOP); glVertex3f (0.0, 0.0, 0.0); glVertex3f (0.0, 0.8, 0.0); glVertex3f (0.8, 0.0, 0.0); glVertex3f (0.0, -0.8, 0.0); glVertex3f (-0.8, 0.0, 0.0); glEnd(); glFlush (); } void kunci(unsigned char key, int x, int y) { switch (key) { case 27 : case 'q': exit(0); break; } glutPostRedisplay(); } int main(int argc, char *argv[]){ glutInitWindowSize(300,300); glutInitWindowPosition(200,200); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutCreateWindow("Suprapto"); glutDisplayFunc(display); glutKeyboardFunc(kunci); glutMainLoop(); return 0; }
  • 11. 2. glBEGIN (GL_POINTS) void display(void){ /* bersihkan layar dari titik pixel yang masih ada */ glClear (GL_COLOR_BUFFER_BIT); /*gambar poligon (rectangle) dengan titik sudut * * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */ glColor3f (1.0, 1.0, 1.0); glBegin(GL_POINTS); glVertex3f (0.0, 0.0, 0.0); glVertex3f (0.0, 0.8, 0.0); glVertex3f (0.8, 0.0, 0.0); glVertex3f (0.0, -0.8, 0.0); glVertex3f (-0.8, 0.0, 0.0); glEnd(); glFlush (); }
  • 12. 3. glBegin(GL_LINE_STRIP); void display(void){ /* bersihkan layar dari titik pixel yang masih ada */ glClear (GL_LINE_STRIP); /*gambar poligon (rectangle) dengan titik sudut * * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */ glColor3f (0.0, 1.0, 0.0); glBegin(GL_POINTS); glVertex3f (0.0, 0.0, 0.0); glVertex3f (0.0, 0.8, 0.0); glVertex3f (0.8, 0.0, 0.0); glVertex3f (0.0, -0.8, 0.0); glVertex3f (-0.8, 0.0, 0.0); glEnd(); glFlush (); }
  • 13. 4. glBegin(GL_LINES); void display(void){ /* bersihkan layar dari titik pixel yang masih ada */ glClear (GL_LINES); /*gambar poligon (rectangle) dengan titik sudut * * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */ glColor3f (1.0, 1.0, 0.1); glBegin(GL_POINTS); glVertex3f (8.0, 0.0, 0.0); glVertex3f (0.0, 0.8, 0.0); glVertex3f (0.8, 0.0, 0.0); glVertex3f (0.0, -0.8, 0.0); glVertex3f (-0.8, 0.0, .0); glEnd(); glFlush (); }
  • 14. 5. glBegin(GL_TRIANGLES); #include <windows.h> #include <GL/gl.h> #include <GL/glut.h> void display(void) { /* bersihkan layar dari titik pixel yang masih ada */ glClear (GL_COLOR_BUFFER_BIT); /* gambar poligon (rectangle) dengan titik sudut * * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */ glBegin(GL_POLYGON); glColor3f(0.1, 0.0, 0.1); glVertex3f (-0.8, 0.0, 0.0); glColor3f(0.0, 0.0, 1.0); glVertex3f (0.0, 0.8, 0.0); glColor3f(1.0, 1.1, 0.0); glVertex3f (0.8, 0.0, 0.0); glVertex3f (0.0, -0.8, 0.0); glColor3f(0.0, 0.1, .0); glVertex3f (-0.8, 0.0, 0.0); glColor3f(1.0, 1.0, 0.0); glEnd(); glColor3f(0.0, 1.0, 0.0); glBegin(GL_TRIANGLES); glVertex3f(0.0, 0.0, -0.8); glVertex3f (0.0, -8.0, 0.0); glVertex3f(0.0, 0.0, 0.8); glEnd(); glFlush (); } void kunci(unsigned char key, int x, int y) { switch (key) { case 27 : case 'q': exit(0); break; } glutPostRedisplay();
  • 15. } int main(int argc, char *argv[]) { glutInitWindowSize(200,200); glutInitWindowPosition(100,100); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutCreateWindow("Suprapto"); glutDisplayFunc(display); glutKeyboardFunc(kunci); glutMainLoop(); return 0; }
  • 16. - Segita tiga sama kaki void display(void) { /* bersihkan layar dari titik pixel yang masih ada */ glClear (GL_COLOR_BUFFER_BIT); /* gambar poligon (rectangle) dengan titik sudut * * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */ glBegin(GL_POLYGON); glColor3f(0.1, 0.0, 0.0); glVertex3f (-0.5, 0.0, 0.0); glColor3f(0.0, 1.0, 1.0); glVertex3f (0.0, 0.5, 0.0); glColor3f(1.0, 0.1, 0.1); glVertex3f (0.5, 0.0, 0.0); glEnd(); glFlush (); } - Gambar Kubus #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdarg.h> #include <gl/glut.h>
  • 17. void initializer_list (void){ glClearColor(0.0, 1.0, 0.0, 1.0); glShadeModel(GL_FLAT);} void display (void){ glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0, 0.0, 0.0); glLoadIdentity(); gluLookAt(0.5, 2.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glScalef(2.0, 2.0, 2.0); glutWireCube(1.0); glFlush(); } void reshape (int w, int h){ glViewport(0,0,(GLsizei)w, (GLsizei)h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glFrustum(-1.0, 1.0, -1.0, 1.0, 2.0, 20.0); glMatrixMode(GL_MODELVIEW); } int main (int argc, char**argv){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); glutInitWindowSize (500,500); glutCreateWindow(argv[0]); initializer_list (); glutDisplayFunc (display); glutReshapeFunc (reshape); glutMainLoop(); return 0;}
  • 18. - Buat Warna Pelangi yang terdiri dari 7 warna glBegin(GL_POLYGON); glColor3f (1.0, 0.0, 0.0); glVertex3f (-1.0, -1.0, 0.0); glVertex3f (-1.0, 1.0, 0.0); glColor3f (1.0, 0.5, 0.0); glVertex3f (-0.75, 1.0, 0.0); glVertex3f (-0.75, -1.0, 0.0); glEnd(); glBegin(GL_POLYGON); glColor3f (1.0, 0.5, 0.0); glVertex3f (-0.75, -1.0, 0.0); glVertex3f (-0.75, 1.0, 0.0); glColor3f (1.0, 1.0, 0.0); glVertex3f (-0.5, 1.0, 0.0); glVertex3f (-0.5, -1.0, 0.0); glEnd(); glBegin(GL_POLYGON); glColor3f (1.0, 1.0, 0.0); glVertex3f (-0.5, -1.0, 0.0); glVertex3f (-0.5, 1.0, 0.0); glColor3f (0.0, 1.0, 0.0); glVertex3f (-0.25, 1.0, 0.0); glVertex3f (-0.25, -1.0, 0.0); glEnd(); glBegin(GL_POLYGON); glColor3f (0.0, 1.0, 0.0); glVertex3f (-0.25, -1.0, 0.0); glVertex3f (-0.25, 1.0, 0.0); glColor3f (0.0, 0.0, 1.0); glVertex3f (0.25, 1.0, 0.0); glVertex3f (0.25, -1.0, 0.0); glEnd(); glBegin(GL_POLYGON); glColor3f (0.0, 0.0, 1.0); glVertex3f (0.25, -1.0, 0.0); glVertex3f (0.25, 1.0, 0.0); glColor3f (1.0, 0.0, 0.5); glVertex3f (0.5, 1.0, 0.0); glVertex3f (0.5, -1.0, 0.0); glEnd(); glBegin(GL_POLYGON); glColor3f (1.0, 0.0, 0.5); glVertex3f (0.5, -1.0, 0.0); glVertex3f (0.5, 1.0, 0.0); glColor3f (1.0, 0.0, 1.0); glVertex3f (0.75, 1.0, 0.0); glVertex3f (0.75, -1.0, 0.0);
  • 19. glEnd(); glBegin(GL_POLYGON); glColor3f (1.0, 0.0, 1.0); glVertex3f (0.75, -1.0, 0.0); glVertex3f (0.75, 1.0, 0.0); glVertex3f (1.0, 1.0, 0.0); glVertex3f (1.0, -1.0, 0.0); glEnd(); glFlush (); - Buatlah Gambar segi empat dengan didalamnya diblok warna merah #include <windows.h> #ifdef __APPLE__ #include <GLUT/glut.h> #else #include <GL/glut.h> #endif #include <stdlib.h> void display() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0,0.0,0.0); glBegin(GL_POLYGON); glVertex2f(-5.0, 5.0); glColor3f(0.0,0.0,0.0); glVertex2f(-5.0, -5.0);
  • 20. glColor3f(1.0,0.0,0.0); glVertex2f(5.0, -5.0); glColor3f(0.0,0.0,0.0); glVertex2f(5.0, 5.0); glEnd(); glFlush(); } void myinit() { glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(-10.0,10.0,10.0,-10.0); // untuk ukuran coordinat x, y glMatrixMode(GL_MODELVIEW); glClearColor(0.0,1.0,0.0,0.0); // menentukan intesitas warna RGB = terakhir glColor3f(0.0,0.0,1.0); } int main(int argc, char* argv[]) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(300,300); // ukuran besarnya resolusi glutInitWindowPosition(100,100); // untuk posisi windows glutCreateWindow("Segitiga Warna"); glutDisplayFunc(display); myinit(); glutMainLoop(); return 0; }
  • 21. BAB IV PENUTUP 4.1 Kesimpulan Salah satu aplikasi atau software yang digunakan untuk membuat grafik, animasi ataupun game serta program sederhana lainnya. Gambar yang terdapat di dalam openGL meliputi polygon, segiti tiga, persegi dsb. Selain itu juga openGL merupakan perangkat lunak yang memiliki objek-objek tertentu yang disibut dengan primitive drawing. Dalam mengoprasikan atau menjalankan OpenGL ini selalu dimulai dengan glBegin(); dalam menggambar baik okjek, titik, atau garis selalu disertai dengan glBegin() gambar yang ingin kita gambar di masukkan di dalam kurung setelahnya misalnya, glbegin (GL_LINES); perintah dalam kurung yang akan membuat garis vertical maupun horizontal sesuai dengan selera kita. Titik koma dibelakang kurang yaitu sebagai pembatas dari setiap pengcodingan dalam openGL namun tidak semua dari coding tersebut harus ada titik komanya, seperti glEnd () }, ditandai dengan kurung kurawal yang berfungsi untuk membatasi keseluruhan program yang kita butuhkan. Setelah kita melakukan intruksi untuk membuat sesuatu yang berada dalam imajinasi kita. Maka yang dibutuhkan pula yaitu glVertex, Verrtex ini yang akan mengawali pekerjaan kita dan akan menjadi suatu acuan penting ketika dalam pembuatan objek yang berupa titik. Misalnya, glVertex (0.0, 2.0, 0.0, 0.0); maksudnya titik atau garis coordinat x atau y untuk memulai titik dalam menggambar sebuah objek. Setelah kita memula dengan glBegin(), tentu membutuhkan pula untuk mengakhiri sebuah pekerjaan, glEnd () yang menjadi penutup dari pekerjaan kita pada perangkat lunak OpenGL. 4.2 Saran Asisten tidak cukup samapai disini untuk mentransformasikan ilmu yang dimiliki, namun bagaimana nantinya kami bisa di luar praktikum untuk belajar lebih baik.