BAB III PERANCANGAN DAN PEMBUATAN SISTEM
|
|
- Siska Oesman
- 6 tahun lalu
- Tontonan:
Transkripsi
1 BAB III PERANCANGAN DAN PEMBUATAN SISTEM Pada bab III ini akan dijelaskan mengenai perancangan dan desain sistem yang dikerjakan dalam proyek akhir ini. Desain sistem ditujukan agar sistem yang dihasilkan mudah digunakan dan mudah dikembangkan, sehingga dapat menjadi aplikasi yang serba guna. 3.1 PERANCANGAN SISTEM Berdasarkan penjelasan dari bagian sebelumnya, penelitian tugas akhir ini bertujuan untuk melakukan pengenalan menampilkan gambar diatom dengan jarak kemiripan terdekat dengan gambar query. Desain sistem yang dibuat dalam penelitian ini merupakan aplikasi yang menerapkan CBIR (Content Based Image Retrieval). Permasalahan yang akan diselesaikan dalam penelitian ini adalah : - Pembentukan database fitur dan jenis diatom. - Pembentukan database gambar diatom. - Ekstraksi fitur dari gambar diatom yang berupa fitur tekstur. - Image Matching, untuk mencari nilai kedekatan fitur gambar. Dalam menyelesaikan permasalahan tersebut diatas, dalam mengembangkan desain sistem ini penulis merencanakan beberapa tahapan dalam membangun sistem ini, diagram sistem dapat dilihat pada gambar, yaitu : Data pendukung (Data Preparing) Dalam penelitian ini dibutuhkan beberapa data diantaranya : Database taksonomi diatom dan database gambar diatom. Ekstraksi fitur gambar (Feature Extraction) Dalam aplikasi CBIR proses ekstraksi fitur gambar merupakan bagian yang terpenting. Dalam penelitian ini fitur yang direpresentasikan adalah fitur tekstur. Dalam merepresentasikan fitur tekstur digunakan metode multi-resolution filtering, yaitu Filter Gabor. Pengukuran Kemiripan (Similarity Measurement) Nilai dari fitur gambar query yang dihasilkan dan nilai dari masing masing fitur gambar training yang telah disimpan dalam database akan dicari nilai kemiripannya. Nilai kemiripan ini akan dihitung dengan menggunakan metode Euclidean Distance. 15
2 Gambar 3.1 Diagram alur dari desain sistem Ekstraksi Fitur Tekstur Diatom. 3.2 PEMBUATAN SISTEM FILTERING Sistem yang dikembangkan penulis di sini merupakan penerapan ekstraksi fitur gambar, fitur yang digunakan adalah fitur tekstur. Ekstraksi fitur sendiri memegang peranan terpenting dalam pembangunan sistem ini. Ekstraksi fitur tekstur dilakukan dengan metode filter gabor. Pada bagian berikut akan dijelaskan bagamana penggunaan ekstraksi fitur tesebut Filter Gabor Diatom memiliki tekstur unik yang dapat digunakan sebagai pembeda antara diatom yang satu dengan diatom yang lain. Selain itu tekstur diatom dapat juga digunakan untuk mengidentifikasi tergolong genus apakah diatom tersebut. Untuk dapat menggunakan keseluruhan tekstur diatom, digunakan filter gabor dengan delapan arah sudut orientasi, yaitu 0 ο, ο, 45 o, 67.5 o, 90 o, o,135 o, o. Nilai yang digunakan dari fungsi Gabor adalah nilai real yang kemudian diubah ke dalam bentuk filter spasial berupa kernel Gabor. Ukuran kernel yang digunakan dalam tugas akhir ini adalah 17 x 17. Persamaan Gabor yang digunakan yaitu: 16
3 { G x,y,f,θ =exp 1 [ x'2 2 2 δ y' 2 ] 2 x δ cos 2π fx' (3.1) y x'=x sin θ+y cos θ, (3.2) y'=x cos θ y sin θ, (3.3) Nilai f diperoleh dari rata-rata frekuensi ridge (1/K) dimana K adalah rata-rata jarak antar ridge. δ x dan δ y secara empiris ditetapkan dengan nilai bekisar setengah dari rata-rata jarak antar ridge. Untuk θ merupakan sudut orientasi seperti yang disebutkan diatas. Langkah berikut ini untuk inisialisasi variabel sebelum digunakan pada fungsi GaborMask: 1. Lakukan inisialisasi nilai rata-rata jarak antar ridge. 2. Lakukan inisialisasi sudut orientasi. 3. Lakukan inisialisasi lebar kernel. 4. Lakukan inisialisasi frekuensi. 5. Lakukan inisialisasi luas spasial dan bandwidth dari filter. 6. Panggil fungsi masking dengan filter gabor. Implementasi dari penjelasan diatas dalam sistem ini dapat dilihat pada source code berikut: public GaborFilter(float sudut, int wsize, float K){ this.k = K;//inisialisasi nilai rata-rata jarak antar ridge this.sudut = sudut;//inisialisasi sudut orientasi this.wsize = wsize;//inisialisasi lebar kernel filter gabor this.f = (float)1/k;//inisialisasi frekuensi //inisialisasi luas spasial dan bandwidth dari this.s_x = (float)0.5*k; this.s_y = (float)0.5*k; GaborMask();//memanggil fungsi masking dengan filter Gambar 3.2 Fungsi GaborFilter Setelah kita mendefinisikan nilai frekuensi F dan mendapatkan nilai setengah dari rata-rata jarak antar ridge yaitu S_y dan S_x, Selanjutnya kita akan mencari nilai koordinat garis lurus yang dirotasi x1 dan y1, cara memperoleh koefisien ini dijelaskan dalam kode 17
4 program pada gambar 3.6, method getx1(float x, float y, float sudut), dan method gety1(float x, float y, float sudut) masing masing dipanggil untuk mendapatkan nilai koordinat garis x1 dan y1. Langkah berikut digunakan untuk mengambil nilai koordinat garis lurus yang dirotasi: 1. Untuk mendapatkan koordinat garis lurus yang dirotasi x1, kerjakan nomor Lakukan inisialisasi nilai sudut derajat ke radian. 3. Hitung nilai koordinat garis lurus yang dirotasi x1 dengan menghitung hasil kali x dengan sin theta. Kemudian hasilnya ditambah dengan perkalian y dengan cos theta. 4. Kembalikan nilai koordinat garis lurus x1 yang dirotasi pada fungsi yang memanggilnya. 5. Untuk mendapatkan koordinat garis lurus yang dirotasi y1, kerjakan nomor Lakukan inisialisasi nilai sudut derajat ke radian. 7. Hitung nilai koordinat garis lurus yang dirotasi y1 dengan menghitung hasil kali x dengan cos theta. Kemudian hasilnya dikurangi dengan perkalian y dengan sin theta. 8. Kembalikan nilai koordinat garis lurus y1 yang dirotasi pada fungsi yang memanggilnya. Potongan program berikut ini merupakan penerapan dari langkah di atas : private float getx1(float x, float y, float sudut){ double theta = Math.toRadians((double)sudut);//inisialisasi nilai sudut derajat ke radian return (float) (x*math.sin(theta) + y*math.cos(theta));//mengembalikan nilai koordinat garis lurus yang dirotasi x1 private float gety1(float x, float y, float sudut){ double theta = Math.toRadians((double)sudut);//inisialisasi nilai sudut derajat ke radian return (float) (x*math.cos(theta) - y*math.sin(theta));//mengembalikan nilai koordinat garis lurus yang dirotasi y1 Gambar 3.3 Fungsi getx1 dan getx2 Dengan langkah-langkah berikut ini, dapat dihitung nilai gabor real dan gabor imaginer : 1. Untuk menghitung gabor real kerjakan nomor
5 2. Hitung perkalian x1 dengan x1, kemudian dibagi dengan hasil kali S-x dikali dengan S_x. 3. Hitung perkalian y1 dengan y1, kemudian dibagi dengan hasil kali S-y dikali dengan S_y. 4. Jumlahkan hasil nomor 1 dan 2, kemudian kalikan dengan Lakukan perhitungan nilai cosinus dari 2 dikali phi dikali F dikali x1. 6. Selanjutnya kalikan hasil perhitungan nomor 4 dan 5, maka didapat nilai gabor real. 7. Untuk menghitung nilai gabor imaginer, kerjakan nomor Hitung perkalian x1 dengan x1, kemudian dibagi dengan hasil kali S-x dikali dengan S_x. 9. Hitung perkalian y1 dengan y1, kemudian dibagi dengan hasil kali S-y dikali dengan S_y. 10. Jumlahkan hasil nomor 8 dan 9, kemudian kalikan dengan Lakukan perhitungan nilai sinus dari 2 dikali phi dikali F dikali x Selanjutnya kalikan hasil perhitungan nomor 10 dan 11, maka didapat nilai gabor imaginer. Koefisien kernel fungsi Gabor diperoleh dengan mengimplementasikan langkah di atas dan persamaan 3.1 ke dalam potongan program berikut : private float GaborReal(float x1, float y1, float S_x, float S_y, float F){ return (float) (Math.exp(-0.5*(((x1*x1)/(S_x*S_x))+((y1*y1)/ (S_y*S_y))))*Math.cos(2*this.PI*F*x1));//mengembalikan nilai gabor real private float GaborImaginer(float x1, float y1, float S_x, float S_y, float F){ return (float) (Math.exp(-0.5*(((x1*x1)/(S_x*S_x))+((y1*y1)/ (S_y*S_y))))*Math.sin(2*this.PI*F*x1));//mengembalikan nilai gabor imaginer Gambar 3.4 Fungsi GaborReal dan GaborImaginer Akhirnya nilai nilai koefesien kernel dari fungsi gabor ini dapat diperoleh dengan langkah berikut ini: 1. Lakukan inisialisasi nilai size, yaitu setengah lebar kernel. 2. Lakukan inisialisasi nilai koordinat garis lurus yang dirotasi x1 dan y1. 19
6 3. Lakukan inisialisasi x dan y. 4. Lakukan inisialisasi gabor real dan gabor imaginer. 5. Lakukan inisialisasi n dan k menjadi Inisialisasi nilai tengah dengan setengah lebar kernel. 7. Lakukan looping mulai dari -nilai tengah sampai dengan nilai tengah, kerjakan nomor Tentukan nilai y ke-n dengan nilai i dan nilai x ke-n dengan j. 9. Jumlahkan nilai n dengan Lakukan looping sebanyak size. 11. Panggil fungsi untuk membangkitkan nilai x1 dan y Panggil fungsi GaborReal untuk mendapatkan nilai gabor real dan GaborImaginer untuk mendapatkan nilai gabor imaginer. Potongan program berikut ini merupakan penerapan dari langkahlangkah di atas : private void GaborMask(){ int size = this.wsize*this.wsize;//inisialisasi nilai size float[] x1= new float[size];//inisialisasi nilai koordinat garis lurus yang dirotasi float[] y1= new float[size];//inisialisasi nilai koordinat garis lurus yang dirotasi float[] x = new float[size];//inisialisasi x float[] y = new float[size];//inisialisasi y float[] gmask_real= new float[size];//inisialisasi gabor real float[] gmask_imajiner= new float[size];//inisialisasi gabor imaginer int n=0;//inisialisasi nilai n=0 int k=0;//inisialisasi nilai k=0 int nilaitengah = (int)this.wsize/2;//inisialisasi nilai tengah for(int i=-1*nilaitengah ;i<=nilaitengah ; i++) {//looping sebanyak -nilai tengah sampai dengan nilai tengah for(int j=-1*nilaitengah; j<=nilaitengah ; j++) {//looping sebanyak -nilai tengah sampai dengan nilai tengah y[n]=(float)i;//set nilai y ke-n = i x[n]=(float)j;//set nilai x ke-n = j n++;//tambah 1 nilai n Gambar Fungsi menghitung GaborReal dan GaborImaginer 20
7 private void GaborMask(){ int size = this.wsize*this.wsize;//inisialisasi nilai size float[] x1= new float[size];//inisialisasi nilai koordinat garis lurus yang dirotasi float[] y1= new float[size];//inisialisasi nilai koordinat garis lurus yang dirotasi float[] x = new float[size];//inisialisasi x float[] y = new float[size];//inisialisasi y float[] gmask_real= new float[size];//inisialisasi gabor real float[] gmask_imajiner= new float[size];//inisialisasi gabor imaginer int n=0;//inisialisasi nilai n=0 int k=0;//inisialisasi nilai k=0 int nilaitengah = (int)this.wsize/2;//inisialisasi nilai tengah for(int i=-1*nilaitengah ;i<=nilaitengah ; i++) {//looping sebanyak -nilai tengah sampai dengan nilai tengah for(int j=-1*nilaitengah; j<=nilaitengah ; j++) {//looping sebanyak -nilai tengah sampai dengan nilai tengah y[n]=(float)i;//set nilai y ke-n = i x[n]=(float)j;//set nilai x ke-n = j n++;//tambah 1 nilai n for(int i=0; i<size ; i++){//looping sebanyak size x1[i]= getx1(x[i],y[i],sudut);//mengambil nilai x1 ke-i y1[i]= gety1(x[i],y[i],sudut);//mengambil nilai y1 ke-i gmask_real[i] = GaborReal(x1[i], y1[i], this.s_x, this.s_y, this.f);//memanggil fungsi GaborReal untuk mendapatkan nilai gabor gmask_imajiner[i] = GaborImaginer(x1[i], y1[i], this.s_x, this.s_y, this.f);//memanggil fungsi GaborImajiner untuk mendapatkan nilai imajiner gabor. Gambar Fungsi menghitung GaborReal dan GaborImaginer Konvolusi Hasil pembangkitan berbagai fungsi filter tersebut diatas kemudian akan kita lakukan konvolusi terhadap gambar. Dengan langkah berikut ini dapat dilakukan konvolusi pada gambar dengan kernel yang sebelumnya dibangkitkan : 21
8 1. Kirimkan kernel yang telah dibangkitkan ke fungsi convolution. 2. Pada fungsi convolution deklarasikan variabel op yang merupakan operator BufferedImageOp. 3. Inisialisasikan op dengan operator ConvolveOp dengan parameter kernel yang diterima. 4. Lakukan konvolusi pada image dengan menggunakan operator op.filter menggunakan parameter gambar sumber image dan parameter lain null. 5. Kembalikan image hasil konvolusi pada fungsi yang memanggilnya. Kode dibawah menjelaskan bagaimana proses konvolusi kernel kernel tersebut terhadap gambar, dalam implementasinya dalam sistem ini. public BufferedImage getimagefiltered(){ convolution(this.kernel);//memanggil fungsi untuk menkonvolusi image return this.image;//mengembalikan image yang telah dikonvolusi private void convolution(kernel kernel){ BufferedImageOp op = new ConvolveOp(kernel);//inisialisasi op sebagai pengkonvolusi dengan kernel gabor this.image = op.filter(this.image, null);//lakukan konvolusi pada image Gambar 3.6 Fungsi getimagefiltered dan convolution Ekstraksi Fitur Mean Langkah langkah dalam mendapatkan dari gambar query dan gambar training adalah sebagai berikut : 1. Tentukan nilai Mean mean[jmlsudut]. 2. Tentukan x=lebar gambar dan y=tinggi gambar. 3. Untuk k=0 sampai k=jmlsudut, kerjakan langkah nomor tentukan nilai mean ke-k =0. 5. Untuk i=0 sampai i=x, kerjakan langkah nomor Untuk j=0 sampai j=y, kerjakan langkah nomor Jumlahkan nilai mean ke-k dengan nilai pixel gambar hasil extraksi pada pixel ke-[i][j]. 22
9 8. Setelah keluar dari iterasi i dan j, tentukan nilai mean ke-k sebagai hasil bagi nilai mean ke-k dengan jumlah pixel observasi. Potongan program berikut menunjukan bagaimana algoritma tersebut di atas diimplementasikan dalam pemograman java. public double[] getmean() { double[] darray = new double[1];//deklarasi darray x = image[0].getwidth();//tentukan x sebagai lebar image y = image[0].getheight();//tentukan y sebagai tinggi image mul = x * y;//tentukan mul sebagai hasil kali lebar & tinggi int xy[] = new int[jmlsudut];//deklarasi xy avg = new double[jmlsudut];inisialisasi avg for (int k = 0; k < jmlsudut; k++) {//looping sebanyak jmlsudut xy[k] = 0;//inisialisasi xy ke-k for (int i = 0; i < x; i++) {//looping sebanyak lebar image for (int j = 0; j < y; j++) {//looping sebanyak tinggi image image[k].getdata().getpixel(i, j, darray);//dapatkan nilai pixel image pada index ke-ij xy[k] += darray[0];//tentukan xy ke-k = xy ditambah nilai pixel ke-ij avg[k] = (double) xy[k] / mul;//tentukan avg kek sebagai xy ke-k dibagi hasil kali lebar & tinggi image return avg;//kembalikan nilai avg Gambar 3.7 Fungsi getmean Standard Deviasi Standard Deviasi merupakan pengukuran penyebaran dari kumpulan data. Dalam sistem ini, Standard Deviasi dihitung dengan langkah-langkah sebagai berikut: 1. Tentukan nilai Standard Deviasi stddev[jmlsudut]. 2. Tentukan x=lebar gambar dan y=tinggi gambar. 3. Tentukan xy[jmlsudut] sebagai variabel penampung nilai pixel sementara. 4. Untuk k=0 sampai k=jmlsudut, kerjakan langkah nomor tentukan nilai xy ke-k =0. 6. Untuk i=0 sampai i=x, kerjakan langkah nomor 7. 23
10 7. Untuk j=0 sampai j=y, kerjakan langkah nomor Jumlahkan nilai xy ke-k dengan nilai pixel gambar hasil extraksi pada pixel ke-[i][j] dikurangi nilai mean ke-[k] kemudian dikuadratkan. 9. Setelah keluar dari iterasi i dan j, tentukan nilai stddev ke-k sebagai akar kuadrat xy ke-[k] kemudian dibagi jumlah pixel observasi. Potongan program berikut menunjukan bagaimana algoritma penghitungan Standard Deviasi di atas diimplementasikan dalam pemograman java: public double[] getstddev() { double[] darray = new double[1];//deklarasi darray double xy[] = new double[jmlsudut];//deklarasi xy stddev = new double[jmlsudut];//inisialisasi stddev for (int k = 0; k < jmlsudut; k++) {//looping sebanyak jumlah sudut xy[k] = 0;//tentukan xy ke-k = 0 for (int i = 0; i < x; i++) {//looping sebanyak lebar image for (int j = 0; j < y; j++) {//looping sebanyak tinggi image image[k].getdata().getpixel(i, j, darray);//ambil nilai pixel ke-ij xy[k] += Math.pow(dArray[0] - avg[k], 2);//tentukan xy ke-k = xy ditambah nilai pixel ke-ij stddev[k] = (double) Math.sqrt(xy[k]) / mul;//tentukan nilai stddev ke-k sebagai hasil akar xy ke-k dibagi luas image return stddev;//kembalikan nilai stddev Gambar 3.8 Fungsi getstddev Pengukuran Kemiripan Pengukuran Kemiripan gambar merupakan langkah akhir dalam kaitannya dengan ekstraksi fitur di sistem ini. Pengukuran kemiripan ini menghitung kedekatan fitur gambar query dengan gambar training. Kedekatan fitur dihitung dengan menggunakan euclidean distance dengan membandingkan nilai mean dan standart deviasi gambar query dan gambar training. 24
11 Euclidean Distance Berdasarkan pada persamaan Mean dan Standard Deviasi, dalam sistem ini, Euclidean Distance dihitung dengan langkah-langkah sebagai berikut: 1. Jika operasi mean kerjakan nomor 2 sampai dengan nomor Lakukan looping sebanyak jumlah image. 3. Hitung nilai tmpavg dari pengurangan mean gambar query dengan mean gambar training ke-i. 4. Kuadratkan tmpavg. 5. Hitung nilai tmpstddev dari pengurangan mean standard deviasi gambar query dengan mean standard deviasi gambar training ke-i. 6. Kuadratkan tmpstddev. 7. Hitung nilai jarakeuclidean ke-i dari akar kuadrat hasil penjumlahan tmpavg dan tmpstddev. 8. Jika operasi adalah avgeuclidean kerjakan nomor 9 sampai dengan Lakukan looping sebanyak jumlah image, kerjakan nomor Lakukan looping sebanyak jumlah sudut, kerjakan nomor Tentukan nilai tampung ke-i dijumlah dengan euclideandistance ke-ij. 12. Tentukan nilai tampung ke-i dibagi dengan jumlah sudut. 13. Jika operasi adalah theta, kerjakan nomor 14 sampai dengan Lakukan looping sebanyak jumlah image, kerjakan nomor inisialisasi nilai tampung ke-i dengan Lakukan looping sebanyak jumlah sudut, kerjakan nomor Periksa apakah tampung ke-i lebih besar dari euclideandistance ke-i, kerjakan nomor 18 jika ya. 18. Tentukan nilai tampung ke-i dengan euclideandistance ke-i. 19. Tentukan nilai tampung ke-i dengan tampung ke-i dibagi jumlah sudut. Berikut ini merupakan potongan program algoritma di atas. 25
12 private void initialize() { //deklarasi tmpavg & tmpstddev utk euclidean dng average double tmpavg, tmpstddev; //deklarasi avgtmp utk euclidean dng theta dan stddevtmp double[] avgtmp = new double[sudut.length], stddevtmp = new double[sudut.length]; if (operasi.equals("mean")) {//jika operasi adalah mean jarakeuclidean = new double[indeximg];//inisialisasi jarakeuclidean for (int i = 0; i < indeximg; i++) {//looping sebanyak image tmpavg = meanavg db_meanavg[i];//tentukan tmpavg = mean gambar query mean gambar training ke-i tmpavg = Math.pow(tmpAvg, 2);//tentukan tmpavg = kuadrat tmpavg tmpstddev = meanstddev - db_meanstddev[i];//tentukan tmpstddev = mean gambar query mean gambar training ke-i tmpstddev = Math.pow(tmpStdDev, 2);//tentukan tmpstddev = kuadrat tmpstddev jarakeuclidean[i] = Math.sqrt(tmpAvg + tmpstddev);//tentukan jarakeuclidean ke-i = akar dari penjumlahan tmpavg dan tmpstddev tampung = new double[indeximg];//inisialisasi tampung if (operasi.equals("avgeuclidean")) {//jika operasi adalah avgeuclidean for (int i = 0; i < indeximg; i++) {//looping sebanyak image tampung[i] = 0;//inisialisasi tampung kei dengan 0 for (int j = 0; j < sudut.length; j++) {//looping sebanyak jumlah sudut tampung[i] += euclideandistance[i] [j];//tentukan tampung ke-i ditambah dengan euclideandistance ke-i tampung[i] = (double) tampung[i] / sudut.length;//tentukan tampung ke-i sebagai tampung ke-i dibagi jumlah sudut Gambar Fungsi initialize 26
13 if (operasi.equals("theta")) {//jika operasi adalah theta for (int i = 0; i < indeximg; i++) {//looping sebanyak jumlah image tampung[i] = (double) 10000;//inisialisasi tampung ke-i dengan for (int j = 0; j < sudut.length; j++) {//looping sebanyak jumlah sudut untuk mencari nilai euclideandistance terkecil if (tampung[i] > euclideandistance[i][j]) {//jika tampung ke-i lebih besar dari euclideandistance ke-i tampung[i] = euclideandistance[i][j];//tentukan nilai tampung ke-i dengan nilai euclideandistance ke-i Gambar Fungsi initialize Pengurutan gambar Dalam sistem Ekstraksi Fitur Tekstur Image Diatom Dengan Menggunakan Filter Gabor ini, penulis menggunakan bubble sort untuk mengurutkan Euclidean Distance yang telah didapat sebelumnya. Dalam pengurutan ini, yang diurutkan bukan hanya Euclidean Distance. Nama file, nama spesies, jenis spesies, nama genus, mean & standard deviasi juga ikut diurutkan, namun demikian pengurutan tetap berdasarkan Euclidean Distance. Pengurutan gambar dikerjakan dengan urutan berikut ini. 1. Lakukan looping sebanyak jumlah image, kerjakan nomor Lakukan looping sebanyak jumlah image-1, kerjakan nomor Jika jarak euclidean ke-i lebih besar dari jarak euclidean ke-j, kerjakan nomor Tukar nilai rata-rata ke-i dengan rata-rata ke-j. 5. Tukar nilai standard deviasi ke-i dengan standard deviasi ke-j. 6. Tukar nama file ke-i dengan nama file ke-j. 7. Tukar nama spesies ke-i dengan nama spesies ke-j. 8. Tukar genus ke-i dengan genus ke-j. 9. Tukar image ke-i dengan image ke-j. Dengan algoritma yang telah dikembangkan dan diterapkan pada potongan program di bawah ini, kita dapat mengurutkan Euclidean Distance. 27
14 private void bruteforce() { double td;//deklarasi td double[] tdarr = new double[indeximg];//deklarasi tdarr tdarr = jarakeuclidean;//tentukan nilai tdarr adalah jarakeuclidean double temp[] = new double[sudut.length];//deklarasi temp String tmpstring;deklarasi tmpstring int tmpind;//deklarasi tmpind if (operasi.equals("mean")) {//jika operasi adalah mean for (int i = 0; i < indeximg; i++) {//looping sebanyak jumlah image for (int j = i + 1; j < indeximg; j++) {//looping sebanyak jumlah image-1 if (jarakeuclidean[i] > jarakeuclidean[j]) {//jika jarakeuclidean ke-i lebih besar daripada jarakeuclidean ke-j //tukar nilai jarakeuclidean ke-i dengan nilai jarakeuclidean ke-j td = jarakeuclidean[i]; jarakeuclidean[i] = jarakeuclidean[j]; jarakeuclidean[j] = td;//sorting index //tukar nilai db_avg ke-i dengan nilai db_avg ke-j temp = db_avg[i]; db_avg[i] = db_avg[j]; db_avg[j] = temp; //tukar nilai db_stddev ke-i dengan nilai db_stddev ke-j temp = db_stddev[i]; db_stddev[i] = db_stddev[j]; db_stddev[j] = temp; //tukar nilai db_avg ke-i dengan nilai db_namafile ke-j tmpstring = db_namafile[i]; db_namafile[i] = db_namafile[j]; db_namafile[j] = tmpstring; //tukar isi db_namaspesies ke-i dengan isi db_namaspesies ke-j tmpstring = db_namaspesies[i]; db_namaspesies[i] = db_namaspesies[j]; db_namaspesies[j] = tmpstring; Gambar Fungsi bruteforce 28
15 //tukar isi db_genus ke-i dengan isi db_genus ke-j tmpstring = db_genus[i]; db_genus[i] = db_genus[j]; db_genus[j] = tmpstring; //tukar isi db_spesies ke-i dengan isi db_spesies ke-j tmpstring = db_spesies[i]; db_spesies[i] = db_spesies[j]; db_spesies[j] = tmpstring; for (int i = 0; i < indeximg; i++) {//looping sebanyak jumlah image for (int j = i + 1; j < indeximg; j++) {//looping sebanyak jumlah image-1 if (tampung[i] > tampung[j]) {//jika tampung ke-i lebih besar daripada tampung ke-j //tukar nilai tampung ke-i dengan nilai tampung ke-j td = tampung[i]; tampung[i] = tampung[j]; tampung[j] = td; //tukar nilai db_namafile ke-i dengan nilai db_namafile ke-j tmpstring = db_namafile[i]; db_namafile[i] = db_namafile[j]; db_namafile[j] = tmpstring; //tukar nilai db_namaspesies ke-i dengan nilai db_namaspesies ke-j tmpstring = db_namaspesies[i]; db_namaspesies[i] = db_namaspesies[j]; db_namaspesies[j] = tmpstring; //tukar isi db_namafile ke-i dengan isi db_namafile ke-j tmpstring = db_namafile[i]; db_namafile[i] = db_namafile[j]; db_namafile[j] = tmpstring; //tukar isi db_namaspesies ke-i dengan isi db_namaspesies ke-j tmpstring = db_namaspesies[i]; db_namaspesies[i] = db_namaspesies[j]; db_namaspesies[j] = tmpstring; Gambar Fungsi bruteforce 29
16 isi db_genus ke-j isi db_spesies ke-j //tukar isi db_genus ke-i dengan tmpstring = db_genus[i]; db_genus[i] = db_genus[j]; db_genus[j] = tmpstring; //tukar isi db_spesies ke-i dengan tmpstring = db_spesies[i]; db_spesies[i] = db_spesies[j]; db_spesies[j] = tmpstring; for (int i = 0; i < indeximg; i++) {//looping sebanyak jumlah image for (int j = i + 1; j < indeximg; j++) {//looping sebanyak jumlah image-1 if (tampung[i] > tampung[j]) {//jika tampung ke-i lebih besar daripada tampung ke-j //tukar nilai tampung ke-i dengan nilai tampung ke-j td = tampung[i]; tampung[i] = tampung[j]; tampung[j] = td; isi db_namafile ke-j //tukar isi db_namafile ke-i dengan tmpstring = db_namafile[i]; db_namafile[i] = db_namafile[j]; db_namafile[j] = tmpstring; //tukar isi db_namaspesies ke-i dengan isi db_namaspesies ke-j tmpstring = db_namaspesies[i]; db_namaspesies[i] = db_namaspesies[j]; db_namaspesies[j] = tmpstring; isi db_genus ke-j //tukar isi db_genus ke-i dengan tmpstring = db_genus[i]; db_genus[i] = db_genus[j]; db_genus[j] = tmpstring; Gambar Fungsi bruteforce 30
17 isi db_spesies ke-j nilai db_avg ke-j //tukar isi db_spesies ke-i dengan tmpstring = db_spesies[i]; db_spesies[i] = db_spesies[j]; db_spesies[j] = tmpstring; //tukar nilai db_avg ke-i dengan temp = db_avg[i]; db_avg[i] = db_avg[j]; db_avg[j] = temp; //tukar nilai db_stddev ke-i dengan nilai db_stddev ke-j temp = db_stddev[i]; db_stddev[i] = db_stddev[j]; db_stddev[j] = temp; Gambar Fungsi bruteforce Seaching Image Setelah Euclidean Distance beserta fitur-fitur lain diurutkan, dilakukan pencarian image / gambar, agar bisa ditampilkan hasil setelah dilakukan pengurutan. Pencarian image di sini dilakukan berdasarkan nama file. Nama file dipilih karena antara file satu dengan file yang lain memiliki nama yang unik, sehingga nama file dapat dijadikan acuan untuk pencarian. Dengan langkah berikut ini, dapat dicari gambar setelah diurutkan. 1. Lakukan perulangan selama gambar terurut yang ditemukan kurang dari Untuk exception error, lakukan pemeriksaan apakah indeks pencarian pertama telah mencapai jumlah maksimal gambar, jika ya kerjakan nomor Kembalikan indeks pencarian ke Lakukan pemeriksaan apakah nama file ke-i sudah sama dengan nama file terurut ke-i, jika ya kerjakan nomor Simpan indeks file terurut. 6. Tambahkan jumlah gambar terurut yang ditemukan, kembalikan indeks pencarian pertama dan ke dua ke 0. Potongan program di bawah ini merupakan penerapan dari algoritma pencarian gambar di atas. 31
18 private void searchimg() { int j = 0, i = 0, k = 0;//deklarasi j,i,k sortedindex = new int[8];//inisialisasi sortedindex while (k < 8) {//selama k kurang dari 8 if (j == 162) {//jika j mencapai jumlah image maksimal j = 0;//tentukan j = 0 if (db_namafile[i].equals(allimagefilename[j])) {//jika nama file gambar database ke-i sama dengan nama gambar pada file ke-j sortedindex[k] = j;//tentukan sortedindex ke-k = j i++;//nilai i tambah 1 k++;//nilai k tambah 1 j = 0;//tentukan j = 0 j++;//nilai j tambah 1 Gambar 3.11 Fungsi searchimg Generating Chart Langkah terakhir dalam sistem ini adalah membangkitkan chart / grafik. Yang ditampilkan dalam grafik ini adalah nilai mean dan standard deviasi 8 gambar training yang memiliki kemiripan terdekat dengan gambar query, sehingga dari grafik dapat diketahui seberapa kedekatan fitur antar gambar training dan gambar query. Di sini untuk membangkitkan grafik, digunakan library JfreeChart. 3.3 PERANCANGAN DATABASE Pada sistem ini menggunakan database management system mysql untuk menyimpan fitur gambar dan jenis gambar. Pada database yang digunakan, terdiri dari beberapa tabel sebagai berikut: Tabel tabel_spesies Tabel ini menyimpan spesifikasi spesies diatom, yaitu nama spesies, genus dan species. 32
19 Tabel 3.1 Menyimpan spesifikasi diatom Tabel tabel_fitur Tabel ini menyimpan fitur diatom, yaitu mean dan standard deviasi. Tabel 3.2 Menyimpan fitur diatom Relasi antar tabel Berikut ini merupakan relasi antar tabel_spesies dan tabel_fitur. Di mana nama_file pada tabel_spesies merupakan primary key. Pada tabel_fitur, nama_file dan theta merupakan primary key, di mana nama_file merupakan reference dari tabel_spesies. nama_file nama_spesies genus spesies nama_file theta mean std_dev Gambar 3.12 Relasi antar tabel 33
20 3.4 ANTAR MUKA APLIKASI Dalam pembuatan antarmuka sistem ini mengunakan antarmuka swing dengan JAVA JDK 1.6, Secara umum antarmuka dari sistem ini terdiri dari panel untuk tombol, panel untuk gambar hasil, panel untuk menu, panel untuk keterangan gambar query. Gambar 3.13 Welcome screen Ekstraksi Fitur Tekstur Image Diatom dengan Filter Gabor. Gambar 3.14 Antarmuka sistem Ekstraksi Fitur Tekstur Image Diatom dengan Filter Gabor. 34
21 Gambar 3.15 Panel panel dalam antar muka aplikasi. 35
PENGELOMPOKAN GAMBAR BERDASARKAN FITUR WARNA DAN TEKSTUR DENGAN FGKA CLUSTERING (FAST GENETICS K-MEANS ALGORITHM) UNTUK PENCOCOKAN GAMBAR
PENGELOMPOKAN GAMBAR BERDASARKAN FITUR WARNA DAN TEKSTUR DENGAN FGKA CLUSTERING (FAST GENETICS K-MEANS ALGORITHM) UNTUK PENCOCOKAN GAMBAR Dewi Wulansari, S.ST 1, Entin Martiana K, M.Kom 2, Nana Ramadijanti,
Lebih terperinciIdentifikasi Tanda Tangan Menggunakan Transformasi Gabor Wavelet dan Jarak Minskowski
Identifikasi Tanda Tangan Menggunakan Transformasi Gabor Wavelet dan Jarak Minskowski Junia Kurniati Computer Engineering Department Faculty of Computer Science Sriwijaya University South Sumatera Indonesia
Lebih terperinciBAB 1 PENDAHULUAN. 1.1 Latar Belakang
BAB 1 PENDAHULUAN Pada bab pendahuluan ini akan diuraikan penjelasan mengenai latar belakang penelitian, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan
Lebih terperinci... BAB 2 LANDASAN TEORI. 2.1 Citra
6 BAB 2 LANDASAN TEORI 2.1 Citra Citra atau image adalah suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya (yang disebut sebagai elemen gambar
Lebih terperinciAPLIKASI IMAGE RETRIEVAL MENGGUNAKAN KOMBINASI METODE COLOR MOMENT DAN GABOR TEXTURE
APLIKASI IMAGE RETRIEVAL MENGGUNAKAN KOMBINASI METODE COLOR MOMENT DAN GABOR TEXTURE Arwin Halim 1, Hardy 2, Christina Dewi 3, Sulaiman Angkasa 4 Program Studi Teknik Informatika, STMIK Mikroskil Jl. Thamrin
Lebih terperinciBAB III METODE YANG DIUSULKAN
BAB III METODE YANG DIUSULKAN Pada bab ini akan dijelaskan tentang metode pengenalan manusia dengan menggunakan citra dental radiograph yang diusulkan oleh peneliti. Pengenalan ini akan dilakukan dalam
Lebih terperinciBAB II TEORI PENUNJANG
BAB II TEORI PENUNJANG Pada bagian ini penulis akan menjelaskan mengenai beberapa teori yang berkenaan dengan penelitian Tugas Akhir ini. Sub bab 2.1, menjelaskan mengenai perkembangan dari teknik dalam
Lebih terperinciTeam project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP
Hak cipta dan penggunaan kembali: Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis
Lebih terperinciBAB 3 ANALISIS DAN PERANCANGAN
BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Penggunaan citra yang semakin meningkat menimbulkan kebutuhan retrival citra yang juga semakin meningkat. Diperlukan suatu metode retrival citra yang efektif
Lebih terperinciYOGI WARDANA NRP
PENGEMBANGAN ALGORITMA SISTEM IDENTIFIKASI MATA MANUSIA BERBASIS PENGOLAHAN CITRA DENGAN METODE GABOR PADA PERALATAN AOI ( AUTOMATED OPTICAL INSPECTION ) YOGI WARDANA NRP. 2107 100 115 JURUSAN TEKNIK MESIN
Lebih terperinciFUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka;
FUNGSI II Variabel Statis Sifat variabel statis: Variabel hanya dapat diakses pada fungsi yang mendefinisikannya Variabel tidak hilang setelah eksekusi berakhir. Nilainya akan tetap dipertahankan sehingga
Lebih terperinciBAB II LANDASAN TEORI
DAFTAR ISI ABSTRAK... i ABSTRACT... ii KATA PENGANTAR... iii DAFTAR ISI... v DAFTAR GAMBAR... vi DAFTAR TABEL... ix DAFTAR SIMBOL... x BAB I PENDAHULUAN.... Latar Belakang.... Rumusan Masalah... 3.3 Tujuan...
Lebih terperincimembuat sebuah game yang menggunakan grafik vektor dan grafik bitmap. Penggunaannya seperti pemindahan sebuah object, memper-besar atau
BAB 7 SKALA, ROTASI DAN TRANSLASI 7.1 Pendahuluan Pada sebuah game skala rotasi dan translasi sangat dibutuhkan ketika membuat sebuah game yang menggunakan grafik vektor dan grafik bitmap. Penggunaannya
Lebih terperinciBAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM
BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM III.1. Analisis Sistem yang Sedang Berjalan Proses analisa sistem merupakan langkah kedua pada pengembangan sistem. Analisa sistem dilakukan untuk memahami
Lebih terperinciSequential Search (Linear Search)
1. Tujuan Instruksional Umum BAB 3 Searching (Pencarian) a. Mahasiswa mampu melakukan perancangan aplikasi menggunakan Struktur Searching (Pencarian). b. Mahasiswa mampu melakukan analisis pada algoritma
Lebih terperinciAPLIKASI CONTENT BASED IMAGE RETRIEVAL DENGAN ALGORITMA SOBEL S EDGE DETECTION Arwin Halim 1, Hernawati Gohzali 2, In Sin 3, Kelvin Wijaya 4
APLIKASI CONTENT BASED IMAGE RETRIEVAL DENGAN ALGORITMA SOBEL S EDGE DETECTION Arwin Halim 1, Hernawati Gohzali 2, In Sin 3, Kelvin Wijaya 4 1,2,3,4 Jurusan Teknik Informatika, STMIK Mikroskil, Medan 1,2,3,4
Lebih terperinciCONTENT BASED IMAGE RETRIEVAL MENGGUNAKAN METODE COLOR HISTOGRAM DAN ALGORITMA K-MEANS CLUSTERING
CONTENT BASED IMAGE RETRIEVAL MENGGUNAKAN METODE COLOR HISTOGRAM DAN ALGORITMA K-MEANS CLUSTERING Risa Fithrasari 208700923 Jurusan Teknik Informatika Fakultas Sains dan Teknologi UIN Sunan Gunung Djati
Lebih terperinciBAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA
1 BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA IDENTIFIER Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb. Ingat : Bahasa
Lebih terperinciBAB III IMPLEMENTASI
BAB III IMPLEMENTASI Dalam bab ini dijelaskan mengenai implementasi sistem yang dikembangkan untuk melakukan percobaan terhadap metode yang diteliti. Penjelasan meliputi perangkat keras, perangkat lunak,
Lebih terperinciPencocokan Citra Berbasis Graph untuk Pengenalan dan Pemilihan Kembali (Retrieval) Oleh: Yureska Angelia ( )
Pencocokan Citra Berbasis Graph untuk Pengenalan dan Pemilihan Kembali (Retrieval) Oleh: Yureska Angelia (867) Dosen Pembimbing Dr. Ir. Wirawan, DEA Latar Belakang Teknik pemodelan struktur graph telah
Lebih terperincinama array untuk menyimpan data jumlah data
No. LST/EKA/EKA255/12 Revisi : 00 Tgl : 8 Sept 2014 Hal 1 dari 5 A. TUJUAN PEMBELAJARAN 1. Memahami penggunaan array sebagai parameter fungsi B. DASAR TEORI Array Sebagai Parameter Array juga dapat dilewatkan
Lebih terperinciBAB III ANALISIS DAN PERANCANGAN
31 BAB III ANALISIS DAN PERANCANGAN III.1 Gambaran Umum Sistem Secara umum sistem pengenalan wajah ini mempunyai beberapa tahapan yaitu pendeteksian wajah, ekstraksi wajah, dan pengenalan wajah. Pendeteksian
Lebih terperinciPraktikum 8. Pengurutan (Sorting) Bubble Sort, Shell Sort
Praktikum 8 Pengurutan (Sorting) Bubble Sort, Shell Sort POKOK BAHASAN: Konsep pengurutan dengan bubble sort dan shell sort Struktur data proses pengurutan Implementasi algoritma pengurutan bubble sort
Lebih terperinciBAB 3 PROSEDUR DAN METODOLOGI. menawarkan pencarian citra dengan menggunakan fitur low level yang terdapat
BAB 3 PROSEDUR DAN METODOLOGI 3.1 Permasalahan CBIR ( Content Based Image Retrieval) akhir-akhir ini merupakan salah satu bidang riset yang sedang berkembang pesat (Carneiro, 2005, p1). CBIR ini menawarkan
Lebih terperinciBAB 3 PERANCANGAN SISTEM
20 BAB 3 PERANCANGAN SISTEM 3.1 Rancangan Perangkat Keras Sistem ini hanya menggunakan beberapa perangkat keras yang umum digunakan, seperti mikrofon, speaker (alat pengeras suara), dan seperangkat komputer
Lebih terperinciBAB 3 PROSEDUR DAN METODOLOGI. perhitungan LSI dan juga interface yang akan dibuat oleh penulis.
BAB 3 PROSEDUR DAN METODOLOGI Pada Bab ini, penulis akan membahas mengenai prosedur dan metodologi seperti perhitungan LSI dan juga interface yang akan dibuat oleh penulis. 3.1 Sistem CBIR Gambar 3.1 Sistem
Lebih terperinciBAB 3 PERANCANGAN DAN PEMBUATAN SISTEM
BAB 3 PERANCANGAN DAN PEMBUATAN SISTEM Dalam bab ini akan dibahas mengenai perancangan dan pembuatan sistem aplikasi yang digunakan sebagai user interface untuk menangkap citra ikan, mengolahnya dan menampilkan
Lebih terperinciModul II Object Oriented Programming
Modul II Object Oriented Programming Tujuan 1. Mahasiswa dapat mengenal dan memahami konsep pemrograman berorientasi objek. 2. Mahasiswa mampu membuat class, object dan access modifier. Dasar Teori OOP
Lebih terperinciBAB III ANALISIS DAN PERANCANGAN
BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem Tahapan analisis merupakan tahapan untuk mengetahui tahapan awal didalam sebuah sistem pendeteksian filter sobel. Didalam aplikasi filter sobel ini
Lebih terperinciPERANCANGAN APLIKASI PENGURANGAN NOISE PADA CITRA DIGITAL MENGGUNAKAN METODE FILTER GAUSSIAN
PERANCANGAN APLIKASI PENGURANGAN NOISE PADA CITRA DIGITAL MENGGUNAKAN METODE FILTER GAUSSIAN Warsiti Mahasiswi Program Studi Teknik Informatika STMIK Budi Darma Medan Jl. Sisingamangaraja No. 338 Sp. Limun
Lebih terperinciBAB 3 PERANCANGAN SISTEM
21 BAB 3 PERANCANGAN SISTEM 3.1 Arsitektur Sistem Template Formulir Sample Karakter Pengenalan Template Formulir Pendefinisian Database Karakter Formulir yang telah diisi Pengenalan Isi Formulir Hasil
Lebih terperinciENHANCEMENT CITRA SIDIK JARI KOTOR MENGGUNAKAN TEKNIK HYBRID MORPHOLOGY DAN GABOR FILTER
ENHANCEMENT CITRA SIDIK JARI KOTOR MENGGUNAKAN TEKNIK HYBRID MORPHOLOGY DAN GABOR FILTER MUHAMMAD NASIR 2208 205 001 Dosen Pembimbing : Mochamad Hariadi,, S.T., M.Sc.,., Ph.D. Sidang Tesis Fakultas Teknologi
Lebih terperinciAlgoritma & Pemrograman FUNGSI. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork
Algoritma & Pemrograman FUNGSI Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM Smart, Trustworthy, And Teamwork FUNGSI Modul program yang mengembalikan/ memberikan (return) sebuah
Lebih terperinciBAB III PERANCANGAN SISTEM
BAB III PERANCANGAN SISTEM Perancangan perangkat lunak dari sistem biometrik sidik jari dibuat dibagi menjadi 2 module utama yakni : module enhencement sidik jari berikut aplikasi penyimpanan kedalam database
Lebih terperinciMethod / Fungsi / Sub Program
PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2014/2015 Method / Fungsi / Sub Program Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya Programming
Lebih terperinciPERBANDINGAN KINERJA EKSTRAKSI FITUR TINGKAT RENDAH MENGGUNAKAN METODE
PERBANDINGAN KINERJA EKSTRAKSI FITUR TINGKAT RENDAH MENGGUNAKAN METODE Gray Level Co-occurrence Matrix (GLCM) dan GABOR FILTER DALAM PENGENALAN MOTIF BATIK OLEH : ANUGRAH SURADIPURWO NIM : 41508110061
Lebih terperinciVERIFIKASI SESEORANG BERDASARKAN CITRA PEMBULUH DARAH MENGGUNAKAN EKSTRAKSI FILTER GABOR ABSTRAK
VERIFIKASI SESEORANG BERDASARKAN CITRA PEMBULUH DARAH MENGGUNAKAN EKSTRAKSI FILTER GABOR Eric (0822026) Jurusan Teknik Elektro Universitas Kristen Maranatha email: eric.wennas@gmail.com ABSTRAK Pola pembuluh
Lebih terperinci2.Landasan Teori. 2.1 Konsep Pemetaan Gambar dan Pengambilan Data.
6 2.Landasan Teori 2.1 Konsep Pemetaan Gambar dan Pengambilan Data. Informasi Multi Media pada database diproses untuk mengekstraksi fitur dan gambar.pada proses pengambilan, fitur dan juga atribut atribut
Lebih terperinciAPLIKASI ABSENSI KULIAH BERBASIS IDENTIFIKASI WAJAH MENGGUNAKAN METODE GABOR WAVELET
APLIKASI ABSENSI KULIAH BERBASIS IDENTIFIKASI WAJAH MENGGUNAKAN METODE GABOR WAVELET Agus Kurniawan, Akuwan Saleh, Nana Ramadijanti Jurusan Teknik Telekomunikasi, Politeknik Elektronika Negeri Surabaya,
Lebih terperinciBAB 3 ANALISIS DAN PERANCANGAN
BAB 3 ANALISIS DAN PERANCANGAN 3.1 Gambaran Permasalahan Secara Umum Poligon bukanlah suatu bentuk yang spesifik seperti segitiga sama kaki, persegi, belah ketupat, ataupun jajargenjang, melainkan suatu
Lebih terperinciAPLIKASI DETEKSI MIKROKALSIFIKASI DAN KLASIFIKASI CITRA MAMMOGRAM BERBASIS TEKSTUR SEBAGAI PENDUKUNG DIAGNOSIS KANKER PAYUDARA
APLIKASI DETEKSI MIKROKALSIFIKASI DAN KLASIFIKASI CITRA MAMMOGRAM BERBASIS TEKSTUR SEBAGAI PENDUKUNG DIAGNOSIS KANKER PAYUDARA Yusti Fitriyani Nampira 50408896 Dr. Karmilasari Kanker Latar Belakang Kanker
Lebih terperinciBAB III IMPLEMENTASI SISTEM
BAB III IMPLEMENTASI SISTEM Pada bab ini akan dibahas mengenai perangkat lunak yang akan dibuat. Bab ini akan menjelaskan mengenai spesifikasi sistem, alur program dan implementasinya pada perangkat lunak.
Lebih terperinciBAB VI BAHASA C Pendahuluan
BAB VI BAHASA C2 6.1 Pendahuluan Bahasa C merupakan evolusi dari bahasa BCPL yang dibuat oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan
Lebih terperinciBAB 3 METODOLOGI. untuk mengurangi adanya false positive dan false negative. False positive dalam hal ini
34 BAB 3 METODOLOGI 3.1 Analisis Kebutuhan dan Masalah Dalam proses diagnosis kanker payudara dibutuhkan akurasi yang tinggi untuk mengurangi adanya false positive dan false negative. False positive dalam
Lebih terperinciPengembangan Perangkat Lunak untuk Pengenalan Wajah dengan Filter Gabor Menggunakan Algoritma Linear Discriminant Analysis (LDA)
Pengembangan Perangkat Lunak untuk Pengenalan Wajah dengan Filter Gabor Menggunakan Algoritma Linear Discriminant Analysis (LDA) Erma Rachmawati Jurusan Teknik Elektro- FTI, Institut Teknologi Sepuluh
Lebih terperinciBAB 1 PENDAHULUAN. sistem analog menjadi sistem komputerisasi. Salah satunya adalah sistem
BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah Perkembangan teknologi digital pada era ini berkembang sangat pesat. Hampir setiap tahun telah ditemukan ataupun dikembangkan sebuah inovasi teknologi baru.
Lebih terperinciBAB III ANALISIS DAN PERANCANGAN
32 BAB III ANALISIS DAN PERANCANGAN Pada bab ini akan dibahas tentang analisis sistem melalui pendekatan secara terstruktur dan perancangan yang akan dibangun dengan tujuan menghasilkan model atau representasi
Lebih terperinciModul Tutorial C# 2 DASAR PEMROGRAMAN C# : STATEMENT DAN OPERATOR ENRICO BUDIANTO MICROSOFT INNOVATION CENTER UNIVERSITAS INDONESIA
Modul Tutorial C# 2 DASAR PEMROGRAMAN C# : STATEMENT DAN OPERATOR ENRICO BUDIANTO MICROSOFT INNOVATION CENTER UNIVERSITAS INDONESIA JUNI 2010 PENDAHULUAN Setelah sebelumnya kita sudah berhasil membuat
Lebih terperinciBAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Proses Aplikasi Pada bab ini akan dibahas implementasi sistem rancang bangun Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching hingga
Lebih terperinciPoliteknik Elektronika Negeri Surabaya
PRAKTIKUM 11 ALGORITMA PENGURUTAN (BUBBLE SORT) A. TUJUAN PEMBELAJARAN 1. Memahami step by step algoritma pengurutan bubble sort. 2. Mampu mengimplementasikan algoritma pengurutan bubble sort dengan berbagai
Lebih terperinciArray Multidimensi. Pemrograman Dasar. Java
Array Multidimensi Pemrograman Dasar Java Array 0 1 2 3 4 banyaknya elemen: 5 index elemen dari 0 s.d array.length-1 Deklarasi dan Pembuatan Array Menggunakan operator new new Type [panjangarray ] Ukuran
Lebih terperinciFungsi : Dasar Fungsi
PRAKTIKUM 13 Fungsi : Dasar Fungsi A. TUJUAN PEMBELAJARAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur. B. DASAR TEORI Fungsi adalah suatu bagian
Lebih terperinciSorting. Pertemuan ke 14.
Sorting Pertemuan ke 14. Sorting Sorting adalah proses pengurutan data berdasarkan key tertentu. Misalkan untuk data mahasiswa, key nya adalah NIM Kegunaan dari sorting adalah untuk mempercepat proses
Lebih terperinciMODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman
I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman Jurusan Teknik Informatika Fakultas Teknik Universitas Maritim Raja Ali Haji ALGORITMA DAN PEMOGRAMAN I. ALGORITMA II. BAHASA
Lebih terperinciArray ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.
Array Linear Array (biasa disebut Array) adalah salah satu bentuk struktur data yang bersifat Linear (continue). Nilai data Array harus homogen (bertipe data sama). Array merupakan koleksi data dimana
Lebih terperinciBAB III METODE DAN PERANCANGAN SISTEM. menggunakan referensi jurnal, e-book, dan artikel terkait.
BAB III METODE DAN PERANCANGAN SISTEM 3.1 Metode Penelitian Metode penelitian yang digunakan dalam penelitian ini adalah sebagai berikut. 1. Studi Literatur Pada tahap ini, dilakukan pencarian referensi
Lebih terperinciBab 3 Algoritma Feature Pengurangan
Bab 3 Algoritma Feature Pengurangan Sebelum membahas pemodelan produk berbasis yang disusun berdasarkan algoritma pengurang terlebih dahulu akan dijelaskan hal-hal yang mendasari pembuatan algoritma tersebut,
Lebih terperinciBAB IV HASIL DAN PEMBAHASAN. Sumber data utama yang digunakan dalam penelitian ini berasal dari data
BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian 4.1.1 Penelitian dan Pengumpulan Data Sumber data utama yang digunakan dalam penelitian ini berasal dari data penjualan motor merek Yamaha tahun 2011 sampai
Lebih terperinciKurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel
Chapter 5 Pointer dan References Agenda Pada chapter ini kita akan membahas beberapa topik yang berhubungan dengan pointer dan reference yaitu: Penggunaan Pointer. Pointer dan Array. Mengalokasikan memory
Lebih terperinciAnalisa Hasil Perbandingan Metode Low-Pass Filter Dengan Median Filter Untuk Optimalisasi Kualitas Citra Digital
Analisa Hasil Perbandingan Metode Low-Pass Filter Dengan Median Filter Untuk Optimalisasi Kualitas Citra Digital Nurul Fuad 1, Yuliana Melita 2 Magister Teknologi Informasi Institut Saint Terapan & Teknologi
Lebih terperinciA. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual
Praktikum 7 FUNGSI 1 A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual B. DASAR TEORI Fungsi adalah suatu bagian dari program yang dirancang
Lebih terperinciFungsi 1. Ekohariadi FT Unesa
Fungsi 1 Ekohariadi FT Unesa Fungsi Pustaka Standar Pustaka C Standar merupakan kumpulan fungsi yang sudah ditentukan yang diases melalui file header. Fungsi matematika yang umum didefinisikan di header
Lebih terperinciBAB I PENDAHULUAN. semakin tinggi jumlah citra dijital yang dapat diakses oleh pengguna. Basis data citra
BAB I PENDAHULUAN 1.1 Latar Belakang Dengan perkembangan teknologi informasi dan komunikasi yang semakin pesat, semakin tinggi jumlah citra dijital yang dapat diakses oleh pengguna. Basis data citra akan
Lebih terperinciTeam project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP
Hak cipta dan penggunaan kembali: Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis
Lebih terperinciPemrograman Dasar C. Minggu 6
Pemrograman Dasar C Minggu 6 Topik Bahasan Fungsi Menulis sekali digunakan berulang kali Tugas yang dikompartemenkan Variabel lokal dalam fungsi Teknik Mendesain Top-Down Kode Pseudo Struktur dan Diagram
Lebih terperinciBab 4 Studi Kasus. 4.1 Tampilan Awal Aplikasi Perangkat Lunak
Bab 4 Studi Kasus Pada bab ini akan dibahas mengenai aplikasi perangkat lunak untuk mengimplementasikan logika-logika dan algoritma pemodelan produk berbasis feature yang telah dibuat pada bab 3 penelitian
Lebih terperinciBAB IV HASIL DAN PEMBAHASAN. dicolokan ke komputer, hal ini untuk menghindari noise yang biasanya muncul
37 BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil 4.1.1 Pengambilan Database Awalnya gitar terlebih dahulu ditala menggunakan efek gitar ZOOM 505II, setelah ditala suara gitar dimasukan kedalam komputer melalui
Lebih terperinciArray. Adharul Muttaqin Universitas Brawijaya Malang. Array
Array Adharul Muttaqin Universitas Brawijaya Malang Array Array merupakan memory pada komputer yg digunakan untuk menyimpan sejumlah data bertype sama. Di Java, Array merupakan sebuah object yang menampung
Lebih terperinciBAB 3 ANALISA DAN PERANCANGAN
BAB 3 ANALISA DAN PERANCANGAN 3.1 Analisa Proses masking terhadap citra bertujuan sebagai penandaan tempat pada citra yang akan disisipkan pesan sedangkan filtering bertujuan untuk melewatkan nilai pada
Lebih terperinciBAB III METODE PENELITIAN. melacak badan manusia. Dimana hasil dari deteksi atau melacak manusia itu akan
BAB III METODE PENELITIAN 3.1. Model Pengembangan Tujuan dari tugas akhir ini adalah untuk membuat sebuah aplikasi untuk mengatur kontras pada gambar secara otomatis. Dan dapat meningkatkan kualitas citra
Lebih terperinciBAB III ANALISIS DAN PERANCANGAN SISTEM
BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Identifikasi Masalah Identifikasi permasalahan ini bahwasanya diambil dari sudut pandang masyarakat tentang objek (batik) yang dikenal dari segi pola dan gambar
Lebih terperinciSISTEM PENGENALAN WAJAH MENGGUNAKAN WEBCAM UNTUK ABSENSI DENGAN METODE TEMPLATE MATCHING
SISTEM PENGENALAN WAJAH MENGGUNAKAN WEBCAM UNTUK ABSENSI DENGAN METODE TEMPLATE MATCHING Mohamad Aditya Rahman, Ir. Sigit Wasista, M.Kom Jurusan Teknik Elektronika, Politeknik Elektronika Negeri Surabaya
Lebih terperinciKENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.
KENDALI PROSES Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan. PERINTAH KONDISIONAL Pemrograman Java memiliki 2 Decision-making
Lebih terperinciALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION
ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION POINTER POINTER ADALAH SUATU VARIABEL PENUNJUK, BERISI NILAI YANG MENUNJUK ALAMAT SUATU LOKASI MEMORI TERTENTU. JADI POINTER TIDAK BERISI NILAI DATA, MELAINKAN
Lebih terperinciPencocokan Citra Digital
BAB II DASAR TEORI II.1 Pencocokan Citra Digital Teknologi fotogrametri terus mengalami perkembangan dari sistem fotogrametri analog hingga sistem fotogrametri dijital yang lebih praktis, murah dan otomatis.
Lebih terperinciVERIFIKASI SESEORANG BERDASARKAN CITRA PEMBULUH DARAH MENGGUNAKAN EKSTRAKSI FITUR CHAIN CODE ABSTRAK
VERIFIKASI SESEORANG BERDASARKAN CITRA PEMBULUH DARAH MENGGUNAKAN EKSTRAKSI FITUR CHAIN CODE Andre Sitorus (0822107) Jurusan Teknik Elektro email: tiantorus11@gmail.com ABSTRAK Pola yang dibentuk oleh
Lebih terperinciBAB 2 PENYELESAIAN PERSAMAAN NON LINEAR
BAB 2 PENYELESAIAN PERSAMAAN NON LINEAR METODE GRAFIK DAN TABULASI A. Tujuan a. Memahami Metode Grafik dan Tabulasi b. Mampu Menentukan nilai akar persamaan dengan Metode Grafik dan Tabulasi c. Mampu membuat
Lebih terperinciBAB III ANALISIS DAN DESAIN SISTEM
BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis Masalah Loket Bus merupakan tempat dimana masyarakat yang akan memesan atau membeli suatu tiket untuk menggunakan sarana transportasi bus sebagai keperluan
Lebih terperinciMODUL 7 FUNGSI A. Tujuan. B. Petunjuk. C. Dasar Teori
MODUL 7 FUNGSI A. Tujuan Mahasiswa mampu memahami fungsi Mahasiswa mampu mendeklarasikan dan mendefinisikan fungsi Mahasiswa mampu menyelesaikan masalah menggunakan fungsi Mahasiswa mampu memahami metode
Lebih terperinciPENCARIAN CITRA BERDASARKAN BENTUK DASAR TEPI OBJEK DAN KONTEN HISTOGRAM WARNA LOKAL
Makalah Nomor: KNSI-472 PENCARIAN CITRA BERDASARKAN BENTUK DASAR TEPI OBJEK DAN KONTEN HISTOGRAM WARNA LOKAL Barep Wicaksono 1, Suryarini Widodo 2 1,2 Teknik Informatika, Universitas Gunadarma 1,2 Jl.
Lebih terperinciBab 6. Layer Manager
Bab 6 Layer Manager 6.1 Tujuan Setelah mempelajari bab ini, Pelajar diharapkan mampu untuk : Memahami dan menggunakan class LayerManager Menggambar beberapa sprite dan di satukan pada LayerManager Menentukan
Lebih terperinciBAB III ANALISIS DAN PERANCANGAN
BAB III ANALISIS DAN PERANCANGAN Analisis dan perancangan sistem memerlukan tahapan yang sistematis untuk mendapatkan aplikasi yang baik dan bersesuaian dengan kegunaan dan tujuannya. Tahap awal dari analisis
Lebih terperinciSCENE COMPLETION MENGGUNAKAN TEMPLATE MATCHING DAN POISSON BLENDING
SCENE COMPLETION MENGGUNAKAN TEMPLATE MATCHING DAN POISSON BLENDING Erick Alfons Lisangan Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Atma Jaya Makassar Alamat email : erick_lisangan@lecturer.uajm.ac.id
Lebih terperinciBAB III ANALISIS DAN PERANCANGAN
BAB III ANALISIS DAN PERANCANGAN 3.1 Identifikasi Masalah 3 dimensi atau biasa disingkat 3D atau disebut ruang, adalah bentuk dari benda yang memiliki panjang, lebar, dan tinggi. Istilah ini biasanya digunakan
Lebih terperinciBAB 2 LANDASAN TEORI
5 BAB 2 LANDASAN TEORI 2.1 Digital Image 2.1.1 Definisi Digital Image Menurut Gonzalez dan Woods (1992, p6), digital image adalah image f(x,y) yang telah dibedakan berdasarkan koordinat tata letak dan
Lebih terperinciBAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 GAMBARAN SINGKAT MENGENAI SISTEM PENGENALAN IRIS
BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 GAMBARAN SINGKAT MENGENAI SISTEM PENGENALAN IRIS Pada masa sekarang ini sering kita jumpai system pengenalan individu melalui organ organ pada tubuh atau lebih
Lebih terperinciIF PEMROGRAMAN LANJUT TUGAS 1. Oleh : Andri Heryandi, M.T.
IF34348 - PEMROGRAMAN LANJUT TUGAS 1 Oleh : Andri Heryandi, M.T. TUGAS Buatlah class untuk struktur data Stack dan Queue Oleh : Andri Heryandi, M.T. 2 SPESIFIKASI STACK Kegunaan : Class ini digunakan untuk
Lebih terperinciBAB III ANALISIS DAN PERANCANGAN
BAB III ANALISIS DAN PERANCANGAN Kondisi pengolahan data yang telah dijabarkan sebelumnya pada bab 1 (satu) memiliki keterkaitan terhadap permasalahan yang teridentifikasi. Yaitu permasalahan terkait desain
Lebih terperinciBAB III METODE PENELITIAN Perancangan Sistem dan Blok Diagram Sistem. Model penelitian yang akan dilakukan adalah model penelitian
BAB III METODE PENELITIAN 3.1. Perancangan Sistem dan Blok Diagram Sistem Model penelitian yang akan dilakukan adalah model penelitian pengembangan. Untuk mempermudah dalam memahami sistem yang akan dibuat
Lebih terperinciBAB 2 TINJAUAN PUSTAKA. Sistem biometrik merupakan teknologi pengenalan diri yang menggunakan
19 BAB 2 TINJAUAN PUSTAKA 2.1. Sistem Biometrik Sistem biometrik merupakan teknologi pengenalan diri yang menggunakan bagian tubuh atau perilaku manusia. Sidik jari dan tanda tangan merupakan contoh biometrik
Lebih terperinciIMPLEMENTASI TEMU KEMBALI CITRA TEKSTUR MENGGUNAKAN ROTATED WAVELET FILTER
IMPLEMENTASI TEMU KEMBALI CITRA TEKSTUR MENGGUNAKAN ROTATED WAVELET FILTER M. Jamaluddin 1, Nanik Suciati 2, Arya Yudhi Wiajaya 3 1,2,3 Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi
Lebih terperinciKonsep Pemrograman. Bab 7. Fungsi1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah
Bab 7. Fungsi1 Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 Overview Pendahuluan Tujuan Fungsi Dasar Fungsi Jenis Fungsi : memiliki return value Integer Selain integer Tidak memiliki
Lebih terperinciPEMANFAATAN PENGOLAHAN CITRA DIGITAL DALAM MENENTUKAN KEMATANGAN BUAH KAKAO MENGGUNAKAN METODE EUCLIDEAN DISTANCE SKRIPSI
Artikel Skripsi PEMANFAATAN PENGOLAHAN CITRA DIGITAL DALAM MENENTUKAN KEMATANGAN BUAH KAKAO MENGGUNAKAN METODE EUCLIDEAN DISTANCE SKRIPSI Diajukan Untuk Memenuhi Sebagian Syarat Guna Memperoleh Gelar Sarjana
Lebih terperinciModul 2. [access specifier] [tipe data] [nama variabel];
Modul 2 Objek, Kelas, dan Instance Variabel 1. Deklarasi variable, kelas, dan method Di setiap bahasa pemrograman, programmer selalu membuat variabel untuk dapat memanipulasi data dan mengoperasikannya.
Lebih terperinciPraktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:
Praktikum 7 Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: Konsep pengurutan dengan insertion sort dan selection sort Struktur data proses pengurutan Implementasi algoritma pengurutan
Lebih terperinciBAB 3 ANALISA DAN PERANCANGAN SISTEM. input yang digunakan merupakan sebuah pemindai sidik jari dengan kedalaman pixel
BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Perancangan Sistem Sidik Jari Dalam prosesnya, sistem pengenal sidik jari bekerja hanya dengan memanfaatkan satu input dari user yang bersangkutan, yaitu sidik
Lebih terperinciPENCARIAN CITRA VISUAL BERBASIS ISI CITRA MENGGUNAKAN FITUR WARNA CITRA. Abstract
PENCARIAN CITRA VISUAL BERBASIS ISI CITRA MENGGUNAKAN FITUR WARNA CITRA Kusrini 1, Agus Harjoko 2 1 Dosen STMIK AMIKOM Yogyakarta 2 Dosen FMIPA Universitas Gadjah Mada Yogyakarta Abstract There are two
Lebih terperinciBab 3. Perancangan Sistem
Bab 3 Perancangan Sistem 3.1 Aplikasi Serupa 3.1.1 SODIC (Sound and Digital Classroom) SODIC adalah sebuah software tool yang membantu dosen/guru dalam proses mengajar di laboratorium bahasa dan hanya
Lebih terperinciAlgoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1
Algoritma dan Pemrograman Lanjut Pertemuan Ke-8 Pengurutan (Sorting) 1 Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional
Lebih terperinciMethod. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle
Method Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle Definisi Metode: Sekumpulan baris kode program yang mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama, Dapat dipanggil berulang
Lebih terperinci