Anda di halaman 1dari 19

LAPORAN PRAKTIKUM

“MEMBUAT OBJEK GAMBAR PRIMITIF DAN TEXT”

Di susun untuk memenuhi Ujian Akhir Semester Mata Kuliah

KOMPUTER GRAFIS

DOSEN PENGAMPU : Edi Suhardi Rahman, S.pd., M.T.


DOSEN MITRA : Muhammad Haristo Rahman, S. Pd., M. Pd.

DI SUSUN OLEH:

NAMA : SRI WAHYUNI

NIM : 210209501090

KELAS : PTIK F

PRODI PTIK

JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER

FAKULTAS TEKNIK

UNIVERSITAS NEGERI MAKASSAR

2021/2022
KATA PENGANTAR

Puji syukur kita panjatkan kehadirat Allah Swt. yang telah memberikan
rahmat dan hidayah-Nya sehingga saya dapat menyelesaikan laporan ujian akhir
semester yang berjudul “Pembuatan Objek Gambar Primit dan Text” ini tepat
pada waktunya.

Adapun tujuan dari penulisan dari laporan ini adalah untuk memenuhi
Ujian Akhir Semester pada mata kuliah Komputer Grafis. Selain itu, laporan ini
juga bertujuan untuk menambah wawasan tentang bagaimana cara membuat objek
gambar primitif dan text pada satu window menggunakan Dev C++ bagi para
pembaca dan juga bagi penulis.

Terlebih dahulu, saya mengucapkan terima kasih kepada Bapak Muhammad


Haristo Rahman, S. Pd., M. Pd selaku Dosen Mata Kuliah Komputer Grafis yang
telah memberikan tugas ini sehingga dapat menambah pengetahuan dan wawasan
sesuai dengan bidang studi yang saya tekuni ini.

Kemudian, saya menyadari bahwa tugas yang saya tulis ini masih jauh dari
kata sempurna. Oleh karena itu, kritik dan saran yang membangun kami butuhkan
demi kesempurnaan laporan ini.

Sinjai, Juni 2022

Penulis
BAB I

PENDAHULUAN
A. Latar Belakang

Di era ini kemajuan teknologi komputer semakin canggih. Apapun yang


kita lihat sekarang sebagian besar merupakan hasil dari desainer yang
menggunakan komputer dengan software-software dan hardware- hardware
tertentu. Media-media tersebut sangat berguna didalam proses pembelajaran.
Oleh karena itu, pengajar baik pembelajar dituntut agar dapat menggunakan
media. Pengertian media dalam proses belajar mengajar cenderung diartikan
sebagai alat-alat grafis, fotografi atau elektronis untuk menangkap, memproses
dan menyusun kembali informasi visual atau verbal.

Istilah grafis komputer mencakup hampir semua yang ada di komputer


yang bukan hanya teks atau suara. Grafik komputer dan gambar yang dihasilkan
komputer menyentuh semua aspek. Komputer grafis yang dibangun dengan baik
dapat menyajikan grafik statistik kompleks dalam bentuk yang lebih muda untuk
memahami dan menafsirkannya. Berbagai alat dan fasilitas yang tersedia pada
komputer grafis memungkinkan pengguna dapat memvisualisasikan data mereka
dan juga komputer grafis banyak digunakan dalam banyak disiplin ilmu.
Komputer grafis telah menunjukkan kemajuan yang pesat dari berbagai sisi:
algoritma, software, dan hardware. Cakupannya juga telah meluas ke berbagai
bidang: kedokteran, sains, engineering, bisnis, industri, seni, hiburan, iklan, dan
lain-lain.
Teks adalah cara untuk penyampaikan pesan. Di dalam sebuah game, text
berfungsi sebagai alat untuk ber interaksi antara pengguna dan game. Biasanya
digunakan untuk mengirim pesan dalam lingkungan permainan multi-pemain.
Dalam pustaka GLUT OpenGL kami memiliki dua jenis font yaitu: Bitmap font
dan Stroke font.
B. Tujuan
1. Untuk mengetahui pembuatan Objek gambar Primitif dan Text dengan
menggunakan Dev C++.
2. Untuk memenuhi Ujian Akhir Semester mata kuliah Komputer Grafis.
BAB II

LANDASAN TEORI
A. Instruksi Dasar Pembuatan Gambar

Cara pendefinisian primitive objek yang digunakan dalam pembuatan


suatu objek :

 #define GL_POINTS
Primitif objek ini dipergunakan untuk menciptakan suatu titik.
 #define GL_TRIANGLES
Triangle atau segitiga adalah tiga buah titik yang terhubung menjadi suatu
segitiga dengan blok di tengahnya.
 #define GL_POLYGON
Polygon merupakan suatu fungsi yang mirip dengan polyline, tetapi
menghasilkan kurva tertutup dengan blok warna (fill).
 #define GL_LINES
Primitif objek ini dipergunakan untuk menciptakan suatu titik
 #define GL_QUADS
Quad atau segempat adalah empat buah titik yang terhubung menjadi quads
segi empat dengan blok di tengahnya.
B. Pembuatan Gambar
C. Fungsi Dasar Menggambar Ttitk

D. Fungsi Untuk Mmemberi Warna

E. Menggambar Titik Dan Polygon


1. Ttitik
 glVertex2i(x,y)

Untuk menggambar titik di posisi (x,y) dimana x dan y didefinisikan


sebagai bilangan bulat (integer).
 glVertex2f(x,y)
 glVertex2d(x,y)
Untuk menggambar titik di posisi (x,y) dimana x dan y didefinisikan
sebagai bilangan pecahan (float/double)

Menggunakan library gl Begin(GL_POINTS)

2. Polygon

Polygon adalah sekumpulan garis yang terhubung satu dengan


yang lainnya dan berbentuk kurva tertutup hingga membentuk sebuah
obyek gambar.

glColor3f(0.0f,0.0f,.0f);

glBegin(GL_LINE_LOOP);

glVertex2i(100, 100);

glVertex2i(100, 200);

glVertex2i(200, 200);

glVertex2i(200, 100);

glEnd();

3. Segiempat

Untuk memulai membuat bentuk segiempat, kita harus


mengiinisialisasikan terlebih dulu titik-titik koordinatnya yang terdiri dari 4
titik. Contohnya:
glBegin(GL_POLYGON);

glVertex2i(320, 180);

glVertex2i(360, 180);

glVertex2i(360, 150);

glVertex2i(320, 150);

glEnd();

F. Bitmap Font
1. Bitmap Font

Font bitmap pada dasarnya adalah font 2D. Font ini tidak dapat
diputar (rotasi) atau diskalakan (scale), font ini hanya dapat ditranslasikan
(translate). Perintah untuk menggambar font bitmap adalah:

void glutBitMapCharacter(void *font, int char)

Berikut beberapa Konstanta Font Bitmap yang dapat digunakan:

Fungsi untuk membuat font bitmap, sebagai berikut:


void drawBitmapText(char *string,float x,float
y,float
z)
{
char *c;
glRasterPos2f(x,y);

for (c=string;*c !="; c++)


{
glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24,
*c);
}
}
Ketika Anda membuat teks Anda harus mendefinisikan "Di
mana" text tersebut akan ditampilkan, berikut fungsi yang digunakan
untuk menentukan letak text:

Fungsi ini mengambil koordinat x, y, z dari teks yang akan


ditampilkan. Yang cocok di sini adalah glRasterPos2f () karena
koordinat z tidak akan diperlukan dalam font bitmap karena pada
dasarnya 2D.
Setelah membuat fungsi untuk menampilkan font bitmap, sekarang
saatnya untuk memanggil fungsi tersebut dalam fungsi render (),
berikut adalah kode yang menunjukkan cara menampilkan teks
"Rumah Singgah" pada posisi 200,200.
void render (void)
{
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glColor3f(0,0,0);
drawBitmapText("RUMAH SINGGAH",200,200,0);
glutSwapBuffers();
}
BAB III

METEDOLOGI

A. Pelaksanaan Praktikum
o Hari : Kamis
o Tanggal : 02 Juni 2022
o Jam : 07.15 WITA
o Tempat : Rumah Pribadi
B. Metodologi Percobaan
1. Alat dan Bahan Praktikum
Laptop/PC
Mouse
Software Dev C++
2. Gambar Praktikum
Objek gambar pada diagram Cartesius

Source Code

#include <GL/glut.h>

#include <math.h>

void drawBitmapText(char *string,float x,float y,float


z)

{
char *c;

glRasterPos3f(x, y,z);

for (c=string; *c != '\0'; c++)

glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24, *c);

void myDisplay(void)

glClear(GL_COLOR_BUFFER_BIT);

glColor3f(1.0f,0.5f,1.0f);

glBegin(GL_POLYGON);

glVertex2i(100, 100);

glVertex2i(100, 200);

glVertex2i(200, 200);

glVertex2i(200, 100);

glEnd();

glBegin(GL_POLYGON);
glVertex2i(200, 100);

glVertex2i(200, 200);

glVertex2i(400, 200);

glVertex2i(400, 100);

glEnd();

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

glBegin(GL_POLYGON);

glVertex2i(130, 100);

glVertex2i(130, 150);

glVertex2i(160, 150);

glVertex2i(160, 100);

glEnd();

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

glBegin(GL_POINTS);

glVertex2i(135, 130);

glEnd();

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

glBegin(GL_POLYGON);
glVertex2i(100, 200);

glVertex2i(150, 250);

glVertex2i(200, 200);

glEnd();

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

glBegin(GL_POLYGON);

glVertex2i(200, 200);

glVertex2i(150, 250);

glVertex2i(350, 250);

glVertex2i(400, 200);

glEnd();

glColor3f(1.0f,1.0f,.0f);

glBegin(GL_POLYGON);

glVertex2i(275, 125);

glVertex2i(275, 150);

glVertex2i(300, 150);

glVertex2i(300, 125);

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

glBegin(GL_POLYGON);

glVertex2i(275, 150);

glVertex2i(275, 175);

glVertex2i(300, 175);

glVertex2i(300, 150);

glEnd();

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

glBegin(GL_POLYGON);

glVertex2i(300, 125);

glVertex2i(300, 150);

glVertex2i(325, 150);

glVertex2i(325, 125);

glEnd();

glColor3f(0.7f,1.0f,0.7f);

glBegin(GL_POLYGON);

glVertex2i(300, 150);

glVertex2i(300, 175);

glVertex2i(325, 175);
glVertex2i(325, 150);

glEnd();

glColor3f(0.0f,0.0f,.0f);

glBegin(GL_LINE_LOOP);

glVertex2i(100, 100);

glVertex2i(100, 200);

glVertex2i(200, 200);

glVertex2i(200, 100);

glEnd();

glBegin(GL_LINE_LOOP);

glVertex2i(130, 100);

glVertex2i(130, 150);

glVertex2i(160, 150);

glVertex2i(160, 100);

glEnd();

glBegin(GL_LINE_LOOP);

glVertex2i(200, 100);

glVertex2i(200, 200);

glVertex2i(400, 200);
glVertex2i(400, 100);

glEnd();

glBegin(GL_LINE_LOOP);

glVertex2i(100, 200);

glVertex2i(150, 250);

glVertex2i(200, 200);

glEnd();

glBegin(GL_LINE_LOOP);

glVertex2i(200, 200);

glVertex2i(150, 250);

glVertex2i(350, 250);

glVertex2i(400, 200);

glEnd();

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

glBegin(GL_LINE_LOOP);

glVertex2i(275, 125);

glVertex2i(275, 150);
glVertex2i(300, 150);

glVertex2i(300, 125);

glEnd();

glBegin(GL_LINE_LOOP);

glVertex2i(275, 150);

glVertex2i(275, 175);

glVertex2i(300, 175);

glVertex2i(300, 150);

glEnd();

glBegin(GL_LINE_LOOP);

glVertex2i(300, 125);

glVertex2i(300, 150);

glVertex2i(325, 150);

glVertex2i(325, 125);

glEnd();

glBegin(GL_LINE_LOOP);

glVertex2i(300, 150);

glVertex2i(300, 175);

glVertex2i(325, 175);
glVertex2i(325, 150);

glEnd();

void text(){

glColor3f(0.0,0.0,0.0);

drawBitmapText("RUMAH SINGGAH UNI",-30,-50,0);

void display(void) {

glClear(GL_COLOR_BUFFER_BIT);

myDisplay();

text();

glutSwapBuffers();

int main(int argc,char** argv){

glutInit(&argc,argv);

glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);

glutInitWindowPosition(300,0);

glutInitWindowSize(2000,2000);

glutCreateWindow("sri wahyuni");

glClearColor(1.0,1.0,1.0,1.0);
gluOrtho2D(-500.0,500.0,-500.0,500.0);

glutIdleFunc(display);

glutDisplayFunc(display);

glutMainLoop();

return 0;

Output
BAB IV
PENUTUP
A. Kesimpulan
Grafika komputer merupakan bagian dari ilmu komputer yang
berhubungan dengan proses pembuatan maupun manipulasi gambar
(visual) secara digital. Grafika komputer mempunyai bentuk sederhana
yaitu grafika komputer 2D yang selanjutnya dikembangkan menjadi
grafika komputer 3D, image processing atau pemrosesan citra, dan pattern
recognition atau pengenalan pola.
OpenGL (Open Graphic Library) merupakan library yang terdiri
dari berbagai macam fungsi dan biasanya digunakan untuk menggambar
sebuah atau beberapa objek 2 dimensi dan 3 dimensi. Library-library ini
mendefinisikan sebuah cross-bahasa, cross-platform API (antarmuka
pemrograman aplikasi) untuk menulis aplikasi yang menghasilkan
komputer 2D dan 3D grafis. Bahasa pemrograman yang digunakan pada
umumnya adalah pemrograman C/C++, namun dapat pula menggunakan
Java.
Dev-C++ adalah sebuah IDE (Integrated Development
Environment) C / C++ yang sudah dilengkapi dengan TDM-GCC
Compiler (bagian dari GNU Compiler Collection / GCC).

Anda mungkin juga menyukai