komputer grafik budi

Upload: rikysetriawan

Post on 14-Oct-2015

50 views

Category:

Documents


2 download

DESCRIPTION

laporan pratikum grafik

TRANSCRIPT

  • 5/24/2018 komputer grafik budi

    1/26

    1

    Nama Pratikan Nomor

    Mahasiswa

    Tanggal

    Kumpul

    Tanda Tangan

    Pratikan

    Budi Setiawan 1214370001 12 juni 2014

    Nama Penilai Tanggal Koreksi Nilai Tanda tangan

    Dosen

    Indri

    sulistianingsih.S,KOM

    FAKULTAS TEKNIK

    JURUSAN SISTEM KOMPUTER

    UNIVERSITAS PEMBANGUNA PANCA BUDI

    MEDAN

    2014

    LAPORAN PRAKTIKUM

    KOMPUTER GRAFIK

    Kelas

    TI4D

    SORE

  • 5/24/2018 komputer grafik budi

    2/26

    2

    KATA PENGANTAR

    Adapun harapan kami, semoga tulisan ini dapat menambah wawasan pembaca mengenai

    Grafika Komputer dan penerjemah bahasa pencitraan OpenGL, dengan maksud nantinya

    pembaca mampu untuk memahami apa itu Grafika Komputer, OpenGL, dan lain sebagainya

    yang menyangkut objek 2 dimensi (2D) dan 3 dimensi (3D).

    Kami menyadari bahwa tulisan ini masih jauh dari sempurna, untuk itu kami mengharapkan

    kritik dan saran yang membangun dari pembaca demi kesempurnaan tulisan ini.

    Medan , 11 juni 2014

    Hormat saya ,

    Penulis

  • 5/24/2018 komputer grafik budi

    3/26

    3

    DAFTAR ISI

    Kata Pengantar ..2

    Daftar isi ....3

    BAB I PENDAHULUAN ......4

    1.1. Latar Belakang Masalah4

    I.2. Tujuan Pratikum..4

    BAB II LANDASAN TEORI

    2.1 Pengertian Grafika Komputer..52.2. Grafik Komputer 2D

    ..5

    2.3Grafik komputer 3D.2.4Transformasi...62.5Lighting (pencahayaan)....2.6Texture Mapping..9

    BAB III HASILPERCOBAAN....10

    3.1Primitive drawing 103.2. Contoh Fungsi 2D (dimensi )10

    3.3. Contoh fungsi 3D ( dimensi )14

    3.4 Syntax Monas...24

    BAB IV Analisa Hasil Percobaan

    4.1 TUJUAN....25BAB V Penutup25

    5.1Kesimpulan ..25 5.2Saran .25

    DAFTAR PUSAKA 26

  • 5/24/2018 komputer grafik budi

    4/26

    4

    BAB I

    Pendahuluan

    Gambaran Umum :

    Praktikum ini merupakan bagian dari kuliah Komputer Grafik. Dalam praktikum ini,

    praktikan dikenalkan dengan beberapa aspek yang berkaitan dalam pemrograman komputer

    grafik. Praktikum ini memuat beberapa modul yang berisi tentang struktur program OpenGL

    (Open Graphics Library): primitif drawing, animasi, pencahayaan pada OpenGL, bayangan,

    tekstur I dan tekstur II. Modul-modul ini harus dapat dikuasai oleh mahasiswa sebagai dasar

    penguasaan Komputer Grafik.

    1.1 Latar Belakang MasalahSemakin berkembangnya ilmu pengetahuan dan teknologi grafis pada masa sekarang

    ini, maka pengetahuan mengenai grafik komputer semakin banyak dipakai. Namun sebelum

    kita membahas lebih jauh mengenai grafik komputer, kita akan mengetahui dahulu definisi

    sebenarnya tentang apa itu grafik komputer.

    Secara umum grafik komputer adalah gambar yang dihasilkan oleh komputer, yang

    hasilnya sudah sering kita lihat seperti di majalah dan televisi. Disini dibahas bahwa tiap

    karakter yang dihasilkan diambil dari library dari bentuk karakter yang ada pada memori

    komputer. Gambar-gambar yang berada pada majalah atau televisi tersebut ada beberapa

    yang terlihat sangat natural, sehingga kita para pembaca akan sulit membedakan mereka

    buatan atau hasil dari fotografi asli.

    I.2. Tujuan Pratikum

    Mahasiswa mampu memahami dan menerapkan aplikasi komputer grafik menggunakanbahasa pemrograman OpenGL.

  • 5/24/2018 komputer grafik budi

    5/26

    5

    BAB II

    LANDASAN TEORI

    4.2 Pengertian Grafika KomputerGrafika komputer (Computer graphics) adalah bagian dari ilmu komputer yang

    berkaitan dengan pembuatan dan manipulasi gambar secara digital. Bentuk sederhana dari

    grafika komputer adalahgrafika komputer 2D yang kemudian berkembang menjadi grafika

    komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern

    recognition). Grafika komputer sering dikenal juga dengan istilah visualisasi data. grafika

    komputer tidak hanya mengenai hardware, software maupun berbagai keahlian yang terkait

    dengan pengolahan grafis tetapi merupakan keseluruhan keseluruhan hal-hal tersebut.

    Grafika komputer berkaitan dengan pengolahan dan pendokumentasian teknologi yang

    mengarah kepada komunikasi dan informasi secara akurat dan deskriptif.

    Grafika komputer (Computer Graphic) juga dapat diartikan sebagai seperangkat alat

    yang terdiri dari hardware dan software untuk membuat gambar, grafik atau citra realistik

    untuk seni, game komputer, foto dan animasi komputer dan lain-lain.

    1. Elemen Dasar GrafikaAda beberapa elemen dasar dari grafika komputer antara lain:

    1. Point2. Polyline3. Polygon4. Filled Polygon ( Face )5. Gradate Polygon

    4.3 Grafik Komputer 2DGrafik komputer 2D adalah pembuatan objek gambar dengan menggunakan 2 titik

    sebagai acuannya yaitu sumbu x dan y. Grafik 2D ini dapat digunakan dalam berbagai

    aplikasi yang pada awalnya dikembangkan pada teknologi cetak tradisional dan gambar,

    seperti tipografi, kartografi, gambar teknik, iklan, dan lain-lain.

    Grafik komputer 2D ini merupakan langkah paling awal dalam membentuk model

    objek yang akan dibangun dalam grafik komputer 3D. Dalam aplikasi, gambar dua dimensi

    adalah bukan hanya representasi dari objek dunia nyata, tetapi sebuah artefak independen

    http://id.wikipedia.org/wiki/Ilmu_komputerhttp://id.wikipedia.org/w/index.php?title=Grafika_komputer_2D&action=edit&redlink=1http://id.wikipedia.org/wiki/Grafika_komputer_3Dhttp://id.wikipedia.org/wiki/Grafika_komputer_3Dhttp://id.wikipedia.org/w/index.php?title=Pemrosesan_citra&action=edit&redlink=1http://id.wikipedia.org/wiki/Pengenalan_polahttp://id.wikipedia.org/wiki/Visualisasihttp://id.wikipedia.org/wiki/Visualisasihttp://id.wikipedia.org/wiki/Pengenalan_polahttp://id.wikipedia.org/w/index.php?title=Pemrosesan_citra&action=edit&redlink=1http://id.wikipedia.org/wiki/Grafika_komputer_3Dhttp://id.wikipedia.org/wiki/Grafika_komputer_3Dhttp://id.wikipedia.org/w/index.php?title=Grafika_komputer_2D&action=edit&redlink=1http://id.wikipedia.org/wiki/Ilmu_komputer
  • 5/24/2018 komputer grafik budi

    6/26

    6

    dengan nilai tambah semantik. Keseluruhan obyek 2D dapat dimasukkan dengan jumlah lebih

    dari satu, model yang akan dibentuk sesuai dengan kebutuhan. Tahap rekayasa hasil obyek

    2D dapat dilakukan dengan aplikasi program grafis seperti Adobe Photoshop, Corel Draw,

    dan lain sebagainya.

    4.4Grafik komputer 3D

    Yang membedakan 2 dimensi dan 3 dimensi adalah kedalaman. Kedalaman didefinisikan

    sebagai jarak antara viewer terhadap benda yang dia lihat. Ini berarti berbeda dengan 2

    dimensi yang hanya menggunakan 2 ukuran, yaitu panjang dan lebar, maka 3 dimensi

    menggunakan 3 ukuran, yaitu panjang, lebar dan kedalaman. Secara geometri ketiga ukurantersebut disimbolkan dengan sumbu x, y, dan z.

    SistemKoordinat

    Salah satu sistem koordinat yang dikenal adalah sistem koordinat kartesian yang digunakan

    untuk membedakan lokasi atau posisi sembarang titik atau objek dengan titik atau objek yang

    lain. Sistem koordinat kartesian terdiri atas sistem koordinat kartesian 2 dimensi dan sistem

    koordinat kartesian 3 dimensi. Dalam sistem koordinat 3 dimensi terdapat satu sumbu lain

    selain sumbu x dan sumbu y, yaitu sumbu z yang arahnya tegak lurus terhadap sumbu x dan

    sumbu y. Hadirnya sumbu z menyebabkan sistem koordinat ini menjadi lebih hidup karena

    efek jauh dekat menjadi terlihat. Untuk lebih jelasnya,.

    4.5TransformasiTransformasi dasar pada objek dua dimensi yang pertama adalah translasi

    (translation). Translasi berarti memindahkan suatu objek sepanjang garis lurus dari suatulokasi koordinat tertentu ke lokasi yang lain. Transformasi skala (scaling)digunakan untuk

    mengubah ukuran suatu objek, sedangkan rotasi (rotation)adalah pemindahan objek menurut

    garis melingkar.

    Jenis jenis dari transformasi dasar:

    1. TranslasiSeperti yang anda ketahui, layar yang disediakan processing adalah selayaknya

    sepotong kertas grafik. Jika kita ingin melakukan proses translasi sebenarnya

    terdapat dua pemikiran. Sebagai contoh adalah sebuah persegi sederhana

    dengan kode rect(20,20,40,40)

  • 5/24/2018 komputer grafik budi

    7/26

    7

    Dimana (x,y) adalah koordinat asal suatu objek dan (x , y) adalah koordinat baru objek

    tersebut setelah ditranslasi.

    Kadang-kadang transformasi dinyatakan dalam bentuk matriks, sehingga matriks tranformasi:

    Dengan demikian translasi dua dimensi dapat ditulis dalam bentuk matriks :

    P = P + T

    Disamping dinyatakan dalam vektor kolom, matriks transformasi dapat dituliskan dalam

    bentuk vektor baris, sehingga menjadi P = [ x y ] dan T = [ txty ]. Bentuk vektor kolom adalah

    standar dari symbol matematik, yang juga berlaku bagi notasi grafik seperti GKS dan PHIGS.

    2. SkalaSkala adalah perubahan ukuran obyek berdasarkan besaran nilai tertentu. Maka

    dengan adanya fungsi skala tersebut bisa dihasilkan beberapa ukuran obyek yang berbeda

    walau pun sintaksnya sama. Berikut adalah sintaks untuk melakukan transformasi skala :

    Parameter pertama, kedua, dan ke tiga masing-masing menunjukkan nilai skala untuk obyek

    berdasarkan sumbu x, y, dan z. Jika nilai skala adalah 1, maka ukuran obyek tersebut adalah

    tetap.

    3. RotasiSelain bergerak pada grid, Anda juga dapat memutar itu dengan fungsi rotate().

    Fungsi ini memerlukan satu argumen, yang merupakan jumlah radian yang Anda

    ingin putar. Dalam Processing, semua fungsi harus dilakukan dengan mengukur

    sudut rotasi dalam radian (rad), bukan derajat. Ketika Anda berbicara tentang

    sudut dalam derajat, Anda mengatakan bahwa lingkaran penuh memiliki 360 .

    Ketika Anda berbicara tentang sudut dalam radian, Anda mengatakan bahwa

    lingkaran penuh telah 2 radian. Berikut ini adalah diagram tentang bagaimana

    langkah-langkah Pengolahan sudut dalam derajat (hitam) dan radian (merah)

    Pembagian Warna

    RGB (Red-Green-Blue) : warna dasar yang dijadikan patokan warna secara universal(primary colors)

    CMYK (Cyan-Magenta-Yellow-Black) : Sistem representasi pada warna tinta yangditerapkan dalam dunia fotografi dan produksi grafika

  • 5/24/2018 komputer grafik budi

    8/26

    8

    Sistem Warna Lingkaran (the color wheel) : Digunakan untuk mengkombinasikan dan

    mengharmonikan warna pada karya seni dan design

    Dari sekian banyak warna, dapat dibagi dalam beberapa bagian yang sering

    dinamakan dengan sistem warna Prang System yang ditemukan oleh Louis Prang pada 1876meliputi :

    1. Hue, adalah istilah yang digunakan untuk menunjukkan nama dari suatu warna, sepertimerah, biru, hijau dsb.

    2. Value, adalah dimensi kedua atau mengenai terang gelapnya warna. Contohnya adalahtingkatan warna dari putih hingga hitam.

    3. Intensity, seringkali disebut dengan chroma, adalah dimensi yang berhubungan dengan cerahatau suramnya warna.

    4.6 Lighting (pencahayaan)Lighting merupakan proses menghitung intensitas cahaya terutama pada 3-Dimensi

    point, biasanya diatas suatu permukaan.

    Beberapa cara mengatasi masalah pencahayaan, antara lain :

    Mengerti persepsi dari cahaya (warna) Membuat sebuah solusi untuk merepresentasikan dan menghasilkan warna menggunakan

    komputer.

    Mengerti akan pengaruh cahaya dan objek

    `Pencahayaan pada OpenGL dan Dunia Nyata

    Ketika melihat permukaan fisik, persepsi warna pada mata tergantung pada distribusi

    energi foton yang datang dan memicu sel-sel kerucut mata. Foton berasal dari sumber cahaya

    atau kombinasi dari sumber, yang sebagian diserap dan sebagian yang dipantulkan oleh

    permukaan. Selain itu, permukaan yang berbeda memiliki sifat yang sangat berbeda-ada,

    misalnya yang mengkilap dengan sempurna akan memantulkan cahaya dalam arah tertentu,

    sementara yang lain menyebarkan cahaya sama-sama masuk di segala penjuru. Pencahayaan

    pada OpenGL hanya dengan cahaya pendekatan dan cahaya lampu seolah-olah dapat dipecah

    menjadi komponen merah, hijau, dan biru. Dengan demikian, warna sumber cahaya dicirikan

    oleh jumlah warna yang memancarkan cahaya merah, hijau, dan biru, dan materi permukaan

  • 5/24/2018 komputer grafik budi

    9/26

    9

    ditandai dengan persentase komponen warna merah, hijau, dan biru yang masuk dan

    tercermin dalam berbagai arah. Persamaan pencahayaan pada OpenGL hanya sebuah

    pendekatan, tetapi satu yang bekerja cukup baik dan dapat dihitung relatif cepat. Jika

    menginginkan yang lebih akurat atau model pencahayaan hanya berbeda, harus melakukan

    perhitungan sendiri dalam perangkat lunak. Dengan perangkat lunak tersebut dapat menjadi

    sangat kompleks, seperti beberapa jam membaca buku teks optik pun harus meyakinkan.

    4.7 Texture MappingTexture mapping merupakan teknik pemetaan sebuah tekstur pada pola gambar

    wireframe, dimana wireframe yang telah dibuat akan ditampilkan memiliki kulit luar seperti

    tekstur yang diinginkan. Dalam pemberian tekstur, perlu diperhatikan dasarnya seperti:1. Menentukan tekstur

    a. Menandai teksturb. Mengenablekan tekstur

    2. Menandai koordinat tekstur pada vertek

  • 5/24/2018 komputer grafik budi

    10/26

    10

    BAB III

    HASIL PERCOBAAN

    3.1 Primitive drawingPenghasilan citra pada komputer grafik menggunakan primitif grafik dasar.

    Primitif ini memudahkan untuk merender (menggambar pada layar monitor)

    sebagaimana penggunaan persamaan geometrik sederhana.

    Contoh primitif grafik dasar (Gambar 2.1) adalah :

    o Titik

    o Garis, Segiempat

    o Kurva, Lingkaran, ellipse, kurva bezier, kurva lainnya

    o Fill area

    o Text

    3.2. Contoh Fungsi 2D (dimensi )

    #include

    #include

    typedef struct

    {

    int x,y;

    }point2D_t;

    typedef struct

    {

    float r,g,b;

    }color_t;

    void setColor (color_t col)

    {

    glColor3f(col.r, col.g, col.b);

    }

  • 5/24/2018 komputer grafik budi

    11/26

    11

    void drawPolygon(point2D_t pnt[],int n)

    {

    int i;

    glBegin(GL_POLYGON);

    for (i=0; i

  • 5/24/2018 komputer grafik budi

    12/26

    12

    drawPolygon(batang,4);

    point2D_t

    pot[4]={{-60,-190},{60,-190},{30,-240},{-30,-240}};

    color_t hitam ={0,0,0};

    fillPolygon(pot,4, hitam);

    drawPolygon(pot,4);

    point2D_t

    pot2[6]={{-80,-160},{-50,-160},{-50,-190},{-60,-190},{-60,-170},{-80,-170}};

    color_t hitam3 ={0,0,0};

    fillPolygon(pot2,4, hitam3);

    drawPolygon(pot2,4);

    point2D_t

    pot3[6]={{80,-160},{50,-160},{50,-190},{60,-190},{60,-170},{80,-170}};

    color_t hitam2 ={0,0,0};

    fillPolygon(pot3,4, hitam2);

    drawPolygon(pot3,4);

    static int tick=0;

    point2D_t shape[360];

    double srad,r;

    for(int s=0; s

  • 5/24/2018 komputer grafik budi

    13/26

    13

    color_t merah ={1,0,0};

    fillPolygon(shape,1, merah);

    }

    drawPolygon(shape, 360);

    }

    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);

    //posisi layar

    glutInitWindowPosition(150,150);

    //ukuran layar

    glutInitWindowSize(640,480);

    //title windows

    glutCreateWindow("Bunga Raflesia");

    //warna back layar

    glClearColor(1.0,1.0,1.0,0.0);

    gluOrtho2D(-300.,400.,-300.,300.);

    glutIdleFunc(display);

    glutDisplayFunc(display);

    glutMainLoop();

    return 0;

    }

  • 5/24/2018 komputer grafik budi

    14/26

    14

    Hasilnya :

    3.3. Contoh fungsi 3D ( dimensi )

    #include

    #include

    #include

    #include

    #include #include

  • 5/24/2018 komputer grafik budi

    15/26

    15

    void cube()

    {

    //menggambar kubus dan transformasi tarnslasi ke titik 0.5 0.5 0.5 dan skala 1 1 1

    glPushMatrix();

    glTranslated(0.5,0.5,0.5);//cube

    glScaled(1.0,1.0,1.0);

    glutSolidCube(1.0);

    glPopMatrix();

    }

    void setMaterial()

    {

    //set properties of surfaces material

    GLfloat mat_ambient[] = {0.7f,0.7f,0.7f,1.0f}; // ada 4 jenis material yang dipakai, dengan

    kombinasi warna tertentu

    GLfloat mat_diffuse[] = {0.6f,0.6f,0.6f,1.0f};

    GLfloat mat_specular[] = {1.0f,1.0f,1.0f,1.0f};

    GLfloat mat_shininess[] = {50.0f};

    glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);

    glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);

    glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);

    glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);

    }

    void setLighting()

    {

    //set light sources

    GLfloat lightIntensity[] = {0.7f,0.7f,0.7f,1.0f};//mensetting pencahayaan

    GLfloat light_position[] = {2.0f,6.0f,3.0f,0.0f};

  • 5/24/2018 komputer grafik budi

    16/26

    16

    glLightfv(GL_LIGHT0,GL_DIFFUSE,lightIntensity);

    glLightfv(GL_LIGHT0,GL_POSITION,light_position);

    }

    void setViewport()

    {

    glMatrixMode(GL_PROJECTION);

    glLoadIdentity();

    double winHt = 1.0;//half height of the window

    glOrtho(-winHt*64/48,winHt*64/48,-winHt,winHt,0.1,100.0);

    }

    void setCamera()

    {

    //set the camera

    glMatrixMode(GL_MODELVIEW);

    glLoadIdentity();

    gluLookAt(3.3,3.3,3.0,0,0.25,0,0.0,1.0,0.0);

    }

    void displayObject()

    {

    setMaterial();

    setLighting();

    setViewport();

    setCamera();

    //startDrawing

    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

  • 5/24/2018 komputer grafik budi

    17/26

    17

    cube();//memanggil fungsi menggambar kubus

    glFlush();//mengirim smua objek untuk dirender

    }

    void main(int argc, char **argv)

    {

    glutInit(&argc,argv);

    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);

    glutInitWindowSize(640,480);

    glutInitWindowPosition(100,100);

    glutCreateWindow("simple 3d scene");

    glutDisplayFunc(displayObject);//fungsi dari display object yang menggabungkan kubus

    lighting material dan kamera

    glEnable(GL_LIGHTING);

    glEnable(GL_LIGHT0);

    glShadeModel(GL_SMOOTH);

    glEnable(GL_DEPTH_TEST);

    glEnable(GL_NORMALIZE);

    glClearColor(1.0f,1.0f,1.0f,0.0f);

    glViewport(0,0,640,480);

    glutMainLoop();

    }

    Hasilnya :

  • 5/24/2018 komputer grafik budi

    18/26

    18

    3.4 Syntax Monas

    #include

    typedef struct

    {

    int x,y;

    }point2D_t;

    typedef struct

    {

    float r,g,b;

    }color_t;

    void setColor(color_t col)

    {

    glColor3f(col.r, col.g, col.b);

    }

    void drawPolygon(point2D_t pnt[],int n)

  • 5/24/2018 komputer grafik budi

    19/26

    19

    {

    int i;

    glBegin(GL_LINE_LOOP);

    for (i=0; i

  • 5/24/2018 komputer grafik budi

    20/26

    20

    tangga[4]={{10,10},{50,50},{310,50},{340,10}};

    color_t merah ={1,0,0};

    fillpolygon(tangga, 4, merah);

    drawPolygon(tangga,4);

    point2D_t

    petaktengah1[4]={{110,50},{100,70},{260,70},{250,50}};

    color_t kuning ={1,1,0};

    fillpolygon(petaktengah1, 4, kuning);

    drawPolygon(petaktengah1,4);

    point2D_t

    petaktengah2[4]={{100,70},{80,90},{280,90},{260,70}};

    color_t kuning2 ={1,1,0};

    fillpolygon(petaktengah2, 4, kuning2);

    drawPolygon(petaktengah2,4);

    point2D_t

    petaktengah3[4]={{80,90},{70,110},{290,110},{280,90}};

    color_t kuning3 ={1,1,0};

    fillpolygon(petaktengah3, 4, kuning3);

    drawPolygon(petaktengah3,4);

    point2D_t

    batang2[4]={{160,510},{160,530},{200,530},{200,510}};

    color_t hitam4 ={0,0,0};

    fillpolygon(batang2, 4, hitam4);

    drawPolygon(batang2,4);

  • 5/24/2018 komputer grafik budi

    21/26

    21

    point2D_t

    batang[4]={{150,120},{170,520},{190,520},{210,120}};

    color_t putih2 ={1,1,1};

    fillpolygon(batang, 4, putih2);

    drawPolygon(batang,4);

    point2D_t

    petaktengah4[4]={{70,110},{70,120},{290,120},{290,110}};

    color_t hitam3 ={0,0,0};

    fillpolygon(petaktengah4, 4, hitam3);

    drawPolygon(petaktengah4,4);

    point2D_t

    segitiga[3]={{170,530},{180,580},{190,530}};

    color_t kuning4 ={1,1,0};

    fillpolygon(segitiga, 3, kuning4);

    drawPolygon(segitiga,3);

    point2D_t

    bayangbatang[4]={{160,530},{160,535},{200,535},{200,530}};

    color_t putih3 ={1,1,1};

    fillpolygon(bayangbatang, 4, putih3);

    drawPolygon(bayangbatang,4);

    point2D_t

    bayangbatang2[4]={{200,510},{200,535},{203,535},{203,510}};

    color_t putih4 ={1,1,1};

    fillpolygon(bayangbatang2, 4, putih4);

  • 5/24/2018 komputer grafik budi

    22/26

    22

    drawPolygon(bayangbatang2,4);

    point2D_t

    tanggatgh1[4]={{140,10},{140,50},{150,50},{150,10}};

    color_t hitam ={0,0,0};

    fillpolygon(tanggatgh1, 4, hitam);

    drawPolygon(tanggatgh1,4);

    point2D_t

    tanggatgh2[4]={{210,10},{210,50},{220,50},{220,10}};

    color_t hitam2 ={0,0,0};

    fillpolygon(tanggatgh2, 4, hitam2);

    drawPolygon(tanggatgh2,4);

    point2D_t

    tangga2[4]={{10,10},{50,50},{310,50},{340,10}};

    drawPolygon(tangga2,4);

    point2D_t

    petaktengah11[4]={{110,50},{100,70},{260,70},{250,50}};

    drawPolygon(petaktengah11,4);

    point2D_t

    petaktengah22[4]={{100,70},{80,90},{280,90},{260,70}};

    drawPolygon(petaktengah22,4);

    point2D_t

    petaktengah33[4]={{80,90},{70,110},{290,110},{280,90}};

    drawPolygon(petaktengah33,4);

  • 5/24/2018 komputer grafik budi

    23/26

    23

    point2D_t

    batang3[4]={{150,120},{170,520},{190,520},{210,120}};

    drawPolygon(batang3,4);

    point2D_t

    anaktangga[4]={{150,40},{150,45},{210,45},{210,40}};

    drawPolygon(anaktangga,4);

    point2D_t

    anaktangga2[4]={{150,30},{150,35},{210,35},{210,30}};

    drawPolygon(anaktangga2,4);

    point2D_t

    anaktangga3[4]={{150,20},{150,25},{210,25},{210,20}};

    drawPolygon(anaktangga3,4);

    point2D_t

    anaktangga4[4]={{150,10},{150,15},{210,15},{210,10}};

    drawPolygon(anaktangga4,4);

    }

    void display(void)

    {

    //clear screen

    glClear(GL_COLOR_BUFFER_BIT);

    userdraw();

    glutSwapBuffers();

    }

    int main(int argc, char **argv)

  • 5/24/2018 komputer grafik budi

    24/26

    24

    {

    glutInit(&argc,argv);//Inisialisasi Toolkit

    glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);

    glutInitWindowPosition(100,100);

    glutInitWindowSize(500,640);

    glutCreateWindow("MONUMEN NASIONAL JAKARTA");

    glClearColor(0.0,0.0,1.0,0.0);

    gluOrtho2D(0.,350.,-5.,600.);

    glutIdleFunc(display);

    glutDisplayFunc(display);

    glutMainLoop();

    return 0;

    }

    Hasilnya :

  • 5/24/2018 komputer grafik budi

    25/26

    25

    BAB IV

    Analisa Hasil Percobaan

    5.3TUJUAN1. mendeskripsikan pengertian, kegunaan dan ruang linkup transformasi di dalam komputer

    grafik 2.

    2. mengkaji beberapa pembuatan grafik menggunkan bahasa pemograman menggunakanbahassa aplikasi dan bahasa pemograman

    BAB V

    Penutup

    5.1. KesimpulanDari program tersebut, dapat ditampilkan gambar titik dan garis yang digabungkan agar

    menghasilkan gambar 2 dimensi dan 3 dimensi. 2.

    Dalam pembuatan grafik 3 dimensi ada hal yang perlu dilakukan yaitu, mengubah titik 3D

    menjadi vektor 3D agar gambar yang dihasilkan lebih sempurna. 3.

    Pada gambar 2 Dimensi memiliki kelebihan Pada gambar 2 Dimensi memiliki kelebihan

    yaitu, gambar yang dirancang dapat diberi warna sesuai dengan RGB (Red, Green, Blue). 4.

    5.2. SaranDalam penulisan program grafik 2D dan 3D,titik koordinat harus ditemukan dengan tepat

    agar gambar yang dihasilkan sempurna..

  • 5/24/2018 komputer grafik budi

    26/26

    26

    DAFTAR PUSAKA

    http://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.html

    http://pakgurueka.files.wordpress.com/2011/09/praktikum-03.pdf

    http://kubaat.files.wordpress.com/

    http://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.htmlhttp://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.htmlhttp://pakgurueka.files.wordpress.com/2011/09/praktikum-03.pdfhttp://pakgurueka.files.wordpress.com/2011/09/praktikum-03.pdfhttp://kubaat.files.wordpress.com/http://kubaat.files.wordpress.com/http://kubaat.files.wordpress.com/2012/09/modul-prak-komgraf.pdf#page=26http://kubaat.files.wordpress.com/2012/09/modul-prak-komgraf.pdf#page=1http://kubaat.files.wordpress.com/http://pakgurueka.files.wordpress.com/2011/09/praktikum-03.pdfhttp://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.html