PERANCANGAN DAN PEMBUATAN APLIKASI INTERIOR DESIGN MENGGUNAKAN WEBGL

dokumen-dokumen yang mirip
BAB III ANALISA DAN PERANCANGAN

Bab 3 Metode dan Perancangan Sistem 3.1 Metode Pengembangan Sistem

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN 1.1 Latar Belakang

APLIKASI PEMBELAJARAN BURUNG ENDEMIK 3D DI PULAU JAWA BERBASIS WEBSITE MENGGUNAKAN BLENDER DAN HTML 5

Rancang Bangun dan Implementasi Aplikasi Point of Sales Untuk UKM

BAB IV PERANCANGAN SISTEM

BAB 1 PENDAHULUAN. 1.1.Latar Belakang. Berbagai macam cara yang dilakukan seorang programmer untuk memperoleh suatu

ABSTRAK. v Universitas Kristen Maranatha

Modul Praktikum Desain Web 2015

BAB I PENDAHULUAN UKDW

Rancang Bangun Client-Side Mobile Web App Menggunakan JQuery Mobile

Daftar Isi. Abstrak Kata Pengantar. Daftar Gambar Daftar Tabel


Desain Handout Multimedia Menggunakan 3D Pageflip Professional untuk Media Pembelajaran pada Sistem Android

RANCANG BANGUN SISTEM E-LEARNING JURUSAN TEKNOLOGI INFORMASI DAN KOMPUTER

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

BAB II TINJAUAN PUSTAKA, LANDASAN TEORI DAN PERANCANGAN

BAB I PENDAHULUAN. Information communication of technology, yang disingkat dengan kata ICT

XML vs JSON. by: Ahmad Syauqi Ahsan

BAB III ANALISIS DAN PERANCANGAN

STMIK-IM MODUL PRAKTIKUM PHONEGAP MODUL PRAKTIKUM TKB PENGEMBANGAN APLIKASI BERBASIS PLATFORM. script.

BAB II LANDASAN TEORI. di jaman sekarang, namun apakah Anda mengetahui sejarah nya itu?. Mungkin,

BAB II KAJIAN PUSTAKA

PERANCANGAN DAN PEMBUATAN APLIKASI UNTUK MENDESAIN KARTU UCAPAN

APLIKASI PEMBELAJARAN INTEGRAL BERBASIS WEB

BAB 3 User Interface. 3.1 Sekilas Tentang Blender

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN 1.1 Latar Belakang

BAB 3 PERANCANGAN DAN PEMBUATAN. Engine akan dirancang agar memenuhi syarat maintainability, reusability dan

PENGEMBANGAN APLIKASI PERANGKAT BERGERAK (MOBILE)

BAB 2 LANDASAN TEORI

APLIKASI MENGUBAH POLARISASI FRAME GAMBAR 2 DIMENSI MENJADI 3 DIMENSI

PELATIHAN PHP ALUMNI DAN CALON ALUMNI INSTITUT BISNIS DAN INFORMATIKA STIKOM SURABAYA. By: Julianto Lemantara, S,Kom., M.Eng

PERANCANGAN GAME ONLINE FLASH 3 DIMENSI " TREASURE HUNTERS : NUSANTARA I " BERBASIS WEB MENGGUNAKAN ACTIONSCRIPT 3.

MODUL PEMBELAJARAN MENGENAL WIN32API DENGAN VISUAL BASIC 6.0 BERBASIS FLASH DAN WEB

MEMANFAATKAN CASCADING STYLE SHEET UNTUK MEMPERINDAH TAMPILAN WEB

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN. Universitas Kristen Maranatha

BAB I PENDAHULUAN. untuk pengembangan aplikasi berbasis 3D yang meliputi bidang yang cukup luas

ABSTRAK. vii. Universitas Kristen Maranatha

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN PERANCANGAN SISTEM

AJAX. Pemrograman Web 1. Asynchronous JavaScript and XML. Genap

PENGEMBANGAN APPLICATION MANAGEMENT SYSTEM PADA WEBSITE JURUSAN ILMU KOMPUTER

BAB IV HASIL DAN PEMBAHASAN

BAB I PENDAHULUAN.

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. bentuk web. Bahasa pemrograman yang digunakan PHP, HTML, CSS, AJAX

BAB 1 PENDAHULUAN. penjualan. Media promosi yang dapat dilakukan untuk memasarkan suatu produk

ABSTRAK. Kata kunci : Android, Basis Data, Web Service, SPMB, Try Out, EBTANAS. Universitas Kristen Maranatha

GAME BELAJAR MATEMATIKA UNTUK SISWA SEKOLAH DASAR PADA MOBILE DEVICE BERBASIS ANDROID

RANCANG BANGUN GAME EDUKASI PENGENALAN BUDAYA INDONESIA BERBASIS ANDROID MENGGUNAKAN PHONEGAP

Modul Web Design. Dosen: Nofiyati, S.Kom, M.Kom Program Studi Teknik Informatika Universitas Jenderal Soedirman

Pembangunan Situs Web Virtual Tour 3 Dimensi pada Bidang Properti

BAB 3 LANDASAN TEORI

Pengembangan Aplikasi Untuk Membantu Dalam Penyusunan Dokumen Menggunakan Android

PEMBANGUNAN PERANGKAT LUNAK WEB-BASED INTEGRATED DEVELOPMENT ENVIRONMENT

BAB 2 LANDASAN TEORI. Data adalah fakta atau bagian dari fakta yang digambarkan dengan simbol-simbol,

UKDW BAB 1 PENDAHULUAN

ABSTRAK. Kata kunci : Aplikasi berbasis web, Place Manager, Behavior driven development. Universitas Kristen Maranatha

BAB I PENDAHULUAN. pengambil keputusan. Data Warehouse sebagai sarana pengambilan keputusan, merupakan

WEB APLIKASI PROFIL PROPERTY BERBASIS 3D DENGAN MENGGUNAKAN FRAMEWORK WEBGL DAN LIBRARY THREE.JS

RANCANG BANGUN MODUL AJAR GRAFIKA KOMPUTER BERBASIS WEB

1.Pengenalan Digital Book

BAB 4 IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

RANCANG BANGUN SISTEM E-LELANG BERBASIS WEB MENGGUNANKAN PHP DAN MYSQL NASKAH PUBLIKASI PROGRAM STUDI INFORMATIKA FAKULTAS KOMUNIKASI DAN INFORMATIKA

BAB 1 PENDAHULUAN. Dewasa ini, mahasiswa cenderung lebih banyak menghabiskan waktunya

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. yang ada di dunia bisa kita dapatkan dalam waktu yang relatif singkat. Kemampuan

Materi Pertemuan 1. Pengenalan Web Design Bagian I : Dasar- dasar CSS. lilih suhaeri WATERFIRE DEV. Kelaskita.com

PRAKTIKUM-2 PENGENALAN ARCVIEW

BAB II LANDASAN TEORI. komponen komponen yang saling berkaitan, berhubungan, mempunyai komponen-komponen (components), batas sistem (boundary),

BAB 2 LANDASAN TEORI. 2.1 Sekilas Tentang Sistem Ujian Konevensional

BAB 3 PERANCANGAN SISTEM. 3.1 Gambaran Umum Perancangan Aplikasi

PERANCANGAN APLIKASI PENGENALAN KARAKTERISTIK MANUSIA BERDASARKAN GOLONGAN DARAH BERBASIS ANDROID NASKAH PUBLIKASI

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.4 Latar Belakang. Dalam kondisi administrasi Dinas Komunikasi dan Informatika sekarang sangat

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB I PENDAHULUAN Latar Belakang. Teknologi informasi pada saat ini telah berkembang sangat pesat sehingga mempunyai

PEMROGRAMAN BERBASIS WEB. Part 1,2 HTML. By Rolly Yesputra Sekolah Tinggi Manajemen Informatika dan Komputer Royal Kisaran, 2018

PELATIHAN GEOGEBRA DALAM PEMBELAJARAN MATEMATIKA

BAB 3 LANDASAN TEORI

GRAFIK KOMPUTER & PENGOLAHAN CITRA

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB I PENDAHULUAN. A. Latar Belakang Masalah

BAB III ANALISA DAN PERANCANGAN

PEMBUATAN DESAIN RUMAH MINIMALIS MENGGUNAKAN BLENDER 2.61

BAB III ANALISA MASALAH DAN PERANCANGAN SISTEM

Pemrograman Web I (HTML) Oleh: Devie Rosa Anamisa

APLIKASI PEMBELAJARAN UNTUK TRANSFORMASI LINIER BERBASIS ANDROID PADA UNIVERSITAS MERCU BUANA FITRININGSIH

BAB I PENDAHULUAN 1.1 Latar Belakang

Bab 3 Metode dan Rancangan Sistem

Handout 2 Banner dan Logo

Pengembangan Aplikasi E-learning dengan Menggunakan PHP Framework Prado

PROSES PEMBUATAN MODELING ARSITEKTUR 1. PENGATURAN BACKGROUND IMAGE

Pengenalan Script. Definisi HTML

Transkripsi:

PERANCANGAN DAN PEMBUATAN APLIKASI INTERIOR DESIGN MENGGUNAKAN WEBGL Wahyu Ricky Handoko 1 ; Djoni Haryadi 2 ; Justinus Andjarwirawan 3 Program Studi Teknik Informatika Fakultas Teknologi Industri Universitas Kristen Petra Jl. Siwalankerto 121 131 Surabaya 60236 E-mail: m26410037@john.petra.ac.id 1 ABSTRAK Latar belakang perancangan dan pembuatan aplikasi untuk mendesain interior berbasis web ini adalah untuk pengembangan ide untuk desain interior sebuah ruangan. Aplikasi ini tidak perlu menginstall program-program tertentu terlebih dahulu, sehingga mudah untuk digunakan. Dengan begitu, pengguna dapat menyampaikan apa yang diinginkan kepada penyedia jasa desain interior. Untuk menjalankan aplikasi ini hanya diperlukan sebuah browser dan lalu aplikasi dibuka melalui browser. Aplikasi ini dibuat dengan menggunakan WebGL sehingga dapat menampilkan tiga dimensi, dengan bantuan library Three.js. Aplikasi ini juga menggunakan bantuan software Blender, untuk mengubah tipe 3D file(.obj,.3ds, dll) sebuah furniture menjadi format json file (.js) karena hanya json file yang dapat dimasukkan ke dalam aplikasi. File 3D furniture didapat melalui internet. Pada aplikasi ini, terdapat kamera untuk menelusuri ruangan, objek yang beragam yang dapat diubah ukurannya sesuai keinginan, dan juga fitur save dan load. Hasil dari aplikasi ini juga dapat diberikan dan ditunjukkan kepada orang lain dengan cara memberikan file yang didapat ketika melakukan proses save. Kata Kunci: Interior Design, Web-based Application, WebGL, Three.js ABSTRACT The background of design and developing web-based interior design application is to developing the idea of creating new interior design. Installing any softwares is not needed, so it is easy to use. Because of that, users can simply design their ideas and show it to the professional interior design through this application. To execute the application, only web browser is needed. This application is made by using WebGL, so it is possible to render a 3D image, with the help of Three.js library. This application is also made with the help of Blender to convert a furniture with 3D file format (.obj,.3ds, etc) to json file format (.js) because only json file can be imported into the application. The 3D file format is obtained from the internet. The output of this application can be given or shown to another user by sharing the file that obtained after saving project. Keywords Interior Design, Web-based Application, WebGL, Three.js. 1. LATAR BELAKANG Penataan sebuah ruangan sangat penting dilakukan untuk membentuk suasana yang nyaman. Untuk mewujudkannya, terkadang orang menggunakan jasa orang yang ahli pada bidang desain interior untuk menata ruangan mereka. Akan tetapi, hasil desain tersebut tidak selalu sesuai dengan apa yang diinginkan. Maka dari itu, akan lebih baik jika penataan sebuah ruang dilakukan oleh diri sendiri. Dengan berkembangnya teknologi, alangkah lebih baik untuk mendesain sebuah ruangan menggunakan sebuah komputer. Selain hasilnya akan lebih bagus, mengerjakannya juga akan lebih mudah. Juga Software untuk membuat desain interior sudah banyak beredar sekarang, baik secara gratis maupun yang harus membayar. Untuk menggunakan software tersebut, maka harus meng-install program tersebut pada komputer atau android (sesuai platform yang digunakan). Karena harus meng-install maka diperlukan memory yang cukup untuk menyimpan aplikasi. Ada juga aplikasi yang berbasis web, sehingga tidak perlu meng-install program terlebih dahulu. Akan tetapi, aplikasi tersebut menggunakan flash sehingga perlu meng-install plug-ins pada browser yang digunakan. Selain itu, flash kurang dapat berjalan dengan baik pada beberapa sistem operasi dan mempunyai beberapa masalah keamanan. Dari permasalahan di atas, pada aplikasi ini akan dibuat menggunakan HTML5. HTML (Hyper Text Markup Language) adalah sebuah markup language yang digunakan untuk membuat sebuah halaman web yang dibuka pada web browser[4]. Dengan menggunakan HTML5, web tidak harus bergantung pada plug-ins lainnya. Jadi, aplikasi ini merupakan web application. Cara membuat web application adalah dengan menggunakan bahasa pemrograman yang support terhadap web browser, seperti Javascript, yang di-render dengan markup language seperti HTML[3]. Dengan adanya javascript, halaman web menjadi lebih fungsional untuk tujuan tertentu. Javascript juga dapat membuat dan menghilangkan HTML dan CSS[6]. Dengan begitu, untuk menjalankan aplikasi ini tidak perlu keahlian khusus dan tanpa meng-install program-program tertentu terlebih dahulu. Hanya perlu membuka sebuah halaman web untuk menjalankannya.

2. WEBGL WebGL (Web Graphics Library) adalah sebuah Javascript API(Application Programming Interface) yang dapat digunakan untuk mengolah grafik 2D maupun 3D agar dapat dijalankan pada web[1]. Untuk mendukung WebGL, sebuah web browser juga harus sudah support untuk HTML5. WebGL (Web Graphics Library) adalah sebuah Javascript API(Application Programming Interface) yang dapat digunakan untuk mengolah grafik 2D maupun 3D agar dapat dijalankan pada web. a. Membuat objek 3D Untuk membuat objek pada WebGL, yang pertama kali dilakukan adalah dengan menentukan vertex dari objek dan disimpan pada sebuah array. Lalu dengan menggunakan fungsi dari WebGL, vertex yang ada akan diproses sehingga dapat menjadi sebuah objek. Objek-objek tersebut nantinya dapat diberi warna atau diberi tekstur. Contoh tampilan gambar dapat dilihat pada Gambar 1. Gambar 1 Objek 3D b. Object Transformation merubah posisi setiap objek yang ada. Sehingga, tampak seolaholah seperti sudut pandangnya yang bergerak. 3. THREE.JS Three.js merupakan sebuah library dari Javascript untuk membuat dan menampilkan grafik 3D pada web browser. Karena menggunakan bahasa Javascript, penggunaan Three.js tidak memerlukan menginstall plugins terlebih dahulu pada browser. Yang diperlukan hanyalah browser yang digunakan sudah harus support HTML5. Dengan menggunakan Three.js, penulisan program menjadi lebih mudah dan lebih simple. Dan beberapa fungsi seperti camera dan lighting sudah disediakan[2]. a) Membuat Objek Yang perlu dilakukan pertama-tama adalah mendeklarasikan variabel berupa vektor untuk menentukan posisi titik-titik yang ada. Setelah itu, vektor-vektor tersebut disimpan ke dalam sebuah variabel geometry untuk dilakukan perhitungan pada variabel geometry tersebut. Setelah dilakukan perhitungan, maka terbentuklah sebuah bidang 2D. Dengan membuat beberapa bidang, maka dapat juga membentuk sebuah objek 3D. Contoh pembuatan sebuah bidang: var geom = new THREE.Geometry(); var v1 = new THREE.Vector3(0,0,0); var v2 = new THREE.Vector3(0,50,0); var v3 = new THREE.Vector3(0,50,50); var v4 = new THREE.Vector3(0,0,50); geom.vertices.push(v1); geom.vertices.push(v2); geom.vertices.push(v3); geom.vertices.push(v4); geom.faces.push( new THREE.Face4( 0, 1, 2,3) ); geom.computefacenormals(); Transformasi objek, dapat dibagi menjadi 3 macam, yaitu translasi, rotasi, dan scaling. Translasi adalah pergeseran posisi objek dengan cara menggeser titik-titik yang ada terhadap suatu arah dengan jarak tertentu. Translasi dapat dilakukan dengan cara mengalikan vertex dengan sebuah matriks. Rotasi adalah perputaran sebuah objek terhadap sumbu x,y, atau z dengan derajat tertentu. Sama dengan translasi, rotasi juga dapat dilakukan dengan mengalikan vertex dengan sebuah matriks Scaling digunakan untuk merubah ukuran sebuah objek dengan cara merubah jarak antar vertex. Untuk melakukan proses scaling, vertex yang ada dikalikan dengan sebuah matriks sehingga posisi dari tiap vertex hasilnya berubah dan mempengaruhi kesuluruhan objek. c. Kamera pada WebGL Dengan adanya kamera, sudut pandang terhadap objek dapat diubah. Pada WebGL, fitur kamera tidak disediakan. Tetapi, hal tersebut masih dapat diakali dengan cara lainnya, yaitu dengan b) Texturing Untuk membuat texture, yang perlu dilakukan pertama kali adalah me-load texturenya terlebih dahulu dan disimpan ke dalam sebuah variabel dan lalu dimasukkan ke dalam sebuah material. Setelah itu, baru dilakukan proses pembuatan objek bersamaan dengan material. Contoh proses texturing: texture = THREE.ImageUtils.loadTexture('crate.gif'), material = new THREE.MeshBasicMaterial({map: texture}), mesh = new THREE.Mesh(geometry, material), c) Camera Ketika menggunakan Three.js, grafik yang dibuat adalah tiga dimensi. Maka dari itu perlu dibuat kamera, sehingga seolaholah dapat merubah sudut pandang. Padahal, yang terjadi adalah memindahkan dan memutar objek-objek yang ada sehingga terlihat seperti sudut pandangnya berubah. Contoh penggunaan kamera:

var camera = new THREE.PerspectiveCamera(70, window.innerwidth / window.innerheight, 1, 100000000000); camera.position.set(30,0,0); camera.up = new THREE.Vector3(0,0,1); camera.lookat(new THREE.Vector3(0,0,0)); Pada baris pertama, variabel camera dideklarasikan, angka 70 berarti sudut pandang yang dapat dilihat dari atas ke bawah adalah sebesar 70 derajat, angka 1 berarti jarak terdekat yang dapat dilihat kamera, dan angka selanjutnya berarti jarak terjauh yang dapat dilihat oleh kamera. 4. DESAIN SISTEM Proses mendesain ruangan dimulai dengan pembuatan bentuk ruangan terlebih dahulu. Untuk mendesain bentuk ruangan, yang perlu dilakukan adalah merangkainya dengan tembok-tembok. Untuk membuat tembok, ada dua macam pilihan, yaitu tembok yang berbentuk lurus, atau tembok yang berbentuk kurva. Untuk membuatnya, lingkaran-lingkaran yang ada pada grid diklik untuk menentukan posisi awal dan tujuan sebuah tembok. Jika ingin membentuk tembok yang berbentuk kurva, maka perlu klik satu kali lebih banyak untuk menentukan titik puncak dari kurva yang dibuat. Ketika melakukan desain sebuah ruangan, digunakan proses seperti pada Gambar 2: Gambar 2 Flowchart Desain Bentuk Ruangan Tidak hanya bentuk ruangan yang didesain, melainkan juga isi ruangan. Untuk mendesain sebuah ruangan, user dapat menambahkan furniture dengan cara memilih kategori dari furniture terlebih dahulu, dan lalu list dari furniture akan muncul pada bagian kiri halaman. Untuk memilih furniture, user cukup mengklik furniture, lalu furniture yang diklik akan muncul pada ruangan. Untuk mendesain isi ruangan, proses yang terjadi dapat dilihat pada Gambar 3:

Untuk memunculkan furniture pada ruangan, proses yang terjadi adalah program melakukan proses load model dari file json yang telah disiapkan terlebih dahulu. File tersebut lalu akan di-scaling dan lalu ditampilkan pada ruangan. Proses untuk me-load sebuah objek 3Dadalah seperti pada gambar 4 berikut: Gambar 4 Flowchart Load Object 5. PENGUJIAN Dalam proses pengujian, akan diuji fitur-fitur yang ada pada program, baik ketika mendesain bentuk ruangan, maupun ketika mendesain isi ruangan. Pengujian untuk membuat desain bentuk ruangan dapat dilihat pada Gambar 5: Gambar 3 Flowchart Desain Isi Ruangan

Gambar 7 Pengujian Desain Isi Ruangan Gambar 5 Pengujian Desain Bentuk Ruangan Pengujian untuk membuat sebuah objek dari 3D model yang diimport, dapat dilihat pada Gambar 6. Objek tersebut bertipe obj format yang lalu diconvert menjadi JSON file menggunakan blender sehingga dapat diimport ke dalam halaman web. JSON (Javascript Object Nation) adalah suatu format penulisan data berbasis teks sehingga dapat dibaca oleh user untuk merepresentasikan struktur data sederhana[5]. 6. KESIMPULAN Dari hasil pengujian, dapat diambil beberapa kesimpulan sebagai berikut: Dengan adanya aplikasi yang berbasis web ini, user dapat mendesain sebuah ruangan tanpa perlu menginstall program apa pun terlebih dahulu. Dengan adanya aplikasi ini, user dapat mendesain sebuah ruangan dengan tampilan tiga dimensi, sehingga tampak lebih menarik dan lebih nyata. User dapat menelusuri isi ruangan dan melihat isi ruangan dari berbagai macam sudut pandang. Hasil dari program dapat disimpan dalam bentuk file sehingga dapat diberikan dan ditunjukkan kepada orang lain dengan memberikan file dari hasil pekerjaan 7. REFERENSI [1] Cantor, Diego., Jones, Brandon. (2012). WebGL Beginner's Guide. Packt Publishing. [2] Danchilla, Brian. (2012). Beginning WebGL for HTML5. Apress. [3] Gustafon, J.M. (2013). HTML5 Web Application Development By Example. Packt Publishing. [4] Larsen, Rob. (2013). Beginning HTML and CSS. Indianapolis, IN: Wrox. [5] Riordan, Rebecca M. (2008). Head First Ajax. O Reilly. [6] Wright, Tim. (2012). Learning Javascript. Addison-Wesley. Gambar 6 Pengujian Import Objek Pengujian juga dilakukan ketika mendesain isi ruangan. Hasil pengujian ketika mendesain isi ruangan dapat dilihat pada Gambar 7 sebagai berikut: