grafik komputer devi

30
Page | 1 KELAS TI4 – D SORE LAPORAN PRAKTIKUM KOMPUTER GRAFIK NAMA PRAKTIKUM NOMOR MAHASISWA TANGAAL KUMPUL TANDA TANGAN PRAKTIKUM DEVI RISMAYATI 1214370337 12 JUNI 2014 DEVI NAMA PENILAI TANGGAL KOREKSI NILAI TANDA TANGAN DOSEN Indri Sulistya Ningsih UNIVERSITAS PANCA BUDI FAKULTAS TEKNIK JURUSAN INFORMATIKA M E D A N 2 0 1 4

Upload: michael-vance

Post on 23-Nov-2015

166 views

Category:

Documents


2 download

DESCRIPTION

Tugas Praktikum Komputer Grafik Devi Rismayati

TRANSCRIPT

  • Page | 1

    KELAS

    TI4 D SORE

    LAPORAN PRAKTIKUM

    KOMPUTER GRAFIK

    NAMA PRAKTIKUM

    NOMOR MAHASISWA

    TANGAAL KUMPUL

    TANDA TANGAN

    PRAKTIKUM

    DEVI RISMAYATI

    1214370337

    12 JUNI 2014

    DEVI

    NAMA

    PENILAI

    TANGGAL KOREKSI

    NILAI

    TANDA TANGAN

    DOSEN

    Indri Sulistya

    Ningsih

    UNIVERSITAS PANCA BUDI

    FAKULTAS TEKNIK

    JURUSAN INFORMATIKA

    M E D A N

    2 0 1 4

  • Page | 2

    DAFTAR ISI

    DAFTAR ISI... 2 Kata Pengantar 3 BAB I Pendahuluan 4

    A. Latar Belakang. 4 B. Tujuan Praktikum. 5

    BAB II Landasan Teori. 6

    A. Pengertian Sintax Sintax 6 B. Pengertian Dari 2D dan 3D.. 7 C. Perbedaan Dari 2D dan 3D.. 10

    BAB III Hasil Percobaan / Praktikum 14

    A. Contoh dan Fungsi Dari Primitif Drawing. 14 B. Modul 1 Diamond. 16 C. Modul 2 Bunga. .. .. 18 D. Modul 3 Kubus.. .. 19 E. Modul 4 Pengcahayaan pada Bola 23 F. Modul 5 Simulasi Planet.. 25

    BAB IV Analisa Hasil Percobaan.. 26 Penutup29

    A.Kesimpulan 29 A. Saran Program dan Hasil Aplikasinya 29

    Daftar Pusaka.. 30

  • Page | 3

    KATA PENGANTAR

    Segala puji bagi allah, serta syukur saya panjatkan kehadiran Allah SWT yang telah

    memberikan nikmat dan hikiki dalam kehidupan yaitu nikmat iman dan islam. Shalawat dan

    salam atas bimbingan Nabi Besar Muhammad SAW. Dengan rahmat dan hidayahnya saya

    dapat menyusun tugas LAPORAN TUGAS PRAKTIKUM KOMPUTER GRAFIK ini.

    Penulisan laporan ini di ajukan untuk memenuhi tugas mata kuliah PRAKTIKUM

    KOMPUTER GRAFIK yang berguna untuk memahami lebih jauh tentang berbagai hal yang

    berhubungan dengan cara kerja pada program komputer grafik, oleh karena itu kritik dan

    saran yang membangun sangat di harapkan agar membuat laporan ini menjadi lebih baik.

  • Page | 4

    BAB I

    PENDAHULUAN

    A.Latar belakang

    Komputer Grafik pada dasarnya adalah suatu bidang komputer yang mempelajari cara-cara

    untuk meningkatkan dan memudahkan komunikasi antara manusia dengan mesin (komputer)

    dengan mesin jalan membangkitkan, menyimpan, dan memanipulasi gambar model suatu

    objek menggunakan computer.

    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.

    . Aplikasi grafik komputer dapat di bagi menjadi beberapa kelompok yaitu :

    Aplikasi pengolahan bentuk citra

    Aplikasi pengolah bentuk dan citra merupakan aplikasi yang banyak di gunakan oleh

    Desaigner grafis dan ilustrator.

    Aplikasi pengolah bentuk

    Ditunjukkan untuk pengolah bentuk (shape) yang di susun dari serangkaian garis

    sedangkan aplikasi pengolaha citra di tunjukkan untuk memanipulasi titik yang

    membentuk sebuah gambar (citra).

    Aplikasi presentasi

    Banyak di gunakan oleh kalangan bisnis dalam mempresentasikan ide ataupunkonsep.

    Dalam perkembangannya, aplikasi presentasi tidak hanya sekedar menampilkan slide

    ke layar tapi juga dilengkapi dengan fasilitas animasi contohnya power point,

    Micromadia flash.

  • Page | 5

    Animasi

    Merupakan aplikasi yang banyak di gunakan dalam bidang periklanan dan film,

    dengan menggunakan aplikasi animasi seorang kreator dapat menciptakan benda-

    benda maya yang dapat bergerak dalam dunia nyata.

    Oleh karena itu sudah banyak pula bahasa pemrograman yang di lengkapi dengan

    tools/library pembuatan grafik salah satu contoh tools pembuatan aplikasi grafik adalah

    openGL (open Grafics Library). openGL adalah suatu spesifikasi grafik yang low-level yang

    menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran.

    OpenGL digunakan untuk mendefinikasikan suatu objek baik objek 2D maupun objek 3D.

    Dan makala yang di sampaikan kali ini khusus membahas mengenai perancang 2 dimensi dan

    3 dimensi menggunakan visual C++.

    Berikut adalah hal-hal yang diperlukan untuk menjalankan pencahayaan dalam

    OpenGL:

    1. Tentukan vektor normal untuk setiap vertex dari semua obyek. Vektor normal ini

    digunakan dalam perhitungan sudut pantulan oleh OpenGL.

    2. Buat, pilih, dan atur posisi satu atau lebih sumber cahaya.

    3. Ciptakan dan pilih model/setting pencahayaan.

    4. Tentukan sifat-sifat material untuk semua objek.

    B.Tujuan praktikum

    Menyelesaikan Ujian Akhir Semester mata kuliah komputer grafik semester 4

    untuk memungkinkan manusia berkomunikasi lewat gambar, bagan-bagan, dan

    diagram.

    Mahasiswa mampu menggambar objek 2 dimensi dan 3 dimensi menggunakan bahasa

    pemrograman visual C++ dan OpenGL

    Mahasiswa mampu mengimplementasikan fungsi transformasi 2 dimensi dan 3

    dimensi.

    Mahasiswa dapat mengetahui cara pengerjaan pada system computer grafik.

  • Page | 6

    BAB II Landasan Teori

    A. Fungsi dari Syntax Syntax Open GL

    1) glutSolidSphere membuat bola berpusat pada asal pemodelan system koordinat.

    Utara dan kutub selatan bola berada di Z positif dan negative sumbu-masing-masing

    dan meridian utama persimpangan sumbu X positif.

    2) glPointSize digunakan untuk mengatur besar titik yang akan digambar.

    3) glBegin(GL_POINTS) digunakan untuk menggambar titik.

    4) glColor3f adalah warna dari titk yang akan digambar. Format yang digunakan adalah

    format RGB.

    5) glVertex3f berarti posisi titik adalah 10 satuan ke kiri, 5 satuan ke atas, dan 20 satuan

    menjauh dari layar.

    6) glTranslatef digunakan untuk merubah titik tengah sumbu koordinat.

    7) glLineWidth digunakan untuk menentukan lebar garis yang akan digambar.

    8) Gl_Point di gunakan untuk Memperlakukan setiap verteks sebagai titik tunggal.

    9) Gl_Lines di gunakan untuk Memperlakukan setiap pasangan verteks sebagai segmen

    garis independen.

    10) GL_LINE_STRIP di gunakan untuk Menggambar sekelompok verteks yang

    terhubung menjadi segmen garis dari titik pertama sampai terakhir.

    11) GL_LINE_LOOP Menarik sekelompok verteks yang terhubung menjadi segmen

    garis dari titik pertama sampai terakhir, kemudian kembali ke verteks yang pertama.

    12) GL_TRIANGLES Memperlakukan setiap tiga verteks sebagai segitiga independen.

    13) GL_TRIANGLE_STRIP Menggambar sekelompok verteks yang terhubung

    menjadi segitiga.

    14) Gl viewport untuk mengatur viewport.

    15) Gl get untuk return value.

    16) Gl GetString untuk return string yang menjelaskan koneksi GL.

    17) Gl ActiveTexture untuk memilih unit.

    18) Gl LinkProgram untuk menembahkan link sebuah program.

    19) Gl ClearColor untuk menentukan warna.

    20) Gl BindBuffer untuk menghasilkan nama buffer objek yang di namakan.

    21) Gl GenBuffer untuk menghasilkan nama buffer objek.

  • Page | 7

    B. Pengertian Dari 2D dan 3D dalam computer grafik

    Pengertian Dari Pixel - Picture Element

    Pixel adalah unsur gambar atau representasi sebuah titik terkecil dalam sebuahgambar grafis

    yang dihitung per inci. Pixel sendiri berasal dari akronim bahasa Inggris Picture Element

    yang disingkat menjadi Pixel. Pada ujung tertinggi skala resolusi, mesincetak gambar

    berwarna dapat menghasilkan hasil cetak yang memiliki lebih dari 2.500titik per inci denga

    pilihan 16 juta warna lebih untuk setiap inci, dalam istilah komputer berarti gambar seluas

    satu inci persegi yang bisa ditampilkan pada tingkat resolusitersebut sepadan dengan 150 juta

    bit informasi.Monitor atau layar datar yang sering kita temui terdiri dari ribuan pixel yang

    terbagidalam baris-baris dan kolom-kolom. Jumlah pixel yang terdapat dalam sebuah monitor

    dapat kita ketahui dari resolusinya. Resolusi maksimum yang disediakan oleh monitor adalah

    1024x768, maka jumlah pixel yang ada dalam layar monitor tersebut adalah 786432 pixel.

    Semakin tinggi jumlah pixel yang tersedia dalam monitor, semakin tajamgambar yang

    mampu ditampilkan oleh monitor tersebut.

    Pengertian 2D komputer garafik

    Objek grafik 2 dimensi adalah sekumpulan titik-titik 2 dimensi yangdihubungkan dengan

    garis lurus, baik berupa polyline, polygon atau kurva. Objek grafik 2 dimensi didefinisikan

    sebagai kumpulan titik 2 dimensi yang secara komputasi dinyatakan sebagai array 1D, atau

    linkedlist sesuai dengan struktur data yang digunakan dalam menyatakan kumpulan titik 2D

    ini. Objek grafik dimensi juga adalah gambar 2 dimensi yang sumbu x dan sumbu y, atau

    sumbu koordinat cartesius dua dimensi. Dua sumbu yang saling bertegak lurus antar satu

    dengan yang lain, yang keduanya terletak dalam satu bidang (bidang x,y).

    Sedangkan Grafik komputer 2D adalah sebuah generasi gambar digital berbasis komputer,

    yang kebanyakan mengambil objek-objek dua dimensi (2D). Model Grafik 2D merupakan

    kombinasi dari model geometri (juga disebut sebagai grafik vektor), gambar digital (raster

    graphics), fungsi matematika, dan sebagainya. Komponen-komponen ini dapat dimodifikasi

    dan dimanipulasi oleh transformasi geometri dua dimensi, seperti translasi, rotasi, dan

    dilatasi.

    Model-model yang digunakan pada disain grafis 2D biasanya tidak mendukung bentuk-

  • Page | 8

    bentuk tiga-dimensi, atau fenomena yang bersifat tiga dimensi, seperti pencahayaan,

    bayangan, pantulan, refraksi, dan sebagainya. Namun demikian, mereka dapat membuat

    model berlapis-lapis (layer); nyata, translusen, dan transparan, yang dapat ditumpuk dalam

    urutan tertentu. Urutan tersebut biasanya didefinisikan dengan angka (kedalaman lapisan,

    atau jarak dari si penglihat).

    Pengertian 3D pada komputer grafik

    3 dimensi biasa disebut 3D atau adalah bentuk dari benda yang memiliki panjang, lebar, dan

    tinggi. Grafik 3 Dimensi merupakan teknik penggambaran yg berpatokan pada titik koordinat

    sumbu x(datar), sumbu y(tegak), dan sumbu z(miring).Representasi dari data geometrik 3

    dimensi sebagai hasil dari pemrosesan dan pemberian efek cahaya terhadap grafika komputer

    2D. Tiga Dimensi, biasanya digunakan dalam penanganan grafis. 3D secara umum merujuk

    pada kemampuan dari sebuah video card (link).

    Grafik 3D merupakan perkembangan dari grafik 2D. Didalam grafika komputer, 3D

    merupakan bentuk grafik yang menggunakan representasi data geometri tiga dimensi.

    Suatu objek rangka 3D apabila disinari dari arah tertentu akan membentuk bayangan pada

    permukaan gambar. Proses pembuatan grafik komputer 3D dapat dibagi ke dalam tiga fase,

    yaitu 3D modeling yang mendeskripsikan bentuk dari sebuah objek, layout dan animation

    yang mendeskripsikan gerakan dan tata letak sebuah objek, dan 3D rendering yang

    memproduksi image dari objek tersebut.

    Istilah atau Pengertian Grafik 3D adalah sebuah gambar,garis,lengkungan,dan sebagainya

    yang memiliki titik-titik yang menghubungkan menjadi sebuah bentuk 3D. Di dalam dunia

    game, 3D secara umum merujuk pada kemampuan dari sebuah video card (link). Saat ini

    video card menggunakan variasi dari instruksi-instruksi yang ditanamkan dalam video card

    itu sendiri (bukan berasal dari software) untuk mencapai hasil grafik yang lebih realistis

    dalam memainkan game komputer.

  • Page | 9

    C. Perbedaan antara 2D dan 3D

    2 Dimensi (2D)

    Grafik komputer 2 dimensi yang lebih dikenal dengan 2D atau bidang adalah bentuk dari

    benda yang memiliki panjang dan lebar. Penggambarannya pada layar (monitor) dilakukan

    dengan berpatokan pada titik koordinat sumbu x (datar) dan sumbu y (tegak). Koordinat

    tersebut dihitung mulai dari sudut kiri atas layar. Semakin ke kanan, nilai koordinat x

    semakin bertambah. Semakin ke bawah, nilai koordinat y semakin bertambah. Besarnya nilai

    koordinat ini dihitung dalam satuan pixel.

    Agar dapat tampil dengan sempurna, gambar yang akan ditampilkan dengan teknik ini harus

    memiliki nilai koordinat x dan y minimum 0 dan maksimum sebesar resolusi yang digunakan.

    Penerapan 2 dimensi

    Animasi

    Animasi komputer adalah seni menghasilkan gambar bergerak melalui penggunaan komputer

    dan merupakan sebagian bidang komputer grafik dan animasi. Animasi pertama kali

    diperkenalkan oleh Peter Roget pada tahun 1824. Animasi ini yang paling akrab dengan

    keseharian kita. Biasa juga disebut dengan film kartun. Kartun sendiri berasal dari kata

    Cartoon, yang artinya gambar yang lucu.

    Film kartun yang termasuk dalam kategori 2D ini adalah

    Looney Tunes Doraemon Brother Bear

    Pink Panther Lion King Spirit,

    Tom and Jerry Mulan ScoobyDoo

    Game

    Sekitar tahun 1970an ditemukan konsul game (console game) yang membuat game dengan

    grafik dua dimensi muncul ke permukaan.

    Game 2 dimensi dapat dikenali berdasarkan ruangnya yaitu hanya ada sumbu x dan sumbu y

    (hanya 2 sisi). Penggambarannya bisa berdasarkan bitmap maupun vector. Untuk pembuatan

    animasinya seperti melompat, berlari, berjalan, kita harus membuat gambar satu persatu,

    yang nanti apabila digerakkan bergantian secara cepat akan seperti sebuah gambar yang

    bergerak, hal ini dinamakan frame.

  • Page | 10

    Kerealisasian gerakan ditentukan dari gambar yang dibuat, jumlah gambar(frame) yang

    digunakan, serta hitungan gambar per detik (frame per second ( semakin tinggi hitungan

    gambar per detik maka semakin mulus gerakan yang akan dihasilkan).

    3D ( 3 Dimensi )

    Grafik komputer 3 dimensi yang dikenal dengan 3D atau ruang adalah bentuk dari benda

    yang memiliki panjang, lebar, dan tinggi. Grafik 3 Dimensi merupakan teknik penggambaran

    yg berpatokan pada titik koordinat sumbu x(datar), sumbu y(tegak), dan sumbu z(miring).

    Representasi dari data geometrik 3 dimensi sebagai hasil dari pemrosesan dan pemberian efek

    cahaya terhadap grafika komputer 2D. Tiga Dimensi(3D) biasanya digunakan dalam

    penanganan grafis. 3D secara umum merujuk pada kemampuan dari sebuah video card (link).

    Saat ini video card menggunakan variasi dari instruksi-instruksi yang ditanamkan dalam

    video card itu sendiri (bukan berasal dari software) untuk mencapai hasil grafik yang lebih

    realistis dalam memainkan game komputer.

    Grafik komputer 3D juga merupakan representasi dari data geometrik 3 dimensi sebagai hasil

    dari pemrosesan dan pemberian efek cahaya terhadap grafika komputer 2D. Hasil ini kadang

    kala ditampilkan secara waktu nyata (real time) untuk keperluan simulasi. Secara umum

    prinsip yang dipakai adalah mirip dengan grafika komputer 2D, dalam hal: penggunaan

    algoritma, grafika vektor, model frame kawat (wire frame model), dan grafika rasternya.

    Grafik komputer 3D merupakan suatu grafis yang menggunakan 3 titik perspektif dengan

    cara matematis dalam melihat suatu objek, dimana gambar tersebut dapat dilihat secara

    menyeluruh dan nyata. Untuk perangkat-perangkat lunak yang digunakan untuk grafik

    komputer 3D ini banyak bergantung pada aloritma-algoritma.

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

    menekankan pada representasi matematis untuk objek 3 dimensi. 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.

  • Page | 11

    Penerapan 3 dimensi

    Animasi

    Animasi 3D visual adalah pengembangan dari animasi 2D. Dengan animasi 3D, karakter

    yang diperlihatkan semakin hidup dan nyata, mendekati wujud manusia aslinya.

    Perkembangan teknologi dan komputer membuat teknik pembuatan animasi 3D semakin

    berkembang dan maju pesat.

    Semenjak Toy Story buatan Disney (Pixar Studio), maka berlomba-lombalah studio film

    dunia memproduksi film sejenis. Bermunculanlah, Bugs Life, AntZ, Dinosaurs, Final

    Fantasy, Toy Story 2, Monster Inc., hingga Finding Nemo, The Incredible, Shark Tale. Cars,

    Valian. Kesemuanya itu biasa juga disebut dengan animasi 3D atau CGI (Computer

    Generated Imagery).

    Game

    Sejak ditemukannya teknik cel-shading, model 3D bisa ditampilkan menjadi mirip gambar

    2D. Akibatnya banyak game lebih memilih fitur ini daripada grafik 2D biasa. Jika teknik cel-

    shading tersebut diterapkan ke dalam sebuah prototipe game engine sebagai salah satu

    fiturnya, maka prototipe game engine yang dibuat bisa menangani 2 macam tipe grafik, yaitu

    3D biasa dan cartoon-look 3D. Pembuatan prototipe engine ini bertujuan untuk memudahkan

    pembuatan game 3D yang dapat dijalankan pada komputer berbasis Windows. Pembuatan

    engine dilakukan dengan menggunakan program Microsoft Visual C++ .NET dan SDL 1.2.7

    dengan OpenGL sebagai sistem grafisnya. Dari hasil pengujian diketahui bahwa prototipe

    engine ini berhasil melakukan fungsi-fungsi dasar yang diperlukan sebuah 3D game engine.

    Fungsi-fungsi itu antara lain adalah kemampuan manajemen memori sederhana, logging,

    profiling, penanganan input dari analog joystick, rendering dan animasi model 3D, loading

    custom game map, penanganan suara, penanganan kamera dan fitur cel-shading.

    Architecture Design : 3D sangat membantu dalam menuangkan ide-ide kreatif design

    dengan sangat cepat dan mudah karena dengan 3D Anda akan dapat melihat bentuk

    rancangan bangunan Anda dari segala sisi pandangan. Disamping itu 3D dapat memberikan

    texture maupun lighting menyerupai seperti kondisi aslinya kelak bangunan tersebut

    terbangun.

    Interior Design : Sama halnya seperti Arsitek, designer Interior pun juga akan sangat

    terbantu dengan teknologi 3D. Dengan 3D, setiap ruang yang dirancang akan dapat

  • Page | 12

    divisualkan mendekati ruang yang sebenarnya. Anda dapat menata furniture, elemen

    dekoratif interior lainnya seperti lukisan, foto, patung dan lainnya dengan sangat leluasa dan

    mudah.

    Landscape Design : Dalam mewujudkan design landscape pun, baik Anda seorang Arsitek

    Landscape ataupun Visualizer, 3D akan mampu menvisualkan secara jelas dan detail

    sekalipun. Penataan kontur tanah, vegetasi, perkerasan, gazebo, kolam maupun elemen

    landscape yang lainnya, akan membuat pekerjaan design Anda menjadi mudah dan

    menyenangkan.

    Design : Kalau dulu kartun (cartoon) dibuat dengan sketsa tangan lalu meningkat ke aplikasi

    software 2D, sekarang kartun menapaki era baru dengan teknologi 3D. Trend ini semakin

    meningkat, dikarenakan dengan 3D, cartoon akan semakin tampak hidup dan nyata,

    beratraksi menghibur penonton yang melihatnya. Aplikasi 3D saat ini, sudah semakin

    memudahkan para designer dan animator, bahkan yang pemula sekalipun untuk membuat

    kartun 3D, karena sudah banyak fitur-fitur penunjang pembuat kartun yang disediakan oleh

    setiap aplikasi 3D.

    Logo Design : Tidak hanya cartoon, design dan animasi logo pun saat ini sudah memasuki

    era 3D. Artinya, logo-logo saat ini sudah banyak yang ditampilkan dengan bentuk dan

    tampilan real 3D. Sehingga logo terlihat lebih hidup, menarik dan tampil lebih memikat.

    Aplikasinya dapat dijumpai dibanyak hal, seperti : dibidang broadcast/tv, advertising,

    perkantoran, industri, branding/merk, percetakan, dan sebagainya. Intinya setiap perusahaan

    (company) dan juga produk-produk sangat membutuhkan logo sebagai citra visual mereka

    dan 3D merupakan solusi tepat dalam menvisualkannya.

    Stage Design : Design panggung (stage), biasanya banyak diperuntukkan untuk event-event

    besar seperti : pernikahan (wedding), pameran, expo, seminar, workshop, symposium,

    workshop, pelatihan, peresmian (launching), dan lain sebagainya. Event-event tersebut sangat

    membutuhkan keberadaan panggung sebagai sarana utama maupun pendukungnya. Sehingga

    tentu membutuhkan sebuah design panggung yang bagus dan menarik yang akan menunjang

    bagi suksesnya sebuah event/acara yang digelar. Terlebih bila event/acara tersebut

    menghadirkan tokoh-tokoh penting semisal : pejabat negara, pejabat daerah, tamu asing

    (expat), selebriti, tokoh masyarakat ,dan sebagainya. Dengan demikian, visualisasi 3D

    menjadi sangat penting dan dibutuhkan dalam menampilkan output design stage yang

    optimal.

  • Page | 13

    Product Design : Product design, mencakup berbagai barang seperti : product industri, pecah

    belah, mainan, computer/it, alat komunikasi dan sebagainya, telah menjadikan 3D sebagai

    standar dalam menvisualkan design terbaru dari setiap produk yang akan dirilis dipasaran.

    Stand Design : Design stand biasanya berkorelasi dan berhubungan dekat dengan sebuah

    event, walaupun tidak semua event menampilkan stand. Untuk event-event besar yang juga

    menampilkan stand, umumnya akan membutuhkan 3D dalam menvisualkan bentuk dan

    design stand yang menarik dan tampil bagus nantinya

    Game Design : Saat ini hampir semua game sudah ditampilkan dalam bentuk 3D. Ini

    dimaksudkan agar game dapat tampil lebih atraktif, hidup dan memikat hati para gamer.

    Dengan 3D, para gamer akan mendapatkan sensasi bermain game yang luar biasa, yang

    berdampak pada semakin meningkatnya minat, animo maupun antusiasme dalam memainkan

    game.

    Furniture Design : Dibidang furniture design sudah banyak yang menggunakan teknologi

    3D dalam merancang dan menampilkan bentuk dari suatu design furniture terbaru.

    Pembuatan design yang detail dan rumit sekalipun dapat diselesaikan dengan pendekatan

    aplikasi 3D. Begitu juga dengan penerapan material yang dapat mendekati material aslinya

    sehingga design akan tampil lebih real dan hidup.

    Dari ulasan di atas, dapat disimpulkan bahwa perbandingan 2D dan 3D antara lain :

    Perbedaan dari animasi 2D dan 3D visual adalah dilihat dari sudut pandangnya. Animasi 2D

    menggunakan koordinat x dan y, sedangkan animasi 3D visual menggunakan koordinat x, y

    dan z yang memungkinkan kita dapat melihat sudut pandang objek secara lebih nyata.

  • Page | 14

    BAB III Hasil Percobaan / Praktikum

    A. Contoh dan Fungsi Dari Primitif Drawing

    OpenGL memiliki beberapa komponen dasar untuk merepresentasikan suatu obyek.

    Komponen dasar tersebut, disebut sebagai OpenGL Geometric primitives. Gambar 2

    menggambarkan semua OpenGL Geometric primitives yang tersedia.

    Setiap obyek harus dimodelkan sebagai kombinasi dari komponen-komponen dasar tersebut.

    Sebagai contoh, obyek segiempat pada tutorial 01 tersebut dimodelkan dengan menggunakan

    komponen dasar GL_POLYGON. Obyek tersebut dapat pula dimodelkan dengan komponen

    dasar GL_TRIANGLES atau pun GL_QUAD.

    Secara umum perintah-perintah dalam OpenGL memenuhi aturan sebagai berikut:

  • Page | 15

    Dalam OpenGL, menggambar geometric primitives selalu dilakukan di antara fungsi

    glBegin(PRIMITIVES)

    // Fungsi Menggambar Primitives di sini

    glEnd()

    Setiap OpenGL geometric primitive dispesifikasi oleh urutan vertex-vertex-nya dalam

    bentuk urutan koordinat homogenous. Koordinat homogenous adalah koordinat dalam bentuk

    ( x, y, z, w ). Setiap primitive memiliki standar tentang bagaimana vertex-vertex

    diorganisasikan.

  • Page | 16

    B. Modul 1 DIAMON #include void userdraw() { static int tick=0; void drawDot(int x, int y); glBegin(GL_LINES); glVertex2i(100,250); glVertex2i(300,250); glVertex2i(100,250); glVertex2i(200,200); glVertex2i(200,200); glVertex2i(300,250); glVertex2i(100,250); glVertex2i(200,50); glVertex2i(200,200); glVertex2i(200,50); glVertex2i(300,250); glVertex2i(200,50); glEnd(); } void display(void) { //BERSIH LAYAR 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(640,480); glutCreateWindow("Diamond"); glClearColor(1.0f,0.0f,0.0f,0.0f); gluOrtho2D(0.,640.,0.,350.); glutIdleFunc(display); glutDisplayFunc(display); glutMainLoop(); return 0; }

  • Page | 17

    C. Modul 2 BUNGA #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

  • Page | 18

    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

  • Page | 19

    D. Modul 3 Kubus #include #include struct point { float x,y,z; }; struct vektor { float v[4]; }; struct matriks { float m[4][4]; }; struct face { int jumtitikons; int indextitik[40]; }; struct objek { int jumtitik; point titik[40]; int jumsisi; face sisi[30]; }; matriks mat; float theta=0.5; vektor point2vektor(objek balok, int i) { vektor vec; vec.v[0] = balok.titik[i].x; vec.v[1] = balok.titik[i].y; vec.v[2] = balok.titik[i].z; vec.v[3] = 1; return vec; } point vektor2point(vektor vec) { point pnt; pnt.x = vec.v[0]; pnt.y = vec.v[1]; pnt.z = vec.v[2]; return pnt; } matriks identitas(void) { int i,j; matriks mat; for (i=0;i

  • Page | 20

    trans.m[2][3] = dx; return trans; } matriks rotasiX(float theta) { matriks rotate = identitas(); float cs = cos(theta); float sn = sin(theta); rotate.m[1][1] = cs; rotate.m[1][2] = -sn; rotate.m[2][1] = sn; rotate.m[2][2] = cs; return rotate; } matriks rotasiY(float theta) { matriks rotate = identitas(); float cs = cos(theta); float sn = sin(theta); rotate.m[0][0] = cs; rotate.m[0][2] = sn; rotate.m[2][0] = -sn; rotate.m[2][2] = cs; return rotate; } matriks rotasiZ(float theta) { matriks rotate = identitas(); float cs = cos(theta); float sn = sin(theta); rotate.m[0][0] = cs; rotate.m[0][1] = -sn; rotate.m[1][0] = sn; rotate.m[1][2] = cs; return rotate; } vektor kali (matriks mat, vektor b) { int i,j; vektor c; for (i=0;i

  • Page | 21

    vektor cross (vektor a, vektor b) { vektor c; c.v[0] = a.v[1]*b.v[2]-a.v[2]*b.v[1]; c.v[1] = a.v[2]*b.v[0]-a.v[0]*b.v[2]; c.v[2] = a.v[0]*b.v[1]-a.v[1]*b.v[0]; c.v[3] = 1; return c; } void DrawPolygon(objek obj) { int i,j; float r,g,b; for(i=0;i

  • Page | 22

    glutSwapBuffers(); } void main(int argc,char **argv) { glutInit(&argc,argv); glutInitWindowPosition(20,20); glutInitWindowSize(640,640); glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB); glutCreateWindow("Point To Vektor"); glOrtho(-100.0f,100.0f,-100.0f,100.0f,-100.0f,100.0f); glutIdleFunc(UserDraw); glutDisplayFunc(UserDraw); glutMainLoop(); }

  • Page | 23

    E. Modul 4 Pencahayaan pada Bola #include

    void init(void)

    {

    GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0

    }; GLfloat mat_shininess[] = { 50.0 };

    GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0

    }; glClearColor (0.0, 0.0, 0.0, 0.0);

    glShadeModel (GL_SMOOTH);

    glMaterialfv(GL_FRONT, GL_SPECULAR,

    mat_specular); glMaterialfv(GL_FRONT,

    GL_SHININESS, mat_shininess);

    glLightfv(GL_LIGHT0, GL_POSITION,

    light_position);

    glEnable(GL_LIGHTING); glEnable(GL_LIGHT0);

    glEnable(GL_DEPTH_TEST);

    }

    void display(void)

    {

    glClear (GL_COLOR_BUFFER_BIT |

    GL_DEPTH_BUFFER_BIT);

    glutSolidSphere (1.0, 20, 16);

    glFlush ();

    }

    void reshape (int w, int h)

    {

    glViewport (0, 0, (GLsizei) w, (GLsizei) h);

    glMatrixMode (GL_PROJECTION); glLoadIdentity();

    if (w

  • Page | 24

    1.5*(GLfloat)w/(GLfloat)h, -1.5, 1.5, -10.0,

    10.0);

    glMatrixMode(GL_MODELVIEW);

    glLoadIdentity();

    }

    int main(int argc, char** argv)

    {

    glutInit(&argc, argv);

    glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB |

    GLUT_DEPTH); glutInitWindowSize (500, 500);

    glutInitWindowPosition (100, 100);

    glutCreateWindow (argv[0]);

    init (); glutDisplayFunc(display);

    glutReshapeFunc(reshape); glutMainLoop();

    return 0;

    }

  • Page | 25

    F. Modul 5 Simulasi Planet #include static int year = 0, day = 0; void init(void) { glClearColor (0.0, 0.0, 0.0, 0.0); glShadeModel (GL_FLAT); } void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 1.0, 1.0); glPushMatrix(); glutWireSphere(1.0, 20, 16); /* gambar matahari */ glRotatef ((GLfloat) year, 0.0, 1.0, 0.0); glTranslatef (2.0, 0.0, 0.0); glRotatef ((GLfloat) day, 0.0, 1.0, 0.0); glutWireSphere(0.2, 10, 8); /* gambar planet kecil */ glPopMatrix(); glutSwapBuffers(); } void reshape (int w, int h) { glViewport (0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode (GL_PROJECTION); glLoadIdentity (); gluPerspective(60.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); } void keyboard (unsigned char key, int x, int y) { switch (key) { case 'd': day = (day + 10) % 360; glutPostRedisplay(); break; case 'D': day = (day - 10) % 360; glutPostRedisplay(); break; case 'y': year = (year + 5) % 360; glutPostRedisplay(); break; case 'Y': year = (year - 5) % 360; glutPostRedisplay(); break; case 27: exit(0); break; default: break; } } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize (500, 500); glutInitWindowPosition (100, 100); glutCreateWindow (argv[0]); init (); glutDisplayFunc(display); glutReshapeFunc(reshape); glutKeyboardFunc(keyboard); glutMainLoop(); return 0; }

  • Page | 26

    BAB IV

    Analisa Hasil Percobaan

    Hasil percobaan dari analisa BUNGA ( Modul 2 )

    Hasil percobaan dari analisa Simulasi PLANET ( Modul 5 )

  • Page | 27

    Hasil percobaan dari analisa KUBUS ( Modul 3 )

    Hasil percobaan dari analisa DIAMON ( Modul 1 )

  • Page | 28

    Hasil percobaan dari analisa pencahayaan pada Bola 3D ( Modul 4 )

    Cahaya Ambient, Diffuse, dan Specular Pencahayaan ambient

    adalah cahaya latar belakang dan berasal dari segala arah. Cahaya ambient ini

    memiliki nilai yang lebih besar pada ruangan tertutup dibandingkan dengan ruangan

    terbuka. Meskipun kedua ruang tersebut memiliki sumber cahaya yang sama. Hal ini

    disebabkan karena pada ruang tertutup, cahaya yang memantul dari dinding

    membantu menerangi ruang.

    Cahaya diffuse

    adalah cahaya datang yang bersifat satu arah. Jika sebuah obyek terkena cahaya

    diffuse, sisi tersorot akan terlihat jelas/terang, sedangkan sisi di baliknya akan terlihat

    gelap.

    Cahaya specular

    Mirip seperti cahaya diffuce, cahaya specular adalah cahaya datang datang dari

    arah tertentu; hanya saja pantulannya tidak tersebar rata ke segala arah. Pantulan

    ditentukan oleh jenis material obyek. Logam dan plastik mengkilap memiliki komponen

    specular tinggi. Sementara kapur dan karpet hampir tidak memilikinya. Specularity disebut

    juga sebagai shininess.

  • Page | 29

    PENUTUP

    A. Kesimpulan

    Dari pembahasan dapat di ambil kesimpulan sebagai berikut :

    Di dalam pembuatan grafik di jaman serba teknologi ini kita bebas menentukan alat apa saja yang kita pakai, dan untuk memahami secara mendalam transformasi di dalam grafik computer sangatlah penting menguasai ilmu matematik.

    Perbandingan hasil pembuatan program dengan menggunakan bahasa programan lebih sulit dan berbeda jauh dari segi tampilan, maupun tata cara pembutannya di bandingkan dengan program aplikasi yang menerapkan system Just Click (Event driven ).

    B. Saran Program Dan Hasil Aplikasinya

    Terlebih dahulu harus belajar algoritma, karena algoritma adalah salah satu kunci untuk dapat memahami permasalahan yang akan di hadapi di dalam pembuatan grafik computer.

    Bila ingin membuat suatu program / grafik, pilihlah program aplikasi yanglebih bagus dan lebih kompleks.

    Harus memahami sintak-sintak yang terdapat di dalam bahasa pemrograman ataupun

    fitur-fitur yang terdapat di dalam aplikasi.

    DAFTAR PUSTAKA

  • Page | 30

    http://ajigudboy.wordpress.com/2012/01/18/perbedaan-dan-karakteristik-antara-

    grafik-2-dimensi-dan-3-dimensi/

    http://sigita.web.id/2010/07/tipe-tipe-grafik-komputer/

    http://www.codeproject.com/KB/openGL/OpenGL_Geometric.aspx

    This entry was posted in Graphic Programming Bookmark the permalink.