0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
188 tayangan80 halaman
1. Dokumen ini membahas tentang perancangan perangkat lunak pemasaran rumah dengan menggunakan teknologi augmented reality berbasis Android.
2. Perangkat lunak ini bertujuan untuk menampilkan model rumah 3D secara virtual melalui katalog rumah untuk membantu pembeli melihat rumah secara fisik.
3. Dokumen ini membahas latar belakang, tujuan, ruang lingkup, dan sistematika penulisan skripsi tentang perancangan perangkat lunak
1. Dokumen ini membahas tentang perancangan perangkat lunak pemasaran rumah dengan menggunakan teknologi augmented reality berbasis Android.
2. Perangkat lunak ini bertujuan untuk menampilkan model rumah 3D secara virtual melalui katalog rumah untuk membantu pembeli melihat rumah secara fisik.
3. Dokumen ini membahas latar belakang, tujuan, ruang lingkup, dan sistematika penulisan skripsi tentang perancangan perangkat lunak
1. Dokumen ini membahas tentang perancangan perangkat lunak pemasaran rumah dengan menggunakan teknologi augmented reality berbasis Android.
2. Perangkat lunak ini bertujuan untuk menampilkan model rumah 3D secara virtual melalui katalog rumah untuk membantu pembeli melihat rumah secara fisik.
3. Dokumen ini membahas latar belakang, tujuan, ruang lingkup, dan sistematika penulisan skripsi tentang perancangan perangkat lunak
MENGGUNAKAN TEKNOLOGI AUGMENTED REALITY BERBASIS ANDROID
SKRIPSI
Diajukan untuk memenuhi salah satu persyaratan kelulusan program Sarjana Strata-1 (S1)
Disusun oleh
GIA ANUGRAH NOPEMBRIAN NRP. 3310114
SEKOLAH TINGGI MANAJEMEN INFORMATIKA D A N I L M U K O M P U T E R L P K I A PROGRAM STUDI TEKNIK INFORMATIKA BANDUNG 2014 1
BAB I PENDAHULUAN
I.1 Latar Belakang Masalah Rumah merupakan kebutuhan mutlak bagi manusia untuk itu perumahan atau bisnis properti dapat menjadi salah satu peluang aset bisnis yang menjanjikan dan menguntungkan bagi para pencari peluang bisnis, demi menunjang berkembangnya aset bisnis dibidang properti tersebut maka dari itu perlu adanya teknik pemasaran yang tepat kepada konsumen agar konsumen dapat tertarik untuk membeli rumah yang ditawarkan perusahan properti. Teknologi AR (Augmented Reality) adalah sebuah teknologi yang menggabungkan benda maya dua dimensi dan ataupun tiga dimensi ke dalam sebuah lingkungan nyata tiga dimensi lalu memproyeksikan benda-benda maya tersebut dalam waktu nyata (real time). Teknologi AR dapat dimanfaatkan untuk membantu pemasaran rumah dalam bisnis properti sehigga dapat memberi contoh rumah sebernarnya yang digantikan dengan tampilan 3D (3 Dimensi) secara virtual dengan menggunakan perangkat mobile sehingga para pengusaha properti dapat menghemat biaya untuk membuat miniatur rumah dengan menggantikan hal tersebut dengan perangkat lunak ini. Pemanfaatan teknologi mobile khususnya android diharapkan mampu menunjang kinerja dari perangkat lunak ini karena penggunaannya yang mudah yang memungkinkan pengguna dapat melihat contoh tampilan rumah 3 Dimensi dari berbagai sisi dengan hanya mengendalikan kamera perangkat mobile kepada marker pada katalog rumah tersebut secara real time ke semua sisi yang diinginkan.
Penelitian ini bertujuan untuk menghasilkan sebuah aplikasi yang dapat menampilkan model rumah berbentuk 3 Dimensi dalam lingkungan Augmented 2 Reality sehingga dapat membantu para pembeli untuk mengetahui secara fisik rumah yang akan mereka beli.
I.2 Identifikasi Permasalahan Permasalahan yang timbul dari sistem yang ada saat ini adalah : 1. Belum efisiennya teknik promosi untuk memperlihatkan contoh model rumah yang akan dijual. 2. Teknologi Augmented Reality yang belum dikembangkan secara maksimal untuk kegiatan promosi dan pemasaran khususnya dibidang bisnis properti.
I.3 Ruang Lingkup Permasalahan Perangkat lunak yang dibuat memiliki ruang lingkup sebagai berikut: 1. Sistem Operasi mobile smartphone yang digunakan berbasis Android. 2. Model 3D akan muncul ketika kamera dari smartphone atau tablet diarahkan ke marker saja. 3. Model 3D hanya akan muncul terhadap gambar atau marker yang telah di tanamkan kedalam program sebelumnya. I.4 Tujuan Perancangan Perancangan ini bertujuan untuk mengefisiensikan teknik promosi yang dilakukan oleh perusahaan property dengan menghasilkan sebuah aplikasi yang dapat menampilkan model rumah berbentuk 3 Dimensi dengan memanfaatkan teknologi Augmented Reality sehingga dapat membantu para pembeli untuk mengetahui secara fisik rumah yang akan mereka beli.
I.5 Sistematika Penulisan Adapun sistematika dalam penulisan tugas akhir ini disusun sebagai berikut :
BAB I PENDAHULUAN Pada BAB ini diuraikan mengenai pengidetifikasian persoalan, ruang lingkup dan tujuan perancangan perangkat lunak.
3 BAB II DASAR TEORI Pada BAB ini menjelaskan tentang dasar teori permasalahan dan metodologi pengembangan perangkat lunak yang digunakan dalam bentuk diagram maupun diskripsi.
BAB III ANALISIS DAN PERANCANGAN PERANGKAT LUNAK Pada BAB ini dijelaskan mengenai analisis perancangan yang dimodelkan dengan diagram UML dan perancangan antarmuka dari perangkat lunak yang dibuat.
BAB IV IMPLEMENTASI DAN PENGUJIAN Dalam bab ini akan menjelaskan bagaimana rencanaimplementasi,ruang lingkup dan batasan implementasi yang akan diterapkan pada sistem serta pengujian terhadap sistem yang dibangun.
BAB V KESIMPULAN DAN SARAN Dalam bab ini memuat tentang kesimpulan dari keseluruhan penyelesaian permasalahan dan menguraikan saran-saran yang dapat disajikan sebagai acuan pertimbangan bagi penerapan dan pengembangan sistem ke depannya.
DAFTAR PUSTAKA 4
BAB II DASAR TEORI
II.1 Teori Permasalahan Merupakan langkah awal dalam menentukan suatu permasalahan, dimana sebelum menentukan lebih jauh tentang suatu permasalahan yang akan diangkat, maka harus diketahui terlebih dahulu tentang apa yang akan dibahas dalam skripsi ini. Semua teori akan dibahas dalam sub-sub bab ini.
II.1.1 Teori Tentang Perangkat Lunak Menurut Shalahuddin, 2011:2 Dalam buku Modul Pembelajaran Rekayasa Perangkat Lunak, perangkat lunak didefinisikan sebagai berikut : Perangkat lunak (software) adalah program komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain, dan cara penggunaan (user manual). (tambah 2 penulis lagi)
II.1.1.1 Karakteristik Perangkat Lunak (versi dari penulis) Karakter perangkat lunak adalah sebagai berikut: 1. Perangkat lunak dibangun dengan rekayasa (software engineering) bukan diproduksi secara manufaktur atau pabrikan. 2. Perangkat lunak tidak pernah usang (wear out) karena kecacatan dalam perangkat lunak bisa diperbaiki. 3. Barang produksi pabrikan biasanya komponen barunya akan terus diproduksi, sedangkan perangkat lunak biasanya terus diperbaiki seiring bertambahnya kebutuhan. Sedangkan aplikasi dari perangkat lunak adalah sebagai berikut: 1. Perangkat lunak sistem (system software) Adalah kumpulan program dimana program yang satu ditulis untuk memenuhi kebutuhan program lainnya. 2. Perangkat lunak waktu nyata (real-time software) Merupakan perangkat lunak yang memonitor, menganalisis, mengontrol sesuatu secara waktu nyata (real-time). Reaksi yang dibutuhkan pada 5 perangkat lunak harus langsung menghasilkan respon yang diinginkan. 3. Perangkat lunak bisnis (business software) Merupakan perangkat lunak pengelola informasi bisnis (seperti akuntasi, penjualan, pembayaran dan penyimpanan (inventory)). 4. Perangkat lunak untuk keperluan rekayasa dan keilmuan (engineering and scientific software) Merupakan perangkat lunak yang mengimplementasikan algoritma yang terkait dengan keilmuan ataupun perangkat lunak yang membantu keilmuan, misalkan perangkat lunak di bidang astronomi, di bidang matematika dan lain sebagainya. 5. Perangkat lunak tambahan untuk membantu mengerjakan suatu fungsi dari perangkat lunak lainnya (embedded software) Misalnya perangkat lunak untuk mencetak dokumen ditambahkan agar perangkat lunak yang memerlukan dapat mencetak laporan, maka perangkat lunak untuk mencetak dokumen ini disebut embeeded software. 6. Perangkat lunak komputer personal (personal computer software) Merupakan perangkat lunak untuk PC misalnya perangkat lunak pemroses teks, pemroses grafik dan lain sebagainya. 7. Perangkat lunak berbasis web (web based software) Merupakan perangkat lunak yang dapat diakses dengan menggunakan browser. 8. Perangkat lunak berintelijinsia buatan (artificial intelligence software) Merupakan perangkat lunak yang menggunakan algoritma tertentu untuk mengelola data sehingga seakan-akan memiliki intelijinsia seiring bertambahnya data yang diproses.
Produk perangkat lunak yang dibuat oleh pengembang (developer) perangkat lunak terdiri dari dua jenis : 1. Produk generik Produk perangkat lunak yang dibuat oleh pengembang perangkat lunak untuk dijual atau dipopulerkan (open source) tanpa ada yang memesan terlebih dahulu, perangkat lunak yang termasuk dalam produk generik misalnya perangkat lunak sistem operasi, perangkat lunak pendukung perkantoran untuk 6 membuat dokumen, slide presentasi, atau perhitungan dalam bentuk papersheet dan lain sebagainya. 2. Produk Pemesanan Produk perangkat lunak yang dibuat karena ada pelanggan yang melakukan pemesanan, misalnya sebuah instansi memerlukan perangkat lunak untuk memenuhi proses bisnis yang terjadi di instansinya, maka instansi itu akan bekerja sama dengan pengembang untuk membuat perangkat lunak yang diinginkan.
II.1.1.2 Rekayasa Perangkat Lunak Rekayasa perangkat lunak (Software Enginering) merupakan pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien menggunakan mesin. (Shalahudin.2011.4) Rekayasa perangkat lunak lebih fokus pada praktik pengembangan perangkat lunak dan mengirimkan perangkat lunak yang bermanfaat kepada pelanggan (customer). Sedangkan ilmu komputer lebih fokus pada teori dan konsep dasar perangkat komputer. Rekayasa perangkat lunak lebih fokus pada bagaimana membuat perangkat lunak yang memmenuhi kriteria berikut: 1. Dapat terus dipelihara setelah perangkat lunak selesai dibuat seiring berkembangnya teknologi dan lingkungan (Maintainability) 2. Dapat diandalkan dengan proses bisnis yang dijalankan dan perubahan yang terjadi (Dependanbility dan Robust) 3. Efisien dari segi sunber daya dan penggunaan 4. Kemampuan untuk dipakai sesuai dengan kebutuhan (Usability)
II.1.3.2 Proses Rekayasa Perangkat Lunak Menurut Shalahuddin, 2011:8 Dalam buku Modul Pembelajaran Rekayasa Perangkat Lunak, proses perangkat lunak didefinisikan sebagai berikut : Proses perangkat lunak (software process) adalah sekumpulan aktifitas yang memiliki tujuan untuk mengembangkan atau mengubah perangkat lunak. Secara umum proses perangkat lunak terdiri dari: 7 1. Pengumpulan Spesifikasi (Specification). Mengetahui apa saja yang harus dapat dikerjakan sistem perangkat lunak dan batasan pengembangan perangkat lunak. 2. Pengembangan (Development). Pengembangan perangkat lunak menghasilkan sistem perangkat lunak 3. Validasi (Validation). Memeriksa apakah perangkat lunak sudah memenuhi keinginan pelanggan (Customer). 4. Evolusi (Evolution) Mengubah perangkat lunak untuk memenuhi perubahan kebutuhan pelanggan (Customer).
II.1.2 Teknologi Multimedia Multimedia adalah penggunaan komputer untuk menyajikan dan menggabungkan teks, suara, gambar, animasi, audio dan video dengan alat bantu (tool) dan koneksi (link) sehingga pengguna dapat melakukan navigasi, berinteraksi, berkarya dan berkomunikasi. Multimedia sering digunakan dalam dunia informatika. Selain dari dunia informatika, Multimedia juga diadopsi oleh dunia game, dan juga untuk membuat website.
Multimedia dimanfaatkan juga dalam dunia pendidikan dan bisnis. Di dunia pendidikan, multimedia digunakan sebagai media pengajaran, baik dalam kelas maupun secara sendiri-sendiri atau otodidak. Di dunia bisnis, multimedia digunakan sebagai media profil perusahaan, profil produk, bahkan sebagai media kios informasi dan pelatihan dalam sistem e-learning.
8 Pada awalnya multimedia hanya mencakup media yang menjadi konsumsi indra penglihatan (gambar diam, teks, gambar gerak video, dan gambar gerak rekaan/animasi), dan konsumsi indra pendengaran (suara) dan juga berupa . Dalam perkembangannya multimedia mencakup juga kinetik (gerak) dan bau yang merupakan konsupsi indra penciuman. Multimedia mulai memasukkan unsur kinetik sejak diaplikasikan pada pertunjukan film 3 dimensi yang digabungkan dengan gerakan pada kursi tempat duduk penonton. Kinetik dan film 3 dimensi membangkitkan senserealistis. (Wikipedia, diakses 17 Januari 2014)
II.1.2.1 Teknologi 3 Dimensi Grafik komputer 3D merupakan suatu grafis yang menggunakan 3 titik perspektif dengan cara matematis dalam melihat suatu objek, dimana gambar tersebut dapat dilihat secara menyeluruh dan nyata. 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.
Gambar 2.1 Contoh Objek 3D (kubus)
7 9 Untuk model animasi 3D, objek atau model tersebut dibuat dengan komputer dengan menggunakan software tertentu, seperti 3Ds max, Blender, Auto Cad, SkecthUp atau lainnya, yang kemudian dirangkakan dengan tulang rangka virtual untuk membuat efek 3 dimensi nya.
II.1.2.2 Teknologi Augmented Reality Augmented Reality adalah teknologi yang menggabungkan benda maya 2 dimensi dan ataupun 3 dimensi ke dalam sebuah lingkungan nyata 3 dimensi lalu memproyeksikan benda-benda maya tersebut dalam waktu nyata. Tidak seperti realitas maya yang sepenuhnya menggantikan kenyataan, namun Augmented Reality hanya menambahkan atau melengkapi kenyataan.
Benda-benda maya menampilkan informasi yang tidak dapat diterima oleh pengguna dengan inderanya sendiri. Hal ini membuat Augmented Reality sesuai sebagai alat untuk membantu persepsi dan interaksi penggunanya dengan dunia nyata. Informasi yang ditampilkan oleh benda maya membantu pengguna melaksanakan kegiatan-kegiatan dalam dunia nyata. Augmented Reality pada dasarnya adalah sebuah konsep yang mencitrakan gambar 3 dimensi yang seolah nyata. Proses ini bisa dirincikan menjadi beberapa proses dan komponen. Untuk mencitrakan gambar 3 dimensi tersebut, sistem Augmented Reality terlebih dahulu harus melakukan penglihatan terhadap lingkungan yang padanya akan dicitrakan objek virtual. Kemudian, dilakukanlah proses tracking terhadap objek spesifik yang menentukan letak citraan objek virtual tersebut. Kemudian, objek tersebut akan dikenali, atau dianalisis. Setelah dikenali dan 10 dianalisis posisi dan orientasinya, maka komputer akan melakukan proses pencitraan objek tersebut, dan akan tampak pada perlengkapan display. Komponen penting yang harus ada adalah: a. Perlengkapan tampilan (display) b. Alat tracking (pencarian) c. Peralatan input d. Perangkat komputer
Perlengkapan tampilan digunakan untuk menampilkan 'informasi' gambar atau objek 3 dimensi yang dicitrakan terhadap dunia nyata tempat user melihat. Perlengkapan tampilan terbagi menjadi 3 jenis, yakni Head Mounted Display, Handheld Display, dan Spatial Display. Head Mounted Display adalah perlengkapan tampilan yang dikenakan di kepala user dan digunakan sebagai 'kacamata' untuk melihat dunia nyata, yang telah digabungkan dengan objek virtual yang telah diregistrasikan dalam sistem, Handheld Display adalah perlengkapan ringkas yang dapat dibawa-bawa ke mana saja dan dapat dimuat ditangan. Contohnya adalah smartphone dan android phone. Spatial Display adalah sistem pencitraan yang menggunakan proyektor digital untuk mempetakan informasi grafis pada objek fisik. Yang paling membedakan Spatial Display adalah bahwa pencitraannya tidak terasosiasi dengan setiap individu user, namun secara berkelompok.
Tracking biasanya dilakukan dengan teknologi-teknologi menangkap gambar, misalnya dengan kamera digital, sensor optis lainnya, GPS, kompas, dan lain 11 sebagainya. Selain itu, alat tracking yang sekarang meningkat popularitasnya adalah webcam, karena praktis, kecil, mudah dibawah dan diatur untuk dijalankan. Peralatan input hingga sekarang ini masih banyak menjadi objek penelitian. Hingga saat ini, alat yang digunakan mencakup alat 'pinch glove', tongkat bertombol, atau peralatan handheld seperti smartphone. Perangkat komputer, terutama dengan CPU yang kuat dan jumlah RAM yang cukup besar untuk memproses gambar yang ditangkap. Sistem yang digunakan untuk mobilitas biasanya menggunakan laptop yang dilengkapi dengan webcam, sementara untuk yang bersifat diam menggunakan workstation dengan kartu grafis yang kuat.
II.1.3 Pemanfaatan Augmented Reality Sebagai Pengenal Objek Seiring berkembangnya teknologi pemanfaatan Augmented Reality pun mengalami perkembangan. Sebelumnya teknologi 3 dimensi digunakan hanya dalam pembuatan film-film ataupun iklan pada televisi, dan sekarang pemanfaatan tersebut telah dikembangkan untuk berbagai keperluan yang lebih luas seperti media promosi, media pembelajaran, pengenalan objek, sebuah prototype modeling ataupun presentasi rancang bangun. Pengguna memilih sudut pandang sesuai dengan kegiatan yang dilakukannya. Augmented Reality memungkinkan pengguna secara realtime mendapatkan tentang informasi dari suatu objek melalui kamera ponsel. Hal ini membuat Augmented Reality sesuai sebagai alat untuk membantu persepsi dan interaksi penggunanya dengan dunia nyata. Informasi yang ditampilkan oleh benda maya membantu pengguna melaksanakan kegiatan-kegiatan dalam dunia nyata.
12 I.1.3.1 Metode Augmented Reality Ada beberapa metode yang digunakan pada Augmented Reality salah satunya adalah Marker Based Tracking. 1. Marker Augmented Reality (Marker Based Tracking) Marker biasanya merupakan ilustrasi hitam dan putih persegi dengan batas hitam tebal dan latar belakang putih. Computer akan mengenali posisi dengan dan orientasi marker dan menciptakan dunia virtual 3D yaitu titik (0,0,0) dan 3 sumbu yaitu X, Y, dan Z. Marker Based Tracking ini sudah lama dikembangkan sejak 1980-an dan pada awal 1990-an mulai dikembangkan untuk penggunaan Augmented Reality.
Gambar 2.2 Marker Based Tracking 2. Markerless Augmented Reality Salah satu metode Augmented Reality yang saat ini sedang berkembang adalah metode Markerless Augmented Reality, dengan metode ini pengguna tidak perlu lagi menggunakan sebuah marker untuk menampilkan elemen- elemen digital. Seperti yang saat ini dikembangkan oleh perusahaan augmented aeality terbesar di dunia Total Immersion dan Qualcomme, mereka telah membuat berbagai macam teknik Markerless Tracking sebagai teknologi 13 andalan mereka, seperti Face Tracking, 3D Object Tracking, dan Motion Tracking. a. Face Tracking Dengan menggunakan algoritma yang mereka kembangkan, komputer dapat mengenali wajah manusia secara umum dengan cara mengenali posisi mata, hidung, dan mulut manusia, kemudian akan mengabaikan objek-objek lain di sekitarnya seperti pohon, rumah, dan benda-benda lainnya. Teknik ini pernah digunakan di Indonesia pada Pekan Raya Jakarta 2010 dan Toy Story 3 Event.
Gambar 2.3 Face Tracking b. 3 Dimensi Object Tracking Berbeda dengan Face Tracking yang hanya mengenali wajah manusia secara umum, teknik 3D Object Tracking dapat mengenali semua bentuk benda yang ada disekitar, seperti mobil, meja, televisi, dan lain-lain. c. Motion Tracking Pada teknik ini komputer dapat menangkap gerakan, Motion Tracking telah mulai digunakan secara ekstensif untuk memproduksi film-film yang mencoba mensimulasikan gerakan.
14 3. GPS Based Tracking Teknik GPS Based Tracking saat ini mulai populer dan banyak dikembangkan pada aplikasi smartphone (iPhone dan Android). Dengan memanfaatkan fitur GPS dan kompas yang ada didalam smartphone, aplikasi akan mengambil data dari GPS dan kompas kemudian menampilkannya dalam bentuk arah yang kita inginkan secara realtime, bahkan ada beberapa aplikasi menampikannya dalam bentuk 3D. Salah satu pelopor GPS Based Tracking adalah aplikasi yang bernama Layar.
II.1.4 Vuforia SDK Vuforia adalah Augmented Reality Software Development Kit (SDK) untuk perangkat mobile yang memungkinkan pembuatan aplikasi Augmented Reality. Dulunya lebih dikenal dengan QCAR (Qualcomm Company Augmentend Reality). Ini menggunakan teknologi Computer Vision untuk mengenali dan melacak gambar planar (Target Image) dan objek 3D sederhana, seperti kotak, secara real-time. Kemampuan registrasi citra memungkinkan pengembang untuk mengatur posisi dan virtual orientasi objek, seperti model 3D dan media lainnya, dalam kaitannya dengan gambar dunia nyata ketika hal ini dilihat melalui kamera perangkat mobile. Obyek maya kemudian melacak posisi dan orientasi dari gambar secara real-time sehingga perspektif pengguna pada objek sesuai dengan perspektif mereka pada Target Image, sehingga muncul bahwa objek virtual adalah bagian dari adegan dunia nyata. SDK Vuforia mendukung berbagai jenis target 2D dan 3D termasuk Target Gambar 'markerless', 3D Multi target konfigurasi, dan bentuk Marker Frame. Fitur tambahan dari SDK termasuk Deteksi Oklusi local menggunakan 15 'Tombol virtual', runtime pemilihan gambar target, dan kemampuan untuk membuat dan mengkonfigurasi ulang set pemrograman pada saat runtime. Vuforia menyediakan Application Programming Interfaces (API) di C++, Java, Objective- C. SDK mendukung pembangunan untuk IOS dan Android menggunakan Vuforia karena itu kompatibel dengan berbagai perangkat mobile termasuk iPhone (4/4S), iPad, dan ponsel Android dan tablet yang menjalankan Android OS versi 2.2 atau yang lebih besar dan prosesor ARMv6 atau 7 dengan FPU (Floating Point Unit ) kemampuan pengolahan. (www.vuforia.com, diakses 14 Mei 2014)
Dengan support untuk iOS, Android, dan Unity3D, platform Vuforia mendukung para pengembang untuk membuat aplikasi yang dapat digunakan di hampir seluruh jenis smartphone dan tablet. (developer.qualcomm.com, diakses 20 Agustus 2013) Pengembang juga diberikan kebebasan untuk mendesain dan membuat aplikasi yang mempunyai kemampuan antara lain : 1. Teknologi computer vision tingkat tinggi yang mengijinkan developer untuk membuat efek khusus pada mobile device. 2. Terus-menerus mengenali multiple image. 3. Tracking dan Detection tingkat lanjut. 4. Dan solusi pengaturan database gambar yang fleksibel. Diagram dibawah ini memberikan gambaran tentang proses pengembangan aplikasi dengan platform Vuforia. Platform ini terdiri dari Vuforia Engine (dalam SDK), Sistem manajemen sasaran host di portal pengembang (Target Manager), dan opsional, Database Cloud Target. 16
Gambar 2.4 Vuforia Structure 1. Seorang pengembang meng-upload gambar input untuk target traking atau target melacak. Hasil target kemudian dapat diakses oleh aplikasi mobile dalam 2 cara : a. Diakses dari cloud target database menggunakan web services. b. Download dalam perangkat target database yang akan dibundel dengan aplikasi mobile. 2. Untuk text recognition, pengembang dapat menentukan satu set kata-kata yang dikenali oleh Vuforia, dengan menggunakan set data teks berikut: a. Word lists format biner VWL ( Vuforia Word List ). b. Word lists tambahan, yang dapat ditentukan melalui file teks sederhana. c. Word lists opsional filter (black or white lists) untuk secara eksplisit mencakup / mengecualikan pengakuan kata-kata tertentu. 3. Word lists and filter files yang digabungkan dengan aplikasi mobile dan dimuat pada runtime dengan menggunakan Vuforia API . 4. Vuforia Engine menyediakan library (shared object - libQCAR.so pada Android, statis library - libQCAR.a pada IOS ) yang harus dikaitkan dengan app. 17 Vuforia mendukung upaya pengembangan dengan hal-hal berikut : a. Menyediakan (Android, iOS, Unity Ekstensi) untuk mengatur pengembangan pada platform yang berbeda (Windows, MacOS, Linux). b. Menyediakan perangkat SDK untuk (Android, iOS ) dan Extensions untuk (Unity Ekstensi). c. Peralatan dan jasa (Target Manajer web UI, Pan2n Pengembang, Web Services Vuforia). d. Menyediakan contoh aplikasi dan video tutorial. e. Dukungan forum (didedikasikan insinyur dukungan teknis, ribuan posting, FAQ). Target pada vuforia merupakan objek pada dunia nyata yang dapat dideteksi oleh kamera, untuk menampilkan objek virtual. Beberapa jenis target pada vuforia adalah : 1. Image targets, contoh : foto, papan permainan, halaman majalah, sampul buku, kemasan produk, poster, kartu ucapan. Jenis target ini menampilkan gambar sederhana dari Augmented. 2. Frame markers, tipe frame gambar 2D dengan pattern khusus yang dapat digunakan sebagai potongan permainan di permainan pada papan. 3. Multi-target, contohnya kemasan produk atau produk yang berbentuk kotak ataupun persegi. Jenis ini dapat menampilkan gambar sederhana Augmented 3D. 4. Virtual buttons, yang dapat membuat tombol sebagai daerah kotak sebagai sasaran gambar. 18 Pada Vuforia, ada 2 jenis workflow dengan dasar database yang dapat dipilih oleh developer, yaitu Cloud Database dan Device Database. Pada penelitian ini, untuk perancangan dan pembuatan Augmented reality berbasis Android akan menggunakan perangkan Vuforia SDK yang ber-estensi unity atau disebut Vuforia AR Extension Unity.
II.1.4.1 Arsitektur Vuforia Vuforia SDK memerlukan beberapa komponen penting agar dapat bekerja dengan baik. Komponen - komponen tersebut antara lain: 1. Kamera Kamera dibutuhkan untuk memastikan bahwa setiap frame ditangkap dan diteruskan secara efisien ke tracker. Para developer hanya tinggal memberi tahu kamera kapan mereka mulai menangkap dan berhenti.
2. Image Converter Mengkonversi format kamera (misalnya YUV12) kedalam format yang dapat dideteksi oleh OpenGL (misalnya RGB565) dan untuk tracking (misalnya luminance). 3. Tracker Mengandung algoritma computer vision yang dapat mendeteksi dan melacak objek dunia nyata yang ada pada video kamera. Berdasarkan gambar dari kamera, algoritma yang berbeda bertugas untuk mendeteksi trackable baru, dan mengevaluasi virtual button. Hasilnya akan disimpan dalam state object yang 19 akan digunakan oleh video background renderer dan dapat diakses dari application code. 4. Video Background Renderer Me-render gambar dari kamera yang tersimpan di dalam state object. Performa dari video background renderer sangat bergantung pada device yang digunakan. 5. Application Code Menginisialisasi semua komponen di atas dan melakukan 3 tahapan penting dalam application code seperti: a. Query state object pada target baru yang terdeteksi atau marker. b. Update logika aplikasi setiap input baru dimasukkan. c. Render grafis yang ditambahkan (augmented). 6. Target Resources Dibuat menggunakan on-line Target Management System. Assets yang diunduh berisi sebuah konfigurasi xml - config.xml yang memungkinkan developer untuk mengkonfigurasi beberapa fitur dalam trackable dan binary file yang berisi database trackable.
II.1.4.2 Vuforia AR Extension Unity Vuforia AR Extension Unity adalah SDK extension dari Vuforia. Vuforia AR Extension Unity memungkinkan pengembang untuk membangun aplikasi Augmented Reality dengan mesin cross-platform game popular Unity3D. Untuk menggunakan Vuforia AR Extension Unity, pengembang harus terlebih dahulu 20 menginstal aplikasi Unity3D untuk android atau IOS. Vuforia AR kompatibel dengan Unity Standard ataupun Unity Pro.
II.1.4.3 Vuforia API Reference Unity Extension API Reference berisi tentang hirarki kelas dan fungsi anggota dari vuforia SDK untuk unity extension. Gambaran dari vuforia SDK untuk unity extension ini dapat ditampilkan seperti pada gambar 2.5 yang menyediakan : 1. Pengintegrasian script di unity (contoh : QCARBehaviour script yang menangani pelacakan dan memicu latar belakang video asli rendering) 2. High-level access ke perangkat keras atau hardware (contoh: Camera start/stop) 3. Multiple trackables seperti Image Targets, Multi Targets, Cylinder Targets, Word Targets, dan Frame Markers, 4. Berinteraksi dengan dunia nyata seperti Virtual Buttons
Gambar 2.5 Sistem High-level Vuforia SDK untuk Unity Extension 21 II.1.5 Sekilas Tentang Android Menurut Hermawan S (2011) dalam bukunya yang berjudul Mudah Membuat Aplikasi Android pengertian Android adalah sebagai berikut : Android merupakan OS Mobile yang tumbuh di tengah OS lainnya yang berkembang dewasa ini. OS lainnya seperti Windows Mobile, i-Phone OS, Symbian, dan masih banyak lagi juga menawarkan kekayaan isi dan keoptimalan berjalan diatas perangkat hardware yang ada. Akan tetapi, OS yang ada ini berjalan dengan memprioritaskan aplikasi inti yang dibangun sendiri tanpa melihat potensi yang cukup besar dari aplikasi pihak ketiga. Oleh karena itu, adanya keterbatasan dari aplikasi pihak ketiga untuk mendapatkan data asli ponsel, berkomunikasi antar proses serta keterbatasan distribusi aplikasi pihak ketiga untuk paltform mereka. Android menawarkan sebuah lingkungan yang berbeda untuk pengembang. Setiap aplikasi memiliki tingkatan yang sama. Android tidak membedakan antara aplikasi inti dengan aplikasi pihak ketiga. API yang disediakan menawarkan akses ke hardware, maupun data-data ponsel sekalipun, atau data system sendiri. Bahkan pengguna dapat menghapus aplikasi inti dan menggantikan nya dengan aplikasi pihak ketiga.
II.1.5.1 Sejarah dan Perkembangan Android Android merupakan sistem operasi yang dikembangkan untuk perangkat mobile berbasis linux. Pada awalnya sistem operasi ini dikembangkan oleh Android Inc. yang kemudian dibeli oleh Google pada tahun 2005. Dalam usaha mengembangkan Android, pada tahun 2007 dibentuklah Open Handset Alliance (OHA), sebuah konsorsium dari beberapa perusahaan, yaitu Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technologi Group , Motorola, Nvidia, Qualcomm, Samsung, Electronic, Sprint Nextel, dan T-Mobile dengan tujuan untuk mengembangkan standar terbuka untuk perangkat mobile. Pada tanggal 9 Desember 2008 , ia diumumkan bahwa 14 anggota baru akan bergabung proyek android, termasuk Packet video, ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc. (Stephanus Hermawan S, 2011:2)
22 1. Android versi 1.1 pada maret 2009, Google merilis android versi 1.1. Android versi ini dilengkapi dengan pembaharuan pada aplikasi, jam alarm, voice search (Pencarian Suara), pengiriman pesan dengan Gmail, dan pemberitahuan Gmail.
2. Android Versi 1.5 (Cupcake) Terdapat beberapa pembaruan termasuk juga pembahasan beberapa fitur dalam versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem. Dirilis pada pertengahan Mei 2009.
3. Android versi 1.6 (Donut) Donut (Versi 1.6) dirilis pada september 2009 dengan menampilkan proses pencarian yang lebih baik dibanding saebelumnya, pengguna baterai indikator dan kontrol applet VPN. Fitur memilih foto yang akan dihapus; kamera, camcorder dan galeri speech engine; kemampuan dial kontak; pengadaan resolusi WVGA.
4. Android Versi 2.0 (Eclair) Android ini diluncurkan pada 3 Desember 2009. Dilakukan perubahan, yaitu pengoptimalan hardware, perubahan User Interface (UI) dengan browser baru dan dukungan HTML5, daftar kontak baru, peningkatan Google Maps 3.1.2, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.
5. Android Versi 2.2 (Froyo) Pada 20 Mei 2010 kembali diluncurkan ponsel Android dengan versi 2.2(Froyo) perubahan yang dilakukan meliputi optimasi kecepatan, memori, dan kinerja sistem operasi secara keseluruhan, dukungan untuk menginstal aplikasi pada memori eksternal, dukungan Adobe Flash 10.1 serta fungsi USB tethering maupun Wi-Fi hotspot.
23 6. Android 2.3 (Gingerbread) 1 Desember 2010 Google kembali meluncurkan versi terbaru yaitu Android versi 2.3 pada versi ini terdapat peningkatan menajemen daya, kontrol melalui aplikasi, pengguna multiple kamera, penginkatan performa serta sensor seperti gyroscope.
7. Android Versi 3.0/3.1 (Honeycomb) Versi ini berbesa dengan versi-versi sebelumnya. Versi ini dirancang khusus untuk PC Tablet sehingga memiliki User Interface yang berbeda dan mendukung ukuran layar yang lebih besar. Selain ituy, pada versi ini memungkinkan penggunaan multiprosesor dan akselerasi perangkat keras untuk grafis. Software Development Kit (SDK) versi pertama diluncurkan Februari 2011.
II.1.5.2 keunggulan Android Pengembangan sistem operasi android dan aplikasinya sendiri mengacu pada empat prinsip keunggulan yaitu : 1. Terbuka Android dibangun untuk menjadi benar-benar terbuka. Sebagai contoh, sebuah aplikasi dapat mengambil dan mengakses fungsi-fungsi utama ponesl seperti membuat panggilan, mengirim pesan teks menggunakan kamera. Hal ini memungkinkan para pengembang untuk membuat aplikasi yang lebih baik. 2. Semua Aplikasi Dibuat Sama Andorid tidak membedakan antara aplikasi inti ponsel dan aplikasi pihak ketiga. Kedua jenis aplikasi ini dapat dibangun dan memiliki akses yang sama ke ponsel. Pengguna dapat sepenuhnya mengatur telepon sesuai kepentingan mereka. 3. Mendobrak Batasan-batasan Aplikasi Android membuang berbagai hambatan untuk membangun aplikasi baru inovatif. Misalnya, seorang pengembang dapat menggabungkan informasi dari WEB dengan data individu dari ponsel. Misalnya data kontak, kalender, atau lokasi geografis. Sehingga memberikan informasi yang lebih relavan. Dengan Android, pengembang juga dapat membangun aplikasi yang 24 memungkinkan pengguna untuk melihat lokasi dan terkoneksi dengan teman-temannya. 4. Pengembangan Aplikasi yang Cepat dan Mudah Android memyediakan akses ke berbagai libraries dan tools yang dapat digunakan untuk membangun aplikasi yang kaya.
II.1.5.3 Arsitektur Android Sistem operasi Android terdiri dari beberapa komponen. Secara sederhana arsitektur Android merupakan sebuah kernel Linux dan sekumpulan libraries C/C++ dalam sebuah framework yang menyediakan dan mengatur alur proses aplikasi. Secara garis besar arsitektur Android dapat digambarkan pada gambar II.1 dibawah ini:
Gambar II.1 Arsitektur Android (Stephanus Hermawan S. 2011, Mudah Membuat Aplikasi Android) ANDI. 1. Application Merupakan lapisan aplikasi, serangkaina aplikasi akan terdapat pada perangkat mobile. Aplikasi inti yang telah terdapat pada Android termasik kalender, kontak SMS, dan lain sebagainya. Aplikasi-aplikasi ini ditulis dengan bahasa pemograman Java. 25
2. Application Frameworks Pengembang aplikasi memiliki akses penuh ke Android sama dengan aplikasi inti yang telah tersedia. Pengembang dapat dengan mudah mengakses informasi lokasi, mengatur alarm, menambahkan pemberitahuan ke status bar dan lain sebagainya. Applications Frameworks ini adalah layer dimana para pembuat aplikasi melakukan pengembangan atau pembuatan aplikasi yang akan dijalankan disistem operasi Android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti content providers yang berupa sms dan panggilan telepon. Komponen-komponen yang termasuk di dalam Application Frameworks adalah sebagai berikut : a. Views b. Content Provider c. Resource Manager d. Notification Manager e. Activity Manager
3. Libraries Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan diatas kernel, layer ini meliputi berbagai library C/C++ inti seperti Libe dan SSL, serta: a. Libraries media untuk pemutaran media audio dan video. b. Libraries untuk manajemen tampilan. c. Libraries graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D. d. Libraries SQLite untuk dukungan database. e. Libraries SSL dan Wevkit terintegrasi dengan web browser dan security. f. Libraries Live Webcore mencakup modern web browser dengan engine embedded web view. g. Libraries 3D yang mencakup implementasi OpenGL ES 1.0 APIs.
26 4. Android Run Time Merupakan satu set libraries inti yang menyediakan sebagian besar fungsi yang tersedia di libraries inti dari bahasa pemograman Java. Setiap aplikasi akan berjalan sebagai proses sendiri pada Dalvik Virtual Machine.
5. Linux Kernel Android bergantung pada Linux Kernel 2.6 untuk layanan sistem inti seperti keamanan, manajemen memori, manajemen memori, manajemen proses network stack, dan model driver. Kernel juga juga bertindak sebagai lapisan antara hardware dan seluruh software.
II.2 Metodologi Yang Digunakan Sub bab ini menjelaskan tentang metodologi pengembangan sistem yang dipergunakan untuk memecahkan masalah.
II.2.1 Konsep Dasar Metodologi Pada buku yang berjudul Analisis & Disain Sistem Informasi: Pendekatan Terstrukutur Teori dan Praktek Aplikasi Bisnis mendefinisikan metodologi sebagai berikut: Metodologi adalah kesatuan metode-metode, prosedur-prosedur, konsep- konsep pekerjaan yang digunakan oleh suatu ilmu pengetahuan, seni atau disiplin lainnya. (Jogiyanto.2005.59) Metodologi yang digunakan pada skripsi ini adalah metodologi berorientasi objek dengan menggunakan UML dan model proses waterfall. Metodologi ini dipilih karena metodologi ini menggunakan alat-alat bantu dan teknis-teknis yang digunakan dalam menyelesaikan tugas akhir ini.
II.2.2 Konsep Pengembangan Software Pengembangan software secara klasik mengikuti siklus air terjun secara berulang- ulang sebagaimana diilustrasikan pada gambar II.19: 27
Gambar II.19 Model Air Terjun (waterfall)
1. Analisis kebutuhan perangkat lunak Proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh pengguna. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan. 2. Desain Desain perangkat lunak adalah proses multilangkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengkodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan. 3. Pembuatan kode program Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain. 4. Pengujian Pengujian fokus pada perangkat lunak secara dari segi logic dan fungsional dan memastikan bahwa semua sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan. 5. Pemeliharaan 28 Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke pengguna. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pemeliharaan dapat mengurangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru.
II.2.3 Object Oriented Yang dijelaskan Widodo dan Herlawati (2011) dalam bukunya yang berjudul Menggunakan UML Bahasa C++, Java, VB.NET dan sejenisnya kita kenal sebagai bahasa pemograman berorientasi objek. Tetapi hanya dengan menggunakan bahasa tersebut bukan berarti kita sudah pasti membuat program yang berorientasi objek. Berorientasi obyek merupakan cara baru berpikir, pandangan, atau paradigma baru untuk membuat program atau merancang sistem dengan memperhatikan obyek, ciri obyek, dan perilakunya. Obyek atau object merupakan suatu bentuk baik nyata maupun tidak nyata, seperti manusia, hewan, tumbuhan, benda, konsep, aliran, dan lain-lainnya. Kelas atau class merupakan kumpulan object yang memiliki kemiripan perilaku (method), ciri atau karakteristik (properties).
Beberapa istilah berorientasi obyek antara lain : 1. Objek, merupakan entitas yang memiliki atribut, karakter (behavour) dan disertai dengan kondisi (state). Objek merepresentasikan sesuatu sistem real seperti siswa, sistem kontrol permukaan sayap pesawat, sensor atau mesin. Objek yang merepresentasikan sesuatu dalam bentuk konsep seperti nasabah bank, merek dagang, pernikahan atau sekedar listing. Bahkan bisa juga menyatakan visualisasi seperti, bentuk huruf (font), memiliki fitur atribut (untuk data), behaviour (operation atau method) keadaan (memori), identitas dan tanggung jawab. (Dalam bukunya Prabowo Widodo dan Herlawati (2011) dengan judul Menggunakan UML Menurut Douglas, 2004; bab 2.1) 2. Kelas (Class) adalah penggambaran satu objek yang memliki atribut dan behavior yang sama. Kelas mirip tipe data pada pemograman non objek, tapi lebih komprehensif karena terdapat struktur sekaligus karakteristiknya. Kelas dapat membentuk kelas baru yang lebih spesifik dari kelas generalnya. Kelas dan 29 objek merupakan jantung dari pemograman berorientasi objek.( Prabowo Widodo dan Herlawati, 2011:3) 3. Abstraksi (Abstraction), merupakan pembungkusan sebagai penggabungan potongan potongan informasi dan prilaku prilaku spesifik yang bekerja pada informasi tersebut, kemudian mengemasnya menjadi apa yang disebut dengan objek. (Dalam bukunya Prabowo Widodo dan Herlawati (2011) dengan judul Menggunakan UML Menurut Nurgoho, 2005: 6) 4. Pewarisan (Inheritance) , konsep dimana metode dan atribut yang ditentukan di dalam sebuah objek kelas dapat diwariskan dan digunakan lagi oleh objek kelas lainnya. (Dalam bukunya Prabowo Widodo dan Herlawati (2011) dengan judul Menggunakan UML Menurut Whitten, 2004:411) 5. Polimorfisme (Polymorphism), yaitu funsionalitas yang diimplementasikan dengan berbagai cara yang berbeda. Pada terminologi berorientasi objek, ini berarti dapat memiliki berbagai implementasi untuk sebagian fungsionalitas tertentu. (Prabowo Pudjo Widodo)
II.2.4 UML UML singkatan dari unified Modelling Language yang berarti bahasa pemodelan standar. Dalam bukunya Widodo dan Herlawati (2011) dengan judul Menggunakan UML mengatakan : UML adalah sebagai bahasa, berarti UML memiliki sintaks dan semantik.Ketika kita membuat model menggunakan konsep UML ada aturan- aturan yagn harus diikuti.Bagaimana elemen pada model-model yang kita buat berhubungan satu dengan lainnya harus mengikuti standar yang ada. UML bukan hanya sekedar diagram, tetapi juga menceritakan konteksnya.
UML di aplikasikan untuk maksud tertentu, biasanya antara lain untuk : 1. Merancang perangkat lunak. 2. Sarana komunikasi antara perangkat lunak dengan proses bisnis. 3. Menjabarkan sistem secara rinci untuk analisa dan mencari apa yagn diperlukan sistem. 4. Mendokumentasikan sistem yang ada, proses-proses dan organisasinya. Blok pembangunan utama UML adalah diagram. Beberapa diagram ada yang rinci (jenis timing diagram) dan lainnya ada yang bersifat umum (misalnya 30 diagram kelas). Para pengembang system berorientasi objek menggunakan bahasa model untuk menggambarkan, membangun dan mendokumentasikan sistem yang mereka rancang. UML memungkinkan para anggota team untuk berkerja sama dengan bahasa model yang sama dalam mengaplikasiskan beragam system. Intinya, UML merupakan alat komunikasi yang konsisten dalam mensupport para pengembang Blok pembangunan utama UML adalah diagram. Beberapa diagram ada yang rinci (jenis timing diagram) dan lainnya ada yang bersifat umum (misalnya diagram kelas). Para pengembang sistem berorientasi objek menggunakan bahasa model untuk menggambarkan, membangun dan mendokumentasikan system yang mereka rancang. UML memungkinkan para anggota team untuk berkerja sama dengan bahasa model yang sama dalam mengaplikasiskan beragam system. Intinya, UML merupakan alat komunikasi yang konsisten dalam mensupport para pengembang sistem. Diagram-diagram yang digunakan untuk mendefinisikan Unified Modeling Language menurut (Prabowo dan Herlawati, 2011:10) adalah sebagai berikut: 1. Use Case Diagram Use case diagram bersifat statis. Diagram ini memperlihatkan himpunan usecase dan actor-aktor (suatu jenis hkusus dari kelas). Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku suatu sistem yang dibutuhkan serta diharapkan pengguna. a. Notasi Use Case Diagram Use Case menunjukkan 3 aspek dari sistem yaitu actor, use case dan sistem / sub sistem boundary. Gambar II.20 mengilustrasikan actor, use case dan boundary.
Gambar II.20 Use Case Model (Munawar, 2005)
31 b. Stereotype Stereotype adalah sebuah model khusus yang terbatas untuk kondisi tertentu. Unutk menunjukkan stereotype digunakan simbol << diawalnya dan ditutup >> diakhirnya. <<extend>> digunakan untuk menunjukkan bahwa suatu use case merupakan tambahan fungsional dari use case yang lain jika kondisi atau syarat tertentu dipenuhi. Sedangkan <<include>> digunakan untuk menggambarkan bahwa suatu use case seluruhnya merupakan fungsionalitas dari use case lainnya. Biasanya <<include>> digunakan untuk menghindari pengcopian suatu use case karena sering dipakai. Contoh penggunaan <<include>> dan <<extend>> dapat dilihat pada Gambar II.21 dan Gambar II.22
Gambar II.21 Use Case Inclusion (Munawar, 2005)
32 Gambar II.22 Use Case Extension (Munawar, 2005)
2. Activity Diagram Activity diagram adalah tipe khusus dari diagram status yang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu system. Diagram ini terutama penting dalam pemodelan fungsi-gunsi suatu system dan memberi tekanan pada aliran kendali antar objek. Berikut adalah simbol simbol yang sering digunakan dalam activity diagram.
Tabel II.2 Simbol simbol yang sering dipakai pada actvity diagram (Munawar, 2005)
Simbol Keterangan
Titik Awal
Titik Akhir
Aktifitas
Pilihan Untuk Pengambilan Keputusan (Desicion)
Fork, digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel jadi satu
Tanda Waktu
Tanda Pengiriman
Tanda Penerimaan 33
Aliran Akhir (Flow Final)
3. Class Diagram Diagram ini memperlihatkan himpunan kelas kelas, antarmuka-antarmuka, kolaborasi-kolaborasi, serta relasi relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek, meskipun bersifat statis , sering pula diagram kelas memuat kelas-kelas aktif Class memiliki tiga area pokok yaitu: 1. Nama (stereotype) 2. Atribut, dan 3. Metoda Berikut dibawah ini contoh penggambaran class diagram
Gambar II.23 Simbol Class
Atribut dan metoda dapat memiliki salah satu sifat berikut: 1. Private, tidak dapat dipanggil dari luar class yang bersangkutan. 2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya. 3. Public, dapat dipanggil oleh siapa saja. Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung di instansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time. Hubungan antar class yaitu: 34 1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. 2. Agregasi, yaitu hubungan yang menyatakan bagian terdiri atas. 3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi. 4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari suatu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
d. Object Diagram Object diagram adalah gambaran obyek-obyek secara ringkas di sebuah sistem pada suatu waktu. Object diagram sering disebut sebagai instance diagram karena menunjukkan instance-instance dari class. Object diagram bisa digunakan untuk menunjukkan contoh konfigurasi dari obyek-obyek. Hal ini sangat berguna untuk menunjukkan hubungan yang mungkin ada di antara obyek-obyek yang sangat kompleks. Object diagram bisa digunakan untuk memodelkan pandangan dari rancangan atau proses yang statis dari suatu sistem. Termasuk disini adalah pemodelan sistem secara ringkas pada suatu waktu dan membuat serangkaian obyek, state dan relasinya. e. Sequence Diagram Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Diagram ini menunjukkan sejumlah contoh obyek dan pesan (message) yang diletakkan diantara obyek-obyek ini di dalam use case. f. Collaboration Diagram Collaboration diagram adalah perluasan dari object diagram. Collaboration diagram menunjukkan message-message obyek yang dikirimkan satu sama lain. Untuk menunjukkan sebuah pesan, tanda panah dibuat di dekat garis asosiasi diantara dua obyek.Arah panah menunjukkan obyek yang menerima pesan. Label 35 di dekat panah menunjukkan pesannya apa. Tipikal message meminta kepada obyek yang menerimanya untuk menjalankan salah satu operasinya.Sepasang tanda kurung digunakan untuk mengakhiri message.Jika ada parameter bisa diletakkan diantara tanda kurung. Antara collaboration diagram dan sequence diagram bisa saling mengisi. Dengan demikian pada collaboration diagram bisa ditambahkan nomor urut pada label sebuah message untuk memisahkan nomor dengan message. g. State Diagram State diagram menelusuri individu-individu obyek melalui keseluruhan dari hidupnya, menspesifikasikan semua urutan yang mungkin dari pesan-pesan yang akan diterima obyek tersebut, bersama-sama dengan tanggapan atas pesan-pesan tersebut. State diagram menyediakan variasi simbol dan sejumlah ide untuk pemodelan. Tipe diagram ini mempunyai potensi untuk menjadi sangat kompleks dalam waktu yang singkat. State diagram dan interaction diagram menampilkan dua pandangan yang saling melengkapi tentang perilaku dinamis sebuah sistem. Interaction diagram menunjukkan pesan-pesan yang dilewatkan diantara obyek-obyek di dalam sistem selama periode waktu yang pendek. h. Component Diagram Component diagram adalah bagian fisik dari sebuah sistem, karena menetap di komputer. Komponen berupa tabel, file data, file exe, dan lain-lain. Hal penting pada component adalah component mewakili potongan-potongan yang independen yang bisa dipesan dan diperbaharui sewaktu-waktu.Dengan demikian, didorong oleh kepentingan marketing dari pada kepentingan teknis. i. Deployment Diagram Diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan (run time).Memuat simpul-simpul beserta komponen-komponen yang ada di dalamnya.Diagram deployment berhubungan erat dengan diagram komponen dimana diagram ini memuat satu atau lebih komponen-komponen. Diagram ini sangat berguna saat aplikasi kita berlaku sebagai aplikasi yang dijalankan pada banyak mesin (distributed computing).
36
BAB III ANALISIS DAN PERANCANGAN PERANGKAT LUNAK
Bab ini digunakan untuk mendefinisikan semua kebutuhan pemakai dan meletakkan dasar-dasar untuk proses perancangan perangkat lunak Bab ini juga menjabarkan pengembangan spesifikasi perangkat lunak untuk memecahkan persoalan.
Hasil analisis dan perancangan tersebut dimodelkan dengan diagram UML (Unified Modeling Language). Diagram tersebut digunakan untuk memodelkan aliran proses, kerja, data, struktur organisasi obyek dan pesan, serta prilaku sistem, sampai perancangan antarmuka dan pseudocode.
III.1 Aliran Proses Dalam sub-bab ini dijelaskan proses-proses yang dimodelkan dalam sekumpulan use case dan actor serta hubungannya yang digambarkan dalam diagram use case. Setiap use case disertai dengan penjelasan yang diuraikan dalam use case scenario, yang menguraikan tentang nama use case, use case yang terkait (hubungan include, extend, generalization-specialization/inheritance), aksi actor, dan respon sistem/perangkat lunak.
III.1.1 Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sistem dan merepresentasikan interaksi antara actor dengan sistem. Serta keterkaitan antar fungsionalitas satu dengan yang lainnya baik itu include ataupun extend terhadap fungsionalitas lainnya.
Dibawah ini merupakan gambaran use case diagram untuk sistem. Dimana aktor menggambarkan pengguna, sedangkan sistem dalam diagram ini adalah serangkaian kegiatan yang dilakukan oleh pengguna (gambar III.1). 37
Gambar III.1 Diagram Use Case Aplikasi Augmented Reality Catalog Rumah
III.1.2 Use Case Scenario Scenario use case menjelaskan tentang jalannya proses yang ada dalam use case diagram dari awal hingga akhir proses, untuk lebih jelasnya scenario use case prosesnya mirip dengan narasi prosedur yang digunakan bila manggunakan metodologi tersturuktur. Karena penulisan tugas akhir ini menggunakan metodologi object oriented, sehingga yang digunakan untuk menjelaskan prosedur secara global adalah menggunakan scenario use case yang akan diterangkan dibawah ini:
Tabel III.1 Use Case Scenario Deteksi Marker Nama Use Case : Deteksi Marker Deskripsi : Digunakan untuk memunculkan model 3D Rumah <<i ncl ude>> <<i ncl ude>> User Deteksi Marker Mode Tampi l an Si mul asi Kredi t Booki ng Rumah Admi n Menampi l kan Li st Booki ng 38 Aktor Yang Terlibat : User Kondisi Awal : Aplikasi muncul dengan mode kamera Skenario Aktor Reaksi Sistem 1. User membuka aplikasi 2. Sistem menampilkan aplikasi 3. User mengarahkan kamera kepada gambar marker 4. Sistem mendeteksi marker dan memvalidasi marker 5. Jika tidak valid maka kembali ke no 3 6. Sistem menampilkan model 3D Rumah. Kondisi Akhir : Sistem menampilkan model 3D Rumah Sesuai marker yang di sorot. Exceptional Case: jika marker tidak terdeteksi maka sistem tidak akan menampilkan model 3D Rumah
Tabel III.2 Use Case Scenario Pilih Mode Tampilan Nama Use Case : Pilih Mode Tampilan Deskripsi : Digunakan untuk memilih mode tampilan model 3D Rumah yang ditampilkan baik lantai 1, lantai 2, atau dengan atap. Aktor Yang Terlibat : User Kondisi Awal : Aplikasi menampilkan mode tampilan rumah sesuai mode yang dipilih Skenario Aktor Reaksi Sistem 1. User menekan tombol lantai 1, lantai 2, atau atap 2. Validasi pilihan 3. Sistem menampilkan model 3D Rumah hanya lantai 1, atau lantai 2, atau rumah dengan atap. Kondisi Akhir : Tampilan model 3D rumah berubah sesuai mode yang dipilih. Exceptional Case:
39 Tabel III.3 Use Case Scenario Simulasi Kredit Nama Use Case : Simulasi Kredit Deskripsi : Digunakan untuk melihat informasi harga rumah yang ditampilkan dengan simulasi kredit Aktor Yang Terlibat : User Kondisi Awal : Aplikasi menampilkan model 3D rumah sesuai marker yang disorot. Skenario Aktor Reaksi Sistem 1. User menekan tombol Simulasi kredit 2. Sistem menampilkan menu simulasi kredit. 3. User memilih Tipe Rumah 4. Sistem akan menampilkan Harga Rumah 5. User memasukan Nominal Uang Muka 6. Sistem akan menampilkan pilihan jangka waktu kredit 7. User Memilih jangka waktu kredit 8. Sistem akan menampilkan simulasi kredit berdasarkan Harga Rumah dari uang muka dan jangka waktu yang telah ditetapkan oleh user. Kondisi Akhir : Sistem menampilkan simulasi kredit rumah. Exceptional Case:
Tabel III.4 Use Case Scenario Booking Rumah Nama Use Case : Booking Rumah Deskripsi : Digunakan untuk membooking rumah yang diminati pelanggan. Aktor Yang Terlibat : User Kondisi Awal : Aplikasi berada di form tampilan simulasi kredit Skenario 40 Aktor Reaksi Sistem 1. User menekan tombol Booking 2. Sistem menampilkan form biodata 3. User memasukan data Nama, Alamat dan No.Telp 4. Sistem menyimpan data dan Menampilkan letak posisi Cluster Rumah yang diminati 5. User memilih salah satu posisi Cluster Rumah 6. Sistem akan mengirim data ke Website Marketing Kondisi Akhir : Sistem mengirim data ke web marketing Exceptional Case : Letak posisi Cluster Rumah telah di Booking oleh pelanggan yang telah melakukan Booking sebelumnya
Tabel III.5 Use Case Scenario List Booking Nama Use Case : List Booking Deskripsi : Digunakan untuk melihat daftar rumah yang telah dibooking yang berguna untuk pihak marketing melakukan follow-up terkait rumah yang telah di Booking. Aktor Yang Terlibat : User Kondisi Awal : Aplikasi berbasis web dengan menampilkan halaman utama list Booking Skenario Aktor Reaksi Sistem 1. User menekan tombol List Booking di web. 2. Sistem menampilkan daftar booking rumah. 3. User mencentang checkbox Follow- Up 4. Sistem mengubah status pelanggan booking rumah yang dipilih menjadi Follow-Up. 41 5. User mencentang checkbox Berhasil. 6. Sistem mengubah status pelanggan booking rumah yang dipilih menjadi Berhasil di Follow-Up. 7. User mencentang checkbox Silang 8. Sistem mengubah status pelanggan booking rumah yang dipilih menjadi Gagal di Follow-Up. Kondisi Akhir : Sistem memberikan informasi mengenai daftar pelanggan yang melakukan booking terhadap rumah yang diminati Exceptional Case : Rumah yang telah berhasil di follow up tetapi pelanggan membatalkan membeli rumah yang telah di booking.
III.2 Aliran Kerja Sub bab ini digunakan untuk memodelkan aliran kerja (workflow) atau aktivitas berdasarkan aliran kejadian sistem yang ada. III.2.1 Activity Diagram Diagram aktivitas (activity diagram) memodelkan aliran kerja atau workflow sebuah proses bisnis dan urutan aktifitas dalam suatu proses.
III.2.1.1 Activity Diagram Deteksi Marker Dalam activity diagram III.2 Menjelaskan User untuk mendeteksi sebuah Marker Gambar dimana User mengarahkan kamera ke Marker yang telah di program sebelumnya, setelah itu aplikasi akan memvalidasi gambar dan menyesuaikannya dengan gambar yang telah di program, jika gambar tersebut valid maka aplikasi akan menampilkan objek 3D Rumah sesuai dengan gambar marker yang disorot oleh kamera.
42
Gambar III.2 Activity Deteksi Marker
III.2.1.2 Activity Diagram Memilih Mode Tampilan Dalam activity diagram III.3 Menjelaskan pemilihan mode tampilan yang diinginkan, dengan fitur ini User dapat melihat isi dari objek Model 3D rumah yang ditampilkan, pertama model 3D ditampilkan aplikasi sesuai gambar marker yang disorot, lalu user menekan tombol lantai 1 aplikasi akan menampilkan Model 3D hanya lantai 1 saja, jika User menekan tombol lantai 2 maka aplikasi akan menampilkan Model 3D Rumah lantai 1 dan lantai 2, dan jika user menekan tombol atap maka aplikasi akan menampilkan seluruh model 3D rumah berserta Atap Rumah.
43
Gambar III.3 Activity Memilih Mode Tampilan
III.2.1.3 Activity Diagram Simulasi Kredit dan Booking Rumah Dalam activity diagram III.3 Menjelaskan mengenai informasi Simulasi Kredit Rumah dimana User memilih tombol Simulasi Kredit, lalu sistem akan menampilkan Form Simulasi Kredit, lalu user diminta untuk memilih tipe rumah, tipe rumah yang tersedia adalah tipe rumah yang dipasarkan pada perusahaan properti dimana aplikasi ini digunakan, setelah dipilih tipe rumah maka aplikasi akan menampilkan harga rumah yang dipilih, selanjutnya user memasukan nominal uang muka dan memilih jangka waktu cicilan setelah itu pilih submit dan sistem akan memproses simulasi kredit sesuai dengan kriteria yang dipilih oleh user, setelah proses selesai maka aplikasi akan menampilkan informasi simulasi kredit sesuai dengan kriteria yang dipilih oleh user, jika berminat lebih lanjut user bisa menekan tombol Booking untuk melakukan Booking pada rumah yang diminati 44 jika "tidak" aplikasi akan kembali ke tampilan Simulasi kredit, jika "Ya" maka aplikasi akan menampilkan tampilan Form Biodata, user diminta untuk mengisikan Nama, Alamat dan No.Telp, setelah itu Aplikasi akan menampilkan tampilan denah Posisi Cluster Rumah, user akan memilih letak cluster rumah yang diminati setelah itu aplikasi akan mengirim semua data ke web Marketing untuk dilakukan Follow- Up.
Gambar III.4 Activity Simulasi Kredit dan Booking Rumah
45 III.3 Pemodelan Data Pemodelan data digambarkan dalam bentuk Class Diagram yang menjelaskan visualisasi dari struktur kelas-kelas yang nantinya akan digunakan sebagai panduan pada tahap implementsi perangkat lunak. Karena perangkat lunak yang dirancang menggunakan Java sebagai bahasa pemogramannya, maka pemodelan data ini sangat berguna sekali terutama untuk melihat bagaimana aplikasi ini berjalan.
III.3.1 Class Diagram Class Diagram adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/property) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metode/fungsi). Class Diagram menggambarkan struktur dan deskripsi class, package dan object beserta hubungan satu sama lain seperti containtment, pewarisan, asosiasi, dll. Class diagram untuk perangkat lunak ini bisa dilihat pada gambar III.5
Gambar III.5 Class Diagram Aplikasi Augmented Reality Catalog Rumah
0..1 0..* 0..1 0..* 0..1 0..* 0..1 0..* 0..1 0..* ModeTampi l an - - - - - l antai 1 l antai 2 i conAtap i conLatai 2 i conExi t : GameObj ect : GameObj ect : Texture2D : Texture2D : Texture2D + + + + + + start () OnGui () Vi ewLantai 1 () Vi ewLantai 2 () Vi ewAtap () Exi t () ... : voi d : voi d : voi d : voi d : voi d : voi d CameraSetti ng - - - Fl ashEnabl e FocusMode ButtonPressed : Bool ean : Bool ean : Bool ean + + + CameraFl ash () CameraAutoFocusMode () OnGui () ... : voi d : voi d : voi d HargaRumah - - TypeRumah HargaRumah : Stri ng : Doubl e + + + + setTypeRumah () getHargaRumah () Si mul asi Kredi t () OnGUI () ... : Stri ng : Doubl e : voi d : voi d Si mul asi Kredi t - - - - - TypeRumah HargaRumah Peri ode UangMuka Ci ci l anRumah : Stri ng : Doubl e : i nt : Doubl e : Doubl e + + + + getHargaRumah () Si mul asi Kredi t () Booki ngRumah () OnGUI () ... : Doubl e : voi d : voi d : voi d InputIdenti tas - - - - TypeRumah Nama Al amat NoTel p : Stri ng : Stri ng : Stri ng : Stri ng + + + OnGUI () InputIdenti tas () SaveIdenti tas () ... : voi d : voi d : voi d DrawMenu - - - - - - btnAtap btnLantai 2 btnFl ashEnabl e btnAutoFocusMode btnBooki ngRumah btnExi t : GUIButton : GUIButton : GUIButton : GUIButton : GUIButton : GUIButton + + MenuChoi ce () OnGUI () ... : voi d : voi d Cl usterRumah - - - - - RumahCl uster1 RumahCl uster2 RumahCl uster3 RumahCl uster4 RumahCl uster6 : GUIButton : GUIButton : GUIButton : GUIButton : GUIButton + + + Tampi l Cl usterRumah () setCl usterRumah () OnGUI () ... : voi d : voi d : voi d MonoBehavi or 46 III.3.2 Class Object Description Deskripsi masing-masing Class object pada pembuatan perangkat lunak adalah sebagai berikut: Nama Class : DrawMenu Fungsi : Menampilkan User Interface Tombol Menu
Tabel III.6 Class Object MenuView Attribute Nama Fungsi btnAtap Tombol Atap btnLantai2 Tombol Lantai 2 btnFlashEnable Tombol Enable/Diasble Flash Camera btnAutoFocusMode Tombol Enable/Disable Autofocus Camera btnBookingRumah Tombol Booking Rumah btnExit Tombol Keluar dari Aplikasi Method Nama Fungsi MenuChoice Menampilkan fitur sesuai tombol yang dipilih OnGUI Menampilkan User Interface aplikasi
Nama Class : ModeTampilan Fungsi : Menampilkan Tampilan 3D Rumah sesuai dengan pilihan tampilan yang dipilih
Tabel III.7 Class Object ModeTampilan Attribute Nama Fungsi Lantai1 Menampung nama object model 3D lantai 1 47 Lantai2 Menampung nama object model 3D lantai 2 IconAtap Gambar Icon Atap IconLantai2 Gambar Icon Lantai 2 IconExit Gambar Icon Exit Method Nama Fungsi Start Memasukan nama model 3D Lantai 1, Lantai 2 dan Atap ke variabel OnGUI Menampilkan User Interface aplikasi ViewLantai1 Menampilkan model 3D lantai 1 ViewLantai2 Menampilkan model 3D lantai 2 ViewAtap Menampilkan model 3D Lantai 1, lantai 2 dan atap Exit Keluar dari aplikasi
Nama Class : CameraSetting Fungsi : Mengkonfirgurasi setelan kamera seperti mengaktifkan cahaya Flash dan Auto Focus.
Tabel III.8 Class Object CameraSetting Attribute Nama Fungsi FlashEnable Menampung status true/false pengaktifan cahaya flash FocusMode Menampung status true/false pengaktifan Auto Focus ButtonPressed Menampung status true/false tombol sudah ditekan Method Nama Fungsi 48 CameraFlash Mengaktifkan atau menonaktifkan cahaya Flash CameraAutoFocusMode Mengaktifkan atau menonaktifkan mode Auto Focus OnGUI Menampilkan User Interface Aplikasi
Nama Class : HargaRumah Fungsi : Mengetahui harga rumah berdasarkan tipe rumah yang dipilih
Tabel III.9 Class Object HargaRumah Attribute Nama Fungsi TypeRumah Menampung tipe rumah yang dipilih user HargaRumah Menampung harga rumah Method Nama Fungsi setTypeRumah Memilih tipe rumah getHargaRumah Menampilkan harga rumah sesuai tipe rumah yang dipilih SimulasiKredit Menghitung simulasi kredit
Nama Class : SimulasiKredit Fungsi : Menghitung simulasi kredit rumah
Tabel III.9 Class Object HargaRumah Attribute Nama Fungsi TypeRumah Menampung tipe rumah yang dipilih user HargaRumah Menampung harga rumah 49 Periode Menampung periode jangka waktu kredit UangMuka Menampung besar nominal uang muka kredit CicilanRumah Menampung nominal cicilan rumah perbulan Method Nama Fungsi getHargaRumah Menampilkan harga rumah sesuai tipe rumah yang dipilih SimulasiKredit Menghitung simulasi kredit BookingRumah Menandai Rumah yang akan di Booking OnGUI Menampilkan User Interface pada Aplikasi
Nama Class : ClusterRumah Fungsi : Menampilkan Pilihan Cluster Rumah
Tabel III.9 Class Object ClusterRumah Attribute Nama Fungsi RumahCluster1 Pilihan Rumah ke-1 RumahCluster2 Pilihan Rumah ke-2 RumahCluster3 Pilihan Rumah ke-3 RumahCluster4 Pilihan Rumah ke-4 RumahCluster5 Pilihan Rumah ke-5 RumahCluster6 Pilihan Rumah ke-6 Method Nama Fungsi 50 TampilClusterRumah Menampilkan Button yang membentuk simulasi Cluster Rumah setClusterRumah Menetapkan Cluster Rumah yang dipilih OnGUI Menampilkan User Interface pada Aplikasi
Nama Class : InputIdentitas Fungsi : Menampilkan form input pelanggan dan menyimpan data kedalam Database.
Tabel III.9 Class Object InputIdentitas Attribute Nama Fungsi TypeRumah String Nama String Alamat String NoTelp String Method Nama Fungsi SaveIdentitas Menyimpan data kedalam database OnGUI Menampilkan User Interface pada Aplikasi
III.4 Struktur Organisasi Obyek dan Pesan Pada sub bab ini digambarkan aspek keterurutan waktu dari pesan yang disampaikan, dan/atau aspek struktur organisasi objek yang mengirim dan menerima pesan dan menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi. Dimodelkan dalam Sequence Diagram dan Collaboration Diagram. 51
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa pesan yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
Collaboration Diagram digunakan untuk memodelkan interaksi antar objek di dalam sistem. Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan objek. Penjelasan mengenai cara urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi pada pemodelan masing-masing diagram akan dijelaskan sebagai berikut:
III.4.1 Deteksi Marker Pada saat aplikasi pertama kali dijalankan, user harus mengarahkan kamera kepada ImageTarget atau Marker, lalu dari ARCamera akan mengirim koordinat dari perspektif camera yang disorot ke ImageTargetBehavior dan akan mengirimkan kembali ke DataSet dimana dalam DataSet pendeteksian diberi tanda apakah marker terdeteksi atau tidak, jika yam aka DataSet akan mengirimkan hasil dari pemrosesan DataSet kembali ke ImageTargetBehavior dan menampilkan model 3D jika tidak DataSet akan terus melakukan pengenalan pada marker yang disorot sampai status pada DataSet tersebut menjadi DETECTED, Sequences diagram Deteksi Model 3D akan digambarkan pada gambar III.6 dibawah ini :
52
Gambar III.6 Sequemce Diagram Deteksi Marker
III.4.2 Atur Mode Tampilan Untuk menampilkan mode tampilan rumah yaitu menampilkan hanya lantai 1, atau lantai 2 dan menampilkan model 3D rumah secara keseluruhan User harus memilih dengan menekan tombol lantai 2 untuk menampilkan atau menyembunyikan 3D lantai 2, dan tombol atap untuk menampilkan dan menyembunykan atap rumah, user bisa memilih tombol exit untuk keluar dari aplikasi, Sequences diagram Atur Mode Tampilan akan digambarkan pada gambar III.7 dibawah ini : SD Deteksi Marker Load 3D Model Trackabl eResul tPose() Trackabl eResul tStatus() Trackabl eResul t Trackabl eImage() getImageTarget() Deteksi User ARCamera ImageTargetBehavi or.cs DataSet.cs Load 3D Model Trackabl eResul tPose() Trackabl eResul tStatus() Trackabl eResul t Trackabl eImage() getImageTarget() Deteksi 53
Gambar III.7 Sequemce Atur Mode Tampilan
III.4.3 Camera Setting Aplikasi ini juga dilengkapi fitur flash light atau cahaya flash kamera yang memungkinkan kamera dapat tambahan cahaya dari cahaya flash yang ada dalam perangkat mobile dan mode auto focus kamera tetapi hanya tipe perangkat mobile tertentu saja, untuk mengaktifkan user memilih tombol Flash Light pada menu lalu system akan mengirim request user untuk menyalakan lampu flash perangkat jika ditekan sekali lagi maka flash akan mati, begitupu dengan auto focus mode, user harus memilih tombol Auto Focus Mode maka system akan mengirim request user untuk mengaktifkan Auto Focus untuk menonaktifkan Auto Focus cukup menekan kembali tombol Auto Focus Mode , Sequences diagram Camera Setting akan digambarkan pada gambar III.8 dibawah ini : SD Atur Mode Tampi l an Exi t() MenuChoi ce(exi t) Pi l i h Exi t Tampi l Model 3D Rumah dengan Atap Tampi l Model 3D Rumah Lantai 1 Vi ewLantai 1() MenuChoi ce(l antai 1) Pi l i h Lantai 1 Vi ewAtap() MenuChoi ce(atap) Pi l i h Atap Tampi l Model 3D Rumah Lantai 1 MenuChoi ce(l antai 2) Pi l i h Lantai 2 Vi ewLantai 2() User DrawMenu.cs ModeTampi l an.cs OnGUI Exi t() MenuChoi ce(exi t) Pi l i h Exi t Tampi l Model 3D Rumah dengan Atap Tampi l Model 3D Rumah Lantai 1 Vi ewLantai 1() MenuChoi ce(l antai 1) Pi l i h Lantai 1 Vi ewAtap() MenuChoi ce(atap) Pi l i h Atap Tampi l Model 3D Rumah Lantai 1 MenuChoi ce(l antai 2) Pi l i h Lantai 2 Vi ewLantai 2() 54
Gambar III.8 Sequemce Camera Setting
III.4.4 Harga Rumah Untuk melihat informasi harga rumah yang tersedia user menekan tombol Booking pada menu tampilan awal lalu system akan menampilkan form pemilihan tipe rumah, jika tipe rumah sudah dipilih maka otomatis harga rumah akan muncul, jika akan lanjut ke simulasi kredit maka user menekan tombol Simulasi Kredit maka akan muncul form simulasi kredit, Sequences diagram Harga Rumah akan digambarkan pada gambar III.9 dibawah ini :
SD Camera Setti ngs Camera Auto Focus Mode Enabl e(True/Fal se) CameraAutoFocusMode() MenuChoi ce(autofocus) Auto Focus Camera Fl ash Enabl e (True/Fal se) CameraFl ash() MenuChoi ce(Fl ash) Fl ash Mode User OnGUI DrawMenu.cs CameraSetti ng.cs Camera Auto Focus Mode Enabl e(True/Fal se) CameraAutoFocusMode() MenuChoi ce(autofocus) Auto Focus Camera Fl ash Enabl e (True/Fal se) CameraFl ash() MenuChoi ce(Fl ash) Fl ash Mode 55
Gambar III.9 Sequemce Harga Rumah
III.4.5 Simulasi Kredit dan Booking Rumah Untuk menghitung simulasi kredit dan melakukan booking rumah user harus memilih simulasi kredit pada form harga rumah lalu aplikasi akan menampilkan form simulasi kredit user diminta untuk menginput periode kredit dan uang muka kredit, maka system akan menampilkan simulasi kredit sesuai dengan tipe rumah, jangka waktu kredit, dan uang muka yang telah dipilih sebelumnya, jika user akan melakukan booking user harus menekan tombol booking pada form lalu maka system akan menampilkan posisi letak cluster rumah user memilih letak cluster rumah lalu user diminta untuk mengisikan identitas Nama, Alamat, dan No.Telp lalu secara otomatis system akan menyimpan didalam database, Sequences diagram Simulasi Kredit dan Booking Rumah akan digambarkan pada gambar III.10 dibawah ini : SD Harga Rumah Si mul asi Kredi t() Si mul asi Kredi t Tampi l Harga Rumah Berdasarkan Ti pe setTypeRumah() MenuChoi ce(harga) Harga Rumah User OnGUI DrawMenu.cs HargaRumah.cs Si mul asi Kredi t() Si mul asi Kredi t Tampi l Harga Rumah Berdasarkan Ti pe setTypeRumah() MenuChoi ce(harga) Harga Rumah 56
Gambar III.9 Sequemce Simulasi Kredit dan Booking Rumah
III.5 Collaboration Diagram
Gambar III.10 Communication Diagram Mode Tampilan SD Si mul asi Kredi t dan Booki ng Rumah Data Tersi mpan SaveIdenti tas InputIdenti tas(nama,al amat,notel p) Tampi l Input Identi tas setCl usterRumah() Pi l i h Cl uster Rumah Tampi l Pi l i han Cl uster Rumah Tampi l Cl usterRumah Booki ngRumah() Booki ng Pi l i h Si mul asi Kredi t Pi l i h Ti pe Tampi l Si mul asi Kredi t Si mul asi Kredi t() getHarga() Si mul asi Kredi t() Tampi l Harga getHarga() setTi peRumah() User OnGUI HargaRumah.cs Si mul asi Kredi t.cs Cl usterRumah.cs InputIdenti tas.cs Data Tersi mpan SaveIdenti tas InputIdenti tas(nama,al amat,notel p) Tampi l Input Identi tas setCl usterRumah() Pi l i h Cl uster Rumah Tampi l Pi l i han Cl uster Rumah Tampi l Cl usterRumah Booki ngRumah() Booki ng Pi l i h Si mul asi Kredi t Pi l i h Ti pe Tampi l Si mul asi Kredi t Si mul asi Kredi t() getHarga() Si mul asi Kredi t() Tampi l Harga getHarga() setTi peRumah() 14: Pi l i h Exi t 9: Pi l i h Lantai 1 5: Pi l i h Atap 1: Pi l i h Lantai 2 13: MenuChoi ce(exi t) 10: MenuChoi ce(l antai 1) 6: MenuChoi ce(atap) 2: MenuChoi ce(l antai 2) 15: Exi t() 11: Vi ewLantai 1() 7: Vi ewAtap() 3: Vi ewLantai 2() 12: Tampi l Model 3D Rumah Lantai 1 8: Tampi l Model 3D Rumah dengan Atap 4: Tampi l Model 3D Rumah Lantai 1 User OnGUI DrawMenu.cs ModeTampi l an.cs 57
Gambar III.11 Communication Diagram Camera Setting
Gambar III.11 Communication Diagram Harga Rumah
5: Auto Focus 1: Fl ash Mode 6: MenuChoi ce(autofocus) 2: MenuChoi ce(Fl ash) 7: CameraAutoFocusMode() 3: CameraFl ash() 8: Camera Auto Focus Mode Enabl e(True/Fal se) 4: Camera Fl ash Enabl e (True/Fal se) User OnGUI DrawMenu.cs CameraSetti ng.cs 5: Si mul asi Kredi t 1: Harga Rumah 2: MenuChoi ce(harga) 3: setTypeRumah() 6: Si mul asi Kredi t() 4: Tampi l Harga Rumah Berdasarkan Ti pe User OnGUI DrawMenu.cs HargaRumah.cs 58
Gambar III.11 Communication Diagram Simulasi Kredit
III.5 Pemodelan Perilaku Sistem Dimodelkan dengan Statechart Diagram yang menunjukkan dinamika sistem dan state machine, yang menggambarkan suatu perilaku yang menspesifikasikan urutan state (kelakuan) suatu objek selama siklus hidupnya ketika merespon events (kejadian). III.5.1 Statechart Tampil Object 3D
6: Si mul asi Kredi t() 4: Tampi l Harga 2: setTi peRumah() 3: getHarga() 14: Pi l i h Cl uster Rumah 10: Booki ng 5: Pi l i h Si mul asi Kredi t 7: getHarga() 8: Si mul asi Kredi t() 9: Tampi l Si mul asi Kredi t 16: Tampi l Input Identi tas 15: setCl usterRumah() 13: Tampi l Pi l i han Cl uster Rumah 11: Booki ngRumah() 12: Tampi l Cl usterRumah 19: Data Tersi mpan 17: InputIdenti tas(nama,al amat,notel p) 18: SaveIdenti tas OnGUI HargaRumah.cs User Si mul asi Kredi t.cs Cl usterRumah.cs InputIdenti tas.cs Val i dasi Gambar() Mengambi l gambar dari kamera Val i dasi Gambar yang di tangkap Tampi l Obj ect 3D Rumah Gambar Val i d
Gambar Ti dak Val i d
59 III.5.1 Statechart Mode Tampilan
III.6 Perancangan Antarmuka Perancangan antarmuka ini bertujuan untuk memberikan gambaran mengenai bentuk antarmuka dari aplikasi yang akan digunakan oleh pengguna untuk berinteraksi dengan sistem. Rancangan antarmuka ini mempertimbangkan berbagai kemudahan dan fungsionalitas dari aplikasi itu sendiri. Berikut adalah antarmuka dari aplikasi yang berjalan:
Nama Dialog Screen : Form Menu Utama Fungsi : Digunakan untuk menampilkan halaman awal dari aplikasi Bentuk :
ShowMenu() Menunggu User Menekan Tombol Memul ai Pemrosesan yang di mi nta Tampi l Lantai 2() / Tampi l Atap() / CameraSetti ng() 60
Gambar III.9 Form Menu Utama
Penjelasan : 1. User masuk ke halaman menu utama, lalu user dapat memilih menu pilihan yang tersedia dan masuk ke halaman menu yang dipilih.
Nama Dialog Screen : Camera View Augmented Reality Fungsi : Digunakan untuk menampilkan Model 3D dari gambar katalog rumah (Marker) yang disorot kamera Bentuk :
61
Gambar III.10 Camera View Augmented Reality
Penjelasan : 1. User masuk kedalam tampilan Augmented Reality, lalu user mengarahkan Device Camera kepada gambar Marker Katalog Rumah. 2. User dapat memilih menu konfigurasi dan tombol Booking di sisi kanan
Nama Dialog Screen : Form Tampil Harga Rumah Fungsi : Digunakan untuk menampilkan harga rumah sesuai dengan tipe rumah yang dipilih Bentuk :
62
Gambar III.11 Form Tampil Harga Rumah
Penjelasan : 1. User masuk ke halaman form tampil harga rumah, dan user memilih tipe rumah yang dikehendaki. 2. User akan menuju ke Halaman Camera View jika menekan tombol Catalog. 3. Jika user akan melihat informasi Simulasi Kredit tekan Tombol Simulasi Kredit. 4. Jika akan kembali ke mode Camera View AR, tekan tombol Catalog dan akan kembali ke tampilan Camera View AR.
Nama Dialog Screen : Form Simulasi Kredit Fungsi : Digunakan untuk melihat informasi kredit berdasarkan harga dan tipe rumah yang dipilih sebelumnya juga uang muka dan periode jangka waktu kredit yang ditentukan Bentuk :
63
Gambar III.12 Form Tampil Simulasi Kredit
Penjelasan : 1. User masuk ke halaman Simulasi Kredit, lalu user tinggal mengisikan uang muka dan periode kredit, lalu user menekan tombol (Rp.Cek Simulasi Kredit) maka informasi simulasi kredit akan muncul berupa form tabel. 2. Jika user akan melakukan Booking terhadap rumah yang dipilih, maka user tinggal menekan Booking. 3. Jika akan kembali ke mode Camera View AR, tekan tombol Catalog dan akan kembali ke tampilan Camera View AR
Nama Dialog Screen : Form Pilih Cluster Rumah Fungsi : Digunakan untuk memilih posisi atau letak rumah yang dikehendaki Bentuk :
64
Gambar III.13 Form Tampil Cluster Rumah
Penjelasan : 1. User masuk ke Form Pilih Cluster Rumah, user tinggal memilih letak rumah yang dikehendaki, 2. Jika sudah memilih user tinggal menekan tombol next 3. Jika akan membatalkan proses Booking, tekan tombol Catalog dan akan kembali ke tampilan Camera View AR
Nama Dialog Screen : Form Isi Identitas Pelanggan Fungsi : Digunakan untuk mengisi data pelanggan, dan mengirimnya ke database Bentuk :
65
Gambar III.14 Form Input Data Pelanggan
Penjelasan : 1. User masuk ke Form isi identitas pelanggan, lalu user tinggal mengisikan setiap field yang tersedia sesuai data pelanggan. 2. Jika semua field telah terisi, lalu tekan tombol Booking untuk menyimpan data Booking ke Database agar selanjutnya bisa di Follow- Up oleh pihak marketing. 3. Jika akan membatalkan proses Booking, tekan tombol Catalog dan akan kembali ke tampilan Camera View AR III.7 Pseudocode Pada sub bab ini akan diuraikan mengenai bentuk algoritma dari perangkat lunak yang akan dibangun dengan mengacu kepada Class Diagram yang sudah didefinisikan sebelumnya.
66 Tabel III.12 Pseudocode Deteksi Marker
Nama Modul : Deteksi Marker Kegunaan : Untuk mendeteksi gambar marker dan memunculkan Object 3D Input : Gambar Output : Status Deteksi, Menampilkan Object 3D Algoritma : BEGIN Var Image Var Status Var X Var Y Var Z Baca CameraDevice DO Tangkap Gambar dari Kamera WHILE (Status = Tidak Terdeteksi) IF (Status = Terdeteksi) THEN X = getKordinatX Y = getKordinatY Z = getKordinatZ
Object.X = X Object.Y = Y Object.Z = Z
Tampilkan Objek 3D END IF END
67 Tabel III.11 Pseudocode Simulasi Kredit Nama Modul : Simulasi Kredit Kegunaan : Untuk menampilkan simulasi kredit Input : Uang Muka, Periode Kredit Output : Tampil angsuran kredit Algoritma : BEGIN Var Harga Integer Var UangMuka Integer Var PeriodeKredit Integer
Var X = 1 WHILE ( X<=PeriodeKredit) Tampil Angsuran + Angsuran X++ END WHILE END
68 BAB IV IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi uraian mengenai tahapan untuk membangun/mewujudkan rancangan sistem baru secara nyata. Kegiatan yang dibahas meliputi konstruksi (coding), pengujian perangkat lunak, dan instalasi. Diagram UML untuk implementasi seperti Component Diagram atau Deployment Diagram dapat digunakan pula pada bab ini.
IV.1 Implementasi Penjelasan yang meliputi cara, langkah-langkah serta jadual pelaksanaan untuk mengimplementasikan rancangan perangkat lunak. Jadual implementasi ini juga menjelaskan tentang aktifitas-aktifitas yang akan dilakukan (mulai dari konstruksi/coding, pengujian sistem, dan instalasi/pindah sistem), serta jadual pelaksanaan. Penggambaran bisa menggunakan Gantt Chart dan/atau CPM (Critical Path Method).
1. Pengumpulan Bahan Tahap ini akan dilakukan pengumpulan semua kebutuhan mengenai elemen-elemen yang dibutuhkan pada perancangan perangkat lunak augmented reality catalog rumah berbasis mobile untuk pengembangan system yang sudah berjalan.
2. Analisa dan Perancangan Pada tahap ini dilakukan analisa mengenai library vuforia qualcomm, proses menampilkan objek 3D dari sebuah marker.
3. Pemilihan dan Instalasi Hardware dan Software Pada tahap ini menyediakan hardware dan software yang akan dibutuhkan berdasarkan analisis dan desain kebutuhan perancangan perangkat lunak yang akan dikembangkan.
69 4. Pembuatan Perangkat Lunak Kegiatan pembuatan perangkat lunak yaitu kegiatan menterjemahkan hasil analisa dan rancangan ke dalam bahasa yang dapat dibaca oleh komputer.
5. Implementasi dan Pengujian Pada tahap ini pembuatan perangkat lunak telah diimplementasikan akan diuji, seberapa jauh tingkat keberhasilan bisa berjalan dengan baik ketika digunakan oleh pengguna.
6. Evaluasi dan Perbaikan Pada tahap ini, perangkat lunak yang telah diuji akan di evaluasi, dan jika terjadi kesalahan-kesalahan, kurangnya informasi materi maupun data, ataupun terjadinya perubahan data yang berkaitan dengan perangkat lunak keuangan ini maka akan diperbaiki.
Dibawah ini merupakan tabel rencana aktivitas yang dilakukan dalam pembangunan Perangkat Augmented Reality Catalog Rumah. Tabel 4.1 Tabel Aktivitas Implementasi Perangkat Lunak Kode Aktifitas Aktifitas Waktu Predecessor A Pengumpulan Bahan (Tools Aplikasi) 1 Hari - B Analisa dan Perancangan 20 Hari A C Pemodelan Objek 3D 7 Hari B D Pengkodingan Program 60 Hari C E Testing dan Perbaikan Lokal 2 Hari C,D F Implementasi dan Pengujian Program 2 Hari E G Perbaikan Program 2 Hari F
Gantt Chart adalah table yang menerangkan rentang waktu pelaksanaan jadwal kegiatan penerapan sistem pengamanan komputer. 70 Tabel 4.2 Gantt Chart Aktivitas Implementasi
Critical Path Method (CPM) adalah tabel yang menerangkan manajemen perangkat lunak dalam pembuatan, penerapan, evaluasi perangkat lunak. Gambar VI.1 dibawah ini merupakan pemaparan CPM yang di buat dalam proses pembuatan perangkat lunak.
Gambar 4.1 Critical Path Method
IV.1.1 Lingkup dan Batasan Penjelasan mengenai ruang lingkup dan batasan implementasi, termasuk modul program yang akan diimplementasikan, fungsional sistem dan lain sebagainya termasuk lingkungan implementasi.
Adapun dalam mengimplementasi Perangkat Lunak Augmented Reality Catalog Rumah Berbasis Mobile ini dijelaskan sebagai berikut : 1. Perangkat lunak ini hanya dapat menampilkan objek 3D Rumah ketika kamera diarahkan kepada Marker Katalog rumah saja. 2. Marker Katalog rumah dan Objek 3D hanya dapat muncul dari objek yang telah ditanamkan kedalam aplikasi seblumnya. 3. Perangkat lunak ini dapat dilihat dimana saja karena disimpan di perangkat bergerak (Mobile).
71 IV.1.2 Kebutuhan Sumberdaya Dalam menerapkan rancangan yang telah dibuat, ada beberapa hal yang dibutuhkan. Perangkat keras dan perangkat lunak merupakan dua hal yang selalu dibutuhkan dalam mengimplementasikan rancangan yang telah ada. Sub bab ini akan menjelaskan secara terperinci mengenai struktur perangkat lunak dan kebutuhan spesifikasi hardware dan software untuk implementasi pengembangan perangkat lunak yang dimodelkan dalam deployment diagram. Berikut adalah penggambaran diagramnya:
Gambar 4.2 Deployment Diagram
1. Kebutuhan Perangkat Lunak Dalam menerapkan rancangan yang telah dibuat, dibutuhkan beberapa perangkat lunak untuk membuat aplikasi yaitu: 1. Sistem Operasi Windows 7 (32-bit). 2. Unity 4.3.2 3. Sweet Home 3D / SketchUp 2014 4. MonoDevelop / Microsoft Visual Studio 2012 5. Android Software Development Kit (Android SDK)
2. Kebutuhan Perangkat Keras Dalam menerapkan rancangan yang telah dibuat, dibutuhkan beberapa spesifikasi perangkat keras untuk penunjang membuat aplikasi yaitu: 72 1. Processor 2.40 GHz Core2Duo / 2.3 Core i3 Minimal 2. Memory 2GB Minimal 3. VGA Minimal 1GB Minimal 4. Hardisk 320 GB 5. Monitor 19 6. Keyboard dan Mouse
IV.1.3 Implementasi Antarmuka Memperlihatkan hasil implementasi rancangan antarmuka dengan menggunakan bahasa pemrograman tertentu, termasuk di dalamnya tahapan yang dilakukan untuk instalasi prototype perangkat lunak yang dihasilkan, mulai dari tahapan persiapan sampai program siap digunakan, dan petunjuk umum penggunaan program per dialog screen.
Nama dialog screen Menu Utama Fungsi Untuk masuk aplikasi utama Augmented Reality atau fitur lain seperti Booking Bentuk
73 Gambar 4.3 Dialog Screen Menu Utama
Uraian Penggunaan
1. User Menekan Tombol View Augmented Reality Catalog, untuk melihat model objek 3D Rumah. 2. User Menekan Tombol Booking, untuk menuju ke menu simulasi kredit dan booking rumah 3. User menekan tombol exit, untuk keluar dari aplikasi
Nama dialog screen Augmented Reality Fungsi Untuk menampilkan object 3D Model Rumah Bentuk
Gambar 4.4 Dialog Screen Login
74 Uraian Penggunaan
1. User mengarahkan kamera pada Marker Katalog Rumah 2. Aplikasi akan menampilkan Model 3D rumah sesuai gambar marker yang disorot 3. User menekan tombol Flash untuk mengaktifkan cahaya flash pada handphone 4. User menekan tombol focus untuk mengubah mode focus pada kamera 5. User menakan tombol atap untuk menampilkan model 3D rumah dengan atap 6. User menekan tombol lantai 2 untuk menampilkan dan mengaktifkan tampilan lantai 2 model 3D Rumah. 7. User menkan tombol Rotasi, untuk memutar tampilan objek 3D rumah. 8. User menekan tombol exit untuk keluar dari layar.
IV.2 Pengujian Setelah proses implementasi selesai dilakukan dan perangkat lunak telah dibuat, maka untuk dapat memastikan bahwa perangkat lunak yang dibuat dapat berjalan dengan semestinya perlu dilakukan pengujian pada perangkat lunak tersebut.
IV.2.1. Lingkup dan Lingkungan 75 Subbab ini menjelaskan lingkup / batasan pengujian, apakah semua fungsi yang ada pada perangkat lunak akan diuji atau hanya beberapa saja. Termasuk lingkungan pengujiannya, bila perlu digambarkan. Lingkup dan lingkungan pengembangan perangkat lunak dilihat dari segi fitur adalah sebagai berikut: 1. Pendeteksian gambar maker katalog rumah 2. Simulasi Kredit 3. Booking Rumah 4. Koneksi ke server.
IV.2.2. Kebutuhan Sumberdaya Kebutuhan Hardware dan Software merupakan salah satu kebutuhan utama dalam melakukan instalasi perangkat lunak ini. Adapun kebutuhan sumber daya untuk pengujian adalah sebagai berikut :
IV.2.2.1 Kebutuhan Perangkat Keras Kebutuhan perangkat keras sangat diperlukan untuk menunjang perangkat lunak persediaan barang ini sehingga dapat berjalan sebagaimana mestinya adalah :
Kebutuhan Perangkat Mobile Handphone atau perangkat bergerak dengan Sistem Operasi Android, digunakan untuk menjalankan perangkat lunak yang telah dikembangkan. Adapun handphone yang digunakan dalam implentasi adalah Samsung Galaxy S3 dengan spesifikasi sebagai berikut: a. CPU: 1.5 Ghz Quad Core b. Ruang Penyimpanan:16 GB (nternal) c. Memory: 1 GB d. Dimensi Layar: HD 1920x1080 e. Masukan: Touch Screen kapasitif f. Camera 8 MP, Flash Llight, Focus Mode
76 IV.2.2.2 Kebutuhan Perangkat Lunak Kebutuhan perangkat keras tidak akan dapat berbuat apa apa tanpa adanya perangkat lunak. Perangkat keras akan berfungsi bila instruksi tertentu telah diberikan. Instruksi tersebut disebut dengan perangkat lunak. Kebutuhan perangkat lunak yang disarankan dan diperlukan guna menunjang sistem yang telah dirancang adalah : - Perangkant Lunak Bergerak Sistem Operasi Android 2.3.3 (Gingerbread) Minimal
IV.2.3. Hasil Pengujian Pada tahap ini dilakukan pengujian terhadap modul program yang telah ada dengan menggunakan metode tertentu.
IV.2.3.1 Black Box Testing Pada tahap ini dilakukan proses pengujian maka dalam hal ini konsep sangat penting dalam kepuasan pengguna (juga pengembang) untuk mencapai kualitas yang diharapkan dari sistem atau perangkat lunak yang dirancang, dilakukan pengujian secara Black box testing yang merupakan salah satu pengujian yang tidak perlu tahu apa yang sesungguhnya terjadi dalam sistem, yang kita uji adalah
Tabel 4.2 Tabel pengujian untuk Halaman Menu Utama No Fungsi yang diuji Cara Pengujian Hasil yang diharapkan Hasil Pengujian 1 Tombol Augmented Reality Catalog Tekan tombol Masuk ke tampilan augmented Reality Sesuai 2 Tombol Booking Tekan Tombol Masuk ke Tampilan Halaman Booking dan simulasi kredit Sesuai 3 Tombol Exit Tekan Tombol Keluar dari aplikasi sesuai
77
Tabel 4.3 Tabel pengujian untuk Halaman Augmented Reality Catalog Rumah No Fungsi yang diuji Cara Pengujian Hasil yang diharapkan Hasil Pengujian 1 Ambil Gambar maker katalog rumah dengan kamera Mengarahkan kamera pada gambar marker katalog rumah Muncul model 3D rumah Sesuai 2 Ambil Gambar marker katalog rumah dengan kamera dengan intensitas cahaya yang kurang Mengarahkan kamera pada gambar marker katalog rumah dan mengaktifkan tombol flash Muncul model 3D rumah Sesuai 3 Ambil Gambar marker katalog rumah dengan kamera dengan gambar sedikit di jauhkan dan didekatkan minimal jarak 5cm Mengarahkan kamera pada gambar marker katalog rumah dan mengaktifkan tombol focus Muncul model 3D rumah sesuai 4 Tombol Atap Menekan tombol atap pada saat model 3D muncul Atap rumah model 3D akan aktif atau tidak aktif sesuai 78 5 Tombol Lantai 2 Menekan tombol lantai 2 pada saat model 3D muncul Lantai 2 rumah model 3D akan aktif atau tidak aktif sesuai 6 Tombol Rotasi Menekan tombol rotasi dan menekannya kembali Model rumah akan berputar sampai tombol rotasi ditekan kembali sesuai 7 Tombol Exit Menekan tombol exit Akan keluar dari aplikasi sesuai
79
BAB V KESIMPULAN DAN SARAN
V.1 Kesimpulan Setelah studi literatur dan coding dilakukan selama pembuatan prototype perangkat lunak, hasil studi tersebut kemudian diimpelentasikan dalam prototype. Kemudian dilakukan pengujian terhadap prototype dan diperoleh hasil sebagai berikut : 1. Dengan dibuatnya aplikasi ini pihak developer akan lebih mudah memsarkan model rumah yang akan dijual, tidak dengan cara membuat sebuah miniature rumah secara fisik, tetapi model rumah dirancang dalam sebuah aplikasi android yang mudah untuk digunakan sehingga pelanggan dapat lebih mudah melihat model rumah yang dijual.
V.2 Saran Berikut adalah saran yang dapat disampaikan mengenai pemngembangan perangkat lunak ini: 1. Untuk pengembangan selanjutnya lebih fokus proses booking yang terintegrasi dengan server website pihak developer. 2. Model 3D dapat mencakup semua cluster rumah. 3. Untuk kedepannya tidak saja di android namun dapat dikembangkan di berbagai platform mobile seperti iOS, Windows Mobile. 4. Pada pembangunan selanjutnya jika di kembangkan maka menyarankan menggunakan phonegap.