• Tidak ada hasil yang ditemukan

BAB III ANALISIS DAN PERANCANGAN. Langkah-langkah yang diuraikan dalam tahapan analisis ini terdiri dari analisis

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III ANALISIS DAN PERANCANGAN. Langkah-langkah yang diuraikan dalam tahapan analisis ini terdiri dari analisis"

Copied!
20
0
0

Teks penuh

(1)

39

ANALISIS DAN PERANCANGAN

Pada bab 3 ini akan dijelaskan analisis dan perancangan aplikasi yang akan dikembangkan.

3.1Analisis

Langkah-langkah yang diuraikan dalam tahapan analisis ini terdiri dari analisis fungsional dan analisis kebutuhan software dan hardware.

3.1.1 Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional merupakan pemaparan mengenai fitur-fitur yang terdapat pada aplikasi pengenalan wajah ini. Tabel 3.1 merupakan deskripsi kebutuhan fungsional dari pembuatan aplikasi pengenalan wajah.

Tabel 3.1 Tabel Kebutuhan Fungsional

No Kode_Req Nama Proses Kegunaan

1 Req_1 Mengambil Citra

Pelatihan

Menyimpan citra untuk pelatihan sebagai bahan pembanding untuk melakukan pengenalan wajah

2 Req_2 Melakukan pengenalan wajah

Mengenali profil pemilik wajah yang diambil

(2)

3.1.2 Analisis Kebutuhan

Dalam pembuatan aplikasi ini dibutuhkan aspek pendukung, yaitu perangkat keras (hardware) dan perangkat lunak (software) seperti berikut ini.

A. Perangkat Keras (Hardware)

Perangkat keras merupakan seluruh komponen atau unsur peralatan yang digunakan sebagai penunjang pembangunan suatu sistem. Adapun spesifikasi minimum perangkat keras yang diperlukan meliputi :

1. Kompatibel dengan Pentium(R) Dual-Core CPU

2. Space harddisk yang diperlukan minimal 500 MB (diluar JDK dan Eclipse). 3. RAM minimal 1GB.

B. Perangkat Lunak (Software)

Analisis perangkat lunak cenderung lebih menekankan kepada aspek pemanfaatan sumber daya (software). Spesifikasi perangkat lunak yang diperlukan untuk membangun aplikasi belajar integral berbasis Android diantaranya:

1. Sistem Operasi yang dapat digunakan untuk menjalankan program Android, yaitu : Windows XP (32 bit)/ Windows Vista (32 atau 64 bit)/ Windows 7 (32 atau 64 bit), Mac OS X 10.5.8 atau yang lebih tinggi, Linux.

2. Java Development Kit (JDK)

JDK dibutuhkan karena Android merupakan bahasa yang berbasis Java. Versi minimum yang dianjurkan yaitu JDK 5 atau JDK 6. Java Runtime Environment

(3)

3. Eclipse 3.6 (Helios)

Ada beberapa versi Eclipse yang beredar saat ini, namun untuk keperluan pemrograman Android yang dibutuhkan yaitu Eclipse Helios atau versi yang lebih baru.

4. Android SDK Tools

Android SDK ini komponen utama untuk pemrograman Android yang harus ada. 5. ADT Plugin untuk Eclipse

ADT Plugin merupakan salah satu contoh plugin yang dikembangkan Google agar Eclipse bisa menggunakan Android SDK.

6. OpenCV

OpenCV digunakan sebagai library dalam pengolahan citra digital. 7. JavaCV

JavaCV merupakan wrapper untuk pustaka-pustaka yang umum digunakan untuk fungsi real time computer cision yang terdapat pada aplikasi OpenCV, FFmpeg, libdcl394, PGR FlyCapture, OpenKinect, CIdeoInput, dan ARToolKitPlus.

8. StarUML version 5.0.2.1570

Digunakan untuk melakukan analisis dan perancangan terhadap sistem yang akan dibangun.

(4)

3.2Perancangan

Bagian perancangan ini akan menjelaskan mengenai rancangan algoritma, rancangan modul pengenalan wajahbeserta cara kerja program yang dihubungkan.

3.2.1 Perancangan Algoritma

1. Konversi Citra Grayscale

Gambar 3.1 merupakan pseude code dari konversi citra ke grayscale (abu-abu).

GS_RED = 0.299 : integer GS_GREEN = 0.587 : integer GS_BLUE = 0.144 : integer R ,G,B : interger

x : interger ( indeks baris) y : ingerger (indeks kolom) width : interger ( lebar gambar) height : interger (panjang gambar) for x 0 to width do for y 0 to height do pixel = getPixe(x,y) R = color.red (pixel ) G = color.greed (pixel ) B = color.blue (pixel )

pixel grey = (GS_RED * R + GS_GREEN * G + GS_BLUE *B) endfor

endfor

Gambar 3.1Pseude code Konversi Citra Grayscale

Pada proses Gambar 3.1, potongan citra berwarna akan diubah menjadi citra abu-abu (grayscal). Proses citra ke bentuk grayscal dilakuakn dengan mengambil

pixel dari suatu citra yang kemudin dihitung dengen menggunakan persamaan :

(5)

2. Menentukan Nilai Biner

Gambar 3.2 merupakan pseudo code menentukan nilai biner untuk mencari nilai

threshold.

Pixel : integer

X=0 : integer ( indeks baris) Y=0 : integer (indeks kolom) width : integer ( lebar gambar) height : integer (panjang gambar) for x to width do

Pixel = getPixe(x,y) Gysclae = (Pixel ) If(Gysclae < threshold) Gysclae = 0 (warna hitam) Else

Gysclae = 1 (warna putih) Endif

Endfor Endfor

Gambar 3.2Pseude code threshold biner

Pada proses Gambar 3.2, citra grayscal yang dihasilkan dari proses sebelumnya akan dirubah menjadi sebuah citra biner, yaitu citra hanya memiliki dua buah tingkan keabuan yaitu hitam dan putih. Proses penentuan pemberian tingkatan warna hitam atau putih, ditentukan berdasarkan nilai threshold.

(6)

3. Mencari Nilai Local Binary Pattern Histogram

Contoh komputasi LBP pada 3x3 pixel :

Example thresholded weights

Pattern = 11110001

LBP = 1+16+32+64+128= 241

Gambar 3.3 merupakan pseudo code mencari nilai LBP. i = integer

j = integer

template <typename _Tp>

void lbp::OLBP_(const Mat& src, Mat& dst) {

dst = Mat::zeros(src.rows-2, src.cols-2, CV_8UC1); for(int i=1;i<src.rows-1;i++) {

for(int j=1;j<src.cols-1;j++) { _Tp center = src.at<_Tp>(i,j); unsigned char code = 0;

code |= (src.at<_Tp>(i-1,j-1) > center) << 7; code |= (src.at<_Tp>(i-1,j) > center) << 6; code |= (src.at<_Tp>(i-1,j+1) > center) << 5; code |= (src.at<_Tp>(i,j+1) > center) << 4; code |= (src.at<_Tp>(i+1,j+1) > center) << 3; code |= (src.at<_Tp>(i+1,j) > center) << 2; code |= (src.at<_Tp>(i+1,j-1) > center) << 1; code |= (src.at<_Tp>(i,j-1) > center) << 0; dst.at<unsigned char>(i-1,j-1) = code; }

} }

Gambar 3.3Pseude code LBP

6 5 2 7 6 1 9 8 7 1 0 0 1 0 1 1 1 1 2 4 128 8 64 32 16

(7)

3.2.2 Arsitektur Sistem

Arsitektur sistem adalah istilah untuk menyatakan bagaimana mendefinisikan komponen-komponen yang lebih spesifik secara terstruktur. Pada Gambar 3.4 menjelaskan bagaimana secara detail komponen-komponen bekerja untuk mendukung sistem supaya berjalan dengan baik.

Gambar 3.4 Arsitektur Sistem Aplikasi Pengenalan Wajah

Proses Matching user Aplikasi

(8)

3.2.3 Arsitektur Aplikasi

Arsitektur program merupakan gambaran dari sistem yang dibuat. Gambar 3.5 merupakan arsitektur aplikasi pengenalan wajah berbasis android.

Gambar 3.5 Arsitektur Aplikasi

Dari Gambar 3.5 dapat dilihat bahwa aplikasi ini dibangun untuk aplikasi

mobile android. Aplikasi ini memanfaatkan library opencv dimana opencv ini merupakan library untuk pengolahan citra digital. Bahasa pemrograman yang digunakan yakni java dan menggunakan metode LBPH (Local Binary Pattern Histrogram) untuk identifikasi citra itu sendiri.

3.2.4 Flowchart Aplikasi

Flowchart adalah suatu bagan dengan simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.

(9)

1. Flowchart Mengambil Citra Trainning

Gambar 3.6 merupakan flowchart untuk mengambil citra training.

Gambar 3.6 Flowchart Mengambil Citra Trainning

Mulai

Masukan nama,nim,ttl

Wajah terdeteksi ? Deteksi wajah secara real time

SELESAI Hadapkan kamera pada wajah

Konversi citra ke

grayscale Equalize histogram

Ulangi ambil citra ? Simpan file

Citra Training Generate file Yes No No Yes

(10)

2. Flowchart Aplikasi Melakukan Pengenalan Wajah

Gambar 3.7 merupakan flowchart untuk melakukan pengenalan wajah.

Gambar 3.7 Flowchart Melakukan Pengenalan Wajah

mulai Pilih button mencari

Hadapkan kamera pada wajah Deteksi wajah secara real time Wajah terdeteksi ? Wajah dikenali ? Tampil nama, nim, ttl Cari lagi ? SELESAI Yes Yes No No Yes No

(11)

3.2.5 Diagram-Diagram Unified Modeling Language (UML)

Pada bagian ini akan dijelaskan mengenai Unified Modelling Language

(UML) yang merupakan sebuah metode untuk mendeskripsikan desain dari perangkat lunak.

1. Use Case Diagram

Use case diagram akan memberikan penjelasan secara fungsional mengenai sistem yang dirancang dan dikembangkan dan juga menjelaskan proses-proses yang dapat dilakukan oleh pengguna dilihat dari sudut pandang si pengguna itu sendiri.

Gambar 3.8 merupakan use case diagram aplikasi pengenalan wajah untuk pencarian profil mahasiswa.

Gambar 3.8 Use case Diagram Aplikasi Pengenalan Wajah

Diagram diatas terdiri dari 1 aktor dan 3 use case. Di dalam diagram ini terdapat sebuah include yang menunjukan bahwa use case tersebut merupakan bagian dari use case tertentu.

System

user

mengambil citra pelatihan

mengisi informasi citra

melakukan pengenalan wajah <<include>>

(12)

Alur ini dimulai ketika user mulai menjalankan aplikasi face recognition. Pertama setelah user membuka aplikasi, sistem akan menampilkan dua buah menu. Menu untuk menyimpan citra pelatihan dan menu untuk melakukan pengenalan wajah. Setelah menyimpan citra pelatihan, sistem akan menampilkan form data identitas, dan user diminta untuk mengisi data tersebut.

2. Use Case Scenario

Use case scenario digunakan untuk menjelaskan dari gambaran use case yang ada dengan menggambarkan identifikasinya dan skenario per use case.

a. Use Case Scenario Mengambil Citra Pelatihan

Tabel 3.2 merupakan skenario dari use case mengambil citra pelatihan yang akanmenjelaskan alur proses bagi user yang akan melakukan pengenalan wajah.

Tabel 3.2 Use Case Scenario Mengambil Citra Pelatihan

IDENTIFIKASI

No UCS01

Nama Mengambil citra pelatihan

Tujuan Untuk menyimpan citra

Deskripsi Proses ini sistem akan menampilkan kamera dan form data.

IDENTIFIKASI

Aktor User

SKENARIO UTAMA

Kondisi Awal Tampilan menu awal aplikasi

Aksi Aktor Reaksi Sistem

1. User memilih menu mengambil citra pelatihan

2. Menampilkan kamera dan form isi data 3. Mengisi data citra yang

akan disimpan

4. Menghadapkan citra pada kamera

5. Mendeteksi area wajah 6. Memilih button simpan 7. Menyimpan data ke database

(13)

b. Use Case Scenario Melakukan Pengenalan Wajah

Tabel 3.3 merupakan skenario dari use case melakukan pengenalan wajah.

Tabel 3.3 Use Case Scenario Melakukan Pengenalan Wajah

IDENTIFIKASI

No UCS02

Nama Melakukan Pengenalan Wajah

Tujuan Mendapatkan informasi dari citra yang diambil

Deskripsi

Proses ini sistem akan menampilkan kemera dan user menghadapkan kamera pada wajah yang ingin dikenali. Secara otomatis sistem akan mendeteksi area wajah lalu mengecek wajah tadi dengan database.

Aktor User

SKENARIO UTAMA

Kondisi Awal Tampilan menu awal aplikasi

Aksi Aktor Reaksi Sistem

1. User memilih menu pengenalan wajah

2. Sistem akan menampilkan kamera

3. User menghadapkan kamera ke area wajah

4. Sistem melakukan deteksi sekaligus pengecekan citra dengan citra pelatihan ke database

5. Apabila terkenali oleh sistem, sistem akan menampilkan informasi citra yang dikenali

6. Mendapat informasi dari citra yang diambil

3. Activity Diagram

Activity diagram digunakan untuk menjelaskan alur kerja operasional secara

step-by-step dari komponen suatu sistem. Activity diagram menunjukan kesuluruhan dari aliran kontrol.

(14)

3.1 Activity Diagram Untuk Mengambil Citra Pelatihan

Gambar 3.9 merupakan activity diagram untuk mengambil citra pelatihan.

Gambar 3.9Activity diagram Menyimpan Citra Pelatihan

Berdasarkan Gambar 3.9, dapat dilihat bahwa alur aplikasi dimulai ketika

user memulai membuka aplikasi dan selanjutnya memilih menu ambil citra pelatihan.Setelah itu sistem akan menampilkan kamera dan form data yang harus diisi oleh user. Sebelum mengambil gambar, user harus mengisi data terlebih dahulu, kemudian mengarahkan kamera ke area wajah. Secara otomatis sistem akan memdeteksi area wajah. Setelah terdedeksi, user kemudian memilih button simpan. Dan sistem akan menyimpan gambar dan data ke database.

user sistem

membuka aplikasi menampilkan halaman utama aplikasi

memilih menu ambil citra pelatihan

mengambil citra

mengisi form identitas

melakukan deteksi area wajah

menampilkan form identitas

memilih tombol simpan menyimpan data

memilih tombol simpan citra

(15)

3.2 Activity Diagram Untuk Melakukan Pengenalan Wajah

Gambar 3.10 merupakan activity diagram untuk mengambil citra pelatihan.

Gambar 3.10Activity Diagram Melakukan Pengenlan Wajah

Dari Gambar 3.10 dapat dijelaskan bahwa proses pencarian profil mahasiswa ini dimulai ketika user memilih menu pengenalan wajah. Kemudian sistem akan menampilkan kamera. Lalu user menghadapkan kamera ke area wajah orang yang ingin dikenali. Secara otomatis sistem akan melakukan deteksi sekaligus memproses area wajah yang terdeteksi tadi untuk mencocokan ke databse. Apabila dikenali, maka sistem akan menampilkan informasi pemilik wajah yang ingin dikenali tadi.

user sistem

membuka aplikasi menampilkan halaman utama aplikasi

memilih menu pengenalan wajah

mengambil citra mendeteksi area wajah

melakukan pengecekan dengan database

mendapat informasi citra menampilkan informasi citra menampilkan kamera

Ya Tidak

(16)

4. Sequence Diagram

Sequence diagram mendeskripsikan bagaimana entitas dalam sistem berinteraksi, termasuk pesan yang digunakan saat interaksi. Semua pesan dideskripsikan dalam urutan dari eksekusi. Sequence diagram berhubungan erat dengan Use Case diagram, dimana 1 Use Case akan menjadi 1 Sequence Diagram.

4.1Sequence Diagram Mengambil Citra Pelatihan

Gambar 3.11 merupakan sequence diagram pada saat user memilih login. Proses ini menggambarkan gambaran detail dari use case mengambil citra pelatihan.

Gambar 3.11 Sequence Diagram Mengambil Citra Pelatihan

Adapun proses yang terjadi pada diagram yang digambarkan pada Gambar 3.7 yakni pemilihan menu untuk mengambil citra pelatihan. Prosesnya nanti sistem akan menampilkan kamera dan form isian yang harus diisi oleh user sebagai informasi dari

Frame1

sd

user sistem database

1 : membuka aplikasi()

2 : menampilkan aplikasi()

3 : pilih menu input citra()

4 : menampilkan kamera dan form data()

5 : menghadapkan wajah ke kamera dan mengisi data()

6 : pilih menu simpan()

(17)

citra yang akan disimpan. Setelah itu sistem akan mengirim data ke database. Database di sini dalam bentuk folder.

4.2Sequence Diagram Melakukan Pengenalan Wajah

Gambar 3.12 merupakan sequence diagram pada saat user memilih melakukan pengenlan wajah. Proses ini menggambarkan gambaran detail dari use case melakukan pengenlan wajah.

Gambar 3.12 Sequence Diagram Melakukan Pengenalan Wajah

Adapun proses yang terjadi pada diagram yang digambarkan pada Gambar 3.8 yakni pemilihan menu untuk melakukan pengenenalan wajah. Prosesnya nanti sistem akan menampilkan kamera. Kemudian user menghadapkan kamera ke area wajah yang ingin dikenali. Sistem secara otomatis akan mendeteksi area wajah orang

Frame1

sd

user sistem database

1 : membuka aplikasi()

2 : menampilkan halam utama aplikasi() 3 : memilih menu FaceRec()

4 : menampilkan kamera()

5 : menghadapkan area wajah pada kamera()

6 : mendeteksi area wajah()

7 : mengecek wajah yang terdeteksi ke database()

8 : mengirim hasil pengenalan() 9 : menampilkan profil wajah()

(18)

tersebut sekaligus melakukan identifikasi dengan data wajah yang ada didatabase. Apabila teridentifikasi sistem akan menampilkan informasi orang yang ingin diketahui tadi.

5. Class Diagram

Class diagram digunakan untuk menampilkan kelas-kelas dan paket-paket di dalam sistem. Class diagram memberikan gambaran sistem secara statis dan relasi antar mereka. Biasanya, dibuat beberapa class diagram untuk sistem tunggal. Beberapa diagram akan menampilkan subset dari kelas-kelas dan relasinya. Dapat dibuat beberapa diagram sesuai dengan yang diinginkan untuk mendapatkan gambaran lengkap terhadap system yang dibangun. Gambar 3.13 merupakan class diagram aplikasi pengenalan wajah.

Gambar 3.13Class Diagram Aplikasi Pengenalan Wajah

labels

+mPath: String +thelist: ArrayList +add(String, int): void +get(int): String +get(String): int +isEmpty(): boolean +labels(String) +max(): int +Read(): void +Save(): void PersonRecognizer +faceRecognizer: FaceRecognizer +labelsFile(): labels +mPath(): String +mProb(): int = 999 +Attribute1 +add(Mat, String): void +getProb(): int +load(): void +train(): bolean +predict(Mat): String +canPredict(): boolean

+BitmapTolpllmage(Bitmap, inr, inr): lpiimage

FdActivity

+alimgs: ArrayList<Mat> = new ArrayList<Mat>() +buttonSearch: ToggleButton +mCascadeFile: File +bttonCatalog: Button +countImages: int = 0 +mCascadeFile: File +mFrontCam: MenuItem +mDetectorName: String +mDetectorType: int = JAVA_DETECTOR +mJavaDetector: CascadeClassifier +labelsFile: labels +mGray: Mat +mEigen: MenuItem +mOpenCcCameraView: Tutorial3View +nBackCam: MenuItem +textState: TextView +textresult3: TextView +textresult2: TextView +textresult: TextView +text3: EditText +text2: EditText +text: EditText +FdActivity() +grabarOnClick(): void +onCameraFrame(CvCameraViewFrame): Mat +onCameraViewStarted(int, int): void +onCreateViewStoppes(): void +onCreate(Bundle): void +onCreateOptionsMenu(Menu): boleean +onDestroy(): void +onPause(): void +onResume(): void +setDetectorType(int): void +setMinFaceSize(float): void ImageGallery +bmlist: Bitmap( +buttonDel: Button +bttonBack: ImageButton +count: int = 0 +g: Gallery +mPath: STring = "" +mSwitcher: ImageSwitcher +name: TextView +namelist: STring ( +thelabels: label +makeView(): View +onCreate(Bundle): void

+onItemSelected(adapterView<?>, View, int, long): void +onNotingSelected(Adapter<?>): void

(19)

Dari gambar 3.13 dapat dilihat jika aplikasi ini memiliki 4 class inti, yaitu class labels, class PersonRecognizer, class FdActivity dan class gallery.

3.3Perancangan Antarmuka ( Interface )

Dalam bagian ini akan menunjukan perancangan antarmuka dari setiap form pada aplikasi face recognition untuk pencarian image profile facebook.

1. Antarmuka Halaman Utama Aplikasi

Gambar 3.13 merupakan antarmuka halaman utama dari aplikasi pengenalan wajah ini.

Gambar 3.14 Antarmuka Halaman Utama Aplikasi

Adapun untuk penjelasan mengenai gambar 3. Sebagai berikut : 1. Button Galeri

Button ini berfungsi untuk melihat trainning citra yang telah disimpan. 2. Button Trainning

Button ini berfungsi untuk mengambil trainning citra. 3. Button Rec

Button ini berfungsi untuk menyimpan trainning citra. 4. Button Kamera

(20)

2. Antarmuka Halaman Untuk Mengambil Citra Trainning

Gambar 3.15 merupakan antarmuka saat user memilih untuk mengambil citra trainning.

Gambar 3.15 Antarmuka Halaman Untuk Mengambil Citra Trainning

Berdasarkan Gambar 3.15 , sebelum mengambil citra trainning user harus mengisi form isian terlebih dahulu . Disana terdapat 3 form, yaitu form nama, nim , dan tanggal lahir. Setelah mengisi form dengan lengkap, user kemudian dapat mengambil citra.

3. Antarmuka Halaman Untuk Melakukan Pengenalan Wajah

Gambar 3.16 merupakan antarmuka saat user memilih untuk melakukan pengenalan wajah.

Gambar 3.16 Antarmuka Halaman Untuk Melakukan Pengenalan Wajah

Berdasarkan Gambar 3.16, hasil yang diperoleh ketika sistem berhasil mengidentifikasi citra yaitu nama, nim, dan tanggal lahir citra yang diambil oleh user.

Gambar

Tabel 3.1 Tabel Kebutuhan Fungsional
Gambar  3.1  merupakan  pseude  code  dari  konversi  citra  ke  grayscale  (abu- (abu-abu)
Gambar 3.2 merupakan  pseudo code menentukan nilai biner untuk mencari nilai  threshold
Gambar 3.3  merupakan pseudo code mencari nilai LBP.
+7

Referensi

Dokumen terkait

1. Banyak orang tidak setuju dengan adanya globalisasi, mereka beranggapan bahwa globalisasi merupakan....A. sistem perekonomian baru B. sistem kepemimpinan yang baru C. bentuk baru penjajahan dari negara lain D. bentuk kerja sama baru dalam

TUBAN IAIN Sunan Ampel Surabaya 12 M.. TUBAN IAIN Sunan

Jadi  dalam  proses  belajar  mengajar  seorang  guru  harus  mampu  memfasilitasi  siswanya  dalam  membangun  pengetahuannya  dengan 

Penerapannya pada pucuk tanaman handeuleum aksesi Bogor menimbulkan keragaman pada peubah pertumbuhan (tinggi tanaman, jumlah.. daun, panjang daun, dan lebar daun), peubah

Puji syukur ke hadirat Allah SWT atas segala rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan penyusunan Skripsi yang berjudul “Penyusunan Instrumen

Biaya dan pengeluaran yang dikeluarkan oleh masing-masing Pihak , jika ada , yang timbul karena atau berhubungan dengan lingkup atau kegiatan kerja sama dimaksud

Judul Penelitian : Gambaran Histopatologi Tumor Phyllodes Dengan Pulasan Van Gieson Di Laboratorium Patologi Anatomi Fakultas Kedokteran Universitas Sumatera Utara Dan Rumah Sakit