BAB 2 TINJAUAN PUSTAKA 2.1
Augmented Reality (AR) AR adalah sebuah teknologi yang memungkinkan komputer untuk
menampilkan objek virtual secara tepat di sebuah objek nyata secara real time. Sistem AR pertama kali dikembangkan di Sutherland pada tahun 1965, dan sampai sekarang terus berkembang pesat di berbagai bidang seperti pendidikan, kedokteran, manufaktur, hiburan, militer dan lain-lain. Sampai saat ini perkembangan AR terus terjadi, namun fokus perkembangan AR sendiri menurut [4] secara garis besar terbagi dalam 3 bidang yaitu : a. Teknologi tracking. b. Teknologi penampilan. c. Teknologi Interaksi. 2.1.1
Definisi Augmented Reality (AR) Istilah Augmented reality (AR) tidak diterjemahkan karena belum
ditemukan padanan kata yang sesuai, dalam glosarium pusat bahasa diknas, reality=realitas, augment=augmen. Secara umum, AR adalah penggabungan antara obejek virtual dengan objek nyata (Wikipedia, 2009). Sebagai contoh, adalah saat stasiun televisi, menyiarkan pertandingan sepak bola, terdapat objek virtual, tentang skor pertandingan yang sedang berlangsung. Menurut Ronald Azuma pada tahun 1997, AR adalah menggabungakan dunia nyata dan virtual, bersifat interaktif secara real time, dan merupakan animasai 3D. Paul Milgram dan Fumio Kishino pada tahun 1994, mendefinisikan Milgram’s Reality-Virtuality Continuum. Mereka menggambarkan sebuah kontinum yang membentang dari lingkungan nyata untuk untuk lingkungan virtual murni. Mereka menyimpulkan bahwa AR lebih dekat ke lingkungan nyata dan augmented virtuality lebih dekat ke lingkungan virtual.
9
10
Dalam pembuatan AR ini menggunakan Webcam sebagai perangkat untuk menangkap citra. Sebelum citra diubah ke dalam bentuk digital maka proses manipulasi citra digital tidak bisa dilakukan. Citra digital (f(x,y))mempunyai dua unsur. Unsur yang pertama merupakan kekuatan sumber cahaya yang melingkupi pandangan kita terhadap objek (illumination). Unsur yang kedua merupakan besarnya cahaya yang direfleksikan oleh objek ke dalam pandangan mata kita atau disebut juga reflectance components. Kedua unsur tersebut dituliskan sebagai fungsi i(x,y) dan r(x,y)[9]. 2.1.2
Augmented Reality dan Virtual Reality Virtual reality, adalah teknologi tentang spectrum yang luas. Ada tiga
definisi tentang virtual reality, yang pertama virtual reality adalah komputer yang menghasilkan output 3D dengan grafis yang tinggi. Definisi yang kedua adalah, virtual reality adalah dunia 3D yang interaktif, karena seorang pengguna bisa berinteraktif dengan komputer secara real time. Definisi yang ketiga adalah, virtual reality adalah dunia maya, yang penggunanya dapat memasuki dunia virtual tersebut. Perbedaan dari AR dan virtual reality hanya dari cara kerja immersiveness sistem. Virtual reality, mempunyai lingkungan virtual yang lebih dalam dari AR, karena virtual reality mengontrol alam bawah sadar indera manusia. Sebaliknya AR, menggabungkan antar objek nyata dan objek virtual. Miligram (Miligram and Kishino 1994; Miligram, Takemura et al. 1994) menjelaskan bagaimana hubungan antara AR dan virtual reality[11]. Mixed Reality (MR)
Real Environment
Augmented Reality (AR)
Augmented Virtuality (AV)
Virtual Environment
Gambar 2.1 Miligram’s Reality – Virtuality Continuum Pada gambar 2.1 terlihat bahwa dunia nyata dan dunia virtual berada di antara dua ujung wilayah yang disebut mix reality (AR). AR berada di dekat
11
dunia nyata (real environment), dengan presepsi AR lebih cenderung ke dunia nyata. AR merupakan suatu istilah yang diciptakan oleh Miligram untuk mengidentifikasi sistem, yang sebagian besar sistemnya memasukan objek nyata ke dalam objek virtual. AR sejatinya variasi lain dari realitas virtual. Teknologi realitas virtual membenamkan pengguna secara total pada lingkungan sintetis, ketika masuk dalam dunia buatan itu, kita tidak dapat mengenali lingkungan nyata disekitanya. Namun AR tidak memisahkan yang nyata dengan virtual, yang terjadi adalah penggabungan antara keduanya pada ruang yang sama. Selain menambahkan benda maya dalam lingkungan nyata, realitas tertambah juga berpotensi menghilangkan banda-benda yang sudah ada. Menambah sebuah lapisan
gambar maya
dimungkinkan
untuk
menghilangkan
atau
menyembunyikan lingkungan nyata dari pandangan pengguna. Misalnya, untuk
menyembunyikan
sebuah
meja dalam
lingkungna
nyata,
perlu
digambarkan lapisan representasi tembok dan lantai kosong yang diletakkan diatas gambar meja nyata, sehingga menutupi meja nyata dari pandangan pengguna. Kontinum ini diperluas lagi menjadi bidang dua dimensi dari virtuality dan mediality. Titik asal R menunjukan kenyataan yang tidak dimodofikasi. Sebuah kontinum di sumbu virtuality V mencakup realitas tertambah dangan grafis (augmented reality), serta grafis tertambah dengan realitas (augmented virtuality). Namun taksonomi ini juga mencakup modifikasi realitas atau kombinasi dari semuanya. Modifikasi ini dilambangkan dengan bergerak naik ke sumbu mediality. Selanjutnya dari sumbu ini, dapat ditemukan mediated reality, mediated virtuality, atau kombinasi dari semuanya. Lebih lanjut ke atas dan kekanan terdapat dunia virtual yang responsive ke versi realitas yang sangat termodifikasi. Diagram mengenai mediated reality continuum dapat dilihat pada gambar 2.2[12].
12
Gambar 2.2 Mediated Reality Continuum 2.1.3
Komponen Augmented Reality Sistem AR memiliki tiga komponen utama. Tracking system menentukan
posisi dan orientasi objek-objek dalam dunia nyata. Graphic system menggunakan informasi yang disediakan tracking system untuk menggambarkan gambargambar virtual pada tempat yang sesuai, sebagai contoh melalui obyek-obyek nyata. Tampilan system menggabungkan dunia nyata dengan gambar virtual dan mengirimkan hasilnya ke pengguna, misalkan dikirim ke HMD, tetapi tampilan biasa juga seperti monitor dapat digunakan.
Gambar 2.3 Contoh Sistem AR Pendekatan populer untuk efek augmentasi pengguna adalah menggunakan seethrough HMD, yang terdiri dari dua jenis yaitu video see-through HMD dan opticalseethrough HMD. Optical see-through HMD menggunakan layar
13
transparan dimana dunia nyata dapat dilihat. Sedangkan video see-through HMD menggabungkan closed-view HMD dengan satu atau dua head-mounted camera. Video dari kamera tersebut ditempatkan dengan material virtual dan dilihat pada tampilan. Pengguna melihat dunia nyata melalui video pada HMD. Beberapa sistem AR yang telah dikembangkan didasarkan pada kemudahan untuk men-track marker, biasanya tercetak pada kertas. Teknik computer vision dapat digunakan secara akurat untuk menentukan posisi dan orientasi kartu serta memungkinkan sistem AR untuk menempatkan obyek virtual pada kartu tersebut. Ada
banyak
keuntungan
dengan
marker
yang
didasarkan
kertas.
Keuntungannya antara lain sangat murah dan mudah untuk diproduksi. Dengan cara melakukan encoding ID ke dalam marker, memungkinkan untuk melakukan link dari suatu obyek fisik atau lokasi menjadi bentuk informasi digital. Jika marker ditempatkan pada kartu sehingga dengan mudah obyek-obyek dapat dimanipulasi, marker dapat digunakan sebagai devais masukan untuk antarmuka AR Tangible. Kegunaan lainnya adalah menempatkan tag ke dalam obyek untuk memberikan penampakan bahwa pengguna sedang berinteraksi dengan obyek selain dengan marker. Suatu contoh pengguna secara fisik melakukan drag and drop printer atau proyektor data dari devais wearable AR dikemukakan oleh Rekimoto dan Ayatsuka[3]. 2.1.3.1
Nyartoolkit NyarToolkit adalah sebuah library yang dibuat untuk mempermudah
pembuatan aplikasi augmented reality. Toolkit ini berupa library yang didalamnya telah terdapat parameter-parameter standar seperti camera calibration, pembuatan nyar dan papervision, pembuatan bitmap data, dan sebagainya[15]. Kelebihan NyARtoolkit dibandingkan dengan library yang lain adalah: 1. Library NyARtoolkit menyediakan lisensi gratis. 2. Pengembang sangat aktif 3. Aplikasi yang dibuat dengan menggunakan NyARtoolkit dengan
14
processing ini bisa di jalankan di OS (Windows,Mac, dan Linux) mana saja, dan berbahasa java yang dapat juga berekstensi *.java, sehingga dapat ditampilkan di halaman web. Pengguna dapat menggunakan
aplikasi
yang dibangun
tanpa
harus menginstal aplikasi ini terlebih dahulu. 4. Library NyARtoolkit mendukung format .OBJ yang dapat dibuat di Software 3D yang sering digunakan untuk AR yaitu 3DSMax , Blender, dll. 5. Library NyARtoolkit menggunakan aplikasi Processing yang berbahasa java ini lebih ringan daripada menggunakan aplikasi java lainnya seperti eclipse.
Aplikasi Nyartoolkit dapat memungkinkan pencitraan virtual secara live ke dalam dunia nyata. Rahasianya ada pada kotak hitam yang digunakan sebagai penanda pelacakan (marker). Pelacakan NyARtoolkit bekerja sebagai berikut: 1. Kamera menangkap data dari marker dalam dunia nyata dan mengirimkan informasinya ke komputer. 2. Software pada komputer akan melacak bentuk kotak dari marker dan mendeteksi berapa video framenya. 3. Bila kotak telah ditemukan, maka software menggunakan perhitungan matematis untuk menghitung posisi dari kamera relative terhadap kotak hitam pada marker. 4. Setelah dikalkulasi maka model grafis akan dimunculkan pada posisi yang sama dan berada di dalam lingkup kotak hitam, lalu ditampilkan ke layar untuk melihat grafis dalam dunia nyata[3].
15
Gambar 2.4 Prinsip kerja NyarToolkit
2.1.4 Tujuan Augmented Reality Tujuan dalam penggunaan pada augmented reality (AR) adalah untuk meningkatkan persepsi seseorang dari dunia yang ada disekitarnya dan menjadikan sebagian dunia virtual dan nyata sebagai antarmuka yang baru yang mampu menampilkan informasi yang relevan yang sangat membantu dalam bidang pendidikan, pelatihan, perbaikan atau pemeliharaan, manufaktur, militer, permainan dan segala macam hiburan.
2.1.5 Manfaat Teknologi augmented reality (AR) Bidang-bidang yang pernah menerapkan teknologi AR adalah: 1) Hiburan (entertainment): Dunia hiburan membutuhkan AR sebagai penunjang efek-efek yang akan dihasilkan oleh hiburan tersebut.
Sebagai
contoh,
ketika
sesorang
wartawan
cuaca
memperkirakan ramalan cuaca, dia berdiri di depan layar hijau atau biru, kemudian dengan teknologi AR, layar hijau atau biru tersebut
16
berubah menjadi gambar animasi tentang cuaca tersebut, sehingga seolah-olah wartawan tersebut, masuk ke dalam animasi tersebut. Latihan Militer (Military Training): Militer telah menerapkan AR pada latihan tempur mereka. Sebagai contoh, militer menggunakan AR untuk membuat sebuah permainan perang, dimana prajurit akan masuk kedalam dunia game tersebut, dan seolah-olah seperti melakukan perang sesungguhnya 2)
Engineering
Design:
Seorang
engineering
design
membutuhkan AR untuk menampilkan hasil design mereka secara nyata terhadap klien. Dengan AR klien akan tahu, tentang spesifikasi yang lebih detail tentang desain mereka. 3) Robotics dan Telerobotics: Dalam bidang robotika, seorang operator robot, mengunakan pengendari pencitraan visual dalam mengendalikan robot itu. Jadi, penerapan AR dibutuhkan di dunia robot. 4) Consumer Design: Virtual reality telah digunakan dalam mempromosikan produk. Sebagai contoh, seorang pengembang menggunakan brosur virtual untuk memberikan informasi yang lengkap secara 3D, sehingga pelanggan dapat mengetahui secara jelas, produk yang ditawarkan. 5)
Kedokteran
(Medical):
Teknologi
pencitraan
sangat
dibutuhkan di dunia kedokteran, seperti misanya, untuk pengenalan operasi, pengenalan pembuatan vaksin virus, dll. Untuk itu, bidang kedokteran menerapkan AR pada visualisasi penelitian mereka.
17
2.1.6
Marker
Marker adalah real enviroment berbentuk objek nyata yang akan menghasilkan
virtual
reality,
marker
ini
digunakan
sebagai
tempat
augmented reality muncul, berikut ini beberapa jenis marker yang digunakan pada aplikasi augmented reality: [13] 1. Fiducial Marker adalah bentuk paling sering digunakan oleh teknologi
AR karena marker ini digunakan untuk melacak benda-
benda di virtual reality tersebut. kotak hitam dan putih digunakan sebagai titik referensi atau untuk memberikan skala dan orientasi ke aplikasi. Bila penanda tersebut deteksi dan dikenali maka augmented reality akan keluar dari marker ini seperti pada gambar 2.5 Fiducial Marker.
Gambar 2.5 Fiducial Marker 2. Markerless Marker berfungi sama seperti fiducial marker yang namun bentuk markerless marker tidak harus kotak hitam putih, markerless ini bisa berbentuk gambar yang mempunyai banyak warna seperti pada gambar 2.6 Markerless marker.
Gambar 2.6 Markerless Marker
18
Marker biasanya dengan warna hitam dan putih. Cara pembuatannya pun sederhana tetapi harus diperhatikan ketebalan Marker yang akan dibuat, ketebalan Marker jangan kurang dari 25 % dari panjang garis tepi agar pada saat proses deteksi Marker dapat lebih akurat. Gambar menara paris yang ada pada gambar 2.5 merupakan sebuah pembeda saja. Sedangkan objek warna putih sebagai background, yang nantinya akan digunakan sebagai tempat objek yang akan dirender. Ciri-ciri yang umum digunakan untuk mengenali sata atau beberapa obyek di dalam citra adalah ukuran, posisi atau lokasi, dan orientasi atau sudut kemiringan obyek terhadap garis acuan yang digunakan. Marker terdapat dua intensitas warna yaitu warna hitam dan putih atau sering disebut sebagai citra biner. Citra biner memisahkan daerah (region) dan latar belakang dengan tegas, walau pun potensi munculnya kekeliruan selalu ada. Kekeliruan di sini adalah kesalahan mengelompokan piksel ke dalam golongannya, apakah piksel milik suatu daerah dikelompokan sebagai latarbelakang atau sebaliknya. Kesalahan seperti ini sering disebut dengan noise. Warna putih pada Marker menunjukan warna sebuah objek, sedangkan warna hitam menunjukan latar belakang. Intensitas warna pada suatu objek memiliki warna yang lebih rendah (gelap), sedangkan latar belakang mempunyai intensitas yang lebih tinggi (terang). Namun pada kenyataannya dapat saja berlaku kebalikannya, yaitu objek mempunyai intensitas tinggi dan latar belakang mempunyai intensitas rendah. Kombinasi ini biasanya tergantung pada sifat latar belakang pada saat citra tidak tampil terang sekali (putih) atau gelap sekali (hitam), melainkan di antaranya dengan demikian suatu objek yang sama dapat tampil lebih terang atau lebih gelap daripada latar belakangnya dalam citra, tergantung pada gelap atau terangnya warna yang melatarbelakanginya. (Ahmad, 2005).
19
(a)
(b)
(c)
(d)
Gambar 2.7 Contoh Marker Ukuran Marker yang digunakan dapat mempengaruhi penangkapan pola Marker oleh kamera. Semakin besar ukuran Marker semakin jauh jarak yang bisa ditangkap oleh kamera dalam mendeteksi Marker. Namun disinilah masalahnya, ketika Marker bergerak menjauhi kamera, jumlah pixel pada layar kamera menjadi lebih sedikit dan ini bias mengakibatkan pendeteksian tidak akurat.
2.1.7
WebCam Webcam (singkatan dari web camera) adalah sebutan bagi kamera
real-time (bermakna keadaan pada saat ini juga) yang gambarnya bisa diakses atau dilihat melalui World Wide Web, program instan messaging, atau aplikasi video call. Istilah Webcam merujuk pada tekologi secara umumnya, sehingga kata web kadang-kadang diganti dengan kata lain yang mendeskripsikan pemandangan yang ditampilkan di kamera, misalnya StreetCam yang memperlihatkan pemandangan jalan. Ada juga Metrocam yang memperlihatkan pemandangan panorama kota dan pedesaan, TraffiCam yang digunakan untuk memonitor keadaan jalan raya, cuaca dengan Weathercam, bahkan keadaan gunung berapi dengan VolcanoCam. Webcam atau web camera adalah sebuah kamera video digital kecil yang dihubungkan ke komputer melalui port USB ataupun port COM (Wikipedia, WEB).
20
Gambar 2.8 Webcam Pada awalnya, bentuk web camera terbatas pada bentuk-bentuk standar yang hanya terdiri dari lensa dan papan sirkuit serta casing yang bisa. Seiring dengan perkembangan teknologi, bentuk web camera pun sudah makin bervariasi dengan fitur-fitur yang makin canggih. Salah satu bentuk web camera yang unik adalah bentuk boneka yang lucu, web camera ini dapat disalah artikan hanya sebagai boneka dan bukan Webcam. Sebuah penemuan oleh Microsoft pada tahun 2004 menggambarkan kemajuan perkembangan teknologi web camera. i2i adalah sebuah sistem duakamera yang dengan sangat hati-hati mengikuti pergerakan individu. Kamera ini menggunakan perhitungan algoritma yang secara spesial dikembangkan untuk memfusikan apa yang setiap kamera lihat untuk membuat gambar cyclopean stereo yang akurat. Kamera ini juga dapat menampilkan emoticon 3D yang melayang. Sistem i2i dapat juga menghasilkan gambar background yang realistis sehingga pengguna dapat berpura-pura berada di tempat lain. Kemampuan sistem i2i ini, diantaranya yaitu kemampuan tracking (disebut smart framing) dan juga kemampuan smart focusing, dapat menambah pengalaman berkonferensi bagi pengguna. Teknologi Webcam pada awalnya mendapat dukungan komersial dari industri pornografi. Industri ini membutuhkan gambar-gambar “live” dan meminta pembuatan software yang mampu melakukannya tanpa web browser
21
plugins. Hal ini melahirkan teknologi live streaming Webcam yang masih tetap ada hingga sekarang. Sekarang ini web camera yang ada di pasaran pada umumnya terbagi ke dalam dua tipe: web camera permanen (fixed) dan revolving web camera. Pada web camera permanen terdapat pengapit untuk mengapit lensa standar di posisi yang diinginkan untuk menangkap gambar pengguna. Sedangkan pada revolving web camera terdapat landasan dan lensa standar dipasang di landasan tersebut sehingga dapat disesuaikan ke sudut pandang yang terbaik untuk menangkap gambar pengguna. Penggunaan web camera mencakup video conferencing, internet dating, video messaging, home monitoring, images sharing, video interview, video phone-call, dan banyak hal lain. Kamera untuk video conference bisaanya berbentuk kamera kecil yang terhubung langsung dengan komputer. Kamera analog juga kadang-kadang digunakan, kamera ini terhubung dengan video capture card dan tersambung dengan internet (baik langsung maupun tidak langsung). Saat ini kamera untuk video conference sudah makin maju, sudah ada web camera yang di dalamnya terdapat microphone maupun noise cancellation untuk memfokuskan audio ke speaker yang terletak di depan kamera sehingga noise yang ada tidak mengganggu jalannya konferensi.
1.
Tipe-Tipe Webcam Slim1320 (True 1.3 Mega Pixels High Performance WebCam), Slim
2020AF (Mega Pixel Web Camera Auto Focus), Eye 312 (Simplify Instant Video and Chat), Eye 110 (Instant Video Messenger Webcam) serta i-Look 1321 (Advance 1.3 Mega Pixel Camera), dan lain-lain. Sekarang hampir semua kamera digital dan HP bisa dijadikan sebagai kamera web (Webcam). Dalam pembuatan AR rumah adat tradisional ini digunakan Webcam Logitech cam-c260. Karena teknologi AR membutuhkan kualitas video yang bagus dalam mendeteksi Marker . (Wikipedia, WEB).
22
2.
Cara Kerja Webcam Sebuah web camera yang sederhana terdiri dari sebuah lensa standar,
dipasang di sebuah papan sirkuit untuk menangkap sinyal gambar, casing (cover), termasuk casing depan dan casing samping untuk menutupi lensa standar dan memiliki sebuah lubang lensa di casing depan yang berguna untuk memasukkan gambar, kabel support, yang dibuat dari bahan yang fleksibel, salah satu ujungnya dihubungkan dengan papan sirkuit dan ujung satu lagi memiliki connector, kabel ini dikontrol untuk menyesuaikan ketinggian, arah dan sudut pandang web camera. Sebuah web camera bisaanya dilengkapi dengan software, software ini mengambil gambar-gambar dari kamera digital secara terus menerus ataupun dalam interval waktu tertentu dan menyiarkannya melalui koneksi internet. Ada beberapa metode penyiaran, metode yang paling umum adalah software merubah gambar ke dalam bentuk file JPEG dan menguploadnya ke web server menggunakan File Transfer Protocol (FTP) (Wikipedia, WEB). Frame rate mengindikasikan jumlah gambar sebuah software dapat ambil dan transfer dalam satu detik. Untuk streaming video, dibutuhkan minimal 15 frame per second (fps) atau idealnya 30 fps. Untuk mendapatkan frame rate yang tinggi, dibutuhkan koneksi internet yang tinggi kecepatannya. Sebuah web camera tidak harus selalu terhubung dengan komputer, ada web camera yang memiliki software Webcam dan web server bulit-in, sehingga yang diperlukan hanyalah koneksi internet. Web camera seperti ini dinamakan “network camera”. Kita juga bisa menghindari penggunaan kabel dengan menggunakan hubungan radio, koneksi Ethernet ataupun Wifi (Wikipedia, WEB).
2.1.8 Occlusion Occlusion adalah hubungan antara suatu benda dengan benda lain jika di lihat dari suatu sudut pandang.
Hal ini tentunya mengurangi informasi
antar objek dalam lingkungan 3D, karena jika dilihat dari satu sudut pandang maka lingkungan 3D akan diproyeksikan kepada suatu bidang sehingga seolah-olah menjadi lingkungan 2D.
Pengurangan dimensi ini
23
menyebabkan informasi interaksi antar objek seperti keadaan bersinggungan, beririsan, atau berapa jarak antar objek akan menjadi ambigu[2].
Gambar 2.9 Occlusion Yang Terjadi Karena Interaksi Antar Objek (a)None (b)Proximity (c)Intersection (d)Enclosement (e)Containment
Occlusion detection adalah metode untuk mendeteksi ada tidaknya occlusion dalam penampilan objek 3D. Secara sederhana occlusion detection hanya mendefinisikan keadaan dimana suatu marker tidak terdeteksi karena tertutup oleh benda lain. Jika ada n objek yang diwakili matrik O, maka akan dihasilkan matrik O1, O2, . . . , On yang merupakan posisi proyeksi objek-1, objek-2, . . ., objek-n di layar.
Deteksi occlusion akan dilakukan dengan pengecekan 2 objek missal
dipilih objek-1 terhadap objek-2 maka akan dilakukan pengecekan syarat pertidaksamaan point clipping berikut 02x - batas < 01x < 02x + batas
(1)
02y – batas < 01y < 02y + batas
(2)
Hasil deteksi ini berupa nilai kebenaran yang merupakan dasar pendefinisian event dari interaksi occlusion based jika pertidaksamaan 1 dan 2 terpenuhi Interaksi occlusion based adalah sebuah desain interaksi eksosentris dimana dalam mendefinisikan event untuk menghasilkan aksinya menggunakan
24
metode occlusion detection diatas. Desain interaksi yang menggunakan proyeksi 2D dari objek 3D ini mengurangi kompleksitas yang diperlukan dalam mendesain interaksi dalam sistem AR lain yang menggunakan acuan bidang 3D. [2]
(a)
(b)
Gambar 2.10 (a) Terjadi Event (b) Tidak Terjadi Event
Jika titik biru ditengah marker ptr adalah objek O1 dan titik hitam adalah objek O2 maka gambar 2.5 (a) terjadi event karena memenuhi pertidaksamaan 1 dan 2 yaitu koordinat O1(x,y) ada di dalam batas area O2. Sedangkan gambar 3(b) tidak terjadi event karena hanya memenuhi pertidaksamaan 2 (nilai O1y ada dalam batas O2y) namun tidak memenuhi persamaan 1. 2.1.9
Thresholding Thresholding adalah proses mengubah citra berderajat keabuan
menjadi citra biner atau hitam putih sehingga dapat diketahui daerah mana yang termasuk objek dan background dari citra secara jelas. Citra hasil thresholding biasanya digunakan lebih lanjut untuk proses pengenalan objek serta ekstraksi fitur. Metode thresholding secara umum dibagi menjadi dua, yaitu [9]: 1. Thresholding global Thresholding
dilakukan
dengan
mempartisi
histogram
dengan
menggunakan sebuah threshold (batas ambang) global T, yang berlaku untuk seluruh bagian pada citra.
25
2. Thresholding adaptif Thresholding dilakukan dengan membagi citra menggunakan beberapa sub citra. Lalu pada setiap sub citra, segmentasi dilakukan dengan menggunakan threshold yang berbeda.
2.1.9.1
Seleksi Threshold Parameter kunci dalam proses thresholding adalah pilihan dari nilai
ambang batas.
pengguna dapat secara manual memilih nilai ambang, atau
algoritma thresholding dapat menghitung nilai secara otomatis, yang dikenal sebagai thresholding otomatis. Sebuah metode sederhana akan memilih mean atau median nilai, dasar pemikiran adalah bahwa jika pixel objek lebih terang dari latar belakang, juga harus lebih terang dari rata-rata. Sebuah pendekatan yang lebih canggih mungkin untuk membuat histogram dari intensitas pixel gambar dan menggunakan jalur lembah sebagai ambang batas. Pendekatan histogram mengasumsikan bahwa ada beberapa nilai rata-rata untuk pixel latar belakang dan objek, tetapi bahwa nilai pixel yang sebenarnya memiliki beberapa variasi di sekitar nilai rata-rata. Secara umum
proses thresholding terhadap citra grayscale bertujuan
menghasilkan citra biner, secara matematis dapat ditulis seperti pada persamaan (2-4).
(2-4) Dengan b(x,y) adalah piksel citra biner dari piksel citra grayscale f(x,y), dan T menyatakan nilai threshold. Nilai T ditentukan dengan menggunakan metode
thresholding
global
dan
thresholding
local.
Thresholding
GlobalThresholding global adalah metode dengan seluruh pixel pada citra dikonversi menjadi hitam dan putih dengan satu nilai thresholding[12]. Contoh pemetaan piksel citra fungsi f(x,y) dapat dilihat pada gambar 2.11.[14]
26
Gambar 2.11 Contoh pemetaan piksel dalam citra digital
Namun, ini mungkin komputasi mahal, dan histogram gambar mungkin tidak jelas poin lembah nya, sering sulit membuat pilihan ambang yang akurat. Salah satu metode yang relatif sederhana, tidak memerlukan pengetahuan khusus banyak gambar, dan tahan terhadap noise , adalah sebagai berikut metode iteratif : 1. Thresholding awal (T) dipilih, hal ini dapat dilakukan secara acak atau sesuai dengan metode lainnya yang diinginkan. 2. Gambar akan tersegmentasi ke dalam pixel objek dan latar belakang. 3. Rata-rata masing-masing set dihitung. 4. threshold baru dibuat. 5. Kembali ke langkah dua, sekarang menggunakan ambang batas baru dihitung pada langkah empat, terus mengulanginya sampai ambang baru cocok dengan satu sebelum itu (yaitu sampai konvergensi telah tercapai).
Algoritma iteratif adalah kasus satu-dimensi khusus dari k-means algoritma, yang telah terbukti untuk berkumpul di sebuah lokal minimumyang berarti bahwa batas awal yang berbeda dapat memberikan hasil akhir yang berbeda[8].
27
Gambar 2.12 Threshold, Density slicing. Dalam banyak visi aplikasi, hal ini berguna untuk dapat memisahkan daerah dari image sesuai dengan benda-benda yang membuat tertarik, dari daerah image yang sesuai dengan background. Thresholding sering menyediakan cara yang mudah dan nyaman untuk melakukan segmentasi berdasarkan intensitas yang berbeda atau warna di daerah foreground dan background dari suatu gambar. input
untuk thresholding biasanya disebut grayscale image. Dalam
pemakaian paling sederhana, output adalah suatu citra biner yang mewakili segmentasi. pixel hitam sesuai dengan background dan pixel putih sesuai dengan foreground (atau sebaliknya). Dalam implementasi sederhana, segmentasi tersebut ditentukan oleh parameter tunggal yang dikenal sebagai intensitas threshold. Dalam single pass, setiap pixel dalam gambar dibandingkan dengan threshold ini. Jika intensitas pixel ini lebih tinggi dari threshold, pixel diatur ke putih pada output. Jika kurang dari threshold, ini akan diatur untuk hitam. Dalam implementasi yang lebih canggih, beberapa batasan bias ditentukan, sehingga nilai-nilai intensitas band dapat diatur untuk putih sementara segala sesuatu yang lain diatur ke hitam. Untuk warna atau gambar multi-spektral, dimungkinkan untuk menetapkan batasan berbeda untuk setiap warna channel, Varuan lain yang umum adalah untuk mengatur semua pixel menjadi hitam yang sesuai dengan background, tapi tinggalkan pixel foreground pada warna asli/ intensitas mereka (sebagai lawan untuk memaksa untuk putih), sehingga informasinya tidak hilang.
28
2.1.10
JAVA
1. Bahasa Pemrograman Java Java adalah bahasa pemrograman yang dapat dijalankan diberbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystems dan dirilis tahun 1995. Java berbeda dengan JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh web browser[16]. 2. Kelebihan Pemrograman Java Java memiliki beberapa kelebihan dibandingkan dengan bahasa pemrograman lainnya[16]. Adapun kelebihan tersebut di antaranya: 1. Sederhana dan Ampuh Java dirancang untuk mudah dipelajari, terutama bagi programmer yang telah mengenal C/C++ akan mudah sekali untuk berpindah ke Java. Pemakai dapat belajar membuat program dengan Java secara cepat jika telah memahami konsep dasar pemrograman berorientasi objek. Java member programmer kemampuan untuk menuangkan semua ide, karena bahasa pemrograman ini bukan merupakan scripting language (bahasa naskah) yang menghilangkan kemampuan programmer untuk berinovasi, tetapi dengan cara berorientasi objek yang mudah dan jelas. 2. Aman Java dirancang sebagai bahasa pemrograman yang handal dan aman. Aplikasiaplikasi yang dibangun dengan bahasa Java sangat handal dengan manajemen memori yang bagus. Aplikasi Java juga dikenal sangat secure, yaitu kasuskasus seperti buffer everflow yang umumnya menjadi lubang keamanan aplikasi-aplikasi berbasis C/C++ tidak terjadi di Java, karena pengaturan keamanannya yang bagus.
29
3. Berorientasi-Objek Java merupakan bahasa pemrograman berorientasi objek dan bukan turunan langsung dari bahasa pemrograman manapun, juga sama sekali tida kompetibel dengan semuanya. Java memiliki keseimbangan, menyediakan mekanisme peng-class-an sederhana, dengan model antar muka dinamik yang intuitif hanya jika diperlukan. 4. Kokoh Kesalahan sering terjadi pada saat kompilasi karena Java merupakan bahasa pemrograman yang sensitif dalam hal deklarasi dan tipe data. Oleh karena hal tersebut, Java memiliki batasan agar dapat menemukan kesalahan lebih cepat saat mengembangkan program yaitu dengan langsung memeriksa program saat ditulis, dan sekali lagi ketika program di jalankan. Hal ini akan lebih menghemat waktu jika dibandingkan dengan keharusan menjalankan program terlebih dahulu dan memeriksa semua bagian program untuk melihat ketidakcocokan dinamis selama program berjalan. 5. Interaktif Java memiliki kemampuan yang memungkinkan program melakukan beberapa hal pada saat bersamaan, tanpa harus kesulitan menangani proses yang akan terjadi selanjutnya. Jalinan program-program Java yang mudah digunakan memungkinkan programmer untuk memikirkan pembuatan perilaku khusus, tanpa harus mengintegrasikan perilaku tersebut dengan model pemrograman global yang mengatur perulangan kejadian. 6. Netral Terhadap Berbagai Arsitektur Java memiliki kemampuan yang memungkinkan program melakukan beberapa hal pada saat bersamaan, tanpa harus kesulitan menangani proses yang akan terjadi selanjutnya. Jalinan program-program Java yang mudah digunakan memungkinkan programmer untuk memikirkan pembuatan
30
perilaku khusus, tanpa harus mengintegrasikan perilaku tersebut dengan model pemrograman global yang mengatur perulangan kejadian. 7. Terinterpretasi dan Berkinerja-Tinggi Java dirancang untuk tetap berkinerja baik pada CPU yang tidak terlalu kuat. Walaupun Java merupakan bahasa terinterpretasi, kode-kode Java telah dirancang dengan hati-hati sehingga mudah diterjemahkan ke dalam bahasa asli suatu mesin untuk menghasilkan kinerja yang tinggi. Java dilengkapi keajaiban lintas-platform yang luar biasa dengan kompilasi ke dalam representasi langsung yang disebut kode-byte Java (Java byte-code), yang dapat diterjemahkan oleh sistem manapun yang memilki program Java didalamnya. Sebagai sebuah platform, Java terdiri atas dua bagian utama, yakni : a. Java virtual machine (jvm). b. Java application programming interface (Java api). 8. Multiplatform Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform/ sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin/bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis Java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk menginterpretasikan bytecode tersebut.
31
9. Perpustakaan Kelas yang Lengkap Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman Java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. 10. Bergaya C++ Dalam bahasa pemrograman manapun selalu ada fitur komentar. Java sendiri memiliki sintaks seperti bahasa pemrograman C++, dengan tambahan yang sangat istimewa yaitu komentar yang nantinya digunakan untuk menciptakan dokumentasi secara otomatis oleh suatu aplikasi yang disebut javadoc, sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer. 11. Pengumpulan sampah otomatis Memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas). Serupa dengan C, java mengalokasikan operator baru untuk mengalokasikan memori pada heap untuk objek baru.
32
3. Kekurangan Pemrograman Java Adapun kekurangan pemrograman Java, yaitu[16]: 1. Tulis sekali, perbaiki di mana saja Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
2. Mudah didekompilasi Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
2.1.11
Autodesk 3DMax Autodesk 3ds Max, 3D Studio MAX sebelumnya, adalah pemodelan,
animasi dan rendering paket yang dikembangkan oleh Autodesk Media dan Entertainment. Autodesk memiliki kemampuan pemodelan, arsitektur plugin yang fleksibel dan dapat digunakan pada platform Microsoft Windows. Software Ini sering digunakan oleh pengembang video animation, studio TV komersial dan studio visualisasi arsitektur. Hal ini juga digunakan untuk efek-efek film dan film pra-visualisasi. Selain pemodelan dan tool animasi, versi terbaru dari 3DS Max juga memiliki fitur shader (seperti ambient occlusion dan subsurface scattering), dynamic simulation, particle systems, radiosity, normal map creation and rendering, global illumination, customize user interface, dan bahasanya scripting untuk 3DMax. Adapun Fitur-Fitur 3DMax, yaitu :
33
1. MAXscript MAXScript adalah bahasa scripting, yang dapat digunakan untuk mengotomatisasi gerakan yang berulang-ulang, menggabungkan fungsionalitas yang sudah ada dengan cara baru, mengembangkan tool baru dan user interface dan lebih banyak lagi. Modul Plugin dapat dibuat sepenuhnya dalam MAXScript. 2.Karakter Studio Karakter Studio adalah sebuah plugin yang sejak versi empat telah terintegrasi dalam 3D Studio Max, membantu pengguna untuk menghidupkan karakter virtual. Sistem ini bekerja dengan menggunakan rig karakter yang sebelumnya dibuat dan memungkinkan pengguna untuk menyesuaikan rig agar sesuai dengan karakter mereka serta akan terlihat hidup. Dedicated curve editors dan motion capture data import tools akan membuat karakter ideal studio untuk karakter animasi. Objek memiliki fitur yang berguna otomatis pada produksi siklus berjalan dan jalur gerakan, serta gerakan sekunder. 3. Scene Explorer Scene Explorer, sebuah tool yang menyediakan hierarchical view of scene data dan analisis, bekerja memfasilitasi adegan-adegan yang lebih kompleks. Scene Explorer memiliki kemampuan untuk menyortir, menyaring, dan pencarian adegan pada setiap jenis objek atau property (termasuk metadata). Ditambahkan dalam 3ds Max 2008, itu adalah komponen pertama untuk memfasilitasi. NET managed code di 3ds Max. 4. DWG Import 3DS Max mendukung both import dan menghubungkan file DWG. Peningkatan memori manajemen dalam 3DS Max 2008 memungkinkan scenes yang lebih besar yang harus diimpor dengan beberapa objek.
34
5. Texture Assignment/Editing 3DS Max menawarkan operasi untuk kreatif tekstur, planar mapping, including tiling, mirroring, decals, angle, rotate, blur, UV stretching, and relaxation; Remove Distortion; Preserve UV; and UV template image export. Alur kerja tekstur mencakup kemampuan untuk menggabungkan jumlah tekstur yang tidak terbatas, Material / Map browser dengan dukungan untuk drag-anddrop, dan hirarki dengan thumbnail. 6. General Keyframing Dua keying mode - mengatur tombol dan tombol otomatis – menawarkan dukungan untuk keyframing workflow. Pengguna dapat membuat animasi dengan mudah. lintasan Animasi dapat dilihat dan diedit langsung di viewport. 7. Constrained animated Objek dapat di jadikan animasi sepanjang kurva dengan control untuk penyelarasan, kecepatan, kelancaran, dan perulangan, dan sepanjang permukaan dengan kontrol untuk penyelarasan. Objek dapat dibatasi untuk menghidupkan dengan obyek lain dalam banyak cara - termasuk melihat, orientasi dalam ruang koordinat yang berbeda, dan menghubungkan di berbagai titik dalam waktu. 8. Skinning Kulit atau pengubah fisik dapat digunakan untuk mencapai precise control pada deformasi tulang, sehingga karakter deformasi lancer seperti sendi yang bergerak, bahkan di daerah yang paling menantang, seperti bahu. Kulit deformasi dapat dikendalikan dengan menggunakan direct vertex weights, volumes of vertices didefinisikan oleh envelopes,atau keduanya. 9. Integrate cloth Solver Selain pengubah reactor’s cloth modifier, 3DS Max software memiliki cloth simulation engine terpadu yang memungkinkan pengguna untuk mengubah hampir semua objek 3D ke pakian, Lokal simulasi memungkinkan
35
seniman menggantungkan kain secara real time untuk mendirikan negara pakaian awal sebelum pengaturan kunci animasi. Cloth simmulation dapat digunakan dalam hubungannya dengan kekuatan lain dari 3DS Max dinamis, seperti Space Warps. Beberapa sistem kain independen dapat animasi dengan obyek mereka sendiri dan kekuatan. data deformasi Kain dapat di-cache ke hard drive untuk memungkinkan iterasi tak rusak dan untuk meningkatkan kinerja pemutaran. 10. Integrasi dengan Autodesk Vault Autodesk Vault plug-in, mengkonsolidasikan 3DS pengguna asset Max dalam satu lokasi, memungkinkan mereka untuk secara otomatis melacak file dan mengelola pekerjaan dalam penyelesaian. Pengguna dapat dengan mudah dan aman berbagi, menemukan, dan menggunakan kembali 3ds Max (dan desain) aset dalam produksi skala besar atau lingkungan visualisasi.
2.2
Sejarah Rumah adat tradisional Pada jaman dulu, rumah adat yang tampak paling indah biasa dimiliki
para keluarga kerajaan atau ketua adat setempat menggunakan kayu-kayu pilihan dan pengerjaannya dilakukan secara tradisional melibatkan tenaga ahli dibidangnya, banyak rumah-rumah adat yang saat ini masih berdiri kokoh dan sengaja dipertahankan dan dilestarikan sebagai simbol budaya Indonesia. Bentuk dan arsitektur rumah-rumah adat di Indonesia masing-masing daerah memiliki bentuk dan arsitektur berbeda sesuai dengan nuansa adat setempat. Rumah adat pada umumnya dihiasi ukiran-ukiran indah.
2.2.1
Rumah adat tradisional Rumah Adat merupakan Bangunan rumah yang mencirikan atau khas
bangunan suatu daerah di Indonesia yang melambangkan kebudayaan dan ciri khas masyarakat setempat.Indonesia dikenal seagai negara yang memiliki
36
keragaman dan kekayaan budaya, beneraka ragam bahasa dan suku dari sabang ampai merauke sehingga Indonesia memiliki banyak koleksi rumah adat. Hingga saat ini masih banyak suku atau Daerah-daerah di indonesia yang masih mempertahankan rumah adat sebagai usaha untuk memelihara nilai – nilai budaya yang kian tergeser oleh budaya modernisasi. Biasanya rumah adat tertentu dijadikan sebagai auala (tempat pertemuan), musium atau dibiarkan begitu saja sebagai obyek wisata.
Bentuk dan arsitektur rumah-rumah adat di indonesia masing-masing daerah memiliki bentuk dan arsitektur berbeda sesuai dengan nuansa adat setempat.Rumah adat pada umumnya dihiasi ukiran-ukiran indah, pada jaman dulu, rumah adat yang tampak paling indah biasa dimiliki para keluarga kerajaan atau ketua adat setempat menggunakan kayu-kayu pilihan dan pengerjaannya dilakukan secara tradisional melibatkan tenaga ahli dibidangnya, Banyak rumahrumah adat yang saat ini masih berdiri kokoh dan sengaja dipertahankan dan dilestarikan sebagai simbol budaya Indonesia.
2.2.1.1 Rumah Adat Tradisional Batak-Sumatra Utara Rumah gorga atau sering disebut rumah bolon atau “Si Baganding Tua” adalah rumah adat suku Batak yang sekaligus menjadi simbol status sosial masyarakat yang tinggal di Tapanuli, Sumatera Utara. Dahulu nenek moyang orang Batak percaya bahwa nasib mujur dan rezeki yang melimpah dibawa “Si Banganding Tua”, mereka yang dikategorikan sebagai suku Batak itu meliputi 6 puak, yaitu: Batak Toba, Batak Karo, Batak Pakpak, Batak Simalungun, Batak Angkola, dan Batak Mandailing.
Rumah adat Batak terdiri atas 2 bangunan utama yaitu rumah (tempat tinggal) dan sopo (lumbung padi). Letak keduanya saling berhadapan dipisahkan
37
pelataran luas yang berfungsi sebagai ruang kegiatan warganya. Rumah adat ini berbentuk empat persegi panjang dengan denah dalamnya merupakan ruangan terbuka tanpa kamar atau pun sekat pemisah.
Gambar 2.13 Rumah adat Batak-Sumatera Utara
2.2.1.2 Rumah Adat Tradisional Padang- Sumatera Barat Rumah Gadang atau rumah Godang adalah nama untuk rumah adat Minangkabau ,yang merupakan rumah tradisional dan banyak di jumpai diprovinsi Sumatera Barat, Indonesia. Rumah ini juga disebut dengan nama lain oleh masyarakat setempat dengan nama rumah bagonjong atau ada juga yang menyebut dengan nama rumah baanjung. Rumah dengan model ini juga banyak dijumpai di Negeri Sembilan, Malaysia. Namun demikian tidak semua kawasan di Minangkabau (darek) yang boleh didirikan rumah adat ini, hanya pada kawasan yang sudah memiliki status sebagai nagari saja rumah gadang ini boleh didirikan. Begitu juga pada kawasan yang disebut dengan rantau, rumah adat ini juga dahulunya tidak ada yang didirikan oleh para perantau Minangkabau.
38
Gambar 2.14 Rumah adat Gadang-Sumatera Barat
2.2.1.3 Rumah Adat Tradisional Aceh Rumah ini disebut juga sebagai Rumoh Aceh atau “Krong Bade”. Krong Bade adalah rumah dengan bentuk yang seragam, yang kesemuanya berbentuk persegi panjang, dan letaknya memanjang dari timur ke barat. Penentuan letak arah ini dipakai guna mempermudah menentukan arah kiblat untuk sholat. Pada jaman dahulu kala, rumah adat Aceh atapnya terbuat dari daun rumbia. Jadi jika ada kasus kebakaran, pemilik rumah bisa langsung memotong bagian daun yang terbakar, tanpa kesulitan. Krong Bade atau Rumoh Aceh adalah rumah adat yang unik, yang mempunya kekhasan seperti kebanyakan rumah adat di Indonesia.
Gambar 2.15 Rumah adat Aceh
39
2.2.1.4 Rumah Adat Tradisional Sulawesi Selatan Tongkonan adalah rumah adat masyarakat Toraja, atapnya melengkung menyerupai perahu, terdiri atas susunan bambu. Di bagian depan terdapat deretan tanduk kerbau. Bagian dalam ruangan dijadikan tempat tidur dan dapur. Tongkonan digunakan juga sebagai tempat untuk menyimpan mayat. Tongkonan berasal dari kata tongkon (artinya duduk bersama-sama). Tongkonan dibagi berdasarkan tingkatan atau peran dalam masyarakat (stara sosial Masyarakat Toraja). Di depan tongkonan terdapat lumbung padi, yang disebut ‘alang‘. Tiang-tiang lumbung padi ini dibuat dari batang pohon palem (banga). Di bagian depan lumbung terdapat berbagai ukiran, antara lain bergambar ayam dan matahari (disebut
pa'bare' allo), yang merupakan simbol untuk
menyelesaikan perkara.
Gambar 2.16 Rumah adat Tongkonan-Sulawesi Selatan 2.2.1.5 Rumah Adat Tradisional Papua Rumah Honai terdiri dari 3 jenis, yaitu rumah untuk para lelaki (disebut Honai), rumah untuk para wanita (disebut Ebei), dan rumah untuk ternak mereka, babi (disebut Wamai). Rumah adat provinsi Papua sebenarnya hanya ada 1 jenis saja, yaitu Honai itu sendiri. rumah ini berbentuk hampir seperti kerucut dengan batu-batu kecil mengelilingi rumah tersebut.Keunikan khasanah kebudayaan bangsa tercermin dari banyaknya jenis rumah yang ada di Indonesia.
40
Gambar 2.17 Rumah adat Honai-Papua 2.2.1.6 Rumah Adat Tradisional Sumatera Selatan Rumah Limas merupakan prototipe rumah tradisional Palembang. Selain ditandai dengan atapnya yang berbentuk limas, rumah tradisional ini memiliki lantai bertingkat tingkat yang disebut Bengkilas dan hanya dipergunakan untuk kepentingan keluarga seperti hajatan. Kebanyakan rumah limas luasnya mencapai 400 sampai 1000 meter persegi atau lebih, yang didirikan diatas tiangtiang dari kayu unglen atau ulin yang kuat dan tanah air. Dinding, pintu dan lantai umumnya terbuat dari kayu tembesu. Sedang untuk rangka digunakan kayu seru. Setiap rumah terutama dinding dan pintu diberi ukiran.
Gambar 2.18 Rumah adat Limas-Sumatera Selatan
41
2.3
`Definisi UML (Unified Modeling Language) UML (Unified Modeling Language) adalah sebuah bahasa yang
berdasarkan grafik/gambar membangun,
untuk
dan pendokumentasian
memvisualisasi, dari
sebuah
menspesifikasikan,
sistem
pengembangan
software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database. UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan katakata dalam “MS Word” untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. Seperti halnya UML adalah sebuah bahasa standard sebuah
software
yang
dapat
untuk
menyampaikan bagaimana
pengembangan membuat
dan
membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software[10]. 2.3.1
Use Case Diagram Menggambarkan sejumlah eksternal aktor dan hubungannya ke use
case yang diberikan oleh sistem seperti pada gambar 2.12 Use Case Diagram[10].
Gambar 2.19 Use Case Diagram
42
2.3.2
Class Diagram Menggambarkan struktur dan deskripsi class, package (paket) dan
objek beserta hubungan satu sama lain seperti containment (penahanan), pewarisan, asosiasi dan lain-lain seperti pada gambar 2.13 Class Diagram[10].
Gambar 2.20 Class Diagram
2.3.3
Squance Diagram Menggambarkan kolaborasi dinamis antara sejumlah objek dan untuk
menunjukan rangkaian pesan yang dikirim antara objek juga interaksi[10], sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem seperti pada gambar 2.14 Sequance Diagram
Gambar 2.21 Sequance Diagram
43
2.3.4
Collaboration Diagram Menggambarkan kolaborasi dinamis seperti sequence diagram. Dalam
menunjukan pertukaran pesan, collaboration diagram menggambarkan objek dan hubungannya seperti pada gambar 2.15 Collaboration Diagram[10].
Gambar 2.22 Collaboration Diagram
2.3.5
Activity Diagram Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk
mendeskripsikan aktivitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktivitas lainya seperti Use Case atau interaksi seperti pada gambar 2.16 Activity Diagram[10].
Gambar 2.23 Activity Diagram
44
2.3.6
Component Diagram Mengambarkan struktur dan hubungan antar komponen perangkat
lunak, termasuk ketergantungan diantaranya. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lainnya seperti pada gambar 2.17 Component Diagram[10].
Gambar 2.24 Component Diagram
2.3.7
Deployment Diagram Menggambarkan
arsitektur
fisik
dari
perangkat
keras
dan
perangkat lunak sistem, menunjukan hubungan computer dengan perangkat satu sama lain dan jenis hubungannya seperti pada gambar 2.18 Deployment Diagram[10].
45
Gambar 2.25 Deployment Diagram
2.3.8 1.
Tujuan Penggunaan UML Memodelkan suatu sistem (bukan hanya perangkat lunak) yang
menggunakan konsep berorientasi objek. 2.
Menciptakan suatu bahasa pemodelan yang dapat digunakan baik oleh
manusia maupun mesin[10].
46