Anda di halaman 1dari 11

LAPORAN PRAKTIKUM

Primitive Drawing

DISUSUN OLEH :
Nama : Muhammad Farhan

NIM : 1657301061

Kelas : TI 2.3

Jurusan/Prodi : TIK/Teknik Informatika

Dosen
n Pembimbing : Fachry Yanuar,SST,MT

NIP :

DEPARTEMEN PENDIDIKAN NASIONAL


POLITEKNIK NEGERI LHOKSEUMAWE
TAHUN AJARAN 2017/2018
LEMBAR PENGESAHAN LAPORAN

Nomor Praktikum : 02 / PKG / TI / 2018


Nama Praktikum : Primitive Drawing
Nama Praktikan : Muhammad Farhan
NIM : 1657301061
Kelas : TI 2.3
Jurusan : Teknologi Informasi dan Komputer
Prodi : Teknik Informatika
Tanggal Praktikum : 09 Maret 2018
Tanggal Penyerahan : 15 Maret 2018
Nilai :

Keterangan :

Dosen Pengajar

Fachry Yanuar ,SST,MT


NIP :
1. Percobaan
1.1.Percobaan 1 : Membuat Nama Panggilan
Listing Program
#include<stdio.h>
#include<stdlib.h>
#include<gl/glut.h>
void userdraw(void);
void drawLine(float x1, float y1, float x2, float y2)
{
glBegin(GL_LINES);
glVertex2f(x1,y1);
glVertex2f(x2,y2);
glEnd();
}
void setColor(float red, float green, float blue)
{
glColor3f(red, green, blue);
}

void userdraw(void)
{
//H
setColor(0.,0.,1.);
glBegin(GL_LINE_LOOP);
glVertex2f(40,40); //a
glVertex2f(40,180); //b
glVertex2f(60,180); //c
glVertex2f(60,120); //d
glVertex2f(100,120); //e
glVertex2f(100,180); //f
glVertex2f(120,180); //g
glVertex2f(120,40); //h
glVertex2f(100,40); //i
glVertex2f(100,100); //j
glVertex2f(60,100); //k
glVertex2f(60,40); //l
glEnd();
glBegin(GL_POLYGON);
glVertex2f(40,40); //a
glVertex2f(40,180); //b
glVertex2f(60,180); //c
glVertex2f(60,40); //l
glEnd();

//A
setColor(0.,1.,1.);
glBegin(GL_LINE_LOOP);
glVertex2f(160,40); //a
glVertex2f(160,160); //b
glVertex2f(180,180); //c
glVertex2f(220,180); //d
glVertex2f(240,160); //e
glVertex2f(240,40); //f
glVertex2f(220,40); //g
glVertex2f(220,100); //h
glVertex2f(180,100); //i
glVertex2f(180,40); //j
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(180,120); //k
glVertex2f(220,120); //l
glVertex2f(220,160); //m
glVertex2f(180,160); //n
glEnd();
glBegin(GL_POLYGON);
glVertex2f(180,120); //k
glVertex2f(220,120); //l
glVertex2f(220,100); //h
glVertex2f(180,100); //i
glEnd();

//N
setColor(1.,0.,0.);
glBegin(GL_LINE_LOOP);
glVertex2f(280,40); //a
glVertex2f(280,180); //b
glVertex2f(300,180); //c
glVertex2f(340,80); //d
glVertex2f(340,180); //e
glVertex2f(360,180); //f
glVertex2f(360,40); //g
glVertex2f(340,40); //h
glVertex2f(300,140); //i
glVertex2f(300,40); //j
glEnd();
glBegin(GL_POLYGON);
glVertex2f(340,180); //e
glVertex2f(360,180); //f
glVertex2f(360,40); //g
glVertex2f(340,40); //h
glEnd();
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
userdraw();
glFlush();
}

void main(int argc, char **argv)


{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(700, 450);
glutInitWindowPosition(100, 150);
glutCreateWindow("Nama");
glClearColor(0.55,0.80,0.15,0.0);
gluOrtho2D(0.,400.,0.,230.);
glutDisplayFunc(display);
glutMainLoop();
}
2. Hasil Percobaan
2.1. Hasil Percobaan 1 : Titik dan Garis

2.2. Gambar di Buku


3. Analisa
3.1. Analisa Percobaan 1
• #include <stdio.h>
#include <stdlib.h>
#include <gl/glut.h>
 berfungsi untuk memanggil fungsi-fungsi pada stdio.h, stdlib.h,
dan glut.h

• void userdraw(void);
 Fungsi userdraw adalah suatu fungsi membuat kode program
untuk menghasilkan suatu gambar.

• void drawLine(float x1, float y1, float x2, float y2)


 Pendeklaraian fungsi drawLine dengan tipe data float dan
parameternya x1,y1,x2,y2.

• glBegin(GL_LINES);
 Untuk memulai menggambar garis

• glVertex2f(x1,y1);
glVertex2f(x2,y2);
 Untuk menggambar garis dengan koordinatnya x1,y1 dan x2,y2

• glEnd();
 Menandakan bahwa fungsi glBegin telah berakhir

• void setColor(float red, float green, float blue)


 Ini adalah fungsi setColor dengan parameternya yaitu
red,green,blue.

• glColor3f(red, green, blue);


 Untuk memulai color red,green,blue dan kembali ke parametr
setColor

• void userdraw(void)
 Fungsi userdraw adalah suatu fungsi membuat kode program
untuk menghasilkan suatu gambar.

• setColor (0.,0.,1.);
 Untuk menentukan warna dari titik yg dibuat dengan fungsi
setColor yaitu warna biru

• glBegin(GL_LINE_LOOP);
 Untuk memulai menggambar polyline
• glVertex2f(40.,40);
 Untuk menggambar titik dengan koordinat (40,40)

• glVertex2f(40.,180.);
 Untuk menggambar titik dengan koordinat 40,180)

• glVertex2f(60.,180.);
 Untuk menggambar titik dengan koordinat (60,180)

• glVertex2f(60.,120.);
 Untuk menggambar titik dengan koordinat (60,120)

• glVertex2f(100.,120.);
 Untuk menggambar titik dengan koordinat (100,120)

• glVertex2f(100.,180.);
 Untuk menggambar titik dengan koordinat (100,180)

• glVertex2f(120.,180);
 Untuk menggambar titik dengan koordinat (120,180)

• glVertex2f(120.,40.);
 Untuk menggambar titik dengan koordinat (120,40)

• glVertex2f(100.,40.);
 Untuk menggambar titik dengan koordinat (100,40)

• glVertex2f(100.,100.);
 Untuk menggambar titik dengan koordinat (100,100)

• glVertex2f(60.,100.);
 Untuk menggambar titik dengan koordinat (60,100)

• glVertex2f(60.,40.);
 Untuk menggambar titik dengan koordinat (60,40)

• glEnd();
 Menandakan bahwa fungsi glBegin telah berakhir

• glBegin(GL_POLYGON);
 Untuk memulai menggambar polygon
• glVertex2f(40,40);
glVertex2f(40,180);
glVertex2f(60,180);
glVertex2f(60,40);
 Ini adalah titik koordinat untuk menggambar huruf H dengan
menggunakan Polygon.

• glEnd();
 Menandakan bahwa fungsi glBegin telah berakhir

• setColor (0.,1.,1.);
 Untuk menentukan warna dari titik yg dibuat dengan fungsi
setColor yaitu warna biru muda(cyan)

• glBegin(GL_LINE_LOOP);
 Untuk memulai menggambar polyline

• glVertex2f(160,40);
glVertex2f(160,160);
glVertex2f(180,180);
glVertex2f(220,180);
glVertex2f(240,160);
glVertex2f(240,40);
glVertex2f(220,40);
glVertex2f(220,100);
glVertex2f(180,100);
glVertex2f(180,40);
 Ini adalah titik koordinat untuk menggambar huruf A dengan
menggunakan Polygon.

• glEnd();
 Menandakan bahwa fungsi glBegin telah berakhir

• glBegin(GL_LINE_LOOP);
 Untuk memulai menggambar polyline

• glVertex2f(180,120);
glVertex2f(220,120);
glVertex2f(220,160);
glVertex2f(180,160);
 Ini adalah titik koordinat untuk menggambar huruf A dengan
menggunakan Polygon.

• glEnd();
 Menandakan bahwa fungsi glBegin telah berakhir
• glBegin(GL_POLYGON);
 Untuk memulai menggambar polygon

• glVertex2f(180,120);
glVertex2f(220,120);
glVertex2f(220,100);
glVertex2f(180,100);
 Ini adalah titik koordinat untuk menggambar huruf A dengan
menggunakan Polygon.

• glEnd();
 Menandakan bahwa fungsi glBegin telah berakhir

• setColor (1.,0.,0.);
 Untuk menentukan warna dari titik yg dibuat dengan fungsi
setColor yaitu warna merah

• glBegin(GL_LINE_LOOP);
 Untuk memulai menggambar polyline

• glVertex2f(280,40);
glVertex2f(280,180);
glVertex2f(300,180);
glVertex2f(340,80);
glVertex2f(340,180);
glVertex2f(360,180);
glVertex2f(360,40);
glVertex2f(340,40);
glVertex2f(300,140);
glVertex2f(300,40);
 Ini adalah titik koordinat untuk menggambar huruf N dengan
menggunakan Polygon.

• glEnd();
 Menandakan bahwa fungsi glBegin telah berakhir

• glBegin(GL_POLYGON);
 Untuk memulai menggambar polygon

• glVertex2f(340,180);
glVertex2f(360,180);
glVertex2f(360,40);
glVertex2f(340,40);
 Ini adalah titik koordinat untuk menggambar huruf A dengan
menggunakan Polygon.

• glEnd();
 Menandakan bahwa fungsi glBegin telah berakhir
• void display(void)
 memanggil method display dengan parameter void

• glClear(GL_COLOR_BUFFER_BIT);
 Memanggil fungsi Clear untuk membersihkan layar/pixel

• userdraw();
 Memanggil fungsi userdraw

• glFlush();
 untuk memastikan bahwa perintah telah di eksekusi atau belum

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


 Ini merupakan fungsi main dari program ini

• glutInit(&argc,argv);
 Untuk inisialisasi GLUT dengan parameter baris perintah

• glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB );


 Untuk seting display mode atau tampilan hitam putih atau RGB

• glutInitWindowSize(700,450);
 Membuat windows dengan ukuran(700,450)

• glutInitWindowPosition(100,150);
 Untuk mengatur posisi atau letak windows yaitu di posisi
(100,150)

• glutCreateWindow ("Nama");
 Berfungsi untuk memberi nama/judul dari windows yang akan
ditampilkan

• glClearColor(0.55,0.80,0.15,0.0);
 Untuk mengatur warna background windows yaitu warna Hijau
tua

• gluOrtho2D(0.,400.,0.,230.);
 fungsi untuk mengatur proyeksi hasil eksekusi dan
mendefinisikan besarnya sistem koordinat dengan urutan kiri-
kanan dan bawah-atas.

• glutDisplayFunc(display);
 untuk memanggil fungsi display yang menentukan gambar
yang telah dibuat
• glutMainLoop();
 Fungsi untuk event perulangan, display pada callback akan
terus ditampilkan selama aplikasi itu tidak ditutup.

3.2. Analisa Pembahasan Percobaan 1


Program percobaan 1 ini bertujuan untuk menggambar inisial nama
(HAN), untuk menggambar Polyline digunakan
glBegin(GL_LINE_LOOP) dan untuk koordinatnya digunakan
glVertex2f, dan untuk mengganti warnanya dengan menggunakan
fungsi setColor.Sedangkan untuk menggambar Polygon digunakan
glBegin(GL_POLYGON) untuk koordinatnya menggunakan fungsi
glVertex2f.

Anda mungkin juga menyukai