LANDASAN TEORI 2.1 Anatomi Kayu
Jati merupahan pohon penghasil kayu yang memiliki mutu tinggi. Pohon jati dapat berukuran besar berdiameter 30 – 60 cm serta mampu mencapai tinggi 30 -40 m, berbatang lurus, memiliki daun lebar yangakan luruh pada saat musim kemarau. Penyebaran pohon jati meliputi India, Birma, Kamboja, Thailand Malaysia dan Indonesia. Di Indonesia sendiri pohon jati tumbuh di beberapa daerah seperti Jawa, Muna, Maluku danNusa Tenggara. [1]
Mengenali identitas jenis kayu dapat dilakukan melalui dua kelompok ciri, yaitu ciri umum dan ciri anatomi. Ciri umum adalah ciri yang dapat diamati langsung melalui pengindraan, yaitu melalui penglihatan, penciuman, perabaan dan sebagainya tanpa menggunakan bantuan dari alat- alat pembesaran bayangan. Ciri umum berupa warna, corak, tekstur, arah serat, kilap, kesan raba, bau dan kekasaran kayu. Ciri anatomi adalah sifat objektif yang secara konstan terdapat dalam kayu, meliputi susunan, bentuk dan ukuran sel atau jaringan penyusun yang hanya dapat diamati secara jelas dengan menggunatan mikroskop atau bantuan lup berkekuatan pembesaran sepuluh kali [1] [2] [3].
Permukaan kayu dihasilkan dari perbaduan serat, pengebaran warna, tekstur dan pemunculan riap riap tumbuhan atau ciri pada bidang radial yang menampilkan corak dalam pola atau bentuk tertentu. Sebuah kayu dapat memiliki corak indah disebabkan oleh pola struktural anatomi. Permukaan kayu dibagi kedalam tiga kategori bidang geometris yaitu cross section, radial section dan tengential section seperti terlihat pada Gambar 2.1. Ciri anatomi kayu dapat dilihat pada permukaan cross – section kayu dengan cara memotong sel kayu secara tegak lurus dengan arah pertumbuhan pohon [1] [3] [4].
Gambar 2.1 Referensi bidang geometris permukaan kayu [3] [5]. Ciri anatomi yang dapat diamati adalah
1. Pori (Vessel) adalah sel yang berbentuk tabung dengan arah longitudinal. Pada bidang lintang, pori terlihat sebagai lubang-lubang beraturan maupun tidak dan berukuran kecil maupun besar. Pori dapat dibedakan berdasarkan penyebaran, susunan, isi, ukuran, jumlah dan bidang perforasi.
2. Parenkim (Parenchyma) adalah sel yang berdinding tipis berbentuk batu bata dengan arah longitudinal.
3. Jari-jari (Rays) adalah parenkim yang horizontal. Pada bidang lintang, jari-jari terlihat seperti garisgaris yang sejajar dengan warna yang lebih cerah dibanding dengan warna sekelilingnya.
4. Saluran interselular adalah saluran yang berada di antara sel-sel kayu yang berfungsi sebagai saluran khusus.
5. Saluran getah adalah saluran yang berada dalam batang kayu dan bentuknya seperti lensa.
6. Tanda kerinyut adalah penampilan ujung jari-jari yang bertingkat-tingkat dan biasanya terlihat pada bidang tangensial.
7. Kulit tersisip adalah kulit yang berada di antara kayu, yang terbentuk akibat kesalahan kambium dalam membentuk kulit. [3]
Citra digital adalah sebuah presentasi fungsi intensitas cahaya f(x,y) dari setiap pixel pada sebuah image dengan x dan y menunjukkan koordinat spasial dan nilai dari fungsi menunjukkan kecerahan citra pada setiap titik pixel (x,y) tersebut. Citra monochrome atau secara sederhana disebut citra merupakan fungsi intensitas cahaya dua-dimensi f(x), dimana x dan y menunjukkan koordinat spasial dan nilai f pada setiap titik (x,y) adalah kecerahan atau derajat keabuan (gray level) citra pada titik tersebut (4).Setiap citra digital direpresentasikan dalam bentuk matriks yang berukuran a x b dimana a dan b menunjukkan jumlah baris dan kolom matriks tersebut.
( , ) = (1,1) (1,2) . . . (1, ) (2,1) (1,2) . . . (1, ) . . . . .. . .. . . . ( , 1) ( , 2) . . . ( , ) Gambar 2.2 Representasi Citra
Setiap elemen matriks tersebut menunjukkan nilai pixel. Suatu citra digital dengan format 8 bit memiliki 256 (28) intensitas warna pada setiap pixel-nya (4). Nilai pixel tersebut berkisar antara 0 sampai 255, dimana 0 menunjukkan intensitas paling gelap, sedangkan 255 intensitas paling terang. Citra monochrome juga sering menggunakan dua nilai yaitu 0 (nol) dan 1 (satu). Nilai 0 berarti warna hitam dan nilai 1 berarti warna putih. [6]
2.3 Extrasi Ciri Tektstur
Ekstraksi ciri adalah proses mengolah citra untuk memunculkan nilai dari suatu citra. Nilai tersebut muncul dari citra yang sudah diubah menjadi citra skala keabuan (gray scale) menggunakan analisis tekstur. Adapaun niali tersebut yaitu berupa R, G, B, entropy, kontras, energi, korelasi, homogenitas, gray level, dan stantar deviasi. [7]
Tekstur merupakan hubungan mutual antara intensitas piksel-piksel yang bertetangga yang berulang di suatu area yang lebih luas dari pada jarak hubungan tersebut. Tektur banyak diginakan dalam temu kembali citra yaitu beberapa objek mempunyai pola-pola tertentu. Sehingga dengan memanfaatkan teknologi komputerisasi diharapkan komputer dapat mengenali sifat-sifat / karakteristik suatu benda dalam citra.
Analisis tekstur citra dapat dilakukan dengan melakukann pendekatan struktural atau pendekatan statistik serat kayu yang bertekstur ini dapat dilakukan dengan pendekatan struktural atau pendekatan statistik.. Tekstur sebagai deskriptor yang akan memberikan informasi tentang keteraturan, kekasaran dan kehalusan [6]. Pendekatan secara struktural dapat dilakukan pada citra yang memiliki komponen struktural tertentu. Contoh untuk citra dengan tekstur seperti dinding ruang kuliah maka komponen strukturalnya adalah segi empat. Citra bertekstur tidak memiliki komponen struktural jadi menggunakan pendekatan statistik. Pendekatan statistik menurut Tomita dibagi menjadi tiga tingkatan yaitu [8]:
1. Tingkat pertama : dengan menghitung rata-rata (mean), maksimum dan minimum maupun variance.
2. Tingkat kedua : dengan menghitung Gray Level Co-occurrence Matrix (GLCM), Semi Variogram, atau Autoregresi.
3. Tingkat ketiga : dengan menghitung interval cover atau runlength.
Sedangkan menurut Naddler pendekatan statistik juga dengan tiga tingkatan yaitu:
1. Imaged based : ciri diperoleh langsung dari citra.
2. Model based : ciri diperoleh dengan membuat model tekstur.
3. Transform based : mentrasformasikan citra yang akan dianalisis, yang termasuk transform based ialah Transformasi Fourier, Wavelet, dan
2.3.1 STRUKTUR CIRI GREY LEVEL COOCCURANCE MATRIX (GLCM)
Metode untuk menganalisis tekstur citra keabuan sudah banyak dilakukakan penelitian. Manusia secara intuitif telah mampu untuk membedakan citra yang berbeda penampakanya namun akan sulit untuk membedakan citra bertekstur. Pada umumnya pendekatan statistic yang banyak digunakan untuk melakukan analisis tekstur. Fitur fitur yang digunakan dalam analisis tekstur secara statsitis didasarkan pada gray level coocurence matrix, gray level difference matrices, run length matrices, spektra daya Fourier, fungsi autokorelasi, dan model random-field [9] .
Motode analisis tekstur yang paling banyak digunakan adalah gray level coocurances matrix yang diperkenalkan pertama kali oleh Haralick pada tahun 1973 untuk mengektrasi fitur fitur yang digunakan sebagai analisis citra hasil penginderaan jauh [7] [10].
GLCM merupakan satu metoda yang banyak digunakan untuk analisis bertekstur contohnya satu citra medis, citra radar, juga pada kontrol kualitas industritekstil. Ciri dari GLCM merupakan sifat yang dapat membedakan beberapa tekstur yaitu angular second moment, homogeneity, entrophy, correlation, dissimilarity, correlation, contrast. Contoh misalnya dalam satu jendela 4 x 4 terdapat empat derajat keabuan dari 0,1,2, dan 3. Harga piksel citra dalam jendela pengamatan dapat dinyatakan dalam matrik pada Symbol 2.2. di halaman berikutnya. Dari keadaan harga piksel ini selanjutnya dapat dianalisis teksturnya dan dicari ciri dari GLCM. Pada contoh citra tampak nilai pksel terendah ialah 0 dan nilai piksel tertinggi ialah 3.
1 2 0 3 1 2 0 3 1 3 0 2 1 3 0 2
Gambar 2.3. Piksel dalam jendela 4 x 4.
Jika jarak piksel dipilih satu dan sudut arah 0 maka matriks cooccurence dapat dibentuk sebagai berikut :
1) Tentukan derajat keabuan, diurut dari kecil ke besar dalam contoh dari 0 1 2 3.
2) Bentuk matrik A berukuran m x m dengan m adalah jumlah derajat keabuan element matrik A tersebut yaitu ai,j merupakan jumlah
kemunculan dengan derajat keabuan gi muncul bersebelahan
dengan gi dengan sudut 0º dimana 1≤ ij ≤m. Matriks A menjadi :
0 1 2 3 0 0 0 4 4 1 0 0 2 2 2 4 2 0 0 3 4 2 0 0 Gambar 2.4. Matriks A
3) Buat matriks cooccurence C, bagilah setiap element matriks A dengan n dimana n adalah jumlah semua element matriks A yaitu 24. Matriks C dapat dilihat pada Gambar 3 di bawah ini.
0 0 4/24 4/24 0 0 2/24 2/24 4/24 2/24 0 0 4/24 2/24 0 0 Gambar 2.5. Matriks C.
Dari matriks C inilah dapat dihitung enam ciri tekstur yaitu: 1) .Angular Second Moment (Contrast)
Angular Second Moment menunjukkan keseragaman tekstur atau homogenitas.
∑ ∑
,1
2) Homogeneity.∑ ∑
, , ( , )2
3) Entropy.Entropy menunjukan derajat keacakan dari tekstur.
∑ ∑
,log
,3
4) Dissimilarity.∑ ∑ , | − | 4 5) Correlation.
m adalah harga rata-rata element matriks C
∑ ∑ ( − )( − )
,5
6) Second Order Element Difference Moment. Disebut juga kontras tekstur.
∑ ∑ ( − )
2 ,6
Analisis tekstur lain yang sering digunakan ialah Wavelet, baik Wavelet Haar maupun Daubechies dengan algoritma Mallat. Kelemahan algoritma Mallat hasil proses citra menjadi mengecil setengahnya. Algoritma a trous dapat menutupi kekurangan algoritma Mallat karena tetap menjaga ukuran citra.
2.4 Uji Kecocokan
Nilai dari hasil extrasi ciri tekstur berkisar dari 0 sampai dengan 255 memberikannya rentang yang cukup panjang. Ketika nilai ciri tekstur memiliki rentang kurang dari nilai 0,5 maka akan dibulatkan menjadi 0 karena tidak memenuhi syarat sebagai rentang tekstur karena jaraknya yang terlalu dekat. Sementara untuk rentang diatas itu akan tetap bernilai sesuai hasil extrasi yang ada.
Sebuah fenomena berasal dari populasi yang mengikuti model atau distribusi tertentu, misalnya : normal, paisson, binom atau lainnya. Uji kekocokan dilakukan untuk pengecekan berdasarkan data hasil pengamatan, apakah model populasi yang diandaikan benar dapat dipenuhi. Pengujian apakah ada kecocokan antara hasi pengamatan dengan pupulasi yang diandaikan. Hal itu dilakukan untuk mengetahui kemiripan dari sample yang sedang diuji. Uji kecocokan ini dilakukan dengan membandingkan frekuensi hasil yang sebenarnya diamati dengan frekuensi yang diharapkan. [11]
Dalam penetilian ini uji kecocokan dilakukan dengan uji kecocokan distribusi normal. Adapun ciri-ciri distribusi normal antara lain adalah sebagai berikut:
deviasi tertentu. Dalam penelitian ini jarak yang dimiliki adalah 0 sampai 255 berupa nilai warna keabuan dari putih hingga menjadi hitam.
2 Pada distribusi normal, mean, median, dan mode berimpit (sama besar),
terletak tepat ditengah kurva dan membagi dua sama besar jarak deviasi. Berdasarkan sifat-sifat distribusi normal itulah maka untuk penjabaran skor mentah enjadi nilai huruf dipergunakan mean.
Langkah langkah yang dilakukan dalam uji kecocokan distribusi normal yang dilakukan adalah :
1. Menghitung mean citra acuan. 2. Menentukan selisih rata - rata. 3. Menentukan rentangg rata – rata
4. Melakukan proses kecocokan dengan data acuan rentang rata – rata. 2.1 JAVA
Pada tahun 1995, Sun Microsystem meluncurkan perangkat lunak pemrograman bernama Java versi 1.0, sebuah bahasa yang mendukung penuh pemrograman berorientasi objek (OOP). Pembuatnya bernama James Gosling, Mike Sheridan dan Patrick Naughton pada Juni 1991.
Java mempunyai fitur-fitur yang lebih menjanjikan, seperti penggunaan fitur memori manajemen dan garbage collection dari Smaltalk dan syntax dari C/C++ menjadi bahasa yang mudah dipelajari. Terdapat emapt platform bahasa Java, yaitu :
1. Java Standard Edition (Java SE)
Java SE API ( Application Program Interface) menyediakan fungsionalitas inti dari bahasa pemrograman Java. Ia mendefiniskan segala sesuatu dari bahasa pemrograman tingkat tinggi yang digunakan untuk aplikasi jaringan, graphical user interface(GUI), dan menguraikan (parsing) XML.
2. Java Platform, Enterprise Edition (Java EE)
Platform Java EE dibangun diatas platform Java SE. Platform Java EE ,menyediakan API dan lingkungan runtime untuk mengembangkan dan menjalankan aplikasi skala besar, multi tier, scalable, aplikasi jaringan yang handal dan aman.
3. Java Platform, Micro Edition (Java ME)
Platform Java ME menyediakan API dan small-footprint virtual machine untuk menjalankan aplikasi bahasa pemrograman Java pada perangkat kecil.
4. Java FX
Platform untuk membuat aplikasi internet yang kaya dengan menggunakan API user interface yang ringan. Aplikasi Java FX menggunakan hardware-accelerated grafis dan mesin media untuk mengambil keuntungan dari kinerja klien yang lebih tinggi dan modern serta API tingkat tinggi untuk menghubungkan ke sumber jaringan data. Aplikasi Java FX ini biasanya merupakan klien dari layanan platform Java EE.
Dasar pemrograman Java mempunyai syntax sebagai berikut :
menjadi biner yang terdiri dari byte-code untuk Java Virtual Mechine(JVM). Pada saat mengeksekusi program Java, Java interpterer memeriksa dan mengeksekusi perintah byte-code dalam JVM. Untuk lebih jelas lingkungan Java sebagai berikut
Gambar 2.7 Lingkungan Java 2.4 Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak adalah suatu disiplin ilmu yang mempelajari semua aspek produksi dalam suatu proses perancangan suatu perangkat lunak atau sistem dengan tujuan untuk dapat menghasilkan suatu perangkat lunak atau sistem dengan cara efektif dan efisien dari segi biaya, waktu, dan tenaga. Pada dasarnya rekayasa perangkat lunak lebih memfokuskan pada tahapan-tahapan pengembangan suatu perangkat lunak yakni : Analisa, Desain, Implementasi, Pengujian, Pemeliharaan dan Dokumentasi.
2.4.1 Metode Waterfall
Metode Waterfall disebut juga dengan siklus hidup perangkat lunak merupakan salah satu model pengembangan perangkat lunak dari sekian banyak model pengembangan perangkat lunak. Waterfall adalah model yang umumnya paling banyak digunakan. Pada model ini, desain perangkat lunak atau sistem dibagi menjadi sejumlah langkah linier, sistematis, dan sekuensial dimana evolusi perangkat lunak atau sistem terlihat seperti air yang mengalir semakin turun melalui serangkaian tahapan.
Gambar 2.8 Tahapan Waterfall Aktifitas-aktifitas dalam waterfall adalah sebagai berikut: 1. Tahapan Rekayasa Sistem
Tahapan ini sangat menekankan pada masalah pengumpulan kebutuhan pengguna pada tingkatan sistem dengan menentukan konsep sistem beserta antarmuka yang menghubungkannya dengan lingkungan sekitar. Hasilnya berupa spesifikasi sistem.
2. Tahapan Analisis
Pada tahap ini dilakukan pengumpulan kebutuhanelemenelemen ditingkat perangkat lunak. Dengan analisis harus dapat ditentukan domain-domain data atau informasi, fungsi, proses atau prosedur yang diperlukan beserta unjuk kerjanya, dan antarmuka. Hasilnya berupa spesifikasi kebutuhan perangkat lunak.
3. Tahapan Perancangan
Pada tahap perancangan, kebutuhan-kebutuhan perangkat lunak yang dihasilkan pada tahap analisis, ditransformasikan kedalam bentuk arsitektur perangkat lunak yang memiliki karakteristik mudah dimengerti dan tidak sulit untuk diterapkan.
Tahap ini melakukan penerapan hasil rancangan kedalam baris-baris kode program yang dapat dimengerti oleh komputer.
5. Tahapan Pengujian
Setelah perangkat lunak selesai diterapkan, pengujian dapat segera dimulai. Pengujian terlebih dahulu dilakukan pada setiap modul. Jika tidak ada masalah, modul tersebut akan diintegrasikan hingga membentuk perangkat lunak secara utuh. Kemudian dilakukan pengujian ditingkat perangkat lunak yang memfokuskan pada masalah-masalah logika internal, fungsi internal, potensi masalah yang mungkin terjadi dan pemeriksaan hasil apakah sudah sesuai dengan permintaan.
6. Tahapan Pengoperasian dan pemeliharaan
Dalam masa operasional sehari-hari, suatu perangkat lunak mungkin saja mengalami kesalahan atau kegagalan dalam menjalankan fungsi-fungsinya. Atau, pemilik bisa saja meminta peningkatan kemampuan perangkat lunak pada pengembangannya. Dengan demikian, kedua faktor ini menyebabkan perlunya perangkat lunak dipelihara dari waktu ke waktu. Biasanya ini merupakan tahapan yang panjang dari perangkat lunak.
2.4.2 FlowChart
Flowchart sebagai penyajian yang sistematis tentang proses dan logika dari kegiatan penanganan informasi atau penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.
Tabel 2.1 Simbol Flowchart
SIMBOL NAMA FUNGSI
TERMINATOR Permulaan/ akhir program GARIS ALIR
(FLOW LINE) Arah aliran program PREPARATION pemberian harga awal Proses inisialisasi/
PROSES Proses perhitungan/ proses pengolahan data
INPUT / OUTPUT
DATA Proses input/output data, parameter, informasi PREDEFINED
PROCESS (SUB PROGRAM)
Permulaan sub program/ proses menjalankan sub
program
DECISION
Perbandingan pernyataan, penyelesaian data yang memberikan pilihan untuk
langkah selanjutnya ONE PAGE
CONNECTOR
Penghubung bagian – bagian Flowcart yang ada
dalam satu halaman OFF PAGE
CONNECTOR
Penghubung bagian – bagian Flowcart yang ada
2.4.3 Metode Pengujian
Pada pembuatan aplikasi, salah satu tahap akhir yang penting adalah tahap pengujian dari aplikasi tersebut. Metode yang banyak digunakan dalam pengujian aplikasi yaitu metode White Box Testing dan Black Box Testing. Penjelasan keduanya yaitu sebagai berikut :
1. White Box Testing
Pengujian white box (glass box) adalah pengujian yang didasarkan pada pengecekan terhadap detil perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Penentuan kasus uji disesuaikan dengan struktur system, pengetahuan mengenai program digunakan untuk mengidentifikasikan kasus uji tambahan. Tujuan penggunaan white box untuk menguji semua statement program. Penggunaan metode pengujian white box dilakukan untuk [12] :
1. Memberikan jaminan bahwa semua jalur independen suatu modul digunakan minimal satu kali
2. Menggunakan semua keputusan logis untuk semua kondisi true atau false
3. Mengeksekusi semua perulangan pada batasan nilai dan operasional pada setiap kondisi.
4. Menggunakan struktur data internal untuk menjamin validitas jalur keputusan.
2. Black Box Testing
Metode ujicoba black box memfokuskan pada keperluan fungsional dari software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Black Box Testing bukanlah solusi alternatif
hal yang tidak dicakup oleh White-Box Testing. Black-Box Testing cenderung untuk menemukan hal-hal berikut [12] :
1. Fungsi yang tidak benar atau tidak ada 2. Kesalahan antarmuka (interface errors)
3. Kesalahan pada struktur data dan akses basis data 4. Kesalahan performansi (performance errors) 5. Kesalahan inisialisasi dan terminasi.