SKRIPSI
Diajukan Untuk Menempuh Ujian Akhir Sarjana
ERFA RIANDI
10110305
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
v
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... ix
DAFTAR TABEL ... xii
DAFTAR SIMBOL ... xiv
DAFTAR LAMPIRAN ... xviii
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Identifikasi Masalah... 2
1.3 Maksud dan Tujuan ... 2
1.4 Batasan Masalah ... 3
1.5 Metodologi Penelitian ... 4
1.5.1 Metode Pengumpulan Data ... 4
1.5.2 Metode Pembangunan Perangkat Lunak ... 4
1.6 Sistematika Penulisan ... 6
BAB 2 TINJAUAN PUSTAKA ... 7
2.1 Profil Singkat Sekolah Dasar Darul Hikam ... 7
2.1.1 Sejarah Sekolah Dasar Darul Hikam ... 7
2.1.2 Visi, Misi, dan Tujuan Sekolah Dasar Darul Hikam ... 9
2.1.2.1 Visi ... 9
2.1.2.2 Misi ... 9
2.1.2.3 Tujuan ... 9
2.2 Pengertian Anatomi ... 10
2.3 Pengertian AugmentedReality ... 11
vi
2.3.3.2 Quick Response (QR) Code ... 15
2.3.3.3 Markerless Marker... 15
2.3.3.4 Multi Marker ... 19
2.3.4 Occlusion Based Interaction ... 19
2.3.5 MetaIO ... 21
2.3.5.1 MetaIO Library ... 21
2.3.6 Penerapan AugmentedReality ... 21
2.4 Pengertian SmartBook ... 23
2.5 UML ... 24
2.5.1 Use Case Diagram ... 24
2.5.2 Class Diagram ... 25
2.5.3 Sequence Diagram ... 25
2.5.4 Activity Diagram ... 25
2.5.5 Kegunaan UML ... 26
2.6 Bahasa Pemrograman C++ ... 26
2.6.1 Sejarah ... 27
2.6.2 Penulisan ... 27
2.6.3 Tipe Data ... 29
2.7 Visual Studio 2010 ... 30
2.8 3D Studio Max ... 31
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 33
3.1 Analisis Sistem ... 33
3.1.1 Analisis Masalah ... 33
3.1.2 Analisis Sistem yang Berjalan ... 34
3.1.3 Analisis Arsitektur Sistem ... 35
3.1.4 Analisis Pendeteksian Kamera ... 37
3.1.4.1 Parameter Kamera ... 37
vii
3.1.7 Analisis Materi ... 49
3.1.8 Analisis Pembentukan Objek dan Suara ... 49
3.1.8.1 Proses Modelling Objek ... 50
3.1.8.2 Proses TextureMapping ... 50
3.1.8.3 Proses Animasi... 51
3.1.8.4 Proses ExporttoVideo ... 51
3.1.8.5 Proses InputAudio ... 52
3.1.8.6 Proses Convertto3G2 ... 52
3.1.9 Analisis Metode Occlusion Based ... 52
3.2 Analisis Kebutuhan Non Fungsional ... 55
3.2.1 Analisis Kebutuhan Perangkat Keras ... 55
3.2.2 Analisis Kebutuhan Perangkat Lunak ... 56
3.2.3 Analisis Pengguna ... 56
3.3 Analisis Kebutuhan Fungsional ... 57
3.3.1 UseCaseDiagram ... 57
3.3.2 Definisi Use Case Diagram ... 58
3.3.3 Skenario Use Case Diagram ... 59
3.3.4 Activity Diagram ... 67
3.3.5 Class Diagram ... 74
3.3.6 Sequence Diagram ... 76
3.4 Perancangan Sistem ... 83
3.4.1 Perancangan Antarmuka ... 83
3.4.2 Perancangan Pesan ... 84
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 85
4.1 Implementasi... 85
4.1.1 Implementasi Perangkat Pembangun ... 85
4.1.2 Implementasi Antarmuka ... 86
viii
4.2.1.2 Hasil Pengujian Alpha ... 90
4.2.1.2.1 Pengujian Tampilan Menu Utama ... 90
4.2.1.2.2 Pengujian Akurasi ... 92
4.2.1.3 Kesimpulan Hasil Uji Alpha ... 93
4.2.2 Pengujian Beta ... 93
4.2.2.1 Pengujian Beta Sistem Aplikasi ... 93
4.3 Kesimpulan Hasil Pengujian... 98
BAB 5 KESIMPULAN DAN SARAN ... 99
5.1 Kesimpulan ... 99
5.2 Saran ... 99
100
[2] A. S, Rosa., Shalahuddin, M. 2013. Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. INFORMATIKA. Bandung.
[3] Azuma, Ronald T. 1997. A Survey of Augmented Reality. Hughes Research Laboratories. Malibu.
[4] Cawood, Stephen., Fiala, Mark. 2008. Augmented Reality : A Practical Guide. The Pragmatic Programmers, LLC.
[5] Danto,Walesa., Toto Wibowo, Agung., Purnama, Beddy. 2011. Analisis Metode Occlusion Based Pada Augmented Reality Studi Kasus : Interaksi dengan Objek Virtual Secara Real Time Menggunakan Gerakan Marker. SNASTIA. Institut Teknologi Telkom. Bandung.
[6] Darul Hikam. http://www.sddh.sch.id/ diakses tanggal 28 Maret 2014.
[7] Fried, Ina. 2009. Visual Studio 2010 to come ‘balck box’. CNET News. CBS Interactive Inc.
[8] MetaIO. http://www.metaio.com/ diakses tanggal 28 Maret 2014.
[9] Nourzamany, Afif. 2013. Pembuatan Aplikasi Magic Book Anatomi Tubuh Manusia Sebagai Sarana Edukasi Berbasis Teknologi Augmented Reality. STMIK AMIKOM. Yogyakarta.
[10] Oualline, Steve. 1997. Practical C++ Programming. O’Reilly &
Associates, Inc. United States of America.
iii Assalamua’alaikum Wr. Wb.
Segala puji dan syukur penulis panjatkan kehadirat Allah SWT, karena atas
berkat dan rahmat-Nya lah akhirnya Skripsi atau Tugas Akhir ini dapat diselesaikan
tepat pada waktunya. Skripsi ini berjudul “IMPLEMENTASI TEKNOLOGI
AUGMENTED REALITY (AR) PADA APLIKASI SMART BOOK
PENGENALAN ANATOMI MANUSIA MENGGUNAKAN METODE
OCCLUSION BASED INTERACTION BERBASIS DESKTOP”, yang diajukan untuk menempuh ujian akhir Sarjana Program Strata 1 pada Program Studi Teknik
Informatika, Universitas Komputer Indonesia.
Penulis sendiri menyadari bahwa segala usaha yang dilakukan dalam penulisan
ini tidak akan berhasil dengan baik tanpa bantuan dan saran dari berbagai pihak.
Maka dalam kesempatan ini, dengan segala kerendahan hati penulis ingin
mengucapkan terima kasih yang sebesar-besarnya kepada :
1. Allah SWT yang telah memberikan kelancaran, karena atas izin dan kuasa-Nya
lah penulis dapat menyelesaikan skripsi ini.
2. Keluarga tercinta, Ayah, Mama, adik tersayang, Veny dan Yudi, yang selalu
memberikan do’a, kasih sayang, semangat dan motivasi moril maupun materil.
3. Bapak Irawan Afrianto, S.T., M.T., selaku Ketua Program Studi Teknik
Informatika dan Pembimbing yang dengan sabar membimbing penulis dalam
menyelesaikan penulisan skripsi ini.
4. Bapak Eko Budi Setiawan, S.Kom., M.T., selaku Penguji 1 yang telah
membantu penulis dalam mengarahkan dalam menyelesaikan penulisan skripsi
ini.
5. Ibu Nelly Indriani Widiastuti, S.Si., M.T., selaku Penguji 3 yang telah
membantu penulis dalam mengarahkan dalam menyelesaikan penulisan skripsi
iv
7. Seluruh Dosen Program Studi Teknik Informatika yang telah memberikan
banyak ilmu yang bermanfaat bagi penulis.
8. Sutadi Triputra yang telah banyak membantu saya dalam menyelesaikan
skripsi ini.
9. Hanna, Ida, Bani, Fachmi, Intan, Neng, Bang Ronny, Bang Mitra, Rian, dan
Ebol yang tidak pernah bosan memberikan dukungan moril dalam mengerjakan
skripsi ini.
10. Agus, Reza, Alim, Awing, Teddy, Ari, Aphe, Firman, Agong, Adi, Ali, Wendy,
dan seluruh teman-teman IF-7 angkatan 2010 yang tidak bisa saya sebutkan
satu per satu, terima kasih telah memberikan banyak bantuan untuk
menyelesaikan skripsi ini.
11. Pihak-pihak lain yang membantu penulis untuk dapat menyelesaikan skripsi ini
yang tidak bisa penulis sebutkan satu per satu.
Penulis menyadari bahwa hasil penelitian ini masih banyakkekurangan dan
masih jauh dari kata sempurna. Oleh karena itu, saran dan kritik yang sifatnya
membangun akan penulis terima dengan senang hati. Akhir kata semoga Allah
SWT membalas segala kebaikan yang telah penulis terima dan penulis berharap
semoga skripsi ini dapat berguna dan bermanfaat bagi pihak yang membutuhkan
nantinya. Wassalamu’alaikum Wr. Wb.
Bandung, Agustus 2014
Penulis
DAFTAR RIWAYAT HIDUP
Nama Lengkap : Erfa Riandi
NIM : 10110305
Tempat/Tanggal Lahir : Singkawang, 15 November 1991
Jenis Kelamin : Laki-laki
Agama : Islam
Alamat Lengkap : Jl. Tani Gg. Melati Putih No. 81 Rt.34/Rw.14
Des. Pasiran Kec. Singkawang Barat 79123
Email : riandierfa@gmail.com
No Telp. : 0852 4523 2333
PENDIDIKAN
2010 – 2014 : Program Strata 1 (S1) Program Studi Teknik Informatika,
Fakultas Teknik dan Ilmu Komputer,
Universitas Komputer Indonesia
2007 – 2010 : SMAN 1 Singkawang
2004 – 2007 : SMPN 3 Singkawang
1998 – 2004 : SDN 1 Singkawang
1997 – 1998 : TK Aisyah Singkawang
Penulis,
1
1.1 Latar Belakang Masalah
Anatomi merupakan salah satu bidang keilmuan medis yang mempelajari
struktur tubuh manusia. Sebagai manusia, kita sangat diperlukan untuk mengenal
anatomi tubuh diri kita sendiri. Sebab, dengan mengenal dan memahami setiap
bagian tubuh kita, kita bisa tahu pola hidup sehat dan lebih peduli dalam menjaga
kesehatan tubuh. Sehingga penting sekali untuk kita khususnya anak-anak
memahami bagian penting dari tubuhnya sendiri agar selalu menjaga organ-organ
penting dapat berfungsi dengan baik.
Primary Darul Hikam International School (Primary DHIS) merupakan Sekolah Dasar di Yayasan Darul Hikam Bandung berbasis internasional yang
bergerak di bidang pendidikan. SD ini sudah mempelajari pelajaran tentang
organ-organ tubuh manusia atau anatomi tubuh manusia khususnya di kelas 5 SD. Namun
sistem pembelajaran yang ada di SD ini masih menggunakan cara yang
konvensional yaitu menggunakan buku. Tetapi buku yang digunakan masih bersifat
2D (dua dimensi), penuh dengan teks, gambar kurang jelas dan kurang interaktif.
Sehingga media tersebut belum mampu menjadi media pengenalan anatomi tubuh
manusia yang menarik untuk siswa kelas 5 SD. Menurut pihak sekolah sendiri siswa
terkadang tidak terlalu dapat memahami materi yang diberikan jika hanya
mengandalkan media buku saja, hal ini dapat berakibat kejenuhan dan siswa
menjadi malas dalam memahami materi.
Aplikasi Smart Book pengenalan anatomi tubuh manusia ini menggunakan teknologi Augmented Reality, karena dengan menggunakan teknologi Augmented Reality ini dapat memungkinkan pengguna melihat objek anatomi tubuh manusia secara lebih nyata dengan memproyeksikan objek dalam bentuk 3D (tiga dimensi).
Teknologi AR ini juga dapat menambah nilai dari penyampaian informasi menjadi
pandangan user. Augmented Reality memungkinkan objek 3D virtual untuk diintegrasikan kedalam lingkungan nyata secara real-time[3]. Teknologi ini akan digabungkan ke dalam suatu buku untuk mengenalkan anatomi tubuh manusia
secara lebih nyata untuk menghasilkan buku yang lebih menarik dalam pengenalan
anatomi tubuh manusia bagi siswa kelas 5 SD. Aplikasi ini berbasiskan desktop, karena di SD sudah tersedia fasilitas laboratorium khusus komputer sehingga
pengguna dapat mempelajari materi dengan baik. Aplikasi ini menggunakan
metode markerless karena marker yang digunakan adalah sebuah gambar anatomi tubuh manusia sesuai dengan kurikulum materi yang diberikan. Aplikasi juga
mengimplementasikan sebuah konsep Occlusion Based Interaction, yang diharapkan dapat menambah interaksi antara pengguna dan aplikasi serta
menerapkan suara sebagai pendukungnya.
Didalam Smart Book ini dapat menampilkan animasi anatomi dalam bentuk 3D dan terdapat penjelasan tentang anatomi tubuh manusia. Dalam pembangunan
Smart Book ini diharapkan dapat menjadi solusi bagi guru yang mengajar untuk memberikan suatu pengetahuan tentang organ penting yang ada dalam tubuh
manusia kepada siswa dengan lebih baik. Maka penelitian ini diwujudkan sebagai
bahan penyusun skripsi yang berjudul “Implementasi Teknologi Augmented Reality (AR) Pada Aplikasi Smart Book Pengenalan Anatomi Manusia Menggunakan Metode Occlusion Based Interaction berbasis Desktop”.
1.2 Identifikasi Masalah
Dari penjelasan yang telah dijelaskan pada latar belakang maka identifikasi
masalahnya adalah sebagai berikut :
1. Pembelajaran saat ini masih menggunakan media buku, 2D dan kurang interaktif.
2. Dibutuhkan media pelengkap dalam pembelajaran pengenalan anatomi
tubuh manusia melalui buku agar menjadi menarik.
1.3 Maksud dan Tujuan
Maksud dari penulisan tugas akhir ini adalah untuk membangun aplikasi
Sedangkan tujuan dari penulisan tugas akhir ini adalah sebagai berikut :
1. Media buku yang ada dilengkapi dengan Smart Book sebagai media pembelajaran tambahan yang menampilkan animasi 3D secara lebih nyata
dan interaktif dengan menggunakan teknologi Augmented Reality.
2. Menjadikan Augmented Reality sebagai media pembelajaran untuk memberikan ketertarikan terhadap siswa dalam pengenalan anatomi tubuh
manusia dengan adanya animasi 3D dan suara.
1.4 Batasan Masalah
Penelitian ini memiliki beberapa batasan masalah dengan harapan penelitian
bisa lebih terfokus. Adapun batasan masalah dalam penelitian sebagai berikut :
1. Content anatomi yang digunakan sebagai contoh penerapan teknologi
AugmentedReality adalah sistem peredaran darah dan sistem pencernaan. 2. Sasaran pengguna dari aplikasi ini adalah siswa kelas 5 SD, dan disarankan
dibawah pengarahan orang yang lebih dewasa.
3. Proses deteksi menggunakan Library MetaIO dengan implementasi dari metode Occlusion Based Interaction untuk pengenalan marker yang ditutup, serta teknologi Augmented Reality untuk menampilkan output
secara real-time.
4. Output yang dihasilkan terfokus kepada animasi 3D, suara dan virtual button.
5. Banyaknya animasi 3D dari sistem pencernaan dan sistem peredaran darah
berjumlah 11.
6. Aplikasi yang dibangun berbasis Desktop.
7. Perangkat kerasyang digunakan harus dilengkapi Webcam.
8. Satu halaman buku berisi satu jenis content anatomi serta penjelasannya. 9. Bahasa yang digunakan di Smart Book adalah bahasa inggris, sesuai dengan
yang ada dikurikulum.
10.Pemodelan yang digunakan OOP (Object Oriented Progamming) dengan menggunakan UML (Unified Modeling Language).
12.Editor yang digunakan untuk membangun aplikasi adalah Visual Studio 2010.
13.Editor yang digunakan untuk membangun objek 3D menggunakan 3D Studio Max.
1.5 Metodologi Penelitian
Metodologi penelitian yang digunakan dalam penulisan tugas akhir ini
menggunakan metode analisis deskriptif yaitu suatu metode yang bertujuan untuk
mendapatkan gambaran yang jelas tentang hal-hal yang diperlukan dalam
penelitian, dengan melalui tahapan sebagai berikut :
1.5.1 Metode Pengumpulan Data
Metode yang digunakan dalam mengumpulkan data yang berhubungan dengan
penulisan tugas akhir ini adalah sebagai berikut :
1. Studi Literatur
Pengumpulan data dengan cara mencari dan mempelajari
bermacam-macam literatur yang dibutuhkan, baik dari buku, karya tulis, jurnal, paper, dan lain sebagainya yang ada kaitannya dengan judul penelitian.
2. Observasi
Pengumpulan data dengan mengadakan penelitian dan peninjauan
langsung terhadap permasalahan tentang pembelajaran melalui buku dan
penyampaiannya.
1.5.2 Metode Pembangunan Perangkat Lunak
Mengenai metode yang digunakan dalam proses yang digunakan dalam tahap
pembuatan perangkat lunak adalah dengan menggunakan metode Classical Life Cycle (CLC) atau yang biasa disebut dengan Waterfall. Beberapa proses diagram
waterfall adalah sebagai berikut :
a. Rekayasa Perangkat Lunak (System Engineering)
Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu
proyek, dimulai dengan menetapkan kebutuhan-kebutuhan dari semua
elemen yang diperlukan sistem dan mengalokasikannya ke dalam
b. Analisis perangkat Lunak (SoftwareAnalysis)
Analisis perangkat lunak merupakan tahapan menentukan apakah kegiatan
dari sistem engineering dapat diimplementasikan menjadi sebuah sistem
informasi atau tidak dan menentukan prosedur-prosedur yang bekerja.
Adapun fungsi-fungsi tersebut meliputi fungsi masukan, fungsi proses dan
fungsi keluaran.
c. Perancangan perangkat Lunak (SoftwareDesign)
Perancangan pernagkat lunak merupakan tahapan menterjemahkan dari
keperluan atau data yang dianalisis ke dalam bentuk yang mudah dimengerti
oleh user atau pemakai.
d. Implementasi perangkat lunak (SystemCoding)
Implementasi perangkat lunak yaitu kegiatan yang mengimplementasikan
hasil dari perancangan perangkat lunak ke dalam kode program yang
dimengerti oleh bahasa mesin.
e. Pengujian perangkat lunak (Testing)
Pengujian perangkat lunak merupakan tahapan menguji hasil perangkat
lunak yang dihasilkan.
f. Pemeliharaan (Maintenance)
Penerapan secara keseluruhan disertai pemeliharaan jika terjadi perubahan
struktur baik dari segi software maupun hardware.
1.6 Sistematika Penulisan
Untuk memberikan gambaran secara umum tentang sistematika penulisan
tugas akhir ini adalah sebagai berikut :
BAB I PENDAHULUAN
Bab ini menjelaskan tentang latar belakang masalah, mencoba
mengidentifikasi inti permasalahan yang dihadapi, menentukan
maksud dan tujuan penelitian, kemudian batasan masalah, metodologi
penelitian serta sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Bab ini membahas berbagai konsep dasar dan teori-teori yang berkaitan
dengan topik penelitian yaitu augmented reality dan hal-hal yang berguna dalam proses analisis permasalahan.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi tentang analisis sistem, cara kerja sistem, analisis input
dan output dari metode penelitian untuk memperlihatkan keterkaitan antara objek yang diteliti serta model untuk analisisnya. Perancangan
sistem menggunakan Object Oriented.
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini berisi tentang implementasi yang bertujuan untuk memastikan
bahwa simulasi yang dibangun dapat berjalan secara efektif sesuai
dengan yang diinginkan, dibahas juga mengenai spesifikasi software, hardware, dan brainware serta pengoperasian sistem.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan yaitu tujuan penelitian sudah terpenuhi atau
belum. Serta berisi saran untuk perbaikan dan menindaklanjuti
7
2.1Profil Singkat Sekolah Dasar Darul Hikam
Sekolah Dasar Darul Hikam Bandung merupakan salah satu sekolah ternama di
kota bandung. Sekolah ini banyak berprestasi dalam bidang akademik atau pun non
akademik. Sekolah Dasar yang ada saat ini di Darul Hikam ada 2 jenis, yaitu
Sekolah Dasar Darul Hikam (SD Darul Hikam) dan Primay Darul Hikam International School (Primary DHIS).
2.1.1 Sejarah Sekolah Dasar Darul Hikam
Cikal bakal yayasan Darul Hikam, dirintis oleh K.H.E. Hasbullah Hafidzi pada
tahun 1942 yaitu sesaat setelah beliau selesai di pesantren Al-Ianah Cianjur.
Kegiatan pertama yang dilaksanakan adalah menyelenggarakan Madrasah Islam di
kampung Cisitu Girang, kota Bandung. Pada saat revolusi fisik, madrasah ini
dihentikan karena rakyat harus mengungsi meninggalkan Bandung. Sekembalinya
dari pengungsian tahun 1949, madrasah dibuka kembali dan dinaikkan statusnya
menjadi Sekolah Dasar Islam dengan nama Sekolah Rakyat Muslimin.
Alhamdulillah tahun 1951, sekolah sudah mempunyai bangunan milik sendiri
di atas lahan pinjaman ustadz Abdussalam. Yayasan ini terus berkembang, tahun
1953 kegiatan pendidikan ditingkatkan dengan membuka sekolah tingkat SMP
dengan waktu belajar pada siang harti. Dalam waktu singkat SMP tersebut
dipindahkan ke jln Puyuh No.5 dengan nama SMP Muslimin.
Selama prosese pertumbuhannya, yayasan Darul Hikam terus didera dengan
hambatan dan tantangan yang tidak ringan, sebagai cuplikan sejarah pada tahun
1963 bangunan SD Islam yang berlokasi di Cisitu Girang (Sekarang Jalan Cisitu
Indah) mendapat musibah yaitu ambruk diterpa angina kencang. Sehingga para
murid dipindahkan ke sekolah-sekolah yang berada di sekitar lokasi.
Setelah bangunan SD Islam di Cisitu Girang hancur, perintisan dimulai lagi
pada tahun 1963 dibuka Taman Kakak-kanak Islam yang bertempat di rumah Hj.
sampai peristiwa pemberontakan G.30.S/PKI gagal. Atas izin Allah SWT, setelah
pemberontakan G.30.S/PKI gagal, perjuangan keras K.H.E. Hasbullah Hafidzi
akhirnya berhasil membangun Mesjid Darul Hikam yang berukuran 12m X 8m di
Jalan Ir.H.Juanda 285 (lokasi sekarang).
Setelah pembangunan mesjid dianggap selesai, secara bertahap
diselenggarakan pendidikan formal yang berorientasi kepada kurikulum
Departemen Pendidikan Nasional seperti :
a) Taman Kanak-kanak (TK) Th. 1966.
b) Sekolah Dasar (SD) Th. 1968.
c) Sekolah Menengah Pertama (SMP) Th. 1972.
d) Sekolah Pendidikan Guru (SPG) Th. 1974.
e) Sekolah Menengah Atas (SMA) Th. 1981.
f) Sekolah Menengah Ekonomi Atas (sekarang Sekolah Menengah
Kejuaruan) Th. 1987.
g) Taman Kanak-kanak II (TK II) Rancaekek Th. 1991.
h) Diploma 3 Lembaga Ilmu Pengembangan Profesi Indonesia (LIPPI) Th.
1996-1998.
i) Bimbel Muslim Averous (Th. 1991-1997) beekerjasama dengan yayasan
Ibnu Rusydi.
j) Sekolah Dasar II (SD II) Rancaekek Th. 2006.
Lembaga-lembaga Sosial Kemasyarakatan :
a) Panti Asuhan Arief Rahman Th. 1968.
b) Badan Usaha Warga Darul Hikam Th. 1970 dan Koperasi Warga Darul
Hikam Th. 1984.
c) Ikatan Pengajian Ibu-ibu yang mengkoordinir 72 Majelis Ta’lim di
Bandung.
Pada Tahun 1998, melakukan kerjasama dengan yayasan Al Ihsan dan
membentuk Perguruan Darul Hikam wal Ihsan. Tahun 1998 berupaya
mempertajam visi dan misi yang jelas, kearah pemeliharaan dan pengembangan
fitrah melalui pengembangan system sekolah kecil berprestasi. Tahun 2006
mendapatkan nilai akreditasi A+ (sangat baik).
2.1.2 Visi, Misi, dan Tujuan Sekolah Dasar Darul Hikam
Sekolah Dasar Darul Hikam juga mempunyai visi, misi, dan tujuan yang
merupakan target yang akan dicapai untuk kesuksesan sekolah kedepannya. Uraian
visi, misi dan tujuan dari sekolah dasar darul hikam akan dijelaskan selanjutnya.
2.1.2.1Visi
Menjadi sekolah Dasar Islam terbaik melalui budaya (Jati diri, ciri khas, dan
keunggulan) berakhlak berpretasi pada level Kota Bandung tahun 2011.
2.1.2.2Misi
1. Melaksanakan pendidikan sekolah dasar Islam secara utuh terpadu dan
sempurna untuk membangun akhlakul karimah, siswa, dan semua civitas
akademika.
2. Melaksanakan pendidikan umum secara utuh, terpadu dan sempurna untuk
meraih prestasi siswa dan civitas akademika dalam berbagai bidang
pendidikan.
3. Membangun citra baik sekolah dasar Islam sebagai bagian dari sistem
pendidikan Nasional.
4. Membangun silaturahim dan kerjasama dengan orang tua dalam proses
pendidikan Islam bagi putra-putrinya.
5. Terimplementasikanya jati diri budaya berakhlak berprestasi secara
bertahap dan sempurna.
2.1.2.3Tujuan
Tujuan pendidikan dasar adalah meletakkan dasar kecerdasan, pengetahuan,
kepribadian, akhlak mulia, serta keterampilan untuk hidup mandiri dan mengikuti
pendidikan lebih lanjut. Merujuk pada tujuan pendidikan dasar tersebut, maka
1. Dapat mengamalkan ajaran agama hasil proses pembelajaran dan kegiatan
pembiasaan.
2. Meraih prestasi akademik maupun non akademik minimal tingkat
Kabupaten/Kota.
3. Menguasai dasar-dasar ilmu pengetahuan dan teknologi sebagai bekal untuk
melanjutkan ke sekolah yang lebih tinggi.
4. Menjadi sekolah pelopor dan penggerak di lingkungan masyarakat sekitar.
5. Menjadi sekolah yang diminati di masyarakat.
Gambar 2.1 Logo Darul Hikam Bandung [6]
2.2 Pengertian Anatomi
Anatomi adalah cabang dari biologi yang berhubungan dengan struktur dan
organisasi dari makhluk hidup. Anatomi berasal dari bahasa Yunani anatomia dari
anatemnein yang berarti memotong.
Bagian paling penting dari anatomi khusus adalah yang mempelajari tentang
manusia dengan berbagai macam pendekatan yang berbeda. Dari sudut medis,
anatomi terdiri dari berbagai pengetahuan tentang bentuk, letak, ukuran, dan
hubungan berbagai struktur dari tubuh manusia sehat sehingga sering disebut
sebagai anatomi deskriptif atau topografis. Kerumitan tubuh manusia menyebabkan
hanya ada sedikit ahli anatomi manusia profesional yang benar-benar menguasai
bidang ilmu ini, sebagian besar memiliki spesialisasi di bagian tertentu seperti otak
Gambar 2.2 Anatomi Jantung Gambar 2.3 Anatomi Pencernaan
2.3 Pengertian Augmented Reality
Augmented Reality (AR) adalah suatu teknik yang memperluas lingkungan dunia nyata dengan beberapa objek virtual yang muncul dalam pandangan user.
Augmented Reality memungkinkan objek 3D virtual untuk diintegrasikan kedalam lingkungan nyata secara real-time. Bisa juga disebut pencampuran dunia nyata dan dunia maya.
Menurut Stephen Cawood & Mark Fiala bahwa AugmentedReality merupakan cara alami untuk mengeksplorasi objek 3D dan data, AR merupakan suatu konsep
perpaduan antara Virtual Reality dengan World Reality. Sehingga objek-objek
Virtual 2D atau 3D seolah-olah terlihat nyata dan menyatu dengan dunia nyata. Pada teknologi AR, pengguna dapat melihat dunia nyata yang ada di sekelilingnya
dengan penambahan objek virtual yang dihasilkan oleh komputer. [4]
Sedangkan menurut Ronald T. Azuma mendefinisikan Augmented Reality
sebagai penggabungan benda-benda nyata dan maya dilingkungan nyata, berjalan
secara interaktif dalam waktu nyata, dan terdapat integrasi antar benda dalam 3D,
yaitu benda maya terintegrasi dalam dunia nyata. Penggabungan benda nyata dan
maya dimungkinkan dengan teknologi tampilan yang sesuai, interaktifitas
dimungkinkan melalui perangkat-perangkat input tertentu, dan integrasi yang baik
2.3.1 Sejarah Augmented Reality
Sejarah tentang Augmented Reality dimulai dari tahun 1957-1962, ketika seorang penemu yang bernama Morton Heilig, seorang sinematografer,
menciptakan dan memapatenkan sebuah simulator yang disebut Sensorama dengan
visual, getaran dan bau. Pada tahun 1966, Ivan Sutherland menemukan head-mounted display yang dia claim adalah, jendela ke dunia virtual. Tahun 1975 seorang ilmuwan bernama Myron Krueger menemukan Videoplace yang memungkinkan pengguna, dapat berinteraksi dengan objek virtual untuk pertama kalinya. Tahun 1989, Jaron Lanier, memperkenalkan Virtual Reality dan menciptakan bisnis komersial pertama kali di dunia maya, Tahun 1992
mengembangkan Augmented Reality untuk melakukan perbaikan pada pesawat
boeing, dan pada tahun yang sama, LB Rosenberg mengembangkan salah satu fungsi sistem AR, yang disebut Virtual Fixtures, yang digunakan di Angkatan Udara AS Armstrong Labs, dan menunjukan manfaatnya pada manusia, dan pada
tahun 1992 juga, Steven Feiner, Blair Maclntyre dan Dorée Seligmann,
memperkenalkan untuk pertama kalinya Major Paper untuk perkembangan
Prototype AR.
Pada tahun 1999, Hirokazu Kato, mengembangkan ARToolkit di HITLab dan didemonstrasikan di SIGGRAPH, pada tahun 2000, Bruce.H.Thomas,
mengembangkan ARQuake, sebuah Mobile Game AR yang ditunjukan di
International Symposium on Wearable Komputers. Pada tahun 2008, Wikitude
AR Travel Guide, memperkenalkan Android G1 Telephone yang berteknologi AR, tahun 2009, Saqoosha memperkenalkan FLARToolkit yang merupakan perkembangan dari ARToolkit. FLARToolkit memungkinkan kita memasang teknologi AR di sebuah website, karena output yang dihasilkan FLARToolkit
2.3.2 Lingkungan Augmented Reality
Pada sistem AR, sistem koordinat yang dipakai adalah model pinhole camera
atau kamera lubang jarum. Dimana pada model ini sumbu z positif berada didepan dan yang menjadi acuan adalah posisi marker jika dilihat dari kamera.
Jika dilihat pada gambar 2.4, terlihat marker dan kamera masing-masing memiliki orientasi posisi yang berbeda. Baik marker kamera menggunakan sistem
righthanded (sumbu z positif didepan) dan hasil penangkapan gambar dari kamera diproyeksikan ke viewplane menggunakan proyeksi perspektif.
Gambar 2.4 Sistem Koordinat Lingkungan AR
Dalam menampilkan objek 3D yang sesuai dengan posisi dan orientasi marker, perlu diperhitungkan hasil proyeksi yang diterima viewplane (bidang proyeksi dilayar) untuk kemudian ditampilkan. Selain proyeksi pada bidang 2D, dalam
pergeseran marker maupun kamera perlu diperhatikan perubahan posisi dan rotasi dalam sistem koordinat 3D. Posisi dan orientasi dari marker didapat dari hasil
tracking marker yang ditransformasikan dengan operasi translasi dan rotasi, sedangkan posisi dan orientasi yang ada pada proyeksi dilayar didapat dari
Transformasi Translasi :
(1)
Transformasi Rotasi :
(2)
Transformasi Proyeksi Perspektif :
(3)
Transformasi Objek Pada Sistem AR :
(4)
2.3.3 Marker
Marker adalah lingkungan nyata berbentuk objek nyata yang akan menghasilkan Virtual Reality , marker ini digunakan sebagai tempat Augmented Reality muncul. Berikut ini contoh beberapa jenis marker yang digunakan pada aplikasi Augmented Reality :
2.3.3.1FiducialMarker
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. Contoh FiducialMarker
Gambar 2.5FiducialMarker
2.3.3.2QuickResponse(QR)Code
QRCode merupakan 2D code yang terdiri dari banyak kotak diatur dalam pola persegi, biasanya QR ini berwarna hitam dan putih. QRCode diciptakan di Jepang pada awal 1990-an dan digunakan untuk melacak berbagai bagian dalam
manufaktur kendaraan. Dan saat ini QR digunakan sebagai link cepat ke website,
dial cepat untuk nomor telepon, unduh aplikasi, atau bahkan dengan cepat mengirim pesan SMS. Contoh QRCode pada gambar 2.6.
Gambar 2.6Quick Response (QR) Code
2.3.3.3MarkerlessMarker
Markerless Marker mempunyai fungsi sama dengan Fiducial Marker namun bentuk Markerless Marker tidak harus kotak hitam dan putih, Markerless ini bisa berbentuk gambar yang mempunyai banyak warna. Contoh Markerless Marker
Gambar 2.7Markerless Marker
Markerless ini salah satu metode Augmented Reality yang saat ini sedang berkembang. Dengan metode ini pengguna tidak perlu lagi menggunakan sebuah
marker untuk menampilkan objek. Dalam perancangan nya, seolah-olah markerless
menggabungkan objek maya dengan objek nyata, dalam hal ini objek maya berupa
objek 2D atau 3D dan objek nyatanya berupa gambar dengan pola tertentu
(markerless). Secara garis besarnya dalam perancangan aplikasi ini ada 3 bagian penting yaitu :
1. Inisialisasi
2. TrackingMarker
3. Rendering Objek 3D
Adapun pengembangan markerless yang sudah dikembangkan oleh pengembang
didunia seperti :
1) FaceTracking
Dengan menggunakan alogaritma yang mereka kembangkan, komputer
dapat mengenali wajah manusia secara umum dengan cara mengenali posisi
mata, hidung, dan mulut manusia, kemudian akan mengabaikan objek-objek
Gambar 2.8FaceTracking 2) 3D 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.
Gambar 2.93D Object Tracking 3) Motion Tracking
Pada teknik ini komputer dapat menangkap gerakan, Motion Tracking telah
mulai digunakan secara ekstensif untuk memproduksi film-film yang
mencoba mensimulasikan gerakan. Contohnya pada film Avatar, di mana
James Cameron menggunakan teknik ini untuk membuat film tersebut dan
Gambar 2.10Motion Tracking 4) 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.
2.3.3.4Multi Marker
Multi Marker adalah merupakan sebuah metode perkembangan dari single marker, dimana proses pencocokan objek yag ditangkap lebih dari satu. Dalam implementasinya dapat dilakukan dengan menggunakan beberapa pendekatan
metode yang dapat dilakukan seperti pelabelan komponen serta corner detection
sebagai pengelan sudut dari beberapa bentuk marker.
2.3.4 Occlusion Based Interaction
Occlusion adalah hubungan antara suatu benda dengan benda lain jika kita 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 menyebabkan informasi interaksi antar objek seperti
keadaan bersinggungan, atau berapa jarak antar objek akan menjadi ambigu.
Gambar 2.12 : Occlusion yang terjadi karena interaksi antar objek (a)
None (b) Proximity (c) Intersection (d) Enclosement (e) Containment OcclusionDetection adalah metode untuk mendeteksi ada tidaknya occlusion
dalam penampilan objek 3D. Pada [Gun A, Mark, dan Gerard, 2004] secara
sederhana occlusiondetection hanya mendefinisikan keadaan dimana suatu marker tidak terdeteksi karena tertutup oleh benda lain. Sedangkan pada [Volkert, Stephen,
Jika ada n objek yang mewakili 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 misal dipilih objek-1 terhadap objek-2 maka akan dilakukan pengecekan syarat pertidaksamaan
pointclipping [Donald, dan Baker, 1996] berikut :
� − ≤ � ≤ � + (5)
� − ≤ � ≤ � + (6)
Hasil deteksi ini berupa nilai kebenaran yang merupakan dasar pendefinisian
event dari interaksi occlusionbased jika pertidaksamaan 5 dan 6 terpenuhi.
Occlusion Based Interaction adalah sebuah desain interaksi eksosentris [Hannah, Matthew, Rudi, dan Bruce, 2001] dimana dalam mendefinisikan event
untuk menghasilkan aksinya menggunakan metode occlusion detection. 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.
Gambar 2.13 : (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.13 (a) dikatakan terjadi event karena memenuhi pertidaksamaan 5 dan 6 yaitu koordinat O1 (x,y) ada di dalam batas area O2. Sedangkan gambar
2.3.5 MetaIO
MetaIO dikenal sebagai salah satu platform teknologi AugmentedReality (AR) yang populer saat ini. Beberapa tools AR telah diproduksi untuk keperluan
pengembangan aplikasi AR bagi enduser. Kemudahan dan fleksibilitas tools untuk mengembangkan aplikasi AR menjadi hal penting karena kiprah teknologi AR yang
cemerlang, dapat digunakan untuk berbagai macam aplikasi. [8]
Gambar 2.14 Logo MetaIO
2.3.5.1MetaIO Library
MetaIO Library adalah library engine yang mendukung untuk membangun
Augmented Reality. Metaio merupakan engine AR paling hebat diantara engine
-engine AR lainnya. Karena pemakaiannya mudah, fitur banyak, mau buat AR apa saja mudah tanpa harus melakukan Coding.
Kelas dasar perpustakaan MetaIO adalah kelas MetaObject. Ini mendefinisikan satu set dasar tag yang umum untuk semua metaObjects seperti MetaImages,
MetaTubes, dll.
2.3.6 Penerapan Augmented Reality
Seiring berjalannya waktu, teknologi Augmented Reality berkembang sangat pesat sehingga memungkinkan pengembangan aplikasi ini di berbagai bidang
contoh nya sebagai berikut :
1. Pendidikan
Sehubungan dengan penerapan Augmented Reality di Indonesia, teknologi ini sebenarnya sudah bisa kita aplikasikan dalam dunia pendidikan.
Beberapa siswa cukup banyak yang masih merasa kesulitan dalam
memahami peristiwa sejarah, terutama sejarah bangsanya sendiri, Bangsa
Indonesia. Dalam hal ini, teknologi Augmented Reality dipandang mempunyai kesempatan besar untuk membantu memvisualisasikan sejarah
yang masih “abstrak” menjadi lebih nyata dalam pandangan para siswa.
telah diusahakan oleh para pendahulu dan pejuang-pejuang sejarah
kemerdekaan Indonesia.
2. Medis
Bidang ini merupakan salah satu bidang yang paling penting bagi sistem
realitas tertambah. Contoh penggunaannya adalah pada pemeriksaan
sebelum operasi, seperti CT Scan atau MRI, yang memberikan gambaran kepada ahli bedah mengenai anatomi internal pasien. Dari gambar-gambar
ini kemudian pembedahan direncanakan. Augmented Reality dapat diaplikasikan sehingga tim bedah dapat melihat data CTScan atau MRI pada pasien saat pembedahan berlangsung. Penggunaan lain adalah untuk
pencitraan ultrasonik, di mana teknisi ultrasonik dapat mengamati
pencitraan fetus yang terletak di abdomen wanita yang hamil. 3. Hiburan
Bentuk sederhana dari AugmentedReality telah dipergunakan dalam bidang hiburan dan berita untuk waktu yang cukup lama. Contohnya adalah pada
acara laporan cuasa dalam siaran televisi dimana wartawan ditampilkan
berdiri di depan peta cuaca yang berubah. Dalam studio, wartawan tersebut
sebenarnya berdiri di depan layar biru atau hijau. Pencitraan yang asli
digabungkan dengan peta buatan komputer menggunakan teknik yang
bernama chroma-keying. 4. Robot
Dalam robotika, seorang operator robot, menggunakan pengendali
pencitraan visual dalam mengendalikan robot itu. Jadi, penerapan
AugmentedReality dibutuhkan didunia robot. 5. Desain
Seorang desainer membutuhkan Augmented Reality untuk menampilkan hasil desain mereka secara lebih nyata terhadap klien. Dengan AR klien
6. Militer
Kalangan militer telah bertahun-tahun menggunakan tampilan dalam kokpit
yang menampilkan informasi kepada pilot pada kaca pelindung kokpit atau
kaca depan helm penerbangan mereka. Ini merupakan sebuah bentuk
tampilan Augmented Reality. SIMNET, sebuah sistem permainan simulasi perang, juga menggunakan teknologi Augmented Reality. Dengan melengkapi anggota militer dengan tampilan kaca depan helm, aktivitas unit
lain yang berpartisipasi dapat ditampilkan.
2.4 Pengertian Smart Book
Pengertian Smart Book adalah sebuah buku yang dapat menampilkan model animasi 3D dengan cara melakukan pembacaan simbol marker menggunakan kamera. Aplikasi buku berbasis Augmented Reality yang dikembangkan ini merupakan penggabungan antara media cetak dan teknologi komputer yang
nantinya digunakan sebagai aplikasi desktop dengan menggunakan metode 2D
markerless sebagai marker. Pada aplikasi ini membutuhkan alat bantu webcam sebagai media input untuk membaca marker (penanda khusus), dimana dari marker tersebut akan menampilkan model – model dan animasi 3D (tiga dimensi) pada
layar monitor. Buku berbasis Augmented Reality ini sendiri hasil akhirnya terdiri dari dua bentuk yaitu dalam bentuk fisik (media cetak berupa buku) yang berisikan
marker pada beberapa halamannya dan aplikasi Augmented Reality berbasis
desktop dimana keduanya saling melengkapi.
2.5 UML
Pada perkembangan teknik pemrograman berorientasi objek, muncullah
sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang
dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu
Unified Modeling Language (UML). UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan menggambarkan, membangun, dan
dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk
pemodelan dan komunikasi mengenai sistem dengan menggunakan diagam dan
teks-teks pendukung.
UML hanya berfungsi melakukan pemodelan. Jadi penggunaan UML tidak
terbatas pada metodologi tetentu, meskipun pada kenyataanya UML paling banyak
digunakan pada metodologi berorientasi objek.
UML disebut sebagai bahasa pemodelan bukan metode. Kebanyakan
metode terdiri paling sedikit prinsip, bahasa pemodelan dan proses. Bahasa
pemodelan (sebagian besar grafik) merupakan notasi dari metode yang digunakan
untuk mendesain secara cepat.
Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan
bagian kunci tertentu untuk komunikasi. Jika anda ingin berdiskusi tentang desain
dengan seseorang, maka anda hanya membutuhkan bahasa pemodelan bukan
proses yang digunakan untuk mendapatkan desain. [2]
2.5.1 UseCase Diagram
Menggambarkan sejumlah eksternal aktor dan hubungannya ke usecase yang diberikan oleh sistem seperti pada gambar 2.16.
2.5.2 ClassDiagram
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.17.
Gambar 2.17ClassDiagram
2.5.3 SequenceCaseDiagram
Menggambarkan kolaborasi dinamis antara sejumlah objek dan untuk
menunjukan rangkaian pesan yang dikirim antara objek juga interaksi, sesuatu yang
terjadi pada titik tertentu dalam eksekusi sistem seperti pada gambar 2.18.
Gambar 2.18SequenceDiagram
2.5.4 ActivityDiagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk
digunakan untuk aktivitas lainya seperti usecase atau interaksi seperti pada gambar 2.19.
Gambar 2.19ActivityDiagram
2.5.5 Kegunaan UML
1) 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.
2.6 Bahasa Pemrograman C++
C++ adalah bahasa pemrograman tingkat tinggi yang memungkinkan seorang
programmer perangkat lunak untuk berkomunikasi secara efisien dengan komputer. C++ adalah bahasa yang sangat fleksibel dan mudah beradaptasi. Sejak
didirikan pada tahun 1980, C++ telah digunakan untuk berbagai program termasuk
firmware untuk mikro-controller, sistem operasi, aplikasi, dan program grafis. C++ dengan cepat menjadi bahasa pemrograman pilihan. Ada permintaan yang luar
biasa bagi orang-orang yang dapat memberitahu komputer apa yang harus
dilakukan, dan C++ memungkinkan Anda melakukannya dengan cepat dan efisien.
2.6.1 Sejarah
Pada tahun 1970 dua programer Brian Kernighan dan Dennis Ritchie,
menciptakan bahasa pemrograman baru yang disebut C. C dirancang dengan satu
tujuan didalam pikiran yaitu menulis sistem operasi. Bahasa ini sangat sederhana
dan fleksibel dan dapat segera digunakan untuk berbagai jenis program. C dengan
cepat menjadi salah satu bahasa pemrograman yang paling populer di dunia.
Pada tahun 1980 Bjarne Stroustrup mulai bekerja pada sebuah bahasa
pemrograman baru yang disebut “C with Classes”. Bahasa ini meningkat dari C dengan menambahkan sejumlah fitur baru yang paling penting adalah kelas .
Bahasa ini diperbaiki, ditambah, dan akhirnya menjadi C++.
C++ berutang keberhasilannya pada fakta bahwa hal itu memungkinkan
programmer untuk mengatur dan memproses informasi lebih efektif daripada kebanyakan bahasa lain. Bahkan kebanyakan program C dapat diubah menjadi C++
program dengan sedikit kesulitan. Program-program ini biasanya tidak
menggunakan semua fitur baru dari C++, tetapi mereka yang melakukan. Dengan
cara ini , C++ memungkinkan programmer untuk membangun basis yang ada kode C.
2.6.2 Penulisan
Program Bahasa C++ tidak mengenal aturan penulisan di kolom tertentu, jadi
bisa dimulai dari kolom manapun. Namun demikian, untuk mempermudah
pembacaan program dan untuk keperluan dokumentasi, sebaiknya penulisan
bahasa C++ diatur sedemikian rupa sehingga mudah dan enak dibaca. Berikut
contoh penulisan Program Bahasa C++ :
Sisi kiri merupakan source code, yang dapat diberi nama hiworld.cpp dan sisi
kanan adalah hasilnya setelah di-kompile dan di-eksekusi. Program diatas
merupakan salah satu program paling sederhana dalam C++, tetapi dalam program
tersebut mengandung komponen dasar yang selalu ada pada setiap pemrograman.
C++. Jika dilihat satu persatu :
// my first program in C++
Baris ini adalah komentar. semua baris yang diawali dengan dua garis
miring (//) akan dianggap sebagai komentar dan tidak akan berpengaruh
terhadap program. Dapat digunakan oleh programmer untuk menyertakan
penjelasan singkat atau observasi yang terkait dengan program tersebut.
#include <iostream.h>
Kalimat yang diawali dengan tanda (#) adalah are preprocessor directive.
Bukan merupakan baris kode yang dieksekusi, tetapi indikasi untuk
kompiler. Dalam kasus ini kalimat #include <iostream.h>
memberitahukan preprocessor kompiler untuk menyertakan header file
standard iostream. File spesifik ini juga termasuk library deklarasi standard I/O pada C++ dan file ini disertakan karena fungsi-fungsinya akan
digunakan nanti dalam program.
int main ()
Baris ini mencocokan pada awal dari deklarasi fungsi main. Fungsi main
merupakan titik awal dimana seluruh program C++ akan mulai dieksekusi.
Diletakan diawal, ditengah atau diakhir program, isi dari fungsi main akan selalu dieksekusi pertama kali. Pada dasarnya, seluruh program C++
memiliki fungsi main. main diikuti oleh sepasang tanda kurung () karena merupakan fungsi. Pada C++, semua fungsi diikuti oleh sepasang tanda
kurung () dimana, dapat berisi argumen didalamnya. Isi dari fungsi main
selanjutnya akan mengikuti,berupa deklarasi formal dan dituliskan
diantara kurung kurawal ({}), seperti dalam contoh.
cout << "Hello World";
Intruksi ini merupakan hal yang paling penting dalam program contoh. cout
dideklarasikan dalam header file iostream.h, sehingga agar dapat digunakan
maka file ini harus disertakan. Perhatikan setiap kalimat diakhiri dengan
tanda semicolon (;). Karakter ini menandakan akhir dari instruksi dan harus
disertakan pada setiap akhir instruksi pada program C++ manapun.
return 0;
Intruksi return menyebabkan fungsi main() berakhir dan mengembalikan kode yang mengikuti instruksi tersebut, dalam kasus ini 0. Ini merupakan cara yang paling sering digunakan untuk mengakhiri program.
Tidak semua baris pada program ini melakukan aksi. Ada baris yang hanya
berisi komentar (diawali //), baris yang berisi instruksi untuk preprocessor
kompiler (yang diawali #),kemudian baris yang merupakan inisialisasi sebuah fungsi (dalam kasus ini, fungsi main) dan baris yang berisi instruksi (seperti, cout <<), baris yang terakhir ini disertakan dalam blok yang dibatasi oleh kurung kurawal ({}) dari fungsi main.
2.6.3 Tipe Data
Tipe data merupakan bagian program yang paling penting karena tipe data
mempengaruhi setiap instruksi yang akan dilaksanakan oleh computer. Misalnya
saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya.
Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya
bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang
tepat akan membuat proses operasi data menjadi lebih efisien dan efektif.
Tabel 2.1 Bentuk Tipe Data
No Tipe Data Ukuran Range (Jangkauan) Keterangan
1 char 1 byte signed: -128 to 127
unsigned: 0 to 255
Character or integer 8 bits
length.
2 short 2 byte signed: -32768 to 32767
unsigned: 0 to 65535
Integer 16 bits length.
3 long 4 byte
signed:-2147483648 to
2147483647
unsigned: 0 to 4294967295
4 int * See short, long
Integer. Its length
traditionally depends on the
length of the system's Word
type, thus in MSDOS it
is 16 bits long, whereas
in 32 bit systems (like
Windows 9x/2000/NT and
systems that work under
Consult section bool type
for compatibility
9 wchar_t 2 byte wide characters Wide character. It is
designed as
2.7 VisualStudio2010
Visual Studio 2010 (VS) adalah sebuah perangkat lunak buatan microsoft yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis,
aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console, aplikasi windows, ataupun aplikasi web. Visual Studio mencakup kompiler, SDK,
IntegratedDevelopment Environment (IDE), dan dokumentasi (umumnya berupa
lain Visual C++, Visual C#, Visual Basic, Visual Basic .NET, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe.
Gambar 2.20 Logo Microsoft Visual Studio [7]
2.8 3D Studio Max
3D Studio Max biasa juga disebut 3ds Max atau hanya MAX adalah sebuah perangkat lunak grafik vektor 3D dan animasi, ditulis oleh Autodesk Media &
Entertainment (dulunya dikenal sebagai Discreet and Kinetix). Perangkat lunak ini dikembangkan dari pendahulunya 3DStudiofoDOS, tetapi untuk platformWin32.
Kinetix kemudian bergabung dengan akuisisi terakhir Autodesk, Discreet Logic. Versi terbaru 3DsMax pada Juli 2005 adalah 7. 3DsMaxAutodesk8 diperkirakan akan tersedia pada akhir tahun. Hal ini telah diumumkan oleh Discreet di Siggraph
2005.
3ds Max adalah salah satu paket perangkat lunak yang paling luas digunakan sekarang ini, karena beberapa alasan seperti penggunaan platform Microsoft Windows, kemampuan mengedit yang serba bisa, dan arsitektur plugin yang banyak.
33
3.1 Analisis Sistem
Analisis sistem adalah kegiatan untuk melihat sistem yang sudah berjalan,
melihat bagian mana yang bagus dan tidak bagus, dan kemudian
mendokumentasikan kebutuhan yang akan dipenuhi dalam sistem yang baru.
Analisis merupakan tahapan yang paling penting, karena kesalahan dalam tahap
ini akan menyebabkan kesalahan di tahap selanjutnya. Sistem yang dibuat
merupakan edukasi menggunakan teknologi Augmented Reality yaitu media pembelajaran pengenalan anatomi tubuh manusia untuk anak SD khususnya kelas
5. Aplikasi yang dibuat seolah-olah pengguna dapat berinteraksi langsung dengan
objek-objek 3D yang dibuat. Aplikasi ini dibuat dengan mengambil latar secara
real time yang kemudian digabungkan dengan objek 3D melalui kamera.
3.1.1 Analisis Masalah
Analisis masalah adalah suatu gambaran masalah yang diangkat dalam
penulisan penelitian ini tentang mengimplementasikan teknologi Augmented Reality. Analisis masalah yang dimaksud disini adalah pada sistem pembelajaran
Primary Darul Hikam International School saat ini masih bersifat 2D, full text, gambar tidak jelas, dan tidak interaktif. Media tersebut masih belum mampu
menjadi media pengenalan anatomi tubuh manusia yang menarik untuk anak kelas
5 SD.
Dengan teknologi yang berkembang saat ini, khususnya teknologi Augmented Reality yang dapat menambah nilai dari penyampaian informasi menjadi lebih tinggi dan mendukung animasi 3D serta suara dapat menjadi sarana untuk
menutupi kekurangan yang terdapat pada media pembelajaran saat ini. Dengan
merujuk dari kekurangan yang ada maka dibangunlah aplikasi Smart Book
menggunakan teknologi Augmented Reality ini dapat memungkinkan pengguna melihat objek anatomi tubuh manusia secara lebih nyata dengan memproyeksikan
objek dalam bentuk 3D (tiga dimensi) dan suara.
3.1.2 Analisis Sistem yang Berjalan
Analisis sistem yang berjalan merupakan tahapan yang memberi gambaran
tentang sistem yang sedang berjalan sekarang. Analisa ini bertujuan untuk
memberi gambaran yang lebih detail bagaimana cara kerja sistem yang ada
sekarang. Prosedur pada proses media yang sedang berjalan sekarang dapat dilihat
pada gambar 3.1.
Gambar 3.1 Alur Sistem yang sedang berjalan
1. Anak-anak adalah objek yang ingin mendapatkan informasi yang ada pada
buku.
2. Media buku memberikan informasi dengan menampilkan teks dan gambar
Dari gambaran tersebut jelas bahwa media yang didapat untuk mengakses
informasi pada buku. Teknologi AugmentedReality bisa dijadikan sebagai media alternatif untuk mendapatkan informasi, sehingga konten informasi yang didapat
dari buku menjadi lebih menarik dan interaktif.
3.1.3 Analisis Arsitektur Sistem
Pada arsitektur aplikasi yang akan dibangun terdiri dari beberapa komponen
yaitu ; user yang menggunakan aplikasi pengenalan anatomi tubuh manusia, user
mengarahkan buku yang sudah dilengkapi marker (objek AR) ke komputer yang sudah ada webcam nya, dari gambar yang di dapat dari webcam sistem komputer akan melakukan pelacakan dan pencocokan marker guna mengidentifikasi marker
yang digunakan user, kemudian komputer me-render objek-objek 3D yang digunakan dalam aplikasi. User dapat melihat hasil melalui layar komputer. Gambaran arsitektur sistem dapat dilihat pada gambar 3.2.
Gambar 3.2 Arsitektur Sistem Augmented Reality
Sistem yang akan dibangun adalah suatu aplikasi berbasis desktop dengan menggunakan teknologi Augmented Reality. Keunggulan dari teknologi
dijalan kan secara real-time. Sehingga dapat diterapkan dalam aplikasi agar dapat menambah nilai dari suatu informasi yang dibutuhkan dan juga dapat menjadi
solusi dari permasalahan yang ada.
Proses aplikasi yang akan dibangun dengan menggunakan teknologi
Augmented Reality dapat dilihat pada gambar 3.3 yang menggambarkan alur sistem yang akan dirancang.
Gambar 3.3 Alur Sistem
1. User adalah pengguna yang akan menggunakan akses pada komputer yang didukung dengan webcam dalam mendapatkan informasinya.
2. Pada saat user menjalankan aplikasi, aplikasi akan langsung mendeteksi ketersediaan kamera dan secara otomatis untuk mencocokan pola marker
pada buku serta mensingkronkan marker dengan kamera.
3. Smart Book merupakan sebuah buku yang didalam nya terdapat marker
2D yang memiliki bentuk gambar yang berbeda dan nantinya akan di
deteksi oleh kamera webcam.
4. Menghasilkan animasi 3D dan suara yang merupakan hasil dari aplikasi
3.1.4 Analisis Pendeteksian Kamera
Pada tahap ini akan menganalisis bagaimana kamera mendeteksi marker
melalui 2 tahapan yaitu parameter kamera dan kalibrasi kamera.
Gambar 3.4 Proses Pendeteksian Kamera
Dalam pendeteksian kamera menggunakan class Camera dalam library MetaIO. Didalam class tersebut terdapat beberapa method yang digunakan untuk mendeteksi kamera yaitu getCameraList(), vector2di(), dan startCamera(). Definis classCamera dapat dilihar pada tabel 3.1.
Tabel 3.1 Definisi Class Camera
Method Explanation
getCameraList() Mendapatkan semua daftar kamera yang tersedia serta mendefinisikannya
vector2di() Mengatur resolusi output yang digunakan (default : 640x480)
startCamera() Memulai menagkap gambar pada kamera
3.1.4.1Parameter Kamera
Pada tahap ini terdiri dari 3 bagian penting yaitu focal length, principal point,
dan distorion.
Gambar 3.5 Proses Parameter Kamera
Setiap kamera didefinisikan oleh seperangkat parameter yang melekat dalam
sistem optik. Parameter-parameter ini disebut parameter intrinsik yang meliputi
dan lain-lain. Untuk aplikasi sederhana, stabilitas pelacakan tidak menjadi
perhatian utama pada nilai-nilai kalibrasi kamera di MetaIO SDK dan dapat
diterima. Tapi pada aplikasi industri yang memerlukan pengukuran yang sangat
tepat serta pelacakan yang stabil, kalibrasi kamera harus diperhatikan. Oleh
karena itu, dianjurkan bahwa kamera disetiap perangkat harus dikalibrasi sebelum
menggunakan MetaIO SDK untuk aplikasi pelacakan. Berikut ini analisis tentang
parameter intrinsik :
1. Panjang fokus (Focal Length) menggambarkan jarak antara pusat optik lensa dan gambar serta menentukan bidang pandang. TrackingValues
secara langsung tergantung pada itu dan akurasi juga harus cukup. Jika
tidak, objek tidak akan bisa di lacak sistem.
Gambar 3.6 Panjang Fokus
2. Titik utama (Principal Point) mendefinisikan pusat proyeksi pada bidang gambar kamera. Pada dasarnya, itu adalah titik dimana sumbu optik
mencapai bidang gambar.
3. Parameter distorsi (Distortion) menggambarkan distorsi lensa kamera. Dalam gambar kamera terdistorsi, garis lurus didunia nyata tidak muncul
lurus pada gambar kamera kecuali dibalik dengan kalibrasi kamera.
Seperti pada gambar 3.7, gambar yang sebelah kiri sangat jelas garis
distorsi yang bengkok dan gambar sebelah kanan menunjukan seberapa
efektif kalibrasi kamera bisa untuk distrorsi reversal.
3.1.4.2Kalibrasi Kamera
Pada tahap kalibrasi kamera pertama yang harus dilakukan adalah
mengarahkan kamera pada marker yang akan dikalibrasi. Pada tahap ini perlahan-lahan arahkan marker ke kamera sampai kamera mengenali dan juga melacak
marker nya. Bila marker tersebut diakui akan di tandai dengan kotak target merah seperti pada gambar 3.8.
Gambar 3.8 Kamera Menandai Marker dengan Kotak Target Merah Ketika kalibrasi selesai kotak target sekitar marker akan beralih warna dari
merah ke hijau, lihat gambar 3.9.
Gambar 3.9 Kalibrasi Selesai
Pada tahap kalibrasi selesai, dalam rangka untuk menguji kesalahan kalibrasi
Kalibrasi kamera yang dihasilkan akan disimpan dalam file XML, dengan sub tag yang sesuai parameter kamera, seperti yang ditunjukkan pada gambar 3.10.
Gambar 3.10 Proses Kalibrasi Kamera
Berdasarkan gambar 3.10, CalibrationResolution merupakan tahap resolusi gambar kamera pada MetaIO dalam piksel yang mana lebar diinisialisasikan
dengan X dan panjang diinisialisasikan dengan Y. FocalLength merupakan panjang fokus kamera dalam piksel X untuk horizontal dan Y untuk vertical.
PrincipalPoint adalah titik utama dari kamera dan juga dalam satuan piksel. Serta
Distortion merupakan koefisiensi distorsi kamera. Metaio SDK menyediakan API untuk mengatur parameter kamera kalibrasi yaitu setCameraParameters.
<?xml version="1.0"?>
<Camera>
<Name>Manual Calibration</Name>
<Info />
<CalibrationResolution>
<X>640</X>
<Y>480</Y>
</CalibrationResolution>
3.1.5 Analisis Tracking Marker
Analisis tracking marker merupakan analisis yang mendiskripsikan bagaimana proses AR pada sistem dapat berjalan, dari tahap inisialisasi gambar,
tahap tracking marker, sampai tahap me-render objek 3D yang telihat pada gambar 3.11.
Gambar 3.11 Alur TrackingAugmented Reality
Secara garis besarnya, dalam perancangannya ada tiga bagian utama yaitu :
1. Inisialisasi Gambar Marker.
Pada tahap ini ditentukan proses dimana MetaIO SDK bekerja untuk
mengambil gambar sebagai input-an yang akan diproses. Inisialisasi merupakan tahapan awal yang digunakan sebagai media dalam menangkap
gambar. Untuk melakukan penangkapan gambar maka dibutuhkan sebuah
tracking file dimana dalam penulisan ini file bernama
TrackingAnatomi.xml.
Gambar 3.12 Alur Proses Inisialisasi Gambar
Untuk me-load tracking image maka dibutuhkan untuk mengaktifkan sensor. Awalnya kamera harus dideteksi dahulu dengan script sebagai berikut :
Parameter diisi sesuai dengan kebutuhan. Jika sudah memenuhi
kualifikasi yang dibutuhkan maka aktifkan sensor untuk load tracking image.
Gambar 3.13Load Tracking Image
Seperti yang terlihat pada gambar 3.13, setiap ReferenceImage wajib ditampung dalam sebuah objek SensorCOS. Selain ReferenceImage, terdapat parameter lain yaitu SimilarityThreshold yang merupakan nilai penentu kecocokan antara ReferenceImage dengan gambar yang nantinya di-capture oleh kamera.
Nilai SimilarityThreshold bernilai dari -1 hingga 1 dimana 1 adalah nilai tertinggi yang berarti ReferenceImage mutlak sama dengan dengan gambar yang di-capture. Sedangkan jika nilai ini diatur sebagai 0.7 dimana ini adalah nilai default yang ditetapkan oleh metaIO, maka nilai ini
menunjukkan batas minimum kemiripan. Jika pada suatu kondisi dimana
gambar yang di-capture oleh kamera memiliki nilai kemiripan dibawah nilai 0.7 maka gambar tersebut dianggap lost sehingga sistem akan membaca bahwa proses tracking gagal.
SensorCOS pada dasarnya adalah sebuah sistem koordinat yang berhubungan dengan gambar template yang harus dilacak. SensorCosID
merupakan sebuah ID yang dikaitkan dengan COS. ReferenceImage
sebuah pemanggilan untuk memanggil gambar yang sudah di atur untuk di
lacak. SimilarityThreshold akan mengesampingkan kesamaan nilai ambang batas standar yang ditentukan untuk sensor.
<SensorCOS>
<SensorCosID>JANTUNG</SensorCosID> <Parameters>
<ReferenceImage>hearth.png</ReferenceImage> <SimilarityThreshold>0.7</SimilarityThreshold> </Parameters>
</SensorCOS>
<SensorCOS>
<SensorCosID>PEREDARAN_DARAH</SensorCosID> <Parameters>
<ReferenceImage>circulatory.png</ReferenceImage> <SimilarityThreshold>0.7</SimilarityThreshold> </Parameters>