TRANSFORMASI GAMBAR 2 DIMENSI MENJADI 3 DIMENSI DENGAN MENERAPKAN ALGORITMA Z-BUFFER Zulfadli Arpan Prodi Teknik Informatika Sekolah Tinggi Teknik Harapan Medan Jl.HM Jhoni No 70 Medan,Indonesia [email protected] ABSTRAK Algorima z-buffer adalah algoritma yang digunakan untuk memetakan bayangan pada gambar 2 dimensi menjadi 3 dimensi dengan menggunakan hitungan pada grafik yang memiliki banyak algoritma multipass. Pemanfaatan algoritma z-buffer dengan menggunakan aplikasi vb 6.0 untuk membentuk gambar 3 dimensi dari 3 buah gambar 2 dimensi dengan bentuk yang sama berdasarkan sisi atas, samping dengan menunjuk titik perpotongan serta buffer membentuk gambar 3 dimensi. Kata kunci : Gambar 3D, Algoritma Z-Buffer, dan Grafika Komputer. ABSTRACT Z-buffer algorithm is an algorithm for mapping the shadow on the 2-dimensional images into three dimensions by using a count of the graph has many multipass algorithms. Utilization of the z-buffer algorithm using vb 6.0 application to form a 3-dimensional image of the three pieces of 2-dimensional images of the same forms based on the up side, the side with a pointed intersection point and buffer to form a 3-dimensional image. Keywords : Figure 3D, Z-Buffer Algorithm and Computer graphics. 1. Pendahuluan Penggunaan grafika komputer pada saat ini hampir semuanya sudah menggunakan gambar dalam bentuk 3D sesuai dengan perkembangan di bidang teknologi informasi, di mana banyak gambar-gambar yang dulunya ditampilkan secara visual dalam bentuk 2D dikembangkan menjadi 3D. Hal ini dilakukan karena tampilan 3D jauh lebih menarik karena lebih mendekati tampilan nyata objek yang divisualisasikan, sehingga lebih bisa menarik minat pengguna untuk memakainya dalam menggambarkan suatu objek. Hal ini menyebabkan hasil grafika komputer yang dibuat dalam bentuk 2D kurang diminati lagi, sehingga menyebabkan kerugian kepada pembuatnya. Untuk itu diperlukan suatu sistem yang bisa digunakan untuk memetakan bayangan pada gambar 2D menjadi gambar 3D. Transformasi gambar 2D menjadi gambar 3D ini dilakukan dengan cara memutarkan posisi suatu objek pada titik pusat, mengubah ukuran objek dan menarik sebagian objek sehingga tampak terdistorsi, sehingga bisa mengubah (transform) posisi suatu objek dari tempat asal ke posisi elemen grafik. Salah satu caranya dilakukan dengan teknik pemetaaan bayangan menggunakan algoritma ZBuffer. Berdasarkan latar belakang diatas, maka rumusan masalah yang dapat diambil yaitu: 1. Bagaiman a cara kerja algoritma Z-Buffer dalam menimbulkan efek bayangan dalam pembuatan gambar 3D ? 2. Bagaimana merancang aplikasi pemetaan bayangan menggunakan algoritma Z-Buffer dalam pembuatan gambar 3D ? 3. Bagaimana proses transformasi gambar 2D menjadi 3D dengan memanfaatkan algoritma Z-Buffer. Pada penyelesaian tugas akhir ini terdapat beberapa batasan masalah yang dikaitkan dengan perancangan : 1. Pembahasan sistem dibatasi pada Algoritma yang digunakan adalah Z-Buffer. 2. Objek yang diteliti hanya gambar persegi dan persegi panjang. 3. Elemen yang digunakan adalah dalam bentuk geometri, pencahayaan, dan sudut pandang. 4. Output yang dihasilkan dalam bentuk format 3D. Adapun tujuan dari hasil penelitian ini adalah : 1. Untuk mengetahui dan manfaat algoritma ZBuffer dalam menimbulkan efek bayangan dalam pembuatan gambar 3D. 2. Merancang aplikasi pemetaan bayangan menggunakan algoritma Z-Buffer dalam pembuatan gambar 3D. 3. Untuk mengetahui kelebihan dan kekurangan dari pemetaan bayangan menggunakan algoritma Z-Buffer dalam pembuatan gambar 3D. Grafika komputer merupakan salah satu bidang ilmu komputer yang perkembangannya terbilang sangat pesat. Penggunaan grafika komputer sangat terasa manfaatnya hampir seluruh kegiatan, terutama yang berhubungan dengan komputer. Pada kenyataannya, sebagian besar kegiatan manusia memanfaatkan grafika komputer. Film, televisi, desain grafis dan arsitektur adalah beberapa contoh kegiatan yang banyak sekali memanfaatkan grafika komputer. Bidang ilmu murni seperti Fisika, Matematika, Kimia dan Biologi pun merasakan manfaat dari grafika komputer. Bidang-bidang tersebut memanfaatkan grafika komputer untuk visualisasi model-model objek yang secara kasat mata mustahil terlihat seperti; atom, sel dan bakteri. Bahkan perkembangan bidang-bidang tersebut menjadi semakin cepat, karena para ilmuwan semakin berani melakukan eksperimen tanpa takut melakukan kesalahan yang mengakibatkan kerugian besar, sehingga mereka dapat menghasilkan penemuan-penemuan baru. Bidang-bidang yang berhubungan dengan grafika komputer sudah menjadi alternatif pilihan pekerjaan yang banyak diminati di Indonesia, seperti; desain grafis, pengolahan gambar dan digital fotografi. Pada bidang ini juga, Indonesia tidak mengalami ketertinggalan yang jauh jika dibandingkan dengan bidang ilmu komputer yang lain seperti jaringan komputer dan pemrograman. Bahkan banyak ditemui orang-orang yang sudah sangat ahli pada bidang-bidang yang digelutinya[1] x,y). Sumbu horizontal diberi label x, dan sumbu vertikal diberi label y. Pada sistem koordinat tiga dimensi, ditambahkan sumbu yang lain yang sering diberi label z. Sumbu-sumbu tersebut ortogonal antar satu dengan yang lain. (Satu sumbu dengan sumbu lain bertegak lurus[2] Suatu objek yang terdapat di dalam sistem koordinat ruang 3D dapat dipindahkan dari posisi awalnya sesuai dengan yang diinginkan selama objek tersebut masih terdapat dalam sistem koordinat ruang 3D. secara teoritis jarak geser tidak terbatas, tetapi pada kenyataannya untuk memudahkan indentifikasi keberadaan suatu objek ditentukan batas maksimumnya untuk mengkonversi objek dari sistem koordinat ke sistem koordinat layar, karena sistem koordinat layar memiliki batasan tertentu[3] y x z Gambar 1. Ilustrasi Translation Pada rotasi ini pada sumbu x tidak terjadi perubahan titik koordinat, yang berubah adalah titik koordinat pada sumbu y dan z, sebagaimana dapat dilihat pada gambar berikut: 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. Komponenkomponen 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-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). Sistem koordinat Kartesius dalam 2D umumnya didefinisikan dengan dua sumbu yang saling bertegak lurus antar satu dengan yang lain, yang keduanya terletak pada satu bidang (bidang y z x Gambar 2. Ilustrasi rotasi pada sumbu x Pada penerapan sekarang ini, ada banyak teknik generasi bayangan yang digunakan dan aplikasi-aplikasi yang mempunyai kebutuhan berbeda. Apapun aplikasinya, bayangan membuat gambar yang lebih nyata dan menyediakan informasi penting mengenai posisi[4] 2. Metode penelitian Sebelum melakukan perancangan aplikasi pemetaan bayangan dengan algoritma Z-Buffer dalam pembuatan gambar 3D ini, terlebih dahulu dilakukan analisa mengenai bentuk sistem yangakan dirancang. Analisa transformasi gambar digital 2D menjadi bentuk 3D dengan metode ZBuffer. Adapun tahapan perancangan yang digunakan terdiri dari perancangan data flowchart, perancangan use case diagram. Star t Menampi lkan Form Utama Melakukan Load Project Baru Perintah = Depan Y Load Gambar Depan Menampilk an Sisi Depan Gambar Load Gambar Samping Menampilka n Sisi Samping Gambar gambar N Perintah = Samping Y N Perinta h= Atas Y Load Gambar Atas Menampilkan Sisi Atas Gambar N Perinta h= Ekstra k Y Ekstrak Titik dan Buffer N Menampilkan Hasil Ekstrak Titik dan Buffer chiper Tampilkan Gambar Digital Hasil Pemetaan Bayangan Pada flowchart di atas bagan alir upload file Perinta h= Stop N Gambar 4. Use Case Diagram Proses Interaksi Sistem Berdasarkan Gambar di atas pengguna dalam menggunakan sistem ini pertama kali harus melakukan load sisi depan gambar, lalu load sisi samping gambar, dan load sisi atas gambar, serta menentukan warna gambar yang diinginkan. Setelah itu baru dapat melakukan ekstrak titik dan buffer, untuk menghasilkan pemetaan gambar yang dapat dilihat pada Preview Hasil Pemetaan Gambar yaitu berupa gambar 3D. Setelah melakukan implementasi terhadap rancangan yang diperoleh sebelumnya, penulis memperoleh hasil berupa sebuah perangkat lunak yang dapat melakukan membentuk gambar 3D dari dalam gambar 2D menggunakan algoritma ZBuffer. Adapun hasil yang penulis peroleh tersebut berupa tampilan hasil dan hasil pengujian sistem. 3. Y End Gambar 3. Flowchart Sistem Berdasarkan Gambar di atas, maka dapat diketahui bahwa pada saat sistem dijalankan pertama kali akan menampilkan Form Utama, di mana user bisa memilih tombol yang akan digunakan untuk eksekusi program. Tampilan Hasil a. Tampilan Form Utama Tampilan form Utama yang dihasilkan merupakan tampilan yang menyerupai bentuk perancangan form Utama sebelumnya. Pada tampilan ini, terlihat bentuk tombol, text box dan picture box menu yang dirancang sebelumnya seperti terlihat pada gambar berikut : Selanjutnya, dilakukan adalah melakukan load terhadap gambar Samping tersebut dengan menekan tombol Load dan memilih nama file yang diinginkan. Hasil yang diperoleh adalah munculnya isi file pada text box Samping, sebagaimana terlihat pada gambar : Gambar 5. Tampilan Form Utama b . Tampilan Form About Tampilan form About yang dihasilkan merupakan tampilan yang menyerupai bentuk perancangan form About sebelumnya. Pada tampilan ini, terlihat informasi singkat mengenai perancang perangkat lunak, seperti terlihat pada gambar : Gambar 8. Hasil Proses Open Samping Selanjutnya, dilakukan adalah melakukan load terhadap gambar Atas tersebut dengan menekan tombol Load dan memilih nama file yang diinginkan. Hasil yang diperoleh adalah munculnya isi file pada text box Atas, sebagaimana terlihat pada gambar : Gambar 6. Tampilan Form About 4. Hasil Pengujian Sistem Langkah pertama yang dilakukan adalah melakukan load terhadap gambar depan tersebut dengan menekan tombol Load dan memilih nama file yang diinginkan. Hasil yang diperoleh adalah munculnya isi file pada text box depan, sebagaimana terlihat pada gambar : Gambar 9. Hasil Proses Open Atas Gambar 7. Hasil Proses Open Depan Dalam pengujian ini, akan dilakukan ekstrak titik dan buffer terhadap citra 2D hasil proses pengujian sebelumnya. Caranya adalah dengan mengklik tombol ekstrak Titik dan buffer pada form Utama. Hasil yang diperoleh adalah munculnya hasil perhitungan titik dan buffer pada tekxbox Titik dan buffer yang merupakan hasil ekstrak titik dan buffer citra 2D yang diinputkan. Adapun bentuk tampilan tahap pengujian ini seperti terlihat pada gambar : Berdasarkan pengujian sistem yang dilakukan sebelumnya, maka dapat diketahui bahwa hasil pembentukan gambar 3D dari tiga buah gambar 2D ini sudah dapat berjalan dengan baik dan sesuai dengan tujuan perancangan. Setelah pengujian sistem dilakukan maka dapat diketahui fasilitas perangkat lunak, cara kerja perangkat lunak serta kelebihan dan kelemahan aplikasi pembuatan citra 3D menggunakan algoritma Z-Buffer ini. Adapun beberapa fasilitas utama yang disediakan oleh perangkat lunak ini yaitu : a. b. c. d. Gambar 10. Hasil Proses Ekstrak Titik dan Buffer. e. Selanjutnya, dilakukan penekanan tombol preview pada form utama. Hasil yang diperoleh adalah munculnya sebuah form untuk menampilkan citra 3D hasil pemetaan bayangan menggunakan algoritma Z-Buffer, seperti terlihat pada gambar: Adapun cara kerja dari perangkat lunak yang penulis rancang adalah sebagai berikut : a. b. c. d. e. Gambar 11. Gambar 3D Hasil Pemetaan Bayangan dengan Algoritma Z-Buffer. Fasilitas untuk memilih project pemetaan citra 2D menjadi bentuk citra 3D. Fasilitas untuk menyimpan dan membuka kembali konfigurasi project yang telah ditentukan sebelumnya. Fasilitas untuk memilih citra digital 2D yang digunakan sebagai tampilan atas (up), samping (side) dan depan (front). Fasilitas untuk menampilkan lokasi titiktitik perpotongan dan buffer dari hasil pemetaan citra 2D yang dipilih menjadi bentuk 3D. Fasilitas untuk menampilkan bentuk 3D dari hasil pemetaan citra 2D. Perangkat lunak akan menampilkan form Utama pada saat dijalankan pertama kali. Apabila user menekan tombol Project Baru, sistem akan menampilkan sebuah form untuk pemilihan citra 2D yang akan digunakan dalam proses selanjutnya. Pada form ini, pengguna dapat memilih gambar 2D dengan menekan tombol Load pada masing-masing bagian yang diinginkan. Setelah user selesai memilih gambar 2D yang diinginkan, user dapat menekan tombol Ekstrak Titik dan Buffer. Tombol ini berfungsi untuk menampilkan titik-titik perpotongan gambar 2D dalam bentuk 3D serta buffer masing-masing. Jika tombol Preview diklik, sistem akan memproses hasil pemetaan gambar 2D dan menampilkan sebuah form yang berisi bentuk 3D yang dihasilkan. Jika user menekan tombol About, sistem akan menampilkan Form About yang berisi sekilas informasi mengenai perancang perangkat lunak ini. 5. Kesimpulan Berdasarkan hasil perancangan dan implementasi terhadap aplikasi pemetaan bayangan menggunakan algoritma Z-Buffer untuk pembuatan gambar 3D ini, penulis menarik kesimpulan sebagai berikut : 1. 2. 3. 4. 5. Aplikasi ini bisa digunakan untuk menghasilkan gambar 3D dari tiga buah gambar 2D yang berdasarkan sisi atas, samping dan atas. Aplikasi ini dapat menunjukkan titik-titik perpotongan serta buffer yang membentuk gambar 3D yang dihasilkan. Sistem ini bisa digunakan untuk mengubah tiga buah gambar 2D menjadi satu buah gambar 3D dengan syarat ketiga gambar 2D yang digunakan harus memiliki dasar bentuk yang sama, misalnya persegi panjang harus dengan persegi panjang. Aplikasi ini belum bisa digunakan untuk membentuk sebuah gambar 3D dari objek yang berbeda bentuknya, misalnya segitiga dengan persegi panjang. Aplikasi ini juga belum bisa digunakan untuk menyimpan gambar 3D yang dihasilkan. Daftar Pustaka [1] Ariyus, D, 2008 , Grafika Komputer, Penerbit Andi, Yogyakarta. [2] Asfari, U, 2012, Pembuatan Aplikasi Tata Ruang Tiga Dimensi Gedung Serba Guna Menggunakan Teknologi Virtual Reality, Institut Teknologi Sepuluh Nopember (ITS). [3] Hendry, 2011, Penerapan Teknologi WebGL Pada Virtual Aquqrium berbasis Tiga Dimensi. Semarang. Gramedia. [4] Kristanto, A., 2003, Transformasi Gambar 2D Menjadi Gambar 3D, Penerbit Gava Media, Yogyakarta, http://radar.ee.itb.ac.id/~suksmono/Lectures/e c4041/ ppt/PC3.%20Transformasi%20Citra.pdf