• Tidak ada hasil yang ditemukan

IMPLEMENTASI FILTERING CITRA DIGITAL PERMUKAAN BUMI 24bit MENGGUNAKAN GAUSSIAN FILTERING.

N/A
N/A
Protected

Academic year: 2017

Membagikan "IMPLEMENTASI FILTERING CITRA DIGITAL PERMUKAAN BUMI 24bit MENGGUNAKAN GAUSSIAN FILTERING."

Copied!
80
0
0

Teks penuh

(1)

SKRIPSI

Disusun oleh :

ADE SATRYA PUTRA

NPM. 0934110145

J URUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL

"

VETERAN

"

J AWA TIMUR SURABAYA

(2)

IMPLEMENTASI FILTERING CITRA DIGITAL

PERMUKAAN BUMI 24bit MENGGUNAKAN GAUSSIAN FILTERING

SKRIPSI

Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer

Jurusan Teknik Informatika

Disusun oleh :

ADE SATRYA PUTRA

NPM. 0934110145

J URUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

SURABAYA

2013

Hak Cipta © milik UPN "Veteran" Jatim :

(3)

IMPLEMENTASI FILTERING CITRA DIGITAL

PERMUKAAN BUMI 24bit MENGGUNAKAN GAUSSIAN FILTERING

Disusun Oleh :

ADE SATRYA PUTRA

NPM. 0934110145

Telah disetujui untuk mengikuti Ujian Negar a Lisan Gelombang Tahun Akademik 2012/2013

Pembimbing Utama Pembimbing Pendamping

Basuki Rahmat, S.si,M.T Intan Yuniar Purbasari, S.Kom.M.Sc NPT. 3 6907 06 0209 1 NPT. 3 8006 04 0198 1

Mengetahui,

Ketua J urusan Teknik Infor matika Fakultas Teknologi Industri UPN ”Veteran” J awa Timur

(4)

SKRIPSI

IMPLEMENTASI FILTERING CITRA DIGITAL PERMUKAAN

BUMI 24bit MENGGUNAKAN GAUSSIAN FILTERING

Disusun Oleh :

ADE SATRYA PUTRA NPM. 0934110145

Telah dipertahankan di hadapan dan diterima oleh Tim Penguji Skr ipsi J ur usan Teknik Infor matika Fakultas Teknologi Industri

Univer sitas Pembangunan Nasional ”Veteran” J awa Timur Pada Tanggal 31 J anuar i 2013

Pembimbing : Tim Penguji :

1. 1.

Basuki Rahmat, S.si,M.T Budi Nugroho S.Kom,M.Kom NPT. 3 6907 06 0209 1 NPT. 3800 9050 2051

2. 2.

Intan Yuniar Purbasari, S.Kom.M.Sc Ir.R Purnomo Edi Sasongko, MP.

NPT. 3 8006 04 0198 1 NPT. 19640714 198803 1 001

3.

Intan Yuniar Purbasari, S.Kom.M.Sc NPT. 3 8006 04 0198 1

Mengetahui,

Dekan Fakultas Teknologi Industri

Univer sitas Pembangunan Nasional ”Veteran” J awa Timur

Ir. SUTIYONO, MT. NIP. 19600713 198703 1001

Hak Cipta © milik UPN "Veteran" Jatim :

(5)

PANI TI A UJ I AN SKRIPSI / KOMPREHENSI F

KETERANGAN REVISI Mahasiswa di bawah ini :

Nama : ADE SATRYA PUTRA

NPM : 0934110145 Jurusan : Teknik Informatika

Telah mengerjakan revisi/ tidak ada revisi*) pra rencana (design)/ skripsi ujian lisan gelombang VI, TA 2012/2013 dengan judul:

IMPLEMENTASI FILTERING CITRA DIGITAL PERMUKAAN BUMI 24bit MENGGUNAKAN GAUSSIAN FILTERING

Surabaya, 17 April 2013 Dosen Penguji yang memerintahkan revisi:

1) Budi Nugroho S.Kom,M.Kom NPT. 3800 9050 2051

2) Ir.R. Purnomo Edi Sasongko, MP NPT. 19640714 198803 1 001 3) Intan Yuniar Purbasari, S.Kom.M.Sc

NPT. 3800 6040 1981

Mengetahui,

Pembimbing Utama Pembimbing Pendamping

Basuki Rahmat, S.si,M.T Intan Yuniar Purbasari, S.Kom.M.Sc NPT. 3800 6040 1981 NPT. 3 6907 06 0209 1

{

}

{

}

(6)

i

Judul : IMPLEMENTASI FILTERING CITRA DIGITAL

PERMUKAAN BUMI 24bit MENGGUNAKAN

GAUSSIAN FILTERING Pembimbing I : Basuki Rahmat S.si,M.T. Pembimbing II : Intan Yuniar S.Kom,M.sc Penyusun : Ade Satrya Putra

ABSTRAK

Menghilangkan noise dalam sebuah citra image (gambar) yang memiliki ketajaman berlebih atau yang berkaitan dengan proses transfer data sangat dibutuhkan untuk mendapatkan hasil citra gambar yang sesuai dengan yang dibutuhkan, pada aplikasi ini permasalahan diselesaikan dengan metode Gaussian filter dengan dukungan pemilihan nilai sigma dan ukuran mask secara manual dari yang telah disediakan dalam aplikasi untuk mendapat hasil yang diperlukan dengan interface yang mudah dioprasikan dan user juga dapat memahami sistem, mengetahui keunggulan dan kelemahan dalam bahasan pada tugas akhir ini.

Dengan permasalahan yang ada, membentuk sebuah tujuan yang akan dicapai pada tugas akhir ini yaitu membuat aplikasi filtering menggunakan Gaussian filter dengan matlab 10b didukung dengan GUI untuk mempermudah interaksi aplikasi dengan (user).

Aplikasi Gaussian filter yang telah terbentuk dilakuakn sebuah ujicoba yang dilakukan, didapatkan kombinasi nilai sigma 5 (lima) dengan ukuran mask 3x3 untuk mendapatkan hasil yang sesuai dengan permasalahan yang ada pada gambar berukuran 512x320.

Kata Kunci : Image, Citra , Gaussian filter, GUI, Nilai sigma, Ukuran mask.

Hak Cipta © milik UPN "Veteran" Jatim :

(7)

Syukur Alhamdulillaahi rabbil ‘alamin terucap ke hadirat Allah SWT atas segala limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan keberuntungan yang dimiliki peneliti, akhirnya peneliti dapat menyelesaikan Skripsi yang berjudul “Implementasi Filtering Citr a Digital Per mukaan Bumi 24bit Menggunakan Gaussian Filter” tepat waktu.

Skripsi dengan beban 4 SKS ini disusun guna diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.

Melalui Skripsi ini peneliti merasa mendapatkan kesempatan emas untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkuliahan, terutama berkenaan tentang pengolahan citra digital. Namun, penyusun menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh karena itu penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.

Surabaya, 12 April 2013

(8)

iii

UCAPAN TERIMA KASIH

Puji syukur ke pada Allah SWT atas segala rahmat kasihnya dan atas limpahan rahmat-Nya sehingga dengan keterbatasan kami baik waktu, tenaga, dan pikiran yang kami miliki, akhirnya kami dapat menyelesaikan laporan Tugas Akhir ini tepat pada waktunya.

Pembuatan laporan Tugas Akhir ini tidak lepas dari bantuan dan kerja sama banyak pihak yang terkait oleh penulis. Oleh karena itu dengan segala kerendahan hati, penulis ingin mengucapkan terima kasih sebesar-besarnya kepada :

1. Bapak Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor Universitas Pembangunan Nasional “Veteran” Jawa Timur.

2. Bapak Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN “Veteran” Jawa Timur.

3. Ibu Dr.Ir.Ni Ketut Sari, MT Kepala Jurusan Teknik Informatika, FTI UPN “VETERAN” Jawa Timur.

4. Bapak Firza Prima Aditiawan, S.Kom. Selaku PIA Tugas Akhir Teknik Informatika UPN “Veteran” Jawa Timur.

5. Bapak Basuki Rahmat, S.si, M.T. dan ibu Intan Yuniar, S.Kom, M.sc selaku dosen pembimbing Tugas Akhir.

6. Kedua orang tua dan keluarga saya tercinta atas motivasi dan doanya kepada saya dalam menyelesaikan laporan Tugas Akhir ini.

7. Tidak lupa saya ucapkan banyak terima kasih kepada teman-teman yang tidak bisa kami sebutkan satu-persatu dan Annisa Dyan Triarsih

dalam mendukung saya dalam menyelesaikan Tugas Akhir ini.

Hak Cipta © milik UPN "Veteran" Jatim :

(9)

ABSTRAK ... i

KATA PENGANTAR ... ii

UCAPAN TERIMA KASIH ... iii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... viii

DAFTAR TABEL . ... ix

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang... ... 1

1.2 Perumusan Masalah... ... 2

1.3 Batasan Masalah... ... 3

1.4 Tujuan... ... 3

1.5 Manfaat... ... 4

1.6 Metodologi Pembuatan skripsi... 4

1.7 Sistematika Penulisan... ... 6

BAB II TINJ AUAN PUSTAKA ... 8

2.1 Definisi Noise ... 8

2.1.1Intensity Filtering... 9

2.1.2 High pass intensity filtering... 9

2.1.3 Low pass intensity filtering... 10

2.2 Penjelasan Umum Tentang Citra ... 10

(10)

v

2.3.1 Mean filtering... ... 11

2.3.2 Modus filtering...,... 12

2.3.3 Gaussian filtering... 13

2.4 Matlab... 16

2.4.1 Beberapa Bagian dari Window pada tool... 17

2.4.2 Current Directory... 17

2.4.3 Command History... 17

2.3.4 Command Window... 17

2.4.5 Workspace... 17

2.4.6 Getting Help... 18

2.4.7 Interupting dan Terminating dalam... 18

2.4.8 Variabel Pada... 18

2.4.9 Matriks... 19

2.4.10 Operator Aritmatika... 21

2.4.11 Fungsi Matematika lainnya... 21

2.4.12 M File... 22

2.4.13 Fungsi... 22

2.4.14 Flow Control... 23

2.4.15 If, Else, Elseif... 23

2.4.16 Switch... 24

2.4.17 While... 24

2.4.18 For... 25

2.4.19 Operator... 26

Hak Cipta © milik UPN "Veteran" Jatim :

(11)

2.5.2 Tampilan GUIDE... ... 28

2.5.3 Komponen GUIDE... ... 28

2.5.4 Push Button... ... 28

2.5.5 Toggle Button... 29

2.5.6 Radio Button... ... 29

2.5.7 Edit Text dan Static Text ... 29

2.5.8 Frames... ... 29

2.5.9 Checkboxes... ... 30

2.5.10 Slider... 30

2.5.11 Pop – up Menu... 30

2.5.12 Axes... 30

2.5.13 Membuat GUI... ... 31

BAB III METODOLOGI PENELITIAN ... 32

3.1 Analisis Sistem ... ... 32

3.2 Analisis Masalah ... 33

3.3 Analisis Kebutuhan Fungsion ... 33

3.3.1 Kebutuhan Fungsional... ... 33

3.3.2 Kebutuhan Antarmuka... ... 34

3.4 Perancangan Proses ... 34

3.4.1 Konteks Diagram... ... 35

3.4.2 DFD level 1... ... 36

(12)

vii

3.4.4 Proses Pengaturan nilai sigma... 37

3.4.5 Proses Pengaturan ukuran mask... ... 38

3.4.6 Prinsip Metode Gaussian... 39

3.5 Perancangan Interface ... 41

BAB IV HASIL dan PEMBAHASAN... 43

4.1 Implementasi Interface ... 43

4.1.1 GUI... ... 42

4.1.2 Pop – up Menu Gambar... 44

4.1.3 Slider Menu Sigma... 45

4.1.4 Pop – up Menu Mask... 45

4.1.5 Rumus Gaussian... 46

4.1.6 Tombol Go... 47

4.1.7 Tombol Selesai... 48

4.2 Interface ... 49

4.3 Uji Coba Aplikasi gambar ukuran 512x320 pixel ... 49

4.4 Uji Coba Aplikasi gambar ukuran 1440x900 pixel... 56

4.5 Hasil Uji coba ... 62

BAB V PENUTUP ... 64

5.1 Kesimpulan ... 64

5.2 Saran ... 65

DAFTAR PUSTAKA ... 66

Hak Cipta © milik UPN "Veteran" Jatim :

(13)

Gambar 2.1 High pass filter ... 9

Gambar 2.2 Low pass filter ... 10

Gambar 2.3 Halaman editor . ... 22

Gambar 3.1 Perancangan proses jalannya program secara garis besar ... 34

Gambar 3.2 Konteks diagram. ... 35

Gambar 3.3 DFD level 1 aplikasi Gaussian filter ... 36

Gambar 3.4 Proses filtering menggunakan Gaussian filter ... 37

Gambar 3.5 Proses pengaturan nilai sigma ... 38

Gambar 3.6 Proses menjalankan pilihan ukuran mask ... 39

Gambar 3.7 Proses prinsip metode Gaussian ... 40

(14)

ix

DAFTAR TABEL

halaman

Tabel 2.1 Operator Aritmatika ... 21

Tabel 2.2 Jenis Operator Pada Matlab ... 26

Tabel 4.1 Uji coba aplikasi gambar 512x320 pixel ... 50

Tabel 4.2 Uji coba aplikasi gambar 1440x900 pixel ... 56

Hak Cipta © milik UPN "Veteran" Jatim :

(15)

1.1LATAR BELAKANG

Diera digital saat ini masih terdapat beberapa kelemahan atau gangguan pada sebuah citra yang dihasilkan dan menyebabkan citra tersebut menjadi terhalangi atau terganggu oleh beberapa gangguan seperti yang akan kita bahas dalam tugas akhir ini adalah noise yang berupa bercak titik – titik menyebar di sebuah citra yang ada yang kemudian akan mengganggu pandangan atau mempengaruhi keutuhan citra tersebut.

(16)

2

Banyak metode yang bisa di implementasikan pada image semoothing namun metode gaussian yang cukup populer sehingga terbentuklah sebuah “IMPLEMENTASI FILTERING CITRA DIGITAL PERMUKAAN BUMI 24bit MENGGUNAKAN GAUSSIAN FILTERING” . Didalam tool yang digunakan untuk membuat aplikasi ini terdapat special fungsi untuk memanggil Gaussian filter seperti berikut :

gambar=imread(‘f:/tripod.jpg’);

gaussianFilter = fspecial(‘gaussian’, [24, 24], 30)

hasil = imfilter(gambar, gaussianFilter, ‘symmetric’, ‘conv’);

subplot(1,2,1), image(gambar);

subplot(1,2,2), image(hasil), title(‘Blurred Turtle, blur

matrix size 12′);

dari contoh script di atas hanya bisa melakukan filtering sekali saja dan tidak bisa menambah atau mengurangi intensitas filteringnya hanya saja bisa merubah secara manual melalui matrix yang diisikan.

Implementasi yang dilakukan dalam tugas akhir ini adalah dengan memasukkan rumus Gaussian secara manual tanpa menggunakan fspecial

dan akan memberikan intensitas pada Gaussian filter tersebut sehingga bisa dikurangi atau dilebihkan tingkat filteringnya oleh pengguna.

1.2PERUMUSAN MASALAH

Berdasarkan latar belakang yang telah dijelaskan diatas, maka dapat dirumuskan masalah dalam tugas akhir ini, yaitu :

a. Bagaimana merancang sebuah aplikasi filtering image dengan menggunakan metode gaussian?

Hak Cipta © milik UPN "Veteran" Jatim :

(17)

b. Bagaimana mendesain interface yang mudah dalam penggunaannya sehingga tidak menyulitkan pengguna dalam menjalankan aplikasi tersebut?

1.3 BATASAN MASALAH

Pada pembuatan aplikasi ini perlu didefinisikan batasan masalah mengenai sejauh mana pembuatan aplikasi ini akan dikerjakan. Beberapa batasan masalah tersebut antara lain :

a) Batasan pada aplikasi ini adalah hanya untuk menampilkan gambar kemudian menyamarkan noise tersebut dengan metode gaussian.

b) Citra yang digunakan 24bit RGB

c) Matrix yang digunakan dalam aplikasi ini hanya terbatas pada matrix dari 2x2 sampai dengan 5x5.

d) Nilai sigma dalam aplikasi ini dari 0,1 sampai dengan 5 dengan langkah tiap pergeseran slider 0,1.

e) Gambar yang digunakan dalam aplikasi ini adalah gambar permukaan bumi yang diambil dari foto satelit diatas atmosfir bumi yang telah disediakan dalam aplikasi.

f) Gaussian filter dalam aplikasi ini digunakan untuk menghilangkan noise berupa adanya badai meteor atau tebaran bintang diatas atmosfir bumi.

1.4 TUJ UAN

Dalam hal ini tujuan perancangan sistem ini adalah :

(18)

4

1.5 MANFAAT

Manfaat dari pembuatan aplikasi ini adalah :

a) Membantu dalam pengelihatan citra tanpa noise pada permukaan bumi yang dijadikan target.

b) Mampu mempermudah dalam menganalisa permukaan bumi dari foto satelit.

1.6 METODOLOGI PEMBUATAN SKRIPSI

Beberapa metode dan teknik yang dipergunakan dalam pengumpulan dan pengolahan data skripsi ini antara lain :

I. Studi Literatur

Pada tahap ini dilakukan pengumpulan dokumen, buku, referensi dari internet, atau referensi – referensi lain yang diperlukan untuk merancang dan mengimplementasikan aplikasi Gaussian filtering yang akan dibuat.

II. Studi Observasi

Merupakan aktivitas melakukan pengamatan dan analisa terhadap kondisi yang terdapat dilapangan serta kemudian memberikan solusinya yang bertujuan agar aplikasi yang dibuat benar – benar mempermudah pengguna.

III. Analisa dan Perancangan Aplikasi

Dari hasil studi literatur dan studi observasi akan dibuat deskripsi umum sistem berupa flowchart jalannya aplikasi, flowchart nilai sigma, flowchart ukuran mask dan flowchart metode Gaussian filter, serta dilakukan

Hak Cipta © milik UPN "Veteran" Jatim :

(19)

analisis sistem, analisis masalah, analisis kebutuhan fungsional, kebutuhan fungsional, selain itu juga dilakukan perancangan awal aplikasi yang akan dibuat, sehingga akan dihasilkan desain antar muka dan proses yang siap untuk diimplementasikan.

IV. Pembuatan Aplikasi

Pada tahap ini merupakan tahap yang paling banyak memerlukan waktu karena model dan perancangan aplikasi yang telah dibuat akan diimplementasikan dengan menggunakan perangkat Laptop/ NetBook dan terinstal tools yang digunakan dalam pembuatan aplikasi Gaussian filter.

V. Uji Coba dan Evaluasi Aplikasi

Pada tahap ini aplikasi yang telah dibuat ini akan dilakukan beberapa skenario uji coba untuk kelayakan pemakai sistem, seperti melakukan beberapa kombinasi nilai sigma dan ukuran mask pada gamabr dengan beberapa ukuran pixsel yang berbeda untuk diketahui keberhasilan dari aplikasi Gaussian filter yang telah dibuat.

VI. Penyusunan Buku Skripsi

(20)

6

1.7 SISTEMATIKA PENULISAN

Sistematika pembahasan yang akan dibuat dalam skripsi ini disusun beberapa bab, yang dijelaskan sebagai berikut :

BAB I PENDAHULUAN

Bab ini berisi tentang deskripsi umum skripsi yang meliputi latar belakanng, perumusan masalah, batasan masalah, tujuan dan manfaat, serta metodologi dan sitematika pembahasan.

BAB II TINJAUAN PUSTAKA

Bab ini berisi mengenai konsep dan teori pembelajaran yang menjadi landasan pembuatan skripsi antara lain : Sistem Informasi, Aplikasi teknologi informasi untuk mendukung manajemen informasi kesehatan.

BAB III METODOLOGI PENELITIAN

Bab ini berisi tentang analisis dan perancangan sistem dalam pembuatan Tugas Akhir implementasi filtering citra digital permukaan bumi 24bit menggunakan gaussian filtering.

BAB IV HASIL DAN PEMBAHASAN

Bab ini berisi hasil implementasi dari perancangan yang telah dibuat sebelumnya yang meliputi : implementasi antar muka, penjelasan lingkungan uji coba aplikasi, pelaksanaan uji coba dan evaluasi dari hasil uji coba yang telah dilakukan untuk kelayakan pemakaian aplikasi Gaussian filter.

Hak Cipta © milik UPN "Veteran" Jatim :

(21)

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran untuk pengembangan aplikasi lebih lanjut dalam upaya memperbaiki kelemahan pada aplikasi guna untuk mendapatkan hasil kinerja aplikasi yang lebih baik.

DAFTAR PUSTAKA

(22)

8

BAB II

TINJ AUAN PUSTAKA

2.1 NOISE

Noise dan Pengur angan Noise (Denoise)

Noise adalah titik-titik pada citra yang sebenarnya bukan merupakan bagian dari citra, melainkan ikut tercampur pada citra karena suatu sebab. Ada tiga macam noise, yaitu:

a. Noise Aditif

Noise aditif adalah noise yang bersifat menambahkan secara seragam pada sebuah bidang citra dengan varian tertentu. Contoh noise ini adalah noise salt-and-peppers yang menambahkan aras gelap dan terang pada citra.

b. Noise Gaussian

Noise ini memiliki intensitas yang sesuai dengan distribusi normal yang memiliki rerata (mean) dan varian tertentu.

c. Noise Speckle

Noise ini muncul pada saat pengambilan citra tidak sempurna karena alasan cuaca, perangkat pengambil citra dan sebagainya. Sifat noise ini mulipikatif, artinya semakin besar intensitas citra atau semakin cerah citra, semakin jelas juga noise. Noise muncul biasanya sebagai akibat dari pembelokkan yang tidak bagus (sensor noise, photographic gain noise). Gangguan tersebut umumnya berupa variasi intensitas suatu piksel yang tidak

Hak Cipta © milik UPN "Veteran" Jatim :

(23)

berkorelasi dengan piksel-piksel tetangganya. Secara visual, gangguan mudah dilihat oleh mata karena tampak berbeda dengan piksel tetangganya. Piksel yang mengalami gangguan umumnya memiliki frekuensi tinggi. Komponen citra yang berfrekuensi rendah umumnya mempunyai nilai piksel konstan atau berubah sangat lambat. Operasi denoise dilakukan untuk menekan komponen yang berfrekuensi tinggi dan meloloskan komponen yang berfrekuensi rendah.

2.1.1 Intensity filtering

Dengan metode ini, noise akan di reduksi dengan mendeteksi intensitas dari setiap titik di layar. Cara ini akan efektif apabila banyak titik noise yang memiliki warna sama pada titik-titik pada gambar asli. Intensity filtering akan bagus digunakan apabila terdapat sedikit titik-titik noise yang memiliki warna sama dengan gambar asli. Terdapat dua macam noise reduction pada intensity filtering, yaitu high pass filtering dan low pass filtering.

2.1.2 High pass intensity filtering

High pass intensity filtering digunakan jika noise diketahui memiliki intensitas warna tinggi. Misalnya noise berwarna 220-255, maka dilakukan pendeteksian untuk setiap titik yang memiliki warna antara 220 hingga 255 akan ditandai sebagai noise yang ditunjukkan padaGambar 2.1.

(24)

10

2.1.3 Low pass intensity filtering

Low pass intensity filtering digunakan pada gambar yang memiliki intensitas warna yang rendah. Karena letak noise berada di intensitas rendah, maka dilakukan pencarian pada titik-titik gambar dan kemudian akan ditandai sebagai noise. Selanjutnya titik tersebut akan diganti dengan mencari warna rata-rata di sekitar titik tersebut yang ditunjukkan padaGambar 2.2.

Gambar 2.2 Low pass filter

2.2 Penjelasan Umum Tentang Citr a

Istilah “citra” yang pada umumnya digunakan dalam bidang pengolahan citra diartikan sebagai suatu fungsi kontinu dari intensitas cahaya f(x,y) dalam bidang dua dimensi, dengan (x,y) menyatakan suatu koordinat dan nilai f pada setiap titik (x,y) menyatakan intensitas atau tingkat kecerahan (brightness) [6]. Suatu citra digital adalah suatu citra kontinu yang diubah ke dalam bentuk diskrit, baik koordinat maupun intensitas cahayanya. Kita dapat menganggap suatu citra digital sebagai suatu matriks, dimana indeks baris dan kolomnya menyatakan koordinat sebuah titik pada citra tersebut dan nilai masing-masing elemennya menyatakan intensitas cahaya pada titik tersebut [6]. Suatu titik pada sebuah citra digital sering disebut sebagai “image element” (elemen citra), “picture element” (elemen gambar), “pixel” ataupun “pel”.

Hak Cipta © milik UPN "Veteran" Jatim :

(25)

2.3 Metode filtering citr a

pengolahan citra digital terdapat beberapa metode untuk filtering image yaitu metode Mean, Modus dan Gaussian. Dari ketiga metode ini salah satunya akan dibahas lebih dalam dan digunakan sebagai dasar pembuatan aplikasi tugas akhir ini yaitu Gaussian filter.

2.3.1 Mean Filtering

Mean adalah nilai rata-rata dari kumpulan data (Usman, 2005). Rumusan menghitung mean adalah pada Persamaan berikut :

Persamaan Mean filter:

̅

=

1

Keterangan :

X = Nilai rata-rata (Mean) n = Jumlah data

i x = Nilai ke -i i = Nilai Awal

(26)

12

1

2

3

4

5

6

7

8

Nilai 1, 2, 3, 4, 5, 6, 7, dan 8 pada gambar 2.1 adalah piksel-piksel disekitar piksel T yang akan diproses. Nilai 4 didapat dari piksel sebelah kiri dari piksel T, nilai 5 didapat dari piksel di sebelah kanan dari piksel T, proses pengambilan piksel dimulai dengan mengambil piksel yang akan diproses, disimpan dalam nilai T. Kemudian diambil piksel-piksel sekitarnya sehingga matrik terisi penuh. Proses selanjutnya dijumlahkan semua nilai yang terdapat pada matrik tersebut. Hasil penjumlahan tersebut dibagi dengan jumlah titik yang terdapat pada matrik tersebut. Bilangan pembagi ini dapat diperoleh dari perkalian antara N X N. Pada gambar 2.1, maka hasil pembaginya adalah 9. Sembilan diperoleh dari hasil kali matrik 3 X 3. Hasil pembagian tersebut akan menggantikan nilai T. Nilai T yang baru akan ditampilkan pada layar monitor untuk menggantikan nilai T yang lama. Proses diatas adalah untuk menggambar grayscale (hitam-putih), untuk menggambar berwarna maka masing-masing titik terlebih dahulu ditentukan nilai warna merah (R), hijau (G), dan biru (B). Masing-masing nilai RGB dijumlahkan. Hasil penjumlahan nilai RGB dibagi dengan jumlah titik yang diproses. Hasil dari pembagian digunakan untuk menentukan warna baru yang akan di letakkan pada titik T.

2.3.2 Modus Filtering

Modus adalah nilai variable yang memiliki frekuensi tertinggi (Usman, 2005). Modus dapat ditemukan pada data yang telah diurutkan maupun yang belum terurut. Untuk menentukan modus filter ini, pertama-tama ditentukan

Hak Cipta © milik UPN "Veteran" Jatim :

(27)

piksel utama yang akan diproses dari piksel-piksel disekitarnya. Pada modus filtering digunakan matrik berdimensi N X N. Dari matriktersebut, kemudian data yang ada diurutkan dan dimasukkan dalam sebuah matrik berukuran1X(N X N). Hal ini berguna untuk mempermudah menemukan modusnya untuk pencarian nilai yang terbanyak frekuensinya dari kumpulan data yang telah urut tersebut Sebagai contoh, jika diketahui suatu piksel utama dan piksel-piksel disekitanya adalah:

5

7

2

7

4

7

2

7

1

Maka data pada matrik dibawah ini harus diurutkan terlebih dahulu sehingga menjadi:

[1

2

2

4

5

7

7

7

7]

Sehingga dari matrik 2.3 dapat diketahui bahwa modus dari matrik tersebut adalah 7. Nilai 7 akan menggantikan piksel utama yang semula bernilai 4.

2.3.3 Gaussian filter

Gaussian filtering didapat dari operasi konvolusi. Operasi perkalian yang dilakukan ialah perkalian antara matriks kernel dengan matriks gambar asli. Matriks kernel gauss didapat dari fungsi komputasi dari distribusi gaussian, seperti pada persamaan berikut :

( , ) = . − ( − ) + ( − )

(28)

14

Keterangan :

c dan = konstanta

G (i,j) = elemen matriks kernel gauss pada posisi (i,j) (u,v) = indeks tengah dari matriks kernel gauss Berikut ini contoh matrik kernel Gauss 3 X 3 dengan = 1.0

1 2 1

2 3 2

1 2 1

Perkalian antara bobot matriks gambar asli dengan bobot matrik kernel gauss dapat dirumuskan seperti pada persamaan berikut:

( , ) = 1 . ( , ) . + − ( − 1)

2 , + −

( − 1)

2

Keterangan :

Pixel A = gambar A (Gambar Asli)

Pixel B(i,j) = bobot hasil perkalian pada posisi (i,j) N = jumlah kolom matriks kernel

M = jumlah baris matriks kernel K = penjumlahan semua bobot di G

G(p,q) = elemen matriks kernel gauss pada posisi (p,q)

Gambar yang akan diproses dibagi menjadi 2 jenis piksel, yaitu piksel batas dan piksel dalam. Piksel batas yaitu piksel yang berada dipaling luar pada gambar, selain piksel tersebut disebut piksel dalam.

Hak Cipta © milik UPN "Veteran" Jatim :

(29)

Untuk piksel yang berada didalam, perkalian dilakukan menggunakan persamaan bobot matrik kernel, yaitu menjadikan piksel yang dicari nilai barunya sebagai piksel tengah dan bobotnya dikalikan dengan bobot pada piksel tengah matrik kernel, lalu dijumlahkan dengan hasil perkalian antara bobot piksel-piksel tetangga-tetangganya dengan bobot piksel matrik kernel. Untuk piksel yang berada disudut atau perbatasan, sebelum dilakukan perkalian, sebelumnya harus mencari bobot pada piksel-piksel luar (dummy). Bobot piksel-piksel ini dicari dengan menggunakan interpolasi yaitu dengan melihat dua piksel di dekatnya yang searah (horizontal atau vertikal). Apabila ada piksel yang memiliki bobot lebih kecil dari 0 maka bobot dijadikan 0. Apabila ada piksel yang memiliki bobot lebih besar dari 255 maka bobotnya dijadikan 255.

Contoh konvolusi matrik gambar asli(A) dengan matrik kernel gauss(G):

X =

A G B

x

=

B C

0 5 70 45 0 0 0

0 20 55 30 10 5 0 30 35 40 15 60 45 30

0 15 50 85 23 37 51 44 52 66 16 33 44 55 46 47 28 36 7 51 3

0 62 0 56 0 56 0

390 6585 510 325 215 440 570 523 503 483

529 660 602 579 615 644 663 556 468 568 627 468 415 435 649

1 2 1

2 3 2

1 2 1

26 39 34 22 14 29 38 35 34 32 35 44 40 39 47

43 44 37 31 38 42 31 28 29 43 390 6585 510 325 215

440 570 523 503 483

529 660 602 579 615

644 663 556 468 568

(30)

16

Keterangan:

A = Matriks gambar asal B = Matrik hasil perkalian G = Matrik kernel gauss C = Matrik gambar hasil

Pada aplikasi yang akan dibuat dalam tugas akhir ini akan menggunakan Gaussian filter dikarenakan secara perhitungan yang ditunjukkan oleh metode mean filter dan metode modus filter hanya melalui satu tahapan persamaan sehingga proses filtering yang dihasilkan tidak terlalu detail atau masih kurang dalam mengngurangi noise yang ada.

Pada persamaan yang ditunjukkan dalam metode Gaussian filter melalui beberapa tahapan dalam proses perhitungannya sehingga mampu menghasilkan sebuah citra image yang lebih halus atau mampu mengurangi noise yang ada pada citra image yang terkena noise.

2.4 Matlab

Matlab merupakan bahasa pemrograman yang hadir dengan fungsi dan karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu seperti Delphi, Basic maupun C++. Tool ini merupakan bahasa pemrograman level tinggi yang dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan pemrograman seperti komputasi matematik, analisis data, pengembangan algoritma, simulasi dan pemodelan dan grafik-grafik perhitungan. Tool ini hadir dengan membawa warna yang berbeda. Hal ini karena matlab membawa keistimewaan dalam fungsi-fungsi matematika, fisika, statistik, dan visualisasi. Tool ini dikembangkan oleh MathWorks, yang pada awalnya dibuat untuk memberikan kemudahan mengakses data matrik pada proyek LINPACK

Hak Cipta © milik UPN "Veteran" Jatim :

(31)

dan EISPACK. Saat ini matlab memiliki ratusan fungsi yang dapat digunakan sebagai problem solver mulai dari simple sampai masalah-masalah yang kompleks dari berbagai disiplin ilmu.

2.4.1 Bagian dari Window pada tool untuk membuat aplikasi.

Dalam aplikasi matlab terdapat beberapa window yang memiliki fungsi atau tugas tersendiri dan akan dijelaskan pada point – point berikut, dari point 2.4.2 sampai dengan point 2.4.19 secara terperinci dan setiap bagian dari aplikasi matlab akan dibahas.

2.4.2 Cur rent Directory

Window ini menampilkan isi dari direktori kerja saat menggunakan matlab. Kita dapat mengganti direktori ini sesuai dengan tempat direktori kerja yang diinginkan. Default dari alamat direktori berada dalam folder works tempat program files Matlab berada.

2.4.3 Command History

Window ini berfungsi untuk menyimpan perintah-perintah apa saja yang sebelumnya dilakukan oleh pengguna terhadap matlab.

2.4.4 Command Window

Window ini adalah window utama dari Matlab. Disini adalah tempat untuk menjalankan fungsi, mendeklarasikan variable, menjalankan proses-proses , serta melihat isi variable.

2.4.5 Wor kspace

(32)

18

double klik pada variabel tersebut. Matlab secara otomatis akan menampilkan window “array editor” yang berisikan data pada setiap variabel yang dipilih user.

2.4.6 Getting Help

Matlab menyediakan fungsi help yang tidak berisikan tutorial lengkap mengenai Matlab dan segala keunggulannya. User dapat menjalankan fungsi ini dengan menekan tombol pada toolbar atau menulis perintah ‘helpwin’ pada command window. Matlab juga menyediakan fungsi demos yang berisikan video tutorial matlab serta contoh-contoh program yang bisa dibuat dengan matlab

2.4.7 Interupting dan Ter minating

Untuk menghentikan proses yang sedang berjalan pada matlab dapat dilakukan dengan menekan tombol Ctr l-C. Sedangkan untuk keluar dari matlab dapat dilakukan dengan menuliskan perintah exit atau quit pada comamnd window atau dengan menekan menu exit pada bagian menu file dari menu bar.

2.4.8 Var iabel

Matlab hanya memiliki dua jenis tipe data yaitu Numeric dan String. Dalam matlab setiap variabel akan disimpan dalam bentuk matrik. User dapat langsung menuliskan variabel baru tanpa harus mendeklarasikannya terlebih dahulu pada command window.

Contoh pembuatan variabel pada matlab:

>> varA = 1000 varA =

1000

>> varB = [45 2 35 45] varB =

45 2 35 45

>> varC = 'test variabel' varC =

Hak Cipta © milik UPN "Veteran" Jatim :

(33)

test variable

Penamaan variabel pada matlab bersifat caseSensitif karena itu perlu diperhatikan penggunaan huruf besar dan kecil pada penamaan variabel. Apabila terdapat variabel lama dengan nama yang sama maka matlab secara otomatis akan me-replace variabel lama tersebut dengan variabel baru yang dibuat user.

2.4.9 Matr iks

Dapat diasumsikan bahwa didalam matlab setiap data akan disimpan dalam bentuk matriks. Dalam membuat suatu data matriks pada matlab, setiap isi data harus dimulai dari kurung siku ‘[‘ dan diakhiri dengan kurung siku tutup ‘]’. Untuk membuat variabel dengan data yang terdiri beberapa baris, gunakan tanda ‘titik koma’ (;) untuk memisahkan data tiap barisnya.

Contoh pembuatan data matriks pada matlab:

>> DataMatriks = [1 2 3;4 5 6] DataMatriks =

1 2 3 4 5 6

Matlab menyediakan beberapa fungsi yang dapat kita gunakan untuk menghasilkan bentuk-bentuk matriks yang diinginkan. Fungsi-fungsi tersebut antara lain:

• zeros : untuk membuat matriks yang semua datanya bernilai 0 • ones : matriks yang semua datanya bernilai 1

(34)

20

contoh penggunaan fungsi-fungsi diatas:

>> a = zeros(2,3) a =

0 0 0 0 0 0

>> b = ones(1,3) b =

1 1 1

>> c = rand(2,2) c =

0.9501 0.6068 0.2311 0.4860 >> d = rand (1,4) d =

0.8214 0.4447 0.6154 0.7919 >> e = eye(3,3)

e = 1 0 0 0 1 0 0 0 1

Untuk memanggil isi dari suatu data matriks, gunakan tanda kurung ‘()’ dengan isi indeks dari data yang akan dipanggil. Contoh penggunaan :

>> c(2,2) ans = 0.4860

Untuk pemanggilan data berurutan seperti a(1,2,3) dapat disingkat dengan menggunakan tanda titik dua ‘:’ sehingga menjadi a(1:2). Penggunaan tanda titik dua ‘:’ juga dapat digunakan untuk memanggil data matriks perbaris atau perkolom.

Contoh penggunaan:

c(2:5) = memanggil data matrik baris 2 sampai baris 5 a(1,:) = memanggil data matriks pada baris pertama b(:,3) = memanggil data matris pada kolom ketiga

Hak Cipta © milik UPN "Veteran" Jatim :

(35)

2.4.10 Operator

Beberapa penggunaan operator aritmatika antara dua operand (A dan B) ditunjukkan pada Tabel 2.1 berikut ini :

Tabel 2.1 Operator aritmatika.

Operasi Bentuk Aljabar Bentuk Matlab Contoh

Perkalian A x B A * B 5*3

Pembagian A ÷ B A ¥ B 2¥3

Penambahan A + B A + B 1+2

Pengurangan A – B A – B 4-3

Eksponensial AB A ^ B 4^3

2.4.11 Fungsi Matematika lainnya

Beberapa fungsi matematika lainnya yang dapat kita gunakan untuk operasi matematika antara lain sebagai berikut:

• abs(x) : fungsi untuk menghasilkan nilai absolut dari x

• sign(x) : fungsi untuk menghasilkan nilai -1 jika x<0, 0 jika x=0 dan 1 jika x>1 • exp(x) : untuk menghasilkan nilai eksponensian natural, e x

• log(x) : untuk menghasilkan nilai logaritma natural x, ln x

• log10(x) : untuk menghasilkan nilai logaritma dengan basis 10, x 10 log • sqrt(x) : untuk menghasilkan akar dari nilai x, x

(36)

22

2.4.12 M File

Di dalam matlab, kita dapat menyimpan semua script yang akan digunakan dalam file pada matlab dengan ekstensi .M. M-File dapat dipanggil dengan memilih menu file->new->M-File yang ditunjukkan pada Gambar 2.3.

Gambar 2.3 Halaman editor.

Di dalam M-File, kita dapat menyimpan semua perintah dan menjalankan dengan menekan tombol atau mengetikan nama M-File yang kita buat pada command window.

2.4.13 Fungsi

Di dalam M File, kita dapat menuliskan fungsi-fungsi yang berisikan berbagai operasi sehingga menghasilkan data yang diinginkan. Bentuk penulisan nama fungsi

Function [Nilai keluaran ] = namaFungsi (nilai masukan)

% operasi dari fungsi % …

% …

Contoh penggunaan:

fungsi yang akan dibuat bernama ‘testfungsi’ memiliki tiga nilai masukan ‘c,d,e’ dan dua nilai keluaran ‘a,b’:

function [a,b] = testFungsi(c,d,e) %operasi yang dijalankan

a = c + d +e; b = c * d *e;

Hak Cipta © milik UPN "Veteran" Jatim :

(37)

Selanjutnya Fungsi tersebut akan dijalankan melalui command window dengan nilai masukan ’10,2,4’. Perhatikan penulisan kurung siku ‘[ ]’ pada nilai keluaran dan kurung biasa ‘( )’ pada nilai masukan.

>> [a,b] = testFungsi(10,2,3)

a = 15 b = 60

2.4.14 Flow Contr ol

Matlab memiliki empat macam statement yang dapat digunakan untuk mengatur aliran data pada fungsi yang akan dibuat

2.4.15 If, Else, Elseif

Bentuk dasar penggunaan statement jenis ini adalah sebagai berikut:

if ekspresi1 statements1; elseif ekspresi2 statements2; else statements3; end

Ekspresi akan bernilai 1 jika benar dan bernilai 0 jika salah. Contoh penggunaan:

function testFungsi(A,B) if A > B

disp('A lebih besar dari B') elseif A == B

disp('A sama dengan B') else

disp('A lebih kecil dari B') end

Fungsi disp digunakan untuk menampilkan pesan pada command window. Fungsi tersebut setelah dijalankan melalui command window:

(38)

24

>> testFungsi(2,2) A sama dengan B >> testFungsi(2,3) A lebih kecil dari B

2.7.16 Switch

Bentuk dasar penggunaan statement switch

switch switch_ekspresi case case_ekspresi1 statement1 case case_ekspresi2 statement2 ... ... otherwise statementN end Contoh penggunaan: function testFungsi(x) switch x case 1

disp('x is 1') case {2,3,4}

disp('x is 2, 3 or 4') case 5

disp('x is 5') otherwise

disp('x is not 1, 2, 3, 4 or 5') end

Hasil setelah dijalankan :

>> testFungsi(2) x is 2, 3 or 4 >> testFungsi(1) x is 1

>> testFungsi(5) x is 5

>> testFungsi(6)

x is not 1, 2, 3, 4 or 5

2.4.17 while

Statement while digunakan untuk aliran data yang bersifat perulangan. Bentuk dasar penggunaan while :

Hak Cipta © milik UPN "Veteran" Jatim :

(39)

while ekspresi statements ... End Contoh penggunaan function testFungsi(x)

%selama nilai x kurang dari 10 while x < 10

disp('nilai saat ini : '); %tampilkan nilai x

x

%increment nilai x x = x+1;

end

Hasil setelah dijalankan :

>> testFungsi(6) nilai saat ini : x =

6

nilai saat ini : x =

7

nilai saat ini : x =

8

nilai saat ini : x =

9

2.4.18 for

Bentuk dasar penggunaan bentuk for:

for index = start:increment:stop

statement ...

...

statement

end

Default dari nilai increment (penambahan nilai setiap perulangan) jika tidak ditentukan oleh user adalah 1.

(40)

26

function a = testFungsi for y = 1:10

a(y) = y^2; end

Hasil setelah fungsi dijalankan

>> a = testFungsi a =

1 4 9 16 25 36 49 64 81 100

2.4.19 Operator

Pada Tabel 2.2 adalah jenis-jenis operator pada matlab yang dapat digunakan untuk operasi ekspresi pada statement yang membutuhkan perbandingan seperti if atau while.

Tabel 2.2 Jenis operator.

Gunaidi Abdia Away, the shortcut of Matlab, Informatika Bandung, Juni 2006.

2.5 GUI / GUIDE

Dibangun dengan obyek grafik seperti tombol (button), kotak teks, slider, menu dan lain-lain. Aplikasi yang menggunakan GUI umumnya lebih mudah dipelajari dan digunakan karena orang yang menjalankannya tidak perlu mengetahui perintah yang ada dan bagaimana kerjanya. Sampai saat ini, jika kita membicarakan pemrograman berorientasi visual, yang ada di benak kita adalah

Operator Keterangan

A < B A lebih kecil dari B

A > B A lebih besar dari B

A < = B A lebih kecil atau sama dengan B

A > = B A lebih besar atau sama dengan B

A = = B A sama dengan B

A ~ = B A tidak sama dengan B

Hak Cipta © milik UPN "Veteran" Jatim :

(41)

sederetan bahasa pemrograman, seperti visual basic, Delphi, visual C++, visual Fox Pro, dan lainnya yang memang didesai secara khusus untuk itu. Matlab merintis ke arah pemrograman yang menggunakan GUI dimulai dari versi 5, yang terus disempurnkan sampai sekarang. GUIDE Matlab mempunyai kelebihan tersendiri dibandingkan dengan bahasa pemrogram lainnya, diantaranya:

a) GUIDE banyak digunakan dan cocok untuk aplikasi-aplikasi berorientasi sains, sehingga banyak peneliti dan mahasiswa menggunakan GUIDE Matlab untuk menyelesaikan riset atau tugas akhirnya.

b) GUIDE mempunyai fungsi built-in yang siap digunakan dan pemakai tidak perlu repot membuatnya sendiri.

c) Ukuran file, baik FIG-file maupun M-file, yang dihasilkan relatif kecil. d) Kemampuan grafisnya cukup andal dan tidak kalah dibandingkan dengan bahasa pemrograman lainnya.

2.5.1 Memulai GUIDE

Memulai GUIDE Matlab dapat dilakukan dengan dua cara, yaitu: a. Melalui command matlab dengan mengetikkan: >> guide

(42)

28

pada template agar menjadi GUI seperti yang kita harapkan. Sebagai pemula, kita gunakan Blank GUI (Default) yang merupakan sebuah GUI dengan figure kosong dan merupakan kondisi default dari GUIDE dan diplih jika kita memang akan membuat sebuah aplikasi dengan komponen yang layout-nya tidak terdapat pada GUI template yang lain. Setelah kita memilih Blank GUI templates, maka akan muncul tampilan Menu Utama GUIDE.

2.5.2 Tampilan GUIDE

Komponen palet pada GUIDE Matlab terdiri dari beberapa uicontrol (kontrol user interface), seperti pada bahasa pemrograman visual lainnya, yaitu: pushbutton, togglebutton, radiobutton, chexkboxes, edit text, static text, slider, frames, listboxes, popup menu, dan axes. Kita dapat meletakkan semua kontrol pada layout editor dan selanjutnya hanya tinggal mengaturnya melalui property inspector.

2.5.3 Komponen GUIDE

Semua kontrol pada GUIDE dapat dimunculkan pada layout/figure dengan cara mendrag kiri kontrol yang diinginkan ke figure. Adapun penjelasan fungsi masing-masing kontrol adalah sebagai berikut:

2.5.4 Pushbutton

Pushbutton merupakan jenis kontrol berupa tombol tekan yang akan menghasilkan tindakan jika diklik, misanya tombol OK, Cancel, Hitung, Hapus, dan sebagainya. Untuk menampilkan tulisan pada pushbutton kita dapat mengaturnya melalui property inspector dengan mengklik obeyek pushbutton pada figure, lalu mengklik toolbar property inspector atau menggunakan klik

Hak Cipta © milik UPN "Veteran" Jatim :

(43)

kanan lalu pilih property inspector. Selanjutnya isilaha tab string dengan label yang diinginkan, misalnya Hitung.

2.5.5 Toggle Button

Toggle button memiliki fungsi yang sama dengan pushbutton. Perbedaanya adalah saat pushbutton ditekan, maka tombol akan kembali pada posisi semula jika tombol mouse dilepas, sedangkan pada toggle button, tombol tidak akan kembali ke posisi semula, kecuali kita menekannya kembali.

2.5.6 Radio Button

Radio button digunakan untuk memilih atau menandai satu pilihan dari beberapa pilihan yang ada. Misalnya, sewaktu kita membuat aplikasi operasi Matematika (penjumlahan, pengurangan, perkalian, dan pembagian).

2.5.7 Edit Text dan Static Text

Edit text digunakan untuk memasukkan atau memodifikasi suatu text yang diinputkan dari keyboard, sedangkan static text hanya berguna untuk menampilkan text/tulisan, sehingga kita tidak bisa memodifikasi/mengedit text tersebut kecuali memalui property inspector.

2.5.8 Frames

Frames merupakan kotak tertutup yang dapat digunakan untuk mengelompokkan kontrol-kontrol yang berhubungan. Tidak seperti kontrol lainnya, frames tidak memiliki rutin callback.

2.5.9 Checkboxes

(44)

30

penggunaan checkboxes adalah ketika kita diminta untuk memilih hobi. Karena hobi bisa lebih dari satu, maka kita dapat mengklik checkboxes lebih dari satu kali.

2.5.10 Slider

Slider berguna jika kita menginginkan inputan nilai tidak menggunakan keyboarad, tatapi hanya dengan cara menggeser slider secara vertical maupun horizontal ke nilai yang kita inginkan. Dengan menggunakan slider, kita lebih fleksibel dalam melakukan pemasukan nilai data karena kita dapat mengatur sendiri nilai max, nilai min, serta sliderstep.

2.5.11 Popup Menu

Popop menu berguna menampilkan daftar pilihan yang didefinisikan pada String Propoerty ketika mengklik tanda panah pada aplikasi dan memiliki fungsi yang sama seperti radio button. Ketika tida dibukak, popup menu hanya menampilkan satu item yang menjadi pilihan pertama pada String Property. Popupmenu sangat bermanfaat ketika kita ingin memberi sebuah pilihan tanpa jarak, tidak seperti radiobutton.

2.5.12 Axes

Axes berguna untuk menampilkan sebuah grafik atau gambar (image). Axes sebenarnya tidak masuk dalam UIControl, tetapi axes dapat deprogram agar pemakai dapat berinteraksi dengan axes dan obyek grafik yang ditampilkan melalui axes.

2.5.13 Membuat GUI

GUI sebagai sebuah figure yang berisi barbagai style obyek UIControl. Selanjutnya kita harus memprogram masing-masing obyek agar dapat bekerja

Hak Cipta © milik UPN "Veteran" Jatim :

(45)

ketika diaktifkan oleh pemakai GUI. Langkah dasar yang harus dikerjakan dalam membuat GUI adalah :

a) Mengatur layout komponen GUI

Setelah kita membuka GUIDE Matlab dan telah menentukan template GUI, langkah selanjutnya adalah adalah mendesai figure dengan menggunakan komponen palet sesuai dengan kebutuhan, seperti p ushbutton, radiobutton, chexkboxes, edit text, static text, slider, frames, popup menu, axes, dan sebagainya. Selanjutnya kita dapat mengatur layout masing-masing komponen, baik string(caption), font, color, size, dan sebagainya menggunakan property inspector. Jika kita telah selesai mendesain, jangan lupa untuk menyimpan file figure yang secara default akan memiliki ekstensi *.fig. Dari sini, matlab secara otomatis akan membuatkan sebuah m-file dengan nama yang sama, yaitu file berekstensi *.m.

b) Memprogram Komponen GUI

(46)

32

BAB III

METODOLOGI PENELITIAN

Bab ini mencakup analisis permasalahan seperti bagaimana program berjalan secara garis besar dan secara detail mengenai alur dari fungsi Gaussian, sigma dan matriks.

3.1 Analisis system

Analisis sistem merupakan tahap yang bertujuan untuk memahami suatu sistem, mengetahui kelemahan dan keunggulan sistem ditinjau dari sisi pengguna. Dengan menganalisis prosedur sistem yang sering digunakan, maka sistem yang sering dipakai dapat dievaluasi, sehingga dapat dijadikan acuan untuk membangun sistem yang baru dari hasil evaluasi tersebut.

Dalam penelittian ini akan dianalisis tahapan membangun aplikasi filtering yaitu penyaringan atau penghalusan sebuah gambar untuk menghilangkan noise dari gambar tersebut menggunakan Gaussian filter.

Sistem yang akan dibangun adalah sistem yang diimplementasikan menggunakan teknik filtering metode Gaussian dengan penambahan slider parameter sigma dan pop – up menu mask didalam aplikasi tersebut, adapun gambar yang akan ditampilkan dalam program telah diset secara default agar mempercepat proses jalannya load gambar kedalam program, namun dalam program ini terdapat dua kolom gambar untuk gambar awal sebelum diproses dan satu lagi untuk gambar yang telah diproses.

Hak Cipta © milik UPN "Veteran" Jatim :

(47)

Sehingga dari sistem tersebut harus dibangun sesuai dengan kebutuhan – kebutuhan sebagai berikut:

3.2 Analisis masalah

a) Membangun aplikasi yang dapat menghaluskan sebuah gambar.

b) Mengimplementasikan filtering citra digital menggunakan Gaussian filter.

c) Melakukan pengujian aplikasi untuk mendapatkan kesimpulan atas keberhasilan metode Gaussian dengan kombinasi sigma dan mask yang sesuai.

Langkah selanjutnya adalah identifikasi masalah dari hasil analisis terhadap sistem. Maka dapat diidentifikasi masalah, yaitu sebagai berikut : a) Aplikasi yang dibangun harus dapat menghaluskan atau mengurangi

noise pada sebuah citra (image).

b) Parameter sigma dan mask dalam menunjang fungsi Gaussian filter sangat berperan untuk keberhasilan pengurangan noise atau proses filtering pada citra (image).

3.3 Analisis kebutuhan fungsional

Pada analisis kebutuhan fungsional terdapat dua point yang menjelakan tentang kebutuhan fungsional pada point 3.3.1 dan kebutuhan antarmuka pada point 3.3.2.

3.3.1 Kebutuhan fungsional

(48)

34

a) Dapat memberikan kemudahan kepada user untuk menggunakan aplikasi penghalusan atau pengurangan noise pada citra permukaan bumi.

b) User dapat menyesuaikan sigma dan mask yang dibutuhkan sesuai dengan besarnya size pixel pada citra permukaan bumi yang akan di filter agar mendapatkan hasil yang diinginkan.

3.3.2 Kebutuhan Antar muka

Kebutuhan antarmuka merupakan kebutuhan yang sangat penting. Karena perangkat lunak dinilai dari external performance yaitu tampilan luar yang di sesuaikan dengan kebutuhan pengguna computer, agar mudah digunakan mudah diadaptasi oleh pengguna karena sudah familiar.

Kebutuhan ini diharapkan dapat disesuaikan oleh kebiasaan pengguna, hal ini dimaksudkan untuk mempermudah pekerjaan karena pengguna sudah terbiasa dengan tampilan yang digunakan.

3.4 Perancangan Pr oses

Memilih gambar berukuran 24Bit ke dalam program melalui pop – up menu yang ada di dalam aplikasi (GUI) matlab.

Gambar yang sudah berada di dalam aplikasi diproses menggunakan Gaussian filter untuk menghilangkan noise atau mengurangi ketajaman pada gambar.

User dapat merubah parameter sigma dan nilai mask yang ada didalam program melalui menu slider dan pop – up menu yang terdapat di (GUI) matlab.

Menampilkan gambar yang dipilih ke kolom gambar.

Mengatur slider nilai sigma yang disediakan dan ukuran mask Mengeluarkan output A Hak Cipta © milik UPN "Veteran" Jatim :

(49)

Gambar 3.1 Perancangan proses jalannya program secara garis besar.

3.4.1 Konteks Diagram

Konteks diagram yaitu digram yang menggambarkan sistem secara umum serta memberikan gambaran mengenai hubungan antara lingkungan di luar sistem (eksternal entity), seperti dibawah ini :

- Eksternal entity yaitu user, karena user hanya melakukan pengaksesan berupa meload gambar yang telah disediakan, merubah parameter yaitu sigma dan mask dengan nilai tang tersedia. Adapun diagram konteks dari aplikasi filtering ini adalah sebagai berikut :

Gambar 3.2 Konteks diagram.

Hasil output setelah meng-klik tombol go berupa :

- Gambar hasil filtering berada dalam kolom yang berbeda dengan

gambar awal yang di pilih, sehingga bisa dilihat perbandingannya sebelum dan sesudah mengalami proses filtering menggunakan gaussian

(50)

36

Pada konteks diagram Gambar 3.2 menunjukkan bahwa proses filtering menggunakan Gaussian ini berlangsung 2 arah. User pengirim memilih file gambar (.jpg) yang telah disediakan serta dapat merubah nilai sigma dan ukuran mask yang telah disediakan sedangkan user penerima menerima file hasil filtering berupa file gambar (.jpg).

3.4.2 DFD Level 1

Gambar 3.3 DFD level 1 aplikasi Gaussian filter.

Pada Gambar 3.3 DFD level 1, terdapat 4 proses yaitu proses menampilkan gambar, proses pengaturan nilai sigma, proses pengaturan ukuran mask dan proses filtering menggunakan Gaussian itu sendiri, disini user memilih nama gambar yang disediakan kemudian secara visual tampil diaplikasi, kemudian user dapat mengatur nilai sigma dan mask yang tersedia, gambar yang telah diatur sigma dan masknya diproses dengan fungsi Gaussian filter yang nantinya kan kluar outputnya berupa gambar hasil filtering yang diterima oleh user penerima.

Hak Cipta © milik UPN "Veteran" Jatim :

(51)

3.4.3 Pr oses Gaussian Filter

Gambar 3.4 adalah proses Gaussian filter secara garis besar yang dimaksud dalam tugas akhir yang telah dibahas seperti pada Gambar 3.1 dan Gambar 3.2.

Gambar 3.4 Proses filtering menggunakan Gaussian filter.

3.4.4 Pr oses pengaturan nilai sigma

(52)

38

sigma yang dipilih maka gambar yang akan diproses dengan fungsi Gaussian akan semakin halus di area mask yang sudah ditentukan.

Gambar 3.5 Proses pengaturan nilai sigma

3.4.5 Pr oses pengaturan ukuran mask

Proses pengaturan ukuran mask pada Gambar 3.6 telah disediakan 4 pilihan ukuran mask yaitu dari 2x2, 3x3, 4x4, dan 5x5 yang dapat di pilih sesuai dengan kebutuhan user yang disesuaikan dengan ukuran gambar dan untuk mendapatkan hasil yang diinginkan dalam filtering menggunakan Gaussian.

Hak Cipta © milik UPN "Veteran" Jatim :

(53)

Gambar 3.6 Proses menjalankan pilihan ukuran mask.

3.4.6 Pr insip metode Gaussian

(54)

40

START

Cit ra image

Cit ra Hasil

END

Gambar 3.7 Proses prinsip metode Gaussian.

Dalam proses pada Gambar 3.7 yang menjalaskan tentang proses metode Gaussian berjalan dalam aplikasi tugas akhir ini, yaitu dari gambar yang telah dipilih akan dicari nilai G untuk mendapatkan kernel Gaussian kemudian apabila perhitungan matrik gambar asli telah didapat maka akan dilanjutkan dengan perhitungan untuk mendapatkan hasil citra yang telah terfilter dengan mengkalikan matrik gambar asli dan hasil dari nilai G yang telah didapat pada perhitungan sebelumnya. Dari perkalian yang dilakukan maka gambar terfilter akan tampil pada hasil citra dan akan tampil pada aplikasi di kolom gambar hasil yang dapat dilihat oleh user dan dibandingkan dengan gambar asli yang tampil dikolom gambar awal yang ada diatasnya seperti pada Gambar 3.8.

Hak Cipta © milik UPN "Veteran" Jatim :

(55)

3.5 Perancangan Interface

Perancangan interface pada Gambar 3.8 merupakan struktur gambaran aplikasi yang akan dibuat, adapun rancangan – rancangan utama aplikasi Gaussian filter yaitu :

(56)

42

Keterangan :

a. Gambar : Secara statis gambar dipilih dari yang sudah disediakan melalui menu pop – up.

b. Nilai sigma : Slider menu untuk memilih nilai sigma yang dibutuhkan dari 0,1 sampai dengan 5.

c. Ukuran mask : Pop – up menu mask untuk memilih ukuran mask yang dibutuhkan dan telah di sediakan ukuran mask dari 2x2 sampai dengan 5x5.

d. Tombol GO : Tombol go ini digunakan untuk menjalankan fungsi Gaussian setelah semua pengaturan yang dilakukan sebelumnya seperti memilih gambar, memilih sigma yang sesuai dan memilih mask yang sesuai dan akan ditampilkan gambar hasil di kolom hasil proses.

e. Tombol Selesai : Tombol selesai ini difungsikan untuk menutup aplikasi yang telah dijalankan atau dibuka.

Hak Cipta © milik UPN "Veteran" Jatim :

(57)

43

4.1 Implementasi Inter face

Pada tahap ini akan dijelaskan mengenai implementasi interface dari aplikasi berdasarkan perancangan yang telah dibuat. Ada beberapa tombol dan bagian dari GUI yang akan dibahas yaitu:

4.1.1 GUI

Merupakan sebuah tampilan atau interface yang dimiliki oleh matlab atau lebih di kenal matlab guide, di bawah ini adalah potongan script perintah awal pembutan gui dalam matlab :

function varargout = h3_gaussianblur(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @h3_gaussianblur_OpeningFcn, ...

'gui_OutputFcn', @h3_gaussianblur_OutputFcn, ...

'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin & isstr(varargin{1})

gui_State.gui_Callback = str2func(varargin{1}); end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

gui_mainfcn(gui_State, varargin{:}); end

(58)

44

4.1.2 Pop – up menu gambar

Dalam pop up menu deprogram ini digunakan sebagai bagian dari GUI untuk memilih gambar yang telah disediakan, berikut ini adalah potongan script dari proses yang digunakan membentuk pop – up menu gambar :

function image_selection_CreateFcn(hObject, eventdata, handles) if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCol or')); end

Memulai membuat pop – up menu secara visual melalui tampilan gui pada matlab secara automatis tertulis dalam script, dalam aplikasi ini pop – up menu berbackgroud putih.

function image_selection_Callback(hObject, eventdata, handles)

image_file = get(handles.image_selection,'String'); image_number = get(handles.image_selection,'Value'); im_original=imread(char(image_file(image_number))); set(handles.original_image,'HandleVisibility','ON') set(handles.filtered_image,'HandleVisibility','OFF') imagesc(im_original) axis equal; axis tight;

set(handles.original_image,'XTickLabel',' ','YTickLabel',' ') colormap(gray)

Image_file dalam aplikasi ini memanggil dari nama file yang ada dalam string pada gui matlab dan kemudian ditampilkan secara berurutan sesuai dengan urutan yang tertulis dalam string pada gui, setelah list nama gambar keluar dan di klik maka pop – up akan menutup kembali, gambar ditampilkan dengan batas yang fix pada aplikasi ini sehingga berapapun

Hak Cipta © milik UPN "Veteran" Jatim :

(59)

besar kecilnya gambar yang ditampilkan maka ukurannya akan tetap sesuai dengan kolom gambar yang tersedia.

4.1.3 Slider menu sigma

Slider menu dalam program ini bertujuan untuk menambag dan mengurangi atau mengatur intensitas blur atau filtering dalam bentuk merungangi dan menambahkan sigma dalam perhitungan rumus Gaussian itu sendiri, berikut ini adalam potongan script untuk menampilkan slider sigma :

function sigma_value_CreateFcn(hObject, eventdata, handles) if ispc

set(hObject,'BackgroundColor','white'); else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCol or'));

end

%---function sigma_value_Callback(hObject, eventdata, handles)

sigma = (get(handles.sigma_value,'Value'));

set(handles.sigma_value_display,'String',num2str(sigma,2))

Secara visual slider yang kita buat pada gui akan secara automatis muncul pada script yang menjelaskan tentang warna dari slider itu sendiri dalam program ini sigma bisa kita atur secara manual namun memiliki batasan tersendiri yang dipanggil perintahnya dari value yang telah kita tentukan.

4.1.4 Pop – up mask

(60)

46

matrix 2x2 sampai dengan 5x5. Berikut potongan script mask dalam program yang telah di buat :

if method_number == 1 | method_number == 2,

mask_size = get(handles.mask_size,'String'); mask_size_number = get(handles.mask_size,'Value'); if mask_size_number == 1;

n = 2; m = n;

elseif mask_size_number == 2; n = 3;

m = n;

elseif mask_size_number == 3; n = 4;

m = n;

elseif mask_size_number == 4; n = 5;

m = n; end

Mask size yang telah kita set di dalam string akan di baca dan disesuaikan atau disamakan dengan data yang ada dalam script aplikasi ini, yaitu: mask pada utrutan sring pertama berukuran 2x2, pada urutan ke dua (2) mask berukuran 3x3, mask pada urutan ke tiga (3) berukuran 4x4 dan mask pada urutan ke empat (empat) berukuran 5x5.

4.1.5 Rumus gaussian

Untuk memenuhi metode yang digunakan dalam tugas akhir ini menggunakan Gaussian, maka rumus tersebut akan dimasukkan kedalam script matlab yang natinya akan dijalankan saat tombol ‘go’ di tekan. Berikut potongan script rumus Gaussian dalam program tugas akhir ini :

function res = image_blur(data,sigma,n,m)

x = double(data); filter1 = i_gauss(n,sigma); res = uint8(convn(x,filter1,'same')); function res = i_gauss(x_dim,sigma)

Hak Cipta © milik UPN "Veteran" Jatim :

(61)

n = x_dim; for i = 1:n,

for j = 1:n

M_temp = [j-(n+1)/2 i-(n+1)/2]';

M(i,j) = gauss(M_temp(1),sigma)*gauss(M_temp(2),sigma); end

end

res = M/sum(sum(M));

function res = gauss(x,sigma)

res = exp(-x^2/(2*sigma^2))/(sigma*sqrt(2*pi));

Pendeklarasian rumus Gaussian kedalam aplikasi yang mengambil nilai sigma dari value sigma dan melakukan perkalian dengan ukuran matriks yang telah dipilih.

4.1.6 Tombol go

Tombol go di dalam program ini bertujuan tuntuk menjalankan semua pilihan yang telah dipilih seperti misalnya gambar, slider sigma, dan mask. Yang kemudian outputnya akan di tampilkan dikolom gambar yang berbeda dari kolom gambar awal yang telah di pilih sehingga pengguna program ini mampu melihat dan membandingkan perbadaan anatara gambar awal dan gambar setelah melalui proses filtering menggunakan Gaussian dengan pengaturan sigma dan matrix nya. Berikut adalah potongan script tombol go atau apply dalam program ini:

function apply_button_Callback(hObject, eventdata, handles)

image_file = get(handles.image_selection,'String'); image_number = get(handles.image_selection,'Value');

im_original=imread(char(image_file(image_number)));

set(handles.original_image,'HandleVisibility','ON') set(handles.filtered_image,'HandleVisibility','OFF')

set(handles.original_image,'XTickLabel',' ','YTickLabel',' ') method_number = get(handles.method_selection,'Value');

(62)

48

mask_size = get(handles.mask_size,'String'); mask_size_number = get(handles.mask_size,'Value');

if mask_size_number == 1; n = 2;

m = n;

elseif mask_size_number == 2; n = 3;

m = n;

elseif mask_size_number == 3; n = 4;

m = n;

elseif mask_size_number == 4; n = 5;

m = n; end

sigma = get(handles.sigma_value,'Value'); set(handles.sigma_value_display,'String',num2str(sigma,2)); if method_number ==1,

im_filtered = image_blur(im_original,sigma,n,m);

end end set(handles.original_image,'HandleVisibility','OFF') set(handles.filtered_image,'HandleVisibility','ON') imagesc(im_filtered) axis equal; axis tight;

set(handles.filtered_image,'XTickLabel',' ','YTickLabel',' ')

Mulai dari pemilihan gambar, menampilkan gambar pada tampilan antarmuka aplikasi kemudian proses pemilihan matrik yang diinginkan sesuai dengan batasan yang di tentukan dan pemanggilan nilai sigma dari value yang telah dipilih kemudian dilakukan filtering dengan perhitungan rumus dari Gaussian untuk mendapatkan hasil output berupa gambar ter- filter.

4.1.7 Tombol selesai

Didalam program ini terdapat tombol selesai yang bertujuan untuk menutup jendela program yang sebelumnya telah dijalankan. Berikut potongan script untuk tombol selesai :

function close_button_Callback(hObject, eventdata, handles) close(gcbf)

Hak Cipta © milik UPN "Veteran" Jatim :

(63)

4.2 Interface

Didalam gui kita bisa melihat tampilan secara visual dan pengguna dapat melakukan interaksi langsung dengan program dalam pemilihan gambar yang tersedia, pengaturan nilai sigma dan merubah ukuran mask sesuai dengan yang dibutuhkan oleh pengguna, gamabar yang disedian dengan berbagai ukuran yang telah dipilih bisa secara langsung muncul pada kolom gambar awal yang ukurannya sesuai dengan kolom yang tersedia atau secara langsung akan dilakukan resize gambar pada kolom gambar yang terdapat pada aplikasi.

4.3 Uji coba aplikasi dengan gambar ukuran 512x320 pixel

Dalam uji coba yang akan dilakukan pada tabel 4.1 yang akan menajdi tujuan keberhasilan adalah dimana pada sebuah kombinasi nilai sigma dan ukuran mask yang diuji yaitu nilai sigma 0.1, 2.7, dan 5 dengan ukuran mask 2x2, 3x3, 4x4, 5x5 mampu menghilangkan noise berupa badai meteor yang terdapat pada gambar uji yang berukuran 512x320 pixel.

(64)

50

Tabel 4.1 Uji coba aplikasi Gaussian filter dengan gambar 512x320 pixel

Nilai Sigma

Ukuran Mask

Gambar

0,1 2x2

Ukur an gambar 512x320 pixel

2,7 2x2

Ukur an gambar 512x320 pixel

Hak Cipta © milik UPN "Veteran" Jatim :

(65)

Lanjutan Tabel 4.1.

5 2x2

Ukur an gambar 512x320 pixel

0,1 3x3

(66)

52

Lanjutan Tabel 4.1.

2,7 3x3

Ukur an gambar 512x320 pixel

5 3x3

Ukur an gambar 512x320 pixel

Hak Cipta © milik UPN "Veteran" Jatim :

(67)

Lanjutan Tabel 4.1.

0,1 4x4

Ukur an gambar 512x320 pixel

2,7 4x4

(68)

54

Lanjutan Tabel 4.1.

5 4x4

Ukur an gambar 512x320 pixel

0,1 5x5

Ukur an gambar 512x320 pixel

Hak Cipta © milik UPN "Veteran" Jatim :

(69)

Lanjutan Tabel 4.1.

2,7 5x5

Ukur an gambar 512x320 pixel

5 5x5

(70)

56

4.4 Uji coba aplikasi dengan ukuran gambar 1440x900 pixel

Dalam uji coba kedua pada tabel 4.2 yang akan dilakukan pada sebuah gambar permukaan bumi yang diambil dari foto satelit diatas atmosfer bumi dengan ukuran keseluruhan gambar 1440 x 900 pixel.

Gambar uji coba terlihat diselimuti badai meteor sehingga gambar target berupa permukaan bumi dan identifikasi objek disekitar bumi menjadi tersamarkan secara visual, dengan aplikasi ini akan diuji coba kombinasi sigma 0.1, 2.7, dan 5 dengan ukuran mask 2x2, 3x3, 4x4, 5x5.

Tabel 4.2 Uji coba aplikasi dengan gambar 1440x900 pixel.

Nilai sigma

Ukuran mask

Gambar

0,1 2x2

Ukur an gambar 1440x900 pixel

Hak Cipta © milik UPN "Veteran" Jatim :

(71)

Lanjutan Tabel 4.2.

2,7 2x2

Ukur an gambar 1440x900 pixel

5 2x2

(72)

58

Lanjutan Tabel 4.2.

0,1 3x3

Ukur an gambar 1440

Gambar

Gambar 2.1 High pass filter
Gambar 2.2 Low pass filter
Gambar yang akan diproses dibagi menjadi 2 jenis piksel, yaitu piksel batas dan
Tabel 2.1 Operator aritmatika.
+7

Referensi

Dokumen terkait

3 Website SMK Kristen 4 Klaten Siswa Admin Guru Profil Data Profil Data Materi Data Jadwal Data Profil Data Materi Data Mapel Data Jadwal Profil Upload Materi Admin Guru

Melalui pelaksanaan kegiatan lesson study yang telah dilakukan selama hampir tiga tahun lebih, pembinaan profesionalisme guru IPA-Kimia SMP di Paseh kabupaten Sumedang

calon wakil rakyat yang digunakan adalah nomor urut caleg dari partai politik yang telah dinyatakan lolos ambang batas atau telah lolos dalam suara penentuan

Gambar berikut merupakan perangkat keras yang berfungsi sebagai penyimpan daya listrik, sehingga komputer masih dapat bekerja ketika listrik mati disebut juga dengan .....

Penelitian ini bertujuan untuk pendugaan produktivitas sapi Bali jantan dan betina yang dipelihara di padang penggembalaan berdasarkan ukuran-ukuran linear permukaan tubuh

Perkembangan UKM khususnya UKM Konveksi juga tidak terlepas dari peranan tenaga kerja yang sebagian besar adalah perempuan baik yang sudah menikah maupun yang belum

Berbeda dengan mahasiswa yang mengakses Internet di atas 5 jam per hari, hampir setiap saat mereka menggunakan Internet untuk media sosial dan pesan instan (instant messenger)

Mengingat dampak positif yang telah di berikan oleh sekelompok kecil orang yang mengelolah air sumber di desa Tirtomarto Kecamatan Ampelgading Kabupaten Malang sangat bermanfaat