komputer grafik rizky

Upload: agustinrizky

Post on 03-Jun-2018

272 views

Category:

Documents


1 download

TRANSCRIPT

  • 8/12/2019 komputer grafik rizky

    1/31

    1

    Nama Pratikan Nomor

    Mahasiswa

    Tanggal

    Kumpul

    Tanda Tangan

    Pratikan

    Rizky Agustin 1214370081 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

  • 8/12/2019 komputer grafik rizky

    2/31

    2

    KATA PENGANTAR

    Sebelumnya kami mengucapkan puji dan syukur kehadirat TUHAN YANG MAHA

    ESA yang telah melimpahkan rahmat dan karunianya kepada kami, sehingga kami dapat

    menyelesaikan Tugas Grafika Komputer ini tepat pada waktunya.

    Terdorong oleh rasa ingin tahu, kemauan, kerja sama dan kerja keras, kami kerahkan seluruh

    upaya demi mewujudkan ke ingin-tahuan dan tugas dari dosen pembimbing untuk

    menyelesaikan tugas ini.

    Semoga tulisan ini dapat memenuhi kewajiban kami dalam tugas perkuliahan Grafika

    Komputer.

    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 , 07 juni 2014

    Hormat saya ,

    Penulis

  • 8/12/2019 komputer grafik rizky

    3/31

    3

    DAFTAR ISI

    Kata Pengantar ..2

    Daftar isi ....3

    BAB I PENDAHULUAN ......4

    I.I. Latar Belakang ..4

    I.3. Tujuan Pratikum4

    BAB II LANDASAN TEORI ..5

    2.1 Pengertian Grafika Komputer .5

    2.2 Elemen Dasar Grafika .......6

    2.3 Grafik Komputer 2D.....62.4 Grafik komputer 3D.....72.5 Perbedaan Grafik 2D dan 3D...72.6 Transformasi..82.7 Color (Warna)...102.8 Blending (Pencampuran.....122.9 Texture Mapping.13

    BAB III HASIL PERCOBAAN.14

    3.1 Primitive drawing....14

    3.2. Contoh Fungsi 2D (dimensi ).15

    3.3. Contoh fungsi 3D ( dimensi ).19

    3.4 Syntax Monas..23

    BAB IV Analisa Hasil Percobaan.30

    4.1TUJUAN....30BABV Penutup...30

    5.1Kesimpulan .305.2Saran....30

    DAFTAR PUSAKA 31

  • 8/12/2019 komputer grafik rizky

    4/31

    4

    BAB I

    Pendahuluan

    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 tiapkarakter 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.

    Selain itu grafik komputer juga digunakan untuk membuat design dari background

    ataupun objek-objek dalam game di komputer. Gambar-gambar yang ada pada game itu

    adalah gabungan antara kenyataan dan imajinasi dari programmer-nya. Dalam bidang lain,grafik komputer digunakan dalam dunia seni, entertainment, dan publikasi. Khususnya

    dipakai dalam produksi film, animasi, dan spesial efek. Animasi dibuat dengan membuat

    sebuah gambar yang berkelanjutan di film atau videotape. Gambar satu dan yang selanjutnya

    hanya mempunyai perbedaan yang tipis ( slightly different ). Bidang-bidang lain yang

    menggunakan grafika komputer adalah untuk browsing di World Wide Web, untuk

    pengawasan proses, dan banyak lagi.

    I.2. Tujuan Pratikum

    Adapun tujuan yang akan dicapai dari penulisan laporan ini adalah sebagai berikut :

    1. Mengetahui fungsi-fungsi pada openGL.

    \

  • 8/12/2019 komputer grafik rizky

    5/31

    5

    BAB II

    LANDASAN TEORI

    2.1 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 yangmengarah 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.

    Bagian dari grafika komputer meliputi:

    1. Geometri:mempelajari cara menggambarkan permukaan bidang2. Animasi:mempelajari cara menggambarkan dan memanipulasi gerakan3. Rendering:mempelajarialgoritma untuk menampilkan efek cahaya4. Citra (Imaging): mempelajari cara pengambilan dan penyuntingan gambar.

    Teknik-teknik yang dipelajari dalam grafika komputer adalah teknik-teknik

    bagaimana membuat atau menciptakan gambar menggunakan komputer. Ada perbedaan yang

    sangat mendasar antara foto dan gambar, yaitu pada foto semua detail obyek terlihat

    sedangkan pada gambar (baik itu gambar manusia atau gambar komputer) tidak dapat

    memperlihatkan semua detail yang ada tetapi hanya detail-detail yang dianggap penting

    dalam menunjukkan pola suatu gambar.

    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/Geometrihttp://id.wikipedia.org/wiki/Animasihttp://id.wikipedia.org/w/index.php?title=Rendering&action=edit&redlink=1http://id.wikipedia.org/wiki/Algoritmahttp://id.wikipedia.org/wiki/Citrahttp://id.wikipedia.org/wiki/Citrahttp://id.wikipedia.org/wiki/Algoritmahttp://id.wikipedia.org/w/index.php?title=Rendering&action=edit&redlink=1http://id.wikipedia.org/wiki/Animasihttp://id.wikipedia.org/wiki/Geometrihttp://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
  • 8/12/2019 komputer grafik rizky

    6/31

    6

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

    1. Point2.

    Polyline

    3. Polygon4. Filled Polygon ( Face )5. Gradate Polygon

    2.2.1. Point

    Point adalah sebuah titik yang digunakan untuk membangun obyek. Setiap titik

    dalam obyek 3 dimensi memiliki nilai dalam x, y dan z.

    2.2.2. Polyline

    Polyline adalah sebuah fungsi yang dibentuk dari beberapa garis yang saling

    berhubungan dan membentuk sebuh kurva yang terbuka.

    2.2.3 Polygon

    Polygonadalah suatu fungsi yang mirip dengan polyline hanya saja hasilnya adalah

    kurva tertutup, sedangkanpolylinehasilnya kurva terbuka.

    2.2.4 Filled Polygon (Face)

    Filled Polygonadalah sebuahpolygonyang bagian dalamnya diwarnai atau dipenuhi

    dengan sebuah warna tertentu. Filled polygon biasanya digunakan sebagai face dari

    pembentukan obyekobyek 3 Dimensi.

    2.2.5. Gradate Polygon

    Gradate polygon adalah sebuah polygon yang bagian dalamnya memiliki warna

    warna yang bergradasi dari satu warna ke warna yang lainnya.

    2.2 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

  • 8/12/2019 komputer grafik rizky

    7/31

    7

    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 dimensiadalah bukan hanya representasi dari objek dunia nyata, tetapi sebuah artefak independen

    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.

    2.3Grafik komputer 3DGrafik komputer 3D merupakan representasi dari data geometrik 3 dimensi sebagai

    hasil dari pemrosesan dan pemberian efek cahaya terhadap grafik komputer 2D. hasilnya

    dapat ditampilkan secara real time untuk keperluan simulasi. Prinsip yang dipakai mirip

    dengan grafik komputer 2D dalam penggunaan algoritma, grafika vektor, model frame kawat

    (wire frame model), dan grafik rasternya.

    Grafik komputer 3D sering disebut sebagai model 3D. Namun, model 3D ini lebih

    menekankan pada representasi matematis untuk objek 3 dimensi. Obyek pada grafik 3D

    adalah sekumpulan titik-titik 3D (x,y,z) yang membentuk suatu face (bidang) yang

    digabungkan menjadi satu kesatuan. Face sendiri adalah gabungan titik-titik yang membentuk

    bidang tertentu. Data matematis ini belum bisa dikatakan sebagai gambar grafis hingga saat

    ditampilkan secara visual pada layar komputer atau printer. Proses penampilan suatu model

    matematis ke bentuk citra 2 D biasanya dikenal dengan proses 3D rendering.

    2.4Perbedaan Grafik 2D dan 3DPerbedaan yang paling mendasar dan terlihat dengan sangat jelas adalah tampilan gambarnya.

    Gambar 2D tampil flat adn frame tampilannya cenderung terbatas karena objek gambarnya

    disajikan hanya dengan sumbu x dan y. Sedangkan pada grafik 3D, gambar yang ditampilkan

    lebih hidup, membentuk ruang, tidak flat, serta framenya lebih luas yang dikarenakan gambar

    3D disajikan dengan 3 sumbu, yaitu x, y, dan z.

  • 8/12/2019 komputer grafik rizky

    8/31

    8

    2.5TransformasiTransformasi dasar pada objek dua dimensi yang pertama adalah translasi

    (translation). Translasi berarti memindahkan suatu objek sepanjang garis lurus dari suatu

    lokasi koordinat tertentu ke lokasi yang lain. Transformasi skala (scaling)digunakan untukmengubah ukuran suatu objek, sedangkan rotasi (rotation)adalah pemindahan objek menurut

    garis melingkar.

    Jenis jenis dari transformasi dasar:

    1. TranslasiTranslasi dilakukan dengan penambahan translasi pada suatu titik koordinat dengan translasi

    vektor atau shift vektor, yaitu (tx,ty), dimana tx adalah translation vektor menurut sumbu x,

    sedangkan tyadalah translation vektor menurut sumbu y. koordinat baru titik yang ditranslasi

    dapat diperoleh dengan

    X= x + tx

    Y= y + ty

    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

    untuk translasi dapat dinyatakan sebagai berikut :

    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.

  • 8/12/2019 komputer grafik rizky

    9/31

    9

    2. SkalaTransformasi skala adalah perubahan ukuran suatu objek. Koordinat baru dapat diperoleh

    dengan melakukan perkalian nilai koordinat dengan scaling factor, yaitu (sx , sy) ,dimana sx

    adalah scaling factor menurut sumbu x, sedangkan syadalah scaling factor menurut sumbu y.koordinat baru titik yang diskala dapat diperoleh dengan

    X= x + sx

    Y = y + sy

    Dimana (x , y) adalah koordinat asal suatu objek dan (x,y) adalah koordinat setelah diskala.

    Matriks transformasi untuk skala dapat dinyatakan sebagai berikut:

    Dengan demikian skala dapat juga dituliskan

    P = S . P

    Scaling factor sx dan sy dapat diberikan sembarang nilai positif. Nilai lebih dari 1

    menyebabkan objek diperbesar, sebaliknya bila nilai lebih kecil dari 1, maka objek akan

    diperkecil. Bila sx dan symempunyai nilai yang sama, maka skala disebut uniform scaling.

    Nilai yang tidak sama dari sxdan symenghasilkan differential scaling, yang biasa digunakan

    pada program aplikasi.

    3. RotasiRotasi dua dimensi pada suatu objek kan memindahkan objek tersebut menurut garis

    melingkar. Pada bidang xy. Untuk melakukan rotasi diperlukan sudut rotasi dan pivot point

    (xp yp ) atau rotasi point dimana objek di rotasi, seperti pada gambar 5-3 nilai positif dari

    sudut rotasi menentukan arah rotasi berlawanan dengan jarum jam, dan sebaliknya nilai

    negative akan memutar objek searah jarum jam.

    Rotasi dapat dilakukan dengan pivot point yaitu titik pusat koordinat, seperti pada gambar 5-

    4. Pada betuk ini, r adalah jarak konstan dari titik pusat, sudut adalah sudut posisi suatu

    titik dengan sumbu horizontal, sedangkan adalah sudut rotasi. Menggunakan trigonometri,

    transformasi dapat dinyatakan dengan sudut dan sebagai berikut:

    X= r cos ( + ) = r cos cos r sin sin

    y = r sin ( + ) = r cos sin + r sin cos

  • 8/12/2019 komputer grafik rizky

    10/31

    10

    sedangkan dengan koordinat polar diketahui bahwa

    x = r cos , y = r sin

    dengan melakukan substitusi, diperoleh rumus transformasi untuk rotasi suatu titik (x, y)

    dengan sudut rotasi sebagai berikut:x = x cos y sin

    y = x sin y cos

    matriks transformasi untuk rotasi dapat dinyatakan sebagai berikut:

    P = R. P

    Rotasi dapat dinyatakan dalam bentuk lain, yaitu matriks. Matriks rotasi dapat dituliskan

    dengan

    Rotasi suatu titik terhadap pivot point (xp yp) seperti pada gambar 5-5, menggunakan bentuk

    trigonometri, secara umum dapat dituliskan sebagai berikut:

    X = xp+(x - xp) cos (y - yp) sin

    Y = yp+ (xxp) sin + (y yp) cos

    2.6Color (Warna)Bentuk gelombang elektromagnetik yang terkandung dalam cahaya yang berasal dari

    sumber cahaya. Spectrum warna memiliki panjang gelombang elektomagnetik antara 350-

    750 nanometer .

    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

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

    mengharmonikan warna pada karya seni dan design

  • 8/12/2019 komputer grafik rizky

    11/31

    11

    Gambar 1 Pembagian warna

    Warna dapat didefinisikan secara obyektif/fisik sebagai sifat cahaya yang

    dipancarkan, atau secara subyektif/psikologis sebagai bagian dari pengalaman indera

    pengelihatan. Secara obyektif atau fisik, warna dapat diberikan oleh panajang gelombang.

    Dilihat dari panjang gelombang, cahaya yang tampak oleh mata merupakan salah satu bentuk

    pancaran energi yang merupakan bagian yang sempit dari gelombang elektromagnetik.

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

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

    meliputi :

    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.

    2.7 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 menggunakankomputer.

  • 8/12/2019 komputer grafik rizky

    12/31

    12

    Mengerti akan pengaruh cahaya dan objek` Bayangan

    Bayangan akan muncul saat cahaya jatuh menyinari suatu objek. Pada dunia maya, layaknya cahaya, terdapat beberapa jenis bayangan yang dapat dihasilkan

    oleh komputer.

    Bayangan bekerja sama dengan cahaya untuk memberi kesan natural atau realistic pada scene

    yang ada. Bayangan dapat membantu mendefinisikan posisi objek-objek, apakah berada di

    lantai atau melayang di udara. Bayangan yang dihasilkan bisa tajam dan solid namun bisa

    juga lembut dan buram (blurry). Keberadaan bayangan atau ketiadaannya dapat digunakan

    untuk memberi keseimbangan dan kontras pada objek-objek di dalam scene.

    2.8 Blending (Pencampuran)Pencampuran merupakan fungsi yang menggabungkan nilai warna dari sumber dan

    tujuan. Operasi campuran yaitu cara yang paling alami untuk mengetahui bahwa komponen

    RGB adalah suatu fragmen yang mewakili warna dan komponen alfa adalah suatu fragmen

    yang mewakili sifat tidak tembus cahaya.

    Faktor sumber dan tujuan

    Pada proses pencampuran, nilai cairan warna yang masuk fragmen (sumber)

    digabungkan dengan warna yang sesuai dengan nilai saat ini yang disimpan pada piksel

    (tujuan) dalam dua tahap proses. Yang pertama menghitung faktor sumber dan tujuan, factor-

    faktor tersebut adalah RGBA quadruplets yang masing-masing dikalian dengan komponen-

    komponen R, G, B dan nilai-nilai dari sumber dan tujuan. Kemudian komponen yang sesuai

    dalam dua set RGBA quadruplets. Secara sistematis, faktor sumber dan tujuan pencampuran

    (SR, Sg, Sb, Sa) dan (Dr, Dg, dB, Da) dan nilai RGBA ditandai dengan s atau d dan terakhir

    nilai RGBA dicampurkan yang diperoleh dengan (RsSr + RdDr, GsSg + GdDg, BsSb +BdDb, AsSa + Adda) dimana setiap komponen adalah quadruplets is eventually clamped to

    [0,1].

    Dengan menggunakan glBlendFunc () untuk persediaan pada dua hal utama, yang

    pertama menentukan bagaimana faktor sumber dan tujuan harus dihitung dan yang kedua

    menunjukan bagaimana faktor sumber dan tujuan dihitung. Dan untuk proses

    pencampurannya harus ada faktor pengaktifannya menggunakan : glEnable (GL_BLEND).

    Menggunakan glDisable () dengan GL_BLEND untuk menonaktifkan Pencampuran danmenggunakan konstan GL_ONE (sumber) dan GL_ZERO (tujuan) memberikan hasil yang

  • 8/12/2019 komputer grafik rizky

    13/31

    13

    sama seperti ketika Pencampuran dinonaktifkan. Nilai-nilai ini bersifat default dengan void

    glBlendFunc(GLenumsfactor,GLenum dfactor).

    Mengontrol bagaimana nilai warna dalam fragmen yang diproses digabungkan

    dengan yang sudah disimpan dalam framebuffer (tujuan). Pendapat sfactor menunjukkanbagaimana untuk menghitung faktor sumber Pencampuran dan dfactor menunjukkan

    bagaimana untuk menghitung faktor tujuan Pencampuran. Campuran faktor yang

    diasumsikan terletak pada rentang [0,1]; setelah nilai warna dalam sumber dan tujuan

    digabungkan, setelah dihitung kisaran [0,1].

    2.9 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 tekstura. Menandai tekstur

    b. Mengenablekan tekstur2. Menandai koordinat tekstur pada vertek3. Menentukan parameter tekstur

  • 8/12/2019 komputer grafik rizky

    14/31

    14

    BAB III

    HASIL PERCOBAAN

    3.1 Primitive drawing

    Penghasilan gambar pada grafika komputer menggunakan primitif grafik dasar.

    Primitif ini memudahkan untuk menggambar pada layar monitor sebagaimana penggunaan

    persamaan geometrik sederhana. Contoh primitif grafik dasar adalah :

    o Titik

    o Garis, Segiempat

    o Kurva, Lingkaran, ellipse, kurva bezier, kurva lainnyao Fill area

    o Text

    Objek kompleks dapat dibuat dengan kombinasi dari primitif ini. Adapun contoh grafik

    primitif yang lain adalah :

    o Poligaris yaitu urutan garis lurus yang saling terhubung.

    o Teks adalah bentuk bahasa tulisan dengan simbol-simbol tertentu. Teks merupakan

    kumpulan lebih dari dua karakter.o 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 dispalys (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.

    http://4.bp.blogspot.com/-ufJE_f6kEDE/UYEtPOrylcI/AAAAAAAAACE/pHtXrVDUUSI/s1600/Capture2.JPG
  • 8/12/2019 komputer grafik rizky

    15/31

    15

    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.

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

    }

    void drawPolygon(point2D_t pnt[],int n)

    {

    int i;

    glBegin(GL_POLYGON);

    for (i=0; i

  • 8/12/2019 komputer grafik rizky

    16/31

    16

    }

    glEnd();

    }

    void fillPolygon (point2D_t pnt[], int n, color_t color)

    {

    int i;

    setColor(color);

    glBegin(GL_POLYGON);

    for (i=0; i

  • 8/12/2019 komputer grafik rizky

    17/31

    17

    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

  • 8/12/2019 komputer grafik rizky

    18/31

    18

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

    }

  • 8/12/2019 komputer grafik rizky

    19/31

    19

    Hasilnya :

    3.3. Contoh fungsi 3D ( dimensi )

    #include

    #include

    #include

    #include

    #include

    #include

    void cube()

    {

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

    glPushMatrix();

  • 8/12/2019 komputer grafik rizky

    20/31

    20

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

    glLightfv(GL_LIGHT0,GL_DIFFUSE,lightIntensity);

    glLightfv(GL_LIGHT0,GL_POSITION,light_position);

    }

  • 8/12/2019 komputer grafik rizky

    21/31

    21

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

    cube();//memanggil fungsi menggambar kubus

    glFlush();//mengirim smua objek untuk dirender

    }

  • 8/12/2019 komputer grafik rizky

    22/31

    22

    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 :

  • 8/12/2019 komputer grafik rizky

    23/31

  • 8/12/2019 komputer grafik rizky

    24/31

    24

    int i;

    setColor(color);

    glBegin(GL_POLYGON);

    for (i=0; i

  • 8/12/2019 komputer grafik rizky

    25/31

    25

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

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

  • 8/12/2019 komputer grafik rizky

    26/31

    26

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

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

  • 8/12/2019 komputer grafik rizky

    27/31

    27

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

    point2D_t

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

    drawPolygon(batang3,4);

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

  • 8/12/2019 komputer grafik rizky

    28/31

    28

    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)

    {

    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;

    }

  • 8/12/2019 komputer grafik rizky

    29/31

    29

    Hasilnya :

  • 8/12/2019 komputer grafik rizky

    30/31

    30

    BAB IV

    Analisa Hasil Percobaan

    4.1TUJUAN1. Agar kita mengetahui fungsi-fungsi dari open GL2. Mengkaji beberapa pembuatan grafik menggunkan bahasa pemograman

    menggunakan bahassa aplikasi dan bahasa pemograman

    BAB V

    Penutup5.1. KesimpulanGrafika komputer akhir-akhir ini mulai dirasa sangat penting dan mencakup hampir

    semua bidang kehidupan seiring dengan semakin pentingnya sistem komputer dalam berbagai

    kegiatan. Grafika komputer merupakan gambar atau grafik yang dihasilkan oleh komputer.

    Teknik-teknik yang dipelajari dalam grafika komputer adalah teknik-teknik bagaimana

    membuat atau manciptakan gambar dengan menggunakan komputer, salah satunya adalah

    Teknik Transformasi tiga dimensi yaitu suatu model atau bentuk atau teknik memindahkan

    atau mengubah nilai posisi objek dalam sistem koordinat tiga dimensi. Pemindahan objek ini

    dapat diartikan sebagai pemindahan titik. Transformasi tiga dimensi ini mencakup proses

    translasi, penskalaan, rotasi, dll.

    Dari laporan tugas ini diketahui cara-cara memindahkan polygon dengan GL Translatef,

    memutar objek dengan GL Rotatef, membuat polygon tersebut lebih besar atau lebih kecil

    dengan menggunakan GL Scalef. Di samping perintah-perintah yang kami sebutkan di atas,

    masih banyak lagi objek-objek yang dapat dihasilkan dengan menggunkan transformasi tiga

    dimensi.

    5.2. SaranDari pemaparan di atas maka penulis menyarankan kepada pembaca agar lebih

    memperdalam lagi ilmu tentang grafika komputer untuk menghasilkan suatu grafik

    atau gambar yang menarik.

  • 8/12/2019 komputer grafik rizky

    31/31

    DAFTAR PUSAKA

    http://elsa-rachmanto.blogspot.com/2013/05/penghasilan-gambar-padagrafika-komputer.html

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

    http://ebookbrowsee.net/laporan-pemandangan-3d-docx-d375288541

    http://rusdiary.wordpress.com/2011/09/24/apa-itu-komputer-grafik-oo%E2%80%99/

    http://four07.wordpress.com/2013/09/13/materi-komputer-grafik/

    http://elsa-rachmanto.blogspot.com/2013/05/penghasilan-gambar-padagrafika-komputer.htmlhttp://elsa-rachmanto.blogspot.com/2013/05/penghasilan-gambar-padagrafika-komputer.htmlhttp://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.htmlhttp://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.htmlhttp://ebookbrowsee.net/laporan-pemandangan-3d-docx-d375288541http://ebookbrowsee.net/laporan-pemandangan-3d-docx-d375288541http://rusdiary.wordpress.com/2011/09/24/apa-itu-komputer-grafik-oo%E2%80%99/http://rusdiary.wordpress.com/2011/09/24/apa-itu-komputer-grafik-oo%E2%80%99/http://rusdiary.wordpress.com/2011/09/24/apa-itu-komputer-grafik-oo%E2%80%99/http://ebookbrowsee.net/laporan-pemandangan-3d-docx-d375288541http://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.htmlhttp://elsa-rachmanto.blogspot.com/2013/05/penghasilan-gambar-padagrafika-komputer.html