Wednesday, January 16, 2019

Quis System Testing


1.       Apa yang dimaksud dengan istilah berikut:
a.       Data test
b.       Test case
c.       Path test
2.       Apa pengertian data flow testing dan istilah-istilah yang ada pada dataflow testing
3.       Dari program dibawah ini buatlah:
a.       Cyclomatic complexity dan independent path
b.       DU-path untuk grade

public class Grade {
public static void main( String[] args ) {
double grade = input;
 if( grade >= 90 )
{
System.out.println( "Excellent!, your grade :"+grade );
 }
else if( (grade < 90) && (grade >= 80))
{
 System.out.println("Good job! Your grade :" +grade );
} else if( (grade < 80) && (grade >= 60))
{
System.out.println("Study harder! Your grade :"+grade );
}
Else
{
System.out.println("Sorry, you failed.");
}
}
}

Wednesday, January 9, 2019

Pengenalan Wajah dengan Backpopagation dan Viola-Jones

Autor:  Emil Fitranshah dan Sayuti Rahman
3.1       Analisis Sistem
Pada bab ini akan dibahas analisis terhadap metode yang akan digunakan dalam pembangunan sistem pengenalan wajah dengan menggunakan algoritma backpropagation. Analisis akan dilakukan pada tiap-tiap metode yang akan digunakan dalam proses pengenalan wajah. Prosedur dari tiap metode akan dirancang dan dianalisis sehingga dapat dijadikan acuan untuk mebangun sistem berdasarkan hasil dari analisis tersebut.
Dalam penelitian ini yang akan dianalisis adalah tahapan membangun aplikasi pengenalan wajah dengan menggunakan algoritma backpropagation dan bahasan mengenai teknik pengenalan yang akan digunakan yaitu sebagai preprocesing adalah face detection, mean filter, grayscale, tresholding, dan mengukur titik – titik fitur wajah dengan metode euclidean distance

3.2       Analisis Prosedur Pengenalan Wajah
Pengenalan wajah merupakan proses mengenali fitur – fitur pada wajah. Dalam prosesnya pengenalan wajah dilakukan dengan menggunakan pengolahan pada citra digital yang akan diuji. Untuk dapat memperoleh informasi atau fitur wajah maka diperlukan beberapan metode yang saling melengkapi dalam prosesnya dan diperlukan urutan atau tahap-tahap yang tepat dalam penerapannya.
Pada penelitian ini analisis dilakukan untuk menentukan prosedur atau tahapan dalam proses pengenalan wajah. Prosedur atau tahapan dalam proses pengenalan wajah terdiri dari beberapa tahapan yaitu:
 Gambar 3.1. Analisis Prosedur Pengenalan Wajah

Dapat dilihat bahwa proses pengenalan wajah pada penelitian ini diawali dengan penerapan proses deteksi wajah atau Face detection untuk mendeteksi bagian-bagian dari wajah kemudian dilanjutkan dengan tahapan grayscale, tahapan ini mengubah warna citra menjadi grayscale.
Proses dilanjutkan dengan filtering dengan mean filter pada citra wajah yang bertujuan untuk menghilangkan noise pada wajah. Setelah melakukan filtering maka akan dilanjutkan pada tahap menemukan fitur pada wajah.
Pada tahap ini gambar wajah yang telah difilter kemudian akan ditemukan bagian atau fitur-fitur wajah seperti mata, hidung, dan mulut. Setelah tahap ini selesai maka akan dilakukan tresholding pada fitur wajah, dimana fitur wajah akan menjadi hitam dan putih atau biasa disebut dengan citra biner yang bertujuan agar memudahkan dalam pengukuran fitur wajah. Setelah tahap ini selesai maka akan dilakukan pengukuran pada fitur wajah, hasil dari pengukuran tersebut nantinya akan menjadi input pada algoritma backpropagation.

3.2.1    Face Detection
Ini adalah tahap pertama dalam preprocessing untuk pengenalan wajah. Pada tahap ini aplikasi akan melakukan proses pendeteksian pada gambar yang telah dipilih atau dimasukkan sebelumnya.




Face detection ini dilakukan menggunakan metode viola–jones. Di dalam metode viola-jones terdapat tahapan – tahapan yang dilakukan dalam proses pendeteksian wajah.
Gambar 3.2. Analisis Prosedur Face Detection




 




Berikut ini merupakan penjelasan dari tahapan-tahapan yang ada dalam proses pendeteksian wajah pada metode Viola-Jones:
1.      Fitur Haar
Untuk mendeteksi adanya fitur wajah pada sebuah image, proses pertama yang dilakukan oleh metode viola-jones adalah dengan merubah image tersebut menjadi citra grayscale. Contohnya haar-like feature dapat dilihat pada gambar 3.3.
Gambar 3.3. Perubahan RGB ke Grayscale
Setelah citra image dirubah menjadi citra grayscale, proses selanjutnya yaitu memilih fitur haar yang ada pada image tersebut yang dalam metode viola-jones disebut dengan haar like feature. Teknik yang dilakukan yaitu dengan cara mengkotak-kotakkan setiap daerah pada image dari mulai ujung kiri atas sampai kanan bawah. Proses ini dilakukan untuk mencari apakah ada fitur wajah pada area tersebut. Dalam metode viola-jones, ada beberapa jenis fitur yang bisa digunakan seperti edge-feature, line feature, dan four-rectangle feature. Pada proses pemilihan fitur haar, fitur-fitur tersebut digunakan untuk mencari fitur wajah seperti mata, hidung, dan mulut. Pada setiap kotak-kotak fitur tersebut terdiri dari beberapa pixel dan akan dihitung selisih antara nilai pixel pada kotak terang dengan nilai pixel pada kotak gelap. Apabila nilai selisih antara daerah terang dengan daerah gelap di atas nilai ambang (threshold), maka daerah tersebut dinyatakan memiliki fitur. Proses pemilihan fitur dapat dilihat pada gambar 3.4.

Gambar 3.4.
Haar Like Feature

Untuk mendapatkan hasil dari kotak hitam dan putih adalah dengan rumusan sebagai berikut:
              F = W – B
keterangan :
F =  Feature Haar Like
W = Area yang berada pada pixel putih
            B = Area yang berada pada pixel hitam



Bahasan Selanjutnya

Greyscale
Mean Filter
Fitur Wajah
Tresholding
Jarak Fitur
Backpropagation
Pencocokan

Noise Gaussian


Gaussian noise merupaka noise yang sangat dikenal dikarnakan  persamaan matematika yang fleksibel dan sangat popolar digunakan oleh kalangan peneliti. Fungsi distribusi probabilitas (PDF) model gaussian dapat di ekspresikan sebagai berikut(Zhou, Wu, & Zhang, 2010):



Dimana:
S adalah nilai gray level
 adalah nilai rata-rata dari gray level
 adalah Standard Deviasi
Pebedaan antara sinyal citra dengan nilai rata-rata disebut anti-proporsional terhadap nilai probabilitas.
Noise gaussian dapat dibangkitkan dengan cara membangkitkan bilangan distribusi gauissian yang memiliki nilai 0 sampai dengan1. Kemudian untuk titik-titik yang terkena noise, nilai fungsi citra ditambahkan dengan nilai noise yang ada, atau dirumuskan dengan:
            f0(x,y) = fi(x,y) + a
            Dimana:          a = Fungsi distribusi probabilitas Gaussian
                                    f0(x,y) = Citra terkena noise
                                    fi(x,y) = Citra sebelum terkena noise

berikut perhitungan manual distribusi noise Gaussian:
40
40
200
30
30
20
30
40
150
10
20
30
20
30
30
40
Gambar 4.2 Contoh Matrik Citra 
Gambar 4.2  merupakan contoh pixel yang akan diberi noise Gaussian. Dari matrik citra dicari terlebih dahulu nilai rata-rata atau mean dari seluruh matrik yaitu 47,5dan nilai standard deviasi 58,3. Untuk mencari nilai standard deviasi dapat menggunakan tools seperti STDEV() pada MS excel atau std() pada Matlab. Untuk hitung manual silahkan baca referensi tentang standard deviasi.Dapat kita hitung untuk nilai derajat keabuan 40 dan 200 sebagai berikut:


Hasil dari perhitungan distribusi noise Gaussian menggunakan rumus fungsi distribusi probabilitas pada matrik citra gambar 4.1.dapat dilihat pada gambar 4.2 berikut:
0,037
0,037
0,001
0,035
0,035
0,033
0,035
0,037
0,008
0,03
0,033
0,035
0,033
0,035
0,035
0,037
Gambar 4.3 Hasil Distribusi Noise Gaussian

Gambar 4.1 merupakan nilai intensitas citra mempunyai rentang nilai dari 0 sampai 255 sedangkan gambar 4.3 merupakan distribusi Gaussian mempunyai rentang nilai 0 sampai 1. Untuk menjumlahkan citra dengan noise harus memiliki nilai dengan derajat yang sama. Oleh karena itu, nilai hasil distribusi noise Gaussian diubah kedalam bentuk nilai citra dengan dikalikan nilai 255, seperti terlihat pada gambar berikut:

Gambar 4.4 Hasil Penyesuaian Nilai (a) dan Pembulatan
 Nilai (b) Noise Gaussian

Berikut hasil pemberian noise Gaussian pada citra :


Maka keseluruhan hasil dapat terlihat pada gambar berikut.


Gambar 4. 5 Hasil pemberian Noise Gaussian Pada Citra

Gambar 4.5 menunjukan hasil dari pemberian noise pada citra. Dapat disimpulkan bahwa nilai intensitas citra yang mendekati dengan nilai mean akan mendapatkan noise yang lebih besar dibanding dengan yang memiliki nilai jarak yang jauh. Namun, jika anda menggunakan fungsi matlab akan mendapatkan hasil yang berbeda karena matlab menggunakan rumus:




Atau
b = a + sqrt(p4)*randn(sizeA) + p3;
dimana:
b adalah citra yang diberi noise
a adalah citra asli
p4 adalah standard deviasi, dan
p3 adalah mean level keabuan

Contoh citra yang diberi noise gaussian: