BAB II LANDASAN TEORI
2.1
Citra Digital
Citra merupakan istilah lain dari gambar yang merupakan informasi berbentuk visual. pada bidang dua dimensi, maka sebuah citra merupakan dimensi spasial atau bidang yang berisi informasi warna yang tidak bergantung waktu. Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus atas intensitas cahaya pada bidang dua dimensi. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian berkas cahaya tersebut, pantulan cahaya ini ditangkap oleh alat optik sehingga bayangan objek yang disebut citra tersebut terekam. (Kiswanto 2012) Citra berikut memperlihatkan proses pembentukan intensitas cahaya. Sumber cahaya menyinari objek, jumlah pancaran cahaya yang diterima objek pada koordinat (x,y) adalah i(x,y), kemudian objek memantulkan cahaya yang diterima dengan derajat pemantulan r(x,y). Hasil kali antara i(x,y) dan r(x,y) menyatakan intensitas cahaya pada koordinat (x,y) yang ditangkap oleh sensor visual pada sistem optis. Jadi, f(x,y) = i(x,y) . r(x,y) dalam hal ini, 0 ≤ i(x,y) < ∞, dan 0 ≤ r(x,y) ≤ 1, sehingga 0 ≤ f(x,y)<∞ (Kiswanto 2012)
Gambar 2.1 Proses pembentukan citra
6
http://digilib.mercubuana.ac.id/
2.1.1 Pengolahan Citra Digital Pengolahan citra digital (Digital Image Processing) adalah sebuah disiplin ilmu yang mempelajari tentang teknik-teknik mengolah citra. Citra yang dimaksud disini adalah gambar diam (foto) maupun gambar bergerak (yang berasal dari webcam). Sedangkan digital disini mempunyai maksud bahwa pengolahan citra/gambar dilakukan secara digital menggunakan computer. (Pambudi and Simorangkir 2012) Sebuah citra digital dapat diwakili oleh sebuah matriks dua dimensi f(x,y) yang terdiri dari M kolom dan N baris, dimana perpotongan antara kolom dan baris disebut piksel (pixel = picture element) atau elemen terkecil dari sebuah citra. (Pambudi and Simorangkir 2012)
Gambar 2.2 Ilustrasi citra Suatu citra f(x,y) dalam fungsi matematis dapat dituliskan sebagai berikut : 0 ≤ x ≤ M-1 0 ≤ y ≤ N-1 0 ≤ f(x,y) ≤ G – 1 dimana : M = jumlah piksel baris (row) pada array citra N = jumlah piksel kolom (column) pada array citra G = nilai skala keabuan (graylevel) Besarnya nilai M, N dan G pada umumnya merupakan perpangkatan dari dua. M = 2m ; N = 2n; G = 2k Dimana nilai m, n dan k adalah bilangan bulat positif. Interval (0,G) disebut skala keabuan (graylevel). Besar G tergantung pada proses digitalisasinya. Biasanya keabuan 0 (nol) menyatakan intesitas hitam dan 1 (satu) menyatakan intesitas putih. Untuk citra 8 bit, nilai G sama dengan 28 = 256 warna (derajat keabuan). (Pambudi and Simorangkir 2012)
7
http://digilib.mercubuana.ac.id/
Gambar 2.3 Representasi citra digital dalam 2 dimensi
2.2
Model Warna
2.2.1 RGB Image Citra RGB, kadang-kadang disebut sebagai citra truecolor, yang disimpan sebagai data array m-by-n-by-3 yang mendefinisikan komponen warna merah, hijau dan biru untuk setiap pixel. Citra RGB tidak menggunakan palet. Warna setiap pixel ditentukan oleh kombinasi dari intensitas warna merah, hijau, dan biru yang tersimpan pada lokasi pixel. Grafis format file menyimpan citra RGB sebagai citra 24-bit, di mana komponen merah, hijau, dan biru adalah 8 bit masing-masingnya. (Mathworks n.d.)
Gambar 2.4 Citra RGB 2.2.2 Grayscale Citra digital grayscale atau greyscale adalah citra di mana nilai setiap pixel adalah sampel tunggal, yaitu, hanya membawa informasi intensitas. citra semacam ini, juga dikenal sebagai hitam-putih, terdiri atas warna abu-abu, variasi dari hitam
8
http://digilib.mercubuana.ac.id/
pada intensitas terlemah sampai putih pada intensitas terkuat. Dikarenakan hanya terdapat dua warna, hitam dan putih, citra greyscale dalam pencitraan komputer juga disebut bilevel atau citra biner. Citra grayscale memiliki banyak warna abuabu di antaranya. (Grayscale n.d.)
Gambar 2.5 Citra grayscale Intensitas pixel dinyatakan dalam kisaran tertentu antara minimum dan maksimum. Kisaran ini direpresentasikan dalam cara yang abstrak berkisar dari 0 (hitam) dan 1 (putih), dengan nilai pecahan di antaranya. Konversi citra berwarna ke grayscale tidak unik; pembobotan yang berbeda dari channel warna secara efektif mewakili efek hitam-putih dengan filter warna fotografi yang berbeda pada kamera. Algoritma yang digunakan untuk mengkonversi citra RGB ke grayscale adalah sebagai berikut. (Grayscale n.d.) GRAY = 0.2989 * R + 0.5870 * G + 0.1140 * B
2.3
Gray Level Co-Occurence Matrix Gray Level Co-Occurrence Matrix (GLCM) adalah sebuah metode statistik
untuk memeriksa tekstur yang mempertimbangkan hubungan spasial dari pikselpiksel, juga dikenal sebagai gray-level spatial dependence matrix. Fungsi GLCM mengkarakteristikkan tekstur citra dengan menghitung seberapa sering pasangan pixel dengan nilai-nilai tertentu dan di dalam hubungan spasial tertentu terjadi dalam sebuah citra, menciptakan GLCM, dan kemudian mengekstrak ukuran statistik dari matriks ini. (Fungsi filter tekstur, yang dijelaskan dalam Analisis
9
http://digilib.mercubuana.ac.id/
Tekstur tidak dapat memberikan informasi tentang bentuk citra, yaitu, hubungan spasial dari piksel dalam citra.). Setelah membuat GLCM, dapat diperoleh beberapa nilai statistik yang menyediakan informasi mengenai tekstur dari suatu citra. Tabel beikut berisi daftar statistik (Texture Analysis Using the Gray-Level Co-Occurrence Matrix (GLCM) n.d.) Statistik
Deskripsi
Contrast
Mengukur variasi lokal pada GLCM
Correlation
Mengukur
terjadinya
probabilitas
gabungan dari pasangan pixel yang ditentukan Energy
Menyediakan jumlah dari elemen kuadrat pada GLCM. Juga dikenal sebagai
keseragaman
atau
sudut
momen kedua Homogeneity
Mengukur kedekatan distribusi elemen pada GLCM ke GLCM diagonal Tabel 2.1 Pengertian daftar statistik
Co-occurrence (kookurensi) berarti kejadian bersama, yaitu jumlah kejadian satu level nilai piksel bertetangga dengan satu level nilai piksel lain dalam jarak (d) dan orientasi sudut (θ) tertentu. Jarak dinyatakan dalam piksel dan orientasi dinyatakan dalam derajat. Orientasi dibentuk dalam empat arah sudut dengan interval sudut 45°, yaitu 0°, 45°, 90°, dan 135°. Sedangkan jarak antar piksel biasanya ditetapkan sebesar 1 piksel. (Kasim and Harjoko 2014) Contoh sebuah matriks dengan ukuran 4x4 akan diubah menjadi matriks kookurensi. Matriks kookurensi akan dibuat dengan perhitungan nilai d=1 dan θ=0o.
10
http://digilib.mercubuana.ac.id/
1 0 0 1
1 0 0 1
2 3 3 2
0 2 2 0
1. Menentukan derajat keabuan. Derajat keabuan ditentukan dengan mengurutkan nilai intensitas piksel dari nilai terkecil sampai terbesar. Pada matriks di atas yaitu 0, 1, 2, 3, maka jumlah nilai intensitas nya adalah 4 2. Matrik kookurensi dibentuk dengan jumlah elemen sebanyak kuadrat dari nilai intensitas citra, 4x4. Setiap titik (a,b) pada matriks kookurensi berisi jumlah kejadian piksel bernilai a bertetangga dengan piksel bernilai b pada jarak 1 serta orientasi sudut 0o. Nilai piksel tetangga
0
1
2
3
0
0,0
0,1
0,2
0,3
1
1,0
1,1
1,2
1,3
2
2.0
2,1
2,2
2,3
3
3,0
3,1
3,2
3,3
Nilai piksel referensi
Tabel 2.2 Area kerja matriks Bentuk matriks kookurensi dapat dituliskan dalam matriks berikut 1 0 0 1
1 0 0 1
2 3 3 2
0 2 2 0
0
1 2 3
0 1 2 3
0 2 0 0
2 0 2 0
0 2 0 2
2 0 0 0
Sudut orientasi menentukan arah hubungan tetangga dari piksel referensi. Sudut 0o berarti piksel tetangga dari piksel referensi terletak pada arah horizontal atau sumbu x positif. Angka 2 pada (0,0) berarti jumlah pasangan (0,0) pada matriks asal berjumlah 2, begitu pula dengan angka 2
11
http://digilib.mercubuana.ac.id/
pada (1,2) dimana pada matriks asal jumlah pasangan (1,2) berjumlah 2. (graycomatrix n.d.) 3. Menjumlahkan matriks kookurensi dengan matriks transponsenya untuk membuatnya simetris terhadap sumbu diagonal 2 0 2 0
0 2 0 0
0 2 0 2
A
2 2 0 0 0 2 + 0 0 2 0 2 0 +
2 0 0 0
A’
0 4 0 0 = 2 2 0 2 =
0 4 2 0
2 2 0 2
2 0 2 0
A simetris
4. Normalisasi GLCM, untuk menyatakan elemen-elemen GLCM sebagai probabilitas. Masing-masing elemen dari matriks A simetris akan dibagi dengan jumlah seluruh elemen yang ada. Jumlah seluruh elemen A simetris adalah 4+2+2+4+2+2+2+2+2+2=24 (Analisis Tekstur dengan Metode GLCM (Gray Level Co-occurrence Matrix) n.d.) 4/24 0/24 2/24 2/24
0/24 4/24 2/24 0/24
2/24 2/24 0/24 2/24
2/24 0.1667 0 0/24 0 0.1667 = 2/24 0.0833 0.0833 0/24 0.0833 0
0.0833 0.0833 0 0.0833
0.0833 0 0.0833 0
Setelah mendapatkan matriks normalisasi, dapat dihitung ciri statistiknya yang merepresentasikan citra yang diamati 1. Contrast =
| − |
(, )
Pada persamaan di atas i dan j adalah koordinat elemen secara horizontal dan vertikal, dan GLCM adalah nilai elemen (Satrio and Sutojo 2016) 2. Correlation =
( −
′)( −
′)(
( , ))
Persamaan tersebut didapat dari mean yang merupakan nilai intensitas dari citra keabuan dan standart deviasi terlebih dahulu. Standart deviasi didapat dari akar kuadart varian yang menunjukkan sebaran nilai piksel dalam citra, dengan rumus sebagai berikut (Satrio and Sutojo 2016) 12
http://digilib.mercubuana.ac.id/
=
′ =
=
′ =
∗
(, )
∗
(, )
=
² =
( , )( −
′)²
=
² =
( , )( −
′)²
=
=
²
=
=
²
3. Energy/Angular Second Moment =
( , )²
Energi adalah ukuran homogeneity lokal dan oleh karena itu energy merupakan kebalikan dari entropy. Pada dasarnya fitur ini akan memberi tahu kita seberapa seragam teksturnya. Semakin tinggi nilai energy, semakin besar homogeneity dari suatu tekstur (Gebejes and Huertas 2013) 4. Homogeinity 1
=
(1 +
( − ))
(, )
Homogeneity GLCM dari setiap tekstur adalah tinggi jika GLCM berkonsentrasi di sepanjang diagonal, yang berarti bahwa ada banyak piksel dengan nilai tingkat abu yang sama atau sangat mirip. Semakin besar perubahan nilai abu-abu, semakin rendah homogenitas GLCM yang membuat kontras GLCM lebih tinggi. Oleh karena itu, homogeneity tinggi mengacu pada tekstur yang mengandung struktur berulang yang ideal, sedangkan homogeneity rendah mengacu pada variasi besar baik pada elemen tekstur dan pengaturan spasial. (Gebejes and Huertas 2013)
13
http://digilib.mercubuana.ac.id/
2.4
PHP PHP: Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan
atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memprogram situs web dinamis. PHP dapat digunakan untuk membangun sebuah CMS. Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP. Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing. 2.4.1 Sintaksis Dasar 1. Pembatas PHP hanya mengeksekusi kode yang ditulis dalam pembatas sebagaimana ditentukan oleh dasar sintaks PHP. Apapun di luar pembatas tidak diproses oleh PHP. Pembatas yang paling umum adalah "" Untuk menutup kode PHP.Tujuan dari pembatas ini adalah untuk memisahkan kode PHP dari kode di luar PHP, seperti HTML,Javascript. 2. Variable Variabel diawali dengan simbol dolar $. Contoh variabel dapat ditulis sebagai $nama_variabel. 3. Komentar PHP memiliki 3 jenis sintaks sebagai komentar pada kode yaitu tanda blok / * * / , komentar 2 baris // Serta tanda pagar # digunakan untuk komentar
14
http://digilib.mercubuana.ac.id/
satu baris. Komentar bertujuan untuk meninggalkan catatan pada kode PHP dan tidak akan diterjemahkan ke program. 4. Fungsi Fungsi adalah kode program yang dirancang untuk menyelesaikan sebuah tugas tertentu ketika dipanggil oleh program (PHP n.d.) Contoh program membuat sebuah halaman web PHP
2.5
Metode Pengembangan Prototyping Prototyping adalah proses menghasilkan sebuah prototype. Prototype itu
sendiri merupakan suatu metode dalam pengembangan sistem yang menggunakan pendekatan untuk membuat suatu program dengan cepat dan bertahap sehingga dapat dievaluasi oleh pemakai. Selain itu, prototype membuat proses pengembangan sistem informasi menjadi lebih cepat dan lebih mudah.
Gambar 2.6 Alur pengembangan prototyping Tahapan–tahapan yang dilakukan dalam pengembangan sistem menggunakan prototype adalah sebagai berikut :
15
http://digilib.mercubuana.ac.id/
1. Identifikasi kebutuhan pemakai. Pada tahap awal ini pengembang dan pemakai sistem bertemu, kemudian pemakai sistem menjelaskan tentang kebutuhan sistem kepada pengembang. 2. Pembuatan desain dan membangun prototype. Pengembang mulai membuat prototype sesuai dengan kebutuhan sistem yang diminta oleh pemakai sistem. 3. Menguji prototype. Pemakai sistem menguji dan menggunakan prototype kemudian
memberikan
masukan
apabila
pemakai
sistem
masih
menemukan beberapa hal yang kurang sesuai dengan kebutuhan sistem. 4. Memperbaiki prototype. Pengembang melakukan modifikasi terhadap sistem yang telah dibuat sebelumnya berdasarkan keinginan dan masukan dari pemakai sistem. 5. Mengembangkan versi produksi. Pengembang merampungkan sistem sesuai dengan keinginan & masukan terakhir dari pemakai sistem, jika prototipe sudah lengkap dan sesuai dengan keinginan pemakai sistem, maka proses iterasi dihentikan (Wibowo 2014)
2.6
Tempe Tempe adalah salah satu makanan tradisional khas Indonesia. Makanan ini
diproduksi dan dikonsumsi secara turun temurun, khususnya di daerah Jawa Tengah dan sekitarnya. Tempe merupakan makanan yang terbuat biji kedelai atau beberapa bahan lain yang diproses melalui fermentasi dari apa yang secara umum dikenal sebagai “ragi tempe”. Lewat proses fermentasi ini, biji kedelai mengalami proses penguraian menjadi senyawa sederhana sehingga mudah dicerna. 2.6.1 Asam Lemak Proses fermentasi pada tempe meningkatkan derajat ketidakjenuhan terhadap lemak. Akibat proses ini, asam lemak tidak jenuh majemuk pada tempe meningkat jumlahnya. Asam lemak tidak jenuh ini mempunyai efek penurunan terhadap kandungan kolesterol serum, sehingga dapat menetralkan efek negatif sterol di dalam tubuh.
16
http://digilib.mercubuana.ac.id/
2.6.2 Vitamin Dua kelompok vitamin terdapat pada tempe, yaitu larut air (vitamin B kompleks) dan larut lemak (vitamin A, D, E, dan K). Tempe merupakan sumber vitamin B yang sangat potensial. Jenis vitamin yang terkandung dalam tempe antara lain vitamin B1, B2, asam pantotenat, asam nikotinat, vitamin B6, dan B12. Vitamin B12 umumnya terdapat pada produk-produk hewani dan tidak dijumpai pada makanan nabati (sayuran, buah-buahan, dan bijibijian), namun tempe mengandung vitamin B12 sehingga tempe menjadi satu-satunya sumber vitamin yang potensial dari bahan pangan nabati. Kenaikan kadar vitamin B12 paling mencolok pada pembuatan tempe. Kadar vitamin B12 dalam tempe berkisar antara 1,5 sampai 6,3 mikrogram per 100 gram tempe kering. 2.6.3 Mineral Tempe mengandung mineral makro dan mikro dalam jumlah yang cukup. Jumlah mineral besi, tembaga, dan zink. Kapang tempe dapat menghasilkan enzim ftase yang akan menguraikan asam ftat (yang mengikat beberapa mineral) menjadi fosfor dan inositol. Dengan terurainya asam ftat, mineral-mineral tertentu (seperti besi, kalsium, magnesium, dan zink) menjadi lebih tersedia untuk dimanfaatkan tubuh. 2.6.4 Aktioksidan Di dalam tempe juga ditemukan suatu zat antioksidan dalam bentuk isoflavon yang sangat dibutuhkan tubuh untuk menghentikan reaksi pembentukan radikal bebas. Dalam kedelai terdapat tiga jenis isoflavon yaitu daidzein, glisitein, dan genistein. Pada tempe, di samping ketiga jenis isoflavon tersebut juga terdapat antioksidan faktor II (6,7,4-trihidroksi isoflavon) yang mempunyai sifat antioksidan paling kuat dibandingkan dengan isoflavon dalam kedelai. Antioksidan ini disintesis pada saat terjadinya proses fermentasi kedelai menjadi tempe oleh bakteri micrococcus luteus dan coreyne bacterium. Penuaan (aging) dapat dihambat bila dalam makanan yang dikonsumsi seharihari mengandung antioksidan yang cukup. Karena tempe merupakan sumber
17
http://digilib.mercubuana.ac.id/
antioksidan yang baik, konsumsinya dalam jumlah cukup secara teratur dapat mencegah terjadinya proses penuaan dini. (Nasional 2012) 2.6.5 Kandungan Zat Gizi Tempe Pada tahun 1991, Departemen Kesehatan Republik Indonesia (sekarang Kementerian Kesehatan) juga melakukan penelitian terhadap kandungan gizi tempe. Hasil penelitian tersebut dipublikasikan dengan perincian sebagai berikut: Zat Gizi
Komposisi zat gizi 100 gram BOD
Satuan
Tempe
Kedelai
Energi
(kal)
381
201
Protein
(gram)
40.4
20.8
Lemak
(gram)
16.7
8.8
Hidrat arang
(gram)
24.9
13.5
Serat
(gram)
3.2
1.4
Abu
(gram)
5.5
1.6
Kalsium
(mg)
222
155
Fosfor
(mg)
682
326
Besi
(mg)
10
4
Karotin
(mkg)
31
34
Vitamin B1
(mg)
0.52
0.19
Air
(gram)
12.7
55.3
BDD*
(%)
100
100
*BDD = berat yang dapat dimakan Tabel 2.3 Kandungan gizi tempe (Nasional 2012) 2.6.6 Cara Pembuatan Tempe Pembuatan tempe pada dasarnya tidak terlalu sulit, namun membutuhkan latihan yang tekun agar mendapatkan komposisi yang bagus untuk dapat memberikan kualitas tempe yang maksimal. Tahapan pertama untuk membuat tempe adalah dengan merendam kedelai ke dalam air semalaman penuh. Kedelai direndam untuk menghilangkan asam pada
18
http://digilib.mercubuana.ac.id/
kedelai, dikarenakan jika masih terdapat asam maka akan mempengaruhi proses pertumbuhan jamur pada saat fermentasi, dimana asam ini akan mematikan jamur yang sedang berkembang. Tahap kedua adalah dengan menggiling untuk memisahkan ampas dari kedelai. Ampas kedelai ini selanjutnya dapat digunakan sebagai makanan ternak sapi. Tahap ketiga adalah meniriskan air yang masih ada pada kedelai setelah dipisahkan ampasnya. Setelah ditiriskan beberapa menit selanjutnya adalah diberikan ragi dan diaduk untuk diratakan ke semua kedelai untuk proses fermentasi. Setelah diberi ragi, kedelai dimasukkan kedalam plastic yang diberi lubang agar jamur dapat mendapatkan oksigen dari luar dan dapat tumbuh. Plasti-plastik berisikan kedelai ini kemudian disimpan di tempat yang mendapatkan suhu yang pas agar jamur dapat berkembang. Tidak terlalu dingin dan tidak terlalu panas. Dikarenakan suhu yang terlalu dingin dapat menghambat pertumbuhan jamur, dan suhu yang terlalu panas dapat membuat jamur tumbuh terlalu cepat. Penyimpanan ini membutuhkan waktu kurang lebih 2 hari dimana setelah itu dapat dijual ke pasar atau dikonsumsi sendiri
19
http://digilib.mercubuana.ac.id/