Untitled

Embed Size (px)

Citation preview

17

BAB IILANDASAN TEORI

2.1 Pengertian PerancanganPengertian perancangan sistem diawali dengan menentukan segala keperluan yang akan memenuhi apa yang akan dibutuhkan oleh sistem, siapa yang mengambil langkah ini dan bagaimana mereka akan disesuaikan. Umumnya, perancangan bergerak dari input ke ouput. Keluarah (output) sistem, yang teriri dari laporan dan file untuk memuaskan kebutuhan organisasi harus dibatasi dengan jelas.Menurut Hanif Al Fatta (2008, Analisis dan Perancangan Sistem Informasi) Perancangan, menjelaskan tentang apa saja yang harus dilakukan dan disusun pada tahap perancangan sistem. Implementasi, menguraikan bagaimana melakukan pengujian sistem dan penggunaan sistem serta konversi sistem. pemeliharaan, berisi cara melakukan pemeliharaan dan pengembangan sistem.

2.2 Pengertian Artificial IntelligenceMenurut Michael C. Harris (2011, Artificial Intelligence) Artificial Intelligence adalah bidang ilmu yang berada pada pembuatan mesin cerdas yang menjalankan tugas sebagai atau serta, atau lebih baik dan lebih cepat dari, manusia biasa. Artificial Intelligence tidak benar-benar tentang kecerdasan, meskipun ini tentang pemecahan masalah. Tapi solusi dalam Artificial Intelligence adalah Artificial selalu matematika-dan berbasis komputer.

2.3 Pengertian Computer VisionMenurut Simon J. D. Prince (2012, Computer Vision Models, Learning, and Inference) Computer Vision adalah sebuah disiplin teknik. Yang mana pengembang termotivasi oleh dunia nyata yang dapat diperhatikan oleh sebuah mesin yang melihat. Akibatnya, pengembang cenderung untuk mengkategorikan pengetahuan dengan dunia nyata yaitu masalah yang teralamatkan seperti pengenalan informasi, gambar , suara dan augmented reality dan banyak hal lainnya.

Menurut Xiong Zhihui (2008, Computer Vision) menyatakan Computer Vision mempunyai banyak cabang ilmu sebagai berikut : 1. Visually-Guided Service Robots2. Dynamic Omnidirectional Vision Localization3. Paracatadioptric Geometry4. Treating Image Loss5. Vision and Speech Information6. Image Processing & Recognition 7. Augmented Reality8. Dan banyak yang lainnya.

2.4 Pengertian Face DetectionMenurut Stan Z.Li (2005, Handbook of Face recognition), Face Detection adalah langkah pertama dalam proses Face Recognition , memiliki pengaruh besar dalam hal kehandalan pada kinerja dan kegunaan dari sistem Face Detection keseluruhan. Mengingat satu gambar atau video, Face Detection yang ideal harus mampu mengidentifikasi dan menemukan semua wajah yang hadir terlepas dari posisi mereka, skala, orientasi, usia, dan ekspresi. Selain itu, deteksi harus terlepas dari kondisi pencahayaan asing dan konten gambar dan video.

2.4.1 PreprocessingMenurut Stan Z.Li (2005, Handbook of Face recognition), Preprocessing adalah tahapan setelah Face Detection merupakan proses penentuan warna dasar dan pengkonversian warna pada gambar atau video. Memiliki beberapa proses dalam melakukan Preprocessing antar lain sebagai berikut :1. Skin Color Filtering

Gambar 2.1 : Gambar Asli (Kiri) Hasil (Kanan).Sumber : Stan Z.Li dan Anil K Jain (2005, Handbook of Face recognition)

2. Image Normalization

Gambar 2.2 : Efek dari linear stretching dan histogram equalization (a) Original subwindow. (b) Linearly stretched. (c) Histogram equalized.Sumber : Stan Z.Li dan Anil K Jain (2005, Handbook of Face recognition)

3. Gaussian Mixture Modeling

Gambar 2.3 : Efek dari illumination correction.(a) Original image subwindow I. (b) Best illumination plane I`. (c) Difference image I``.Sumber : Stan Z.Li dan Anil K Jain (2005, Handbook of Face recognition)

Gambar 2.4 : (a) Centroid images of six face clusters.(b) dan six nonface clusters.Sumber : Stan Z.Li dan Anil K Jain (2005, Handbook of Face recognition)

2.4.2 Neural Networks and Kernel Base MethodsMenurut Stan Z.Li (2005, Handbook of Face recognition), Neural Networks and Kernel Base Methods adalah klasifikasi nonlinear untuk deteksi wajah. Dengan classifier aplikasi untuk melatih langsung menggunakan preprocessed dan normalisasi wajah dan nonface dengan pelatihan subwindows. Tingkat peta blok piksel pertama ke hidden unit. Ada 4 blok dari 10 10 piksel, 16 blok dari 5 5 pixel, dan 6 tumpang tindih horisontal garis dari 20 5 piksel. Lalu setiap blok di input ke jaringan saraf yang sepenuhnya terhubung dan dipetakan ke unit tersembunyi. 26 unit tersembunyi kemudian dipetakan ke hasil akhir yang mempunyai output nilai-tunggal, dan unit dan keputusan akhir dibuat untuk mengklasifikasikan subwindow 20 20 ke wajah atau nonface.

2.4.3 AdaBoots-Based MethodsMenurut Stan Z.Li (2005, Handbook of Face recognition), AdaBoots-Base Methods adalah klasifikasi kompleks nonlinear untuk deteksi wajah. Dengan rumus seperti berikut :

HM (x) sebagai konsturksi kombinasi dari linear yang sederhana dimana x adalah pola untuk mengklasifikasikan sebuah M dengan mencari koefisien R dan

Gambar 2.5 : Float Boost (Ada Boots) algorithm.Sumber : Stan Z.Li dan Anil K Jain (2005, Handbook of Face recognition)

dan penghitungan selanjutnya hingga mendapat hasil mengklasifikasi gambar atau video wajah atau nonface.

2.4.4 Tahapan Pengklasifikasian AdaBoots-Based MethodsMenurut Stan Z.Li (2005, Handbook of Face recognition), AdaBoots-Base Methods memiliki beberapa tahapan pengklasifikasian adalah sebagai berikut :1. Haar-like Features2. Constructing Weak Classifiers3. Boosted Strong Classifier4. FloatBoost Learning 5. Cascade of Strong Classifiers

2.4.5 Dealing with Head RotationsMenurut Stan Z.Li (2005, Handbook of Face recognition), deteksi kamera dapat menggunakan berbagai sisi dari wajah penggunanya.

Gambar 2.6 : Kiri : Miring -30 derajat ,Tengah 0 , Kanan +30 Sumber : Stan Z.Li dan Anil K Jain (2005, Handbook of Face recognition)

Gambar 2.7 : Piramid Pendeteksi kemiringan gambarSumber : Stan Z.Li dan Anil K Jain (2005, Handbook of Face recognition) Gambar 2.8 : Letak Posisi wajah berdasarkan sudut kemiringanSumber : Stan Z.Li dan Anil K Jain (2005, Handbook of Face recognition)

2.4.6 Post ProcessingMenurut Stan Z.Li (2005, Handbook of Face recognition), Pada satu wajah dapat dilakukan beberapa kali pendeteksian bergantung kepada kondisi lebar wajah terang gelap cahaya , dan lokasi pengambilan Gambar 2.9 : Merging Multiple DetectionSumber : Stan Z.Li dan Anil K Jain (2005, Handbook of Face recognition)

2.4.7 Performance EvaluationMenurut Stan Z.Li (2005, Handbook of Face recognition), Hasil dari pendeteksian wajah adalah pengklasifikasian antara dua tipe klasifikasi yaitu face atau non face untuk mengetahui bahwa klasifikasi ini bekerja ambil contoh dari tempat lokasi cahaya yang berbeda.

Gambar 2.10 : Hasil pendeteksian wajah dari depanSumber : Stan Z.Li dan Anil K Jain (2005, Handbook of Face recognition)

Gambar 2.11 : Hasil pendeteksian wajah Multiple Detection Sumber : Stan Z.Li dan Anil K Jain (2005,Handbook of Face recognition)

2.5 Pengertian AndroidMenurut Ir. Yuniar Supardi (2011) Android merupakan sistem operasi perangkat mobile berbasis linux yang mencangkup sistem operasi, middleware, dan aplikasi. Adapun beberapa pengertian lain dari Android adalah:1. Merupakan platform terbuka (open source) bagi para pengembang (programmer) untuk membuat aplikasi.2. Merupakan sistem operasi yang dibeli Google Inc dari Android inc.3. Bukan bahasa pemerograman akan tetapi hanya menyediakan lingkungan hidup atau run time inforenment yang disebut Dalvik Virtual Machine yang telah dioptimalisasi untuk dugunakan dengan sistem memori yang kecil. Versi AndroidMenurut Ir. Yimiar Supardi (2011) Adapun versi-versi Android yang pemah dirilis adalah sebagai berikut:

5. Android versi 2.2 (Froyo: Frozen Yoghurt)Pada bulan Mei 2010 Android versi 2.2 Rev 1 diluncurkan.Android inilah yang sekarang sangat banyak beredar di pasaran, salah satunya adalah dipakai di Samsung FX tab yang sudah ada di pasaran.

6. Android versi 2.3 (Gingerbread)Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan. Perubahan-pembaruan umum yang didapat dari Android versi ini antara lain peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste, layar antar muka (User Interface) didesain ulang, dukungan Format video VP8 dan WebM, efek audio baru (reverb, equalization, headphone visualization, dan bass boost), dukungan kemampuan Near Field Communication (NFC), dan dukungan jumlah kamera yang lebih dari satu.

8. Android Versi 4,0 (ICS : Ice Cream Sandwitch)Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Honeycomb untuk smartphone dan menambahkan fltur baru termasuk membuka kunci dengan pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, terpadu kontak jaringan sosial, perangkat tambahan fotografi, mencari email secara offline, dan berbagi informasi dengan menggunakan NFC.

2.5.1 Android Software Development KitSoftware Development Kit atau lebih sering di sebut SDK pada lingkungan Android memiliki nomer Application programming interface atau API berikut adalah nomer API pada masing-masing SDK :1. Android 1.5 (API 3)2. Android 1.6 (API 4)3. Android 2.1 (API 7)4. Android 2.2 (API 8)5. Android 2.3 (API 9)6. Android 3.0 (API 10)7. Android 4.0 (API 14)

2.5.2 Android Native Development KitNative Development Kit atau lebih sering di sebut NDK merupakan alat pembantu pengembangan dengan menggunakan bahasa C/C++ pada lingkungan pengembangan Android dengan menggunakan cywign library NDK dapat digunakan dalam pengembangan aplikasi Android .2.5.3 Java Development Kit (JDK) Java Development Kit (JDK) merupakan perangkat aplikasi yang digunakan untuk mengembangkan program dengan bahasa java. didalamnya terdapat tiga komponen utama, yaitu java API, Java Virtual Machine, dan Java Compiler, JDK merupakan perangkat minimal yang harus dimiliki oleh pemerograman java.2.5.4 Android Development ToolsMenurut Android Developer (2012) Android menyediakan Eclipse plugin yang disebut ADT untuk membuat program dan debugging lebih mudah. ADT ini menyediakan akses mudah ke LogCat itu, Android-Manifest / Resource-Editor, File, Thread, dan Heap Control, panggilan masuk/ sms simulasi. Dalam ADT telah dipaketkan emulator standar sehingga pengguna bisa langsung meiihat hasil dari program yang dibuat tanpa perlu terlebih dahulu menginstall aplikasi yang dibuat ke dalam perangkat yang sebenarnya. 2.5.5 EclipseEclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dalam berbagai bahasa misal : Java , XML , PHP , C/C++ dan bahasa pemrograman lainnya dan dapat berjalan pada berbagai macam sistem operasi komputer misal : Windows , OS X , dan Linux.

2.6 Agile ProcessMenurut Roger Pressman (2004 , Software Engineering: A Practitioner's Approach) agility adalah dinamis , spesifik , merangkul dan berkembang . Agile process adalah sebuah alat pengembang yang digunakan untuk mengembangakan proyek perangkat lunak dengan karakter proyek yang dinamis , spesifik , merangkul banyak pihak dan akan terus berkembang.2.6.1 Extreme Programming (XP)Extreme Programming atau XP merupakan salah satu model dari agile process mengembangkan konsep Keep It Simple atau KIS dengan menerapkan empat tahap model dalam penggunaanny yaitu :1. Planning atau proses perencanaan menggunakan User Stories sebagai dasar perencanaan pelaksanaan lalu dilakukan perencanaan Values perencanaan nilai nilai penting yang akan di kembangkan terlebih dahulu , Lalu Acceptance test criteria pencocokan kriteria nilai lalu tahap terakhir dari Planning yaitu Iteration plan.2. Design atau proses penggambaran dimulai dengan tahap Simple Design lalu CRC Cards design sebagai tahapan akhir dari Design

3. Coding atau proses pengerjaan dimulai dari membuat kode pemrograman atau Pair programming lalu membuat kode yang sifatnya bekelangsungan atau Continuous integration4. Test atau tahap percobaan dimulai dari percobaan pada pair programming atau Unit test lalu percobaan hasil yang telah di coba pada Unit test atau disebut Acceptance testing ketika semua telah selesai maka akan melakukan Release.