laporan komputer grafik

Embed Size (px)

Citation preview

  • LAPORAN PRATIKUM

    KOMPUTER APLIKASI

    Nama

    Pratikan

    Nomor

    Mahasiswa

    Tanggal

    Kumpul

    Tanda Tangan

    Pratikan

    Ayu MayaSari 1214370278

    Nama Penilai

    Tanggal

    Koreksi

    Nilai Tanda Tangan

    Dosen

    Universitas Pembangunan Panca Budi

    Fakultas Teknik

    Jurusan Sistem Komputer

    Medan

    2014

    KELAS

    TI VI SORE D

  • DAFTAR ISI

    DAFTAR ISI ............................................................................ i

    Kata Pengantar ............................................................................ 1

    BAB I Pendahuluan ............................................................................

    A. Latar Belakang.

    B. Tujuan Praktikum

    BAB II Landasan Teori..

    A. Pengertian Dari 2D..

    B. Pengertian Dari 3D..

    BAB III

    A. Contoh dan Fungsi dari Diamond ...............................................

    B. Contoh dan Fungsi dari 2 dimensi ...............................................

    C. Contoh dan Fungsi dari 3 dimensi ...............................................

    BAB IV ..

    A. Analisa Hasil Percobaan

    Penutup

    A.Kesimpulan..

    B. Saran .

    Daftar Pustaka

  • KATA PENGANTAR

    Segala puji bagi allah, serta syukur saya panjatkan kehadiran ilahi rabbi yang telah

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

    salam semoga tetap tercurah limpahkan kepada nabi kita Muhammad SAW. Berkat rahmat

    dan hidayahnya lah 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.

  • BAB I

    PENDAHULUAN

    A.Latar belakang

    Grafik komputer adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan

    dan manipulasi gambar (visual ) secara digital. Bentuk sederhana dari grafik komputer adalah

    grafik komputer 2D yang kemudian berkembang menjadi 3D, pemrosesan citra (image

    processing) dan pengenalan pola (pattern recognition). Dan di era globalisasi saat ini grafik

    komputer merupakan bagian ilmu teknologi yang sangat berkembang. Salah satu contohnya

    banyak industri film, yang sudah menggunakan grafik komputer tersebut untuk menghasilkan

    film 3D sangat mudah dan cepat.

    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.

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

    B.Tujuan praktikum

    Menyelesaikan Ujian Akhir Semester mata kuliah komputer grafik semester 4

    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.

  • BAB II

    Landasan Teori

    Definisi Objek 3 Dimensi

    Obyek 3-D adalah sekumpulan titik-titik 3-D (x,y,z) yang membentuk luasan-luasan

    (face) yang digabungkan menjadi satu kesatuan. Face adalah gabungan titik-titik yang

    membentuk luasan tertentu atau sering dinamakan dengan sisi.

    Sistem Koordinat 3 Dimensi

    Contoh pernyataan Objek : Limas Segiempat

  • Titik-titik yang membentuk obyek:

    Titik 0 (0,150,0)

    Titik 1 (100,0,0)

    Titik 2 (0,0,100)

    Titik 3 (-100,0,0)

    Titik 4 (0,0,-100)

    Fungsi OpenGL 3D

    1. Membersihkan Windows

    Pada komputer, memory untuk menampilkan gambar biasanya diisi dengan gambar yang

    berasal dari perintah gambar paling akhir, jadi perlu dibersihkan dengan warna latar belakang

    sebelum digambar lagi. Contoh berikut ini perintah yang digunakan untuk membersihkan

    layar latar belakang dengan warna hitam dan buffer apa yang akan dibersihkan. Dalam hal

    ini, buffer warna yang akan dibersihkan karena buffer warna merupakan tempat gambar

    disimpan.

    glClearColor 0, 0, 0, 0

    glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT

    2. Spesifikasi Warna

    Pada OpenGL mendeskripsikan objek dengan warna objek adalah proses yang berjalan

    sendiri-sendiri. Sebelum warna diubah maka semua objek yang digambar sesudah perintah

    tersebut akan menggunakan warna terakhir yang terdapat pada coloring scheme. Untuk warna

    digunakan perintah glColor3f. Contoh berikut menunjukkan urutan langkah dalam proses

    spesifikasi warna sebelum objek digambar. Warna yang ditampilkan adalah warna merah.

    glColor3f 1, 0, 0

  • 3. Memaksa Proses Menggambar Sampai Selsai

    Kebanyakan sistem grafik modern sudah menggunakan sistem graphics pipeline. Dimana

    CPU utama memberikan issue perintah menggambar dan hardware lain yang melakukan

    transformasi, clipping, shading, texturing dan lain-lain. Pada arsitektur yang demikian,

    proses tidak dilakukan pada satu computer karena setiap komputer mempunyai tugas sendiri.

    CPU utama tidak harus menunggu proses pada masing-masing komputer tadi selesai, tapi

    bisa dengan memberikan issue perintah gambar yang berikutnya. Untuk inilah OpenGL

    menyediakan perintah glFlush yang memaksa client untuk segera mengirim paket network

    walaupun belum penuh. Program sebaiknya ditulis menggunakan perintah ini karena glFlush

    tidak memaksa proses gambar untuk selesai tetapi memaksa proses gambar untuk segera

    dieksekusi, sehingga dijamin semua perintah gambar yang sebelumnya akan segera

    dieksekusi dalam suatu waktu tertentu.

    glFlush

    4. Menggambar di Bidang Tiga Dimensi

    Untuk menggambar grafik jenis apapun pada komputer biasanya dimulai dengan pixel.

    Pixel adalah elemen terkecil dari layar monitor yang mempunyai atribut warna dan posisi.

    Sedangkan untuk membentuk garis, poligon, objek dan lain-lain dapat dilakukan melalui

    urutan pixel yang berbeda. Menggambar dengan menggunakan OpenGL mempunyai

    perbedaan dengan bahasa lain, yaitu tidak perlu memikirkan koordinat layar secara fisik

    tetapi hanya perlu menspesifikasikan posisi koordinat dengan volume penglihatan. OpenGL

    memikirkan sendiri bagaimana caranya menggambar titik, garis, dan lainnya yang berada

    dalam ruang tiga dimensi ke gambar dua dimensi pada layar komputer.

    Area gambar yang dibatasi ini adalah ruang koordinat kartesian yang mempunyai range

    dari -100 hingga 100 untuk sumbu x, y dan z. Secara sederhana bidang ini dapat dianggap

    sebagai bidang gambar untuk perintah-perintah OpenGL.

    Untuk menggambar titik digunakan suatu perintah OpenGL yaitu : glVertex. Fungsi ini

    dapat mempunyai 2 sampai 4 parameter dari berbagai macam tipe data. Sebagai contoh

    perintah glVertex di bawah ini akan menspesifikasikan sebuah titik pada posisi 4 sumbu x, 4

    sumbu y dan 0 untuk sumbu z. glVertex3f 4, 4, 0. Setelah diketahui cara untuk

    menspesifikasikan sebuah titik di ruang pada OpenGL. Selanjutnya yang harus ditambahkan

    adalah informasi tambahan mengenai titik tersebut, apakah titik tersebut akhir dari sebuah

    garis, atau merupakan sebuah titik sudut dari sebuah poligon atau lainnya, karena definisi

  • geometrik dari sebuah vertex sebenarnya bukanlah hanya sebuah titik pada layar tetapi lebih

    merupakan sebuah titik dimana terjadi interseksi antara dua buah garis atau kurva.

    Primitif adalah interpretasi sejumlah set atau deretan titik pada sebuah bentuk yang

    digambar pada layar. Pada OpenGL terdapat sepuluh macam primitif dari mulai menggambar

    sebuah titik hingga poligon. Untuk itu digunakan perintah glBegin sebagai cara memberitahu

    OpenGL untuk memulai menginterpretasi sederetan titik sebagai salah satu bentuk primitif.

    Dan untuk mengakhiri deretan titik ini digunakan perintah glEnd. Sebagai Contoh sebagai

    berikut :

    glBegin bmPolygon // spesifikasikan titik sebagai primitif

    glVertex3f 4, 4, 0 // spesifikasikan posisi titik

    glEnd // mengakhiri perintah menggambar titik

    5. Fungsi Untuk Keperluan Transformasi

    a. Fungsi Translasi (Translation)

    Translasi merupakan bentuk transformasi yang memindahkan posisi suatu objek, baik

    pada sumbu x, sumbu y, atau sumbu z. Fungsi yang digunakan untuk melakukan translasi

    adalah :

    glTranslatef Tx, Ty, Tz

    Parameter Tx digunakan untuk menentukan arah dan seberapa jauh suatu benda akan

    dipindahkan berdasarkan sumbu x. Parameter Ty digunakan untuk menentukan arah dan

    seberapa jauh suatu benda akan dipindahkan berdasarkan sumbu y. Sedangkan parameter Tz

    digunakan untuk menentukan arah dan seberapa jauh suatu benda akan dipindahkan

    berdasarkan sumbu z.

    Contohnya :

    glTranslatef 2, 2, 2

    b. Fungsi Rotasi (Rotation)

    Rotasi merupakan bentuk transformasi yang digunakan untuk memutar posisisuatu

    benda. Fungsi yang digunakan untuk melakukan rotasi ialah glRotatef(, Rx, Ry, Rz)

    Parameter yang dibutuhkan pada fungsi tersebut ada 4 macam, yaitu parameter untuk besar

    sudut putaran, parameter Rx untuk putaran berdasarkan sumbu x, parameter Ry untuk putaran

  • berdasarkan sumbu y, dan parameter Rz untuk putaran berdasarkan sumbu z. Jika parameter

    bernilai postif, maka objek akan diputar berlawanan arah jarum jam. Sedangkan jika

    parameter bernilai negatif, maka objek akan diputar searah jarum jam. Contohnya :

    glRotatef -30, 2, 2, 1

    c. Fungsi Skala (Scalling)

    Skalasi merupakan bentuk transformasi yang dapat mengubah ukuran (besar-kecil)

    suatu objek. Fungsi yang digunakan untuk melakukan skalasi ialah :

    glScalef(Sx, Sy, Sz)

    Perubahan ukuran suatu objek diperoleh dengan mengalikan semua titik atau atau

    vertex pada objek dengan faktor skala pada masing-masing sumbu (parameter Sx untuk

    sumbu x, Sy untuk sumbu y, dan Sz untuk sumbu z). Contohnya :

    glScalef(2, 2, 2)

  • BAB III

    Hasil Percobaan / Praktikum

    Contoh Latihan Fungsi dari Diamond

  • Contoh latihan Fungsi 2 Dimensi

  • Contoh Latihan Fungsi dari 3 Dimensi

  • BAB IV

    Analisa Hasil Percobaan

    Pencahayaan memegang peranan penting dalam proses penangkapan citra oleh

    perangkat optik. Tanpa ada cahaya, tidak ada citra yang dapat ditangkap. Dengan adanya

    cahaya yang cukup, detail obyek 3 dimensi jadi terlihat dengan jelas.

    Pada OpenGL, proses pemberian cahaya disebut juga dengan iluminasi. Sistem

    pencahayaan pada OpenGL merupakan pendekatan matematis terhadap sistem pencahayaan di

    dunia nyata. Cahaya lampu dalam OpenGL dipecah menjadi komponen merah, hijau, dan biru.

    Tiap sumber cahaya dapat diatur konsentrasi cahaya merah, hijau, dan biru yang

    dipancarkannya.

    Model pencahayaan yang OpenGL mempunyai empat komponen utama:

    memancarkan (emissi), ambient, diffuse, dan specular. Semua komponen dihitung secara

    independen lalu hasilnya dijumlahkan. Hasil akhir penjumlahan inilah yang menjadi warna

    pada obyek.

    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.

    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.

  • Simulasi Planet

    Animasi

    Animasi adalah Illusion Of Motion yang dibuat dari image statis yang

    ditampilkan secara berurutan sehingga seolah-olah gambar-gambar diskontinyu tadi

    menjadi terlihat kontinyu. Animasi berkembang dari ditemukannya prinsip dasar dari

    karakter mata manusia yaitu: persistance of vision (pola penglihatan yang membekas).

    Paul Roget, Joseph Plateau dan Pierre Desvigenes, melalui peralatan optik yang mereka

    ciptakan, berhasil membuktikan bahwa mata manusia cenderung menangkap urutan

    gambar-gambar pada tenggang waktu tertentu sebagai suatu pola.

    Pada OpenGL, animasi dapat dibuat dengan memanfaatkan proses transformasi

    pada obyek yang dilakukan secara terus-menerus/berulang-ulang.

  • PENUTUP

    Kesimpulan

    Dari pembahasan dapat diambil kesimpulan sebagai berikut :

    1. Didalam pembuatan grafik di jaman serba teknologi ini kita bebas menentukan alat

    apa yang akan kita pakai, dan untuk memahami secara mendalam transformasi

    didalam grafik komputer sangatlah penting menguasai ilmu matematik.

    2. Perbandingan hasil pembuatan program dengan menggunakan bahasa programan

    lebih sulit dan berbeda jauh dari segi tampilan, maupun tata cara pembuatannya

    dibandingkan dengan program aplikasi yang menerapkan system just click (event

    driven).

    Saran

    Setelah melihat uraian di atas, penyusun mempunyai saran.

    1. Terlebih dahulu harus belajar algoritma, karena algorima adalah salah satu kunci

    untuk dapat memahami permasalahan yang akan dihadapi didalam pembuatan

    grafik komputer.

    2. Bila ingin membuat suatu gambar/grafik, pilihlah program aplikasi yang lebih bagus

    menurut anda, lebih kompleks, dan yang khusus menanganipembuatan

    gambar/grafik serta yang mengikuti perkembangan jaman .

    3. Harus memahami sintak-sintak (gaya bahasa penulisan dalam bahasa pemrograman )

    yang terdapat dalam bahasa pemrograman ataupun fitur fitur yang terdapat

    didalam program aplikasi.

  • DAFTAR PUSTAKA

    https://docs.google.com/