TA : Aplikasi Pengembalian Buku Mandiri Menggunakan Segmentasi Citra Cover Buku.

(1)

MENGGUNAKAN SEGMENTASI CITRA COVER BUKU

TUGAS AKHIR

Nama : Andy Ardianto NIM : 07.41010.0047 Program : S1 (Strata Satu) Jurusan : Sistem Informasi

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA


(2)

MENGGUNAKAN SEGMENTASI CITRA COVER BUKU

TUGAS AKHIR

Diajukan sebagai salah satu syarat untuk menyelesaikan Program Sarjana Komputer

Oleh:

Nama : Andy Ardianto NIM : 07.41010.0047 Program : S1 (Strata Satu) Jurusan : Sistem Informasi

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA

2014


(3)

Perpustakaan merupakan salah satu pusat informasi, sumber ilmu pengetahuan dan penelitian. Dalam proses pengembalian buku yang terjadi di perpustakaan saat ini sudah menggunakan sebuah sistem barcode yang digunakan dalam menginputkan data buku yang dipinjam. Proses pengembalian buku di perpustakaan saat ini seringnya terjadi antrian pada saat pengembalian buku, jam operasional dari perpustakaan yang terbatas serta diperlukannya petugas perpustakaan untuk proses pengembalian buku. Oleh karena itu dibutuhkan sebuah sistem yang tidak memerlukan bantuan dari petugas perpustakaan untuk mengembalikan buku dari para pengguna perpustakaan, proses pengembalian buku dapat dilakukan tanpa melihat jam operasional dari perpustakaan.

Berdasarkan permasalahan diatas, dibuatlah sebuah sistem aplikasi pengembalian buku mandiri yang dapat memberikan informasi dari citra cover buku dengan menggunakan metode segmentasi global thresholding. Pada proses

segmentasi akan malakukan proses akusisi citra, grayscale, histogram, enhanchmen,

thresholding dan melakukan konversi citra barcode menjadi informasi buku.

Dengan adanya aplikasi yang dibangun ini dapat memverifikasi buku yang akan dikembalikan oleh anggota perpustakaan dengan membaca citra cover buku

yang telah diberi label barcode dan mencocokan dengan basis data. Pada aplikasi

dapat membaca barcode pada citra cover buku dengan intensitas cahaya ≥ 120

Keywords: Segmentasi, Image Processing, Pengembalian Buku, Perpustakaan


(4)

ABSTRAK ... vii

KATA PENGANTAR ... viii

DAFTAR ISI ... x

DAFTAR TABEL ... xiii

DAFTAR GAMBAR ... xiv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah... 2

1.3 Pembatasan Masalah ... 3

1.4 Tujuan ... 3

1.5 Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 6

2.1 Pengertian Citra ... 6

2.2 Pengolahan Citra ... 7

2.3 Citra Grayscale ... 7

2.4 Histogram ... 8

2.5 Kecerahan (Brightness) ... 10

2.6 Pengertian Segmentasi Citra ... 10

2.7 Metode Thresholding ... 13


(5)

BAB III METODE PENELITIAN ... 22

3.1 Analisis Permasalahan ... 22

3.2 Analisis Kebutuhan Sistem ... 24

3.3 Analisis Sistem ... 27

BAB IV HASIL DAN PEMBAHASAN ... 36

4.1 Rancangan Sistem ... 33

4.1.1Proses Pengolahan Citra Cover Buku ... 33

4.1.2 Segmentasi Barcode ... 37

4.1.3 Pengelohan Citra Barcode ... 45

4.1.4 Verifikasi Buku ... 46

4.1.5 Entity Relationship Diagram ... 48

4.1.6 Struktur Database ... 50

4.1.7 Desain Interface ... 52

4.2 Implementasi Sistem ... 53

4.2.1 Kebutuhan Sistem ... 54

4.2.2 Pembuatan Perangkat Lunak ... 55

4.2.3 Analisis Kebutuhan ... 55

4.3 Evaluasi Sistem ... 65

4.3.1 Hasil Uji Coba Form Pengembalian buku ... 66

4.3.2 Hasil Uji Coba Perubahan Grayscale ... 67


(6)

Intensitas Cahaya ... 71

4.3.5 Hasil Uji Coba Form Pengembalian Buku dengan Gerakan Memasukkan Buku ... 73

4.4 Analisis Kemampuan Program ... 75

BAB V PENUTUP ... 76

5.1 Kesimpulan ... 76

5.2 Saran ... 76

DAFTAR PUSTAKA ... 78


(7)

Tabel 4.1 Tabel Buku ... 50

Tabel 4.2 Tabel Pengembalian ... 50

Tabel 4.3 Tabel Anggota ... 51

Tabel 4.4 Tabel Peminjaman ... 51

Tabel 4.5 Tabel Data Peminjaman ... 66

Tabel 4.6 Tabel Uji Coba Posisi Buku ... 69

Tabel 4.7 Hasil MSE Posisi Buku ... 70

Tabel 4.8 Tabel Uji Coba Intensitas Cahaya dengan Nilai Threshold ... 71

Tabel 4.9 Hasil MSE dari Intensitas Cahaya ... 72

Tabel 4.10 Tabel Uji Coba Gerakan Memasukkan Buku ... 73

Tabel 4.11 Hasil MSE dari Gerakan Memasukkan Buku ... 74


(8)

Gambar 2.1 Histogram Citra. ... 9

Gambar 2.2 Teknik Segmentasi Citra ... 11

Gambar 2.3 Global Thresholding ... 14

Gambar 2.4 Barcode 1 dimensi tipe kode 39 ... 17

Gambar 2.5 Barcode 1 dimensi tipe kode 128 ... 18

Gambar 2.6 Barcode 1 dimensi tipe kode 25 ... 18

Gambar 2.7 Barcode 1 dimensi tipe kode EAN 13 ... 19

Gambar 2.8 Barcode 1 dimensi tipe kode UPC ... 19

Gambar 2.9 Barcode 2 dimensi tipe QR ... 20

Gambar 2.10 Barcode 2 dimensi tipe PDF417 ... 20

Gambar 2.11Barcode 2 dimensi tipe HCCB ... 21

Gambar 2.12 Barcode 2 dimensi tipe Data Matrix ... 21

Gambar 3.1 Diagram Alir Aplikasi Pengembalian Buku ... 26

Gambar 3.2 Aliran data proses pengembalian buku pada saat ini ... 28

Gambar 3.3 Blok Diagram Sistem Pengembalian Buku ... 30

Gambar 4.1 Flowchart Proses Pengolahan Citra ... 34

Gambar 4.2 Flowchart Sub proses merubah citra menjadi grayscale ... 35

Gambar 4.3 Flowchart Segmentasi Citra ... 37

Gambar 4.4 Flowchart Sub Scaning Halaman ... 38

Gambar 4.5 Flowchart Proses Histogram ... 40

Gambar 4.6 Flowchart Sub Proses Brightness ... 42 xiv


(9)

Gambar 4.9 Flowchart Pengembalian Buku ... 47

Gambar 4.10 CDM Pengembalian Buku ... 49

Gambar 4.11 PDM Pengembalian Buku ... 49

Gambar 4.12 Desain Interface Form Pengembalian Buku ... 52

Gambar 4.13 Desain Interface Form Pengembalian Buku ... 53

Gambar 4.14 Diagram Perangkat Lunak Segmentasi Citra Barcode ... 58

Gambar 4.15 Diagram Proses Segmentasi ... 58

Gambar 4.16 Pengolahan Citra Grayscale ... 59

Gambar 4.17 Flowchart Grayscale ... 60

Gambar 4.18 Flowchart Proses Histogram ... 61

Gambar 4.19 Flowchart Proses enhancement ... 62

Gambar 4.20 Pola Bintang pada Barcode code39 ... 62

Gambar 4.21 Proses Thresholding ... 63

Gambar 4.22 Flowchart Proses Thresholding ... 63

Gambar 4.23 Flowchart Proses Pengecekan Barcode ... 64

Gambar 4.24 Flowchart Konversi Pola Code Barcode ... 64

Gambar 4.25 Source Code Pola Barcode Code39 ... 65

Gambar 4.26 Form Pengembalian Buku “Buku Kembali” ... 67

Gambar 4.27 Form Pengembalian Buku “Buku Tidak ditemukan” ... 67

Gambar 4.28 Proses Grayscale Pada Citra Cover Buku ... 68


(10)

(11)

1.1Latar Belakang Masalah

Perpustakaan merupakan salah satu pusat informasi, sumber ilmu pengetahuan dan penelitian. Perpustakaan menjadi tempat sumber informasi sehingga dapat dinikmati oleh banyak orang. Pada sebuah perpustakaan memiliki beberapa proses yang dilakukan yaitu proses peminjaman buku, proses pengembalian buku, proses perpanjangan buku, serta proses pengadaan buku.

Dalam proses pengembalian buku yang terjadi di perpustakaan saat ini sudah menggunakan sebuah sistem barcode yang digunakan dalam menginputkan data buku yang dipinjam. Proses pengembalian buku di perpustakaan saat ini seringnya terjadi antrian pada saat pengembalian buku, jam operasional dari perpustakaan yang terbatas serta diperlukannya petugas perpustakaan untuk proses pengembalian buku. Oleh karena itu dibutuhkan sebuah sistem yang tidak memerlukan bantuan dari petugas perpustakaan untuk mengembalikan buku dari para pengguna perpustakaan, proses pengembalian buku dapat dilakukan tanpa melihat jam operasional dari perpustakaan.

Aplikasi pengembalian buku mandiri menawarkan solusi lain yang dapat membantu anggota perpustakaan dalam mengembalikan buku, teknik image segmentasi pada pengembalian buku mandiri dapat membedakan obyek gambar barcode dapat lebih mudah dibedakan antara citra cover buku dengan objek dari barcode buku. Dengan sistem dimulai dari pengolahan citra cover buku yaitu dengan mengubah citra buku menjadi grayscale, kemudian dilanjutkan ke proses


(12)

segmentasi. Pada proses segmentasi terjadi tiga tahapan, tahapan yang pertama adalah melakukan proses scaning halaman yang digunakakn untuk mengetahui jumlah pixel yang ada pada citra cover buku, kemudian tahapan yang kedua yaitu proses histogram dan enhacmen dan tahapan yang ketiga adalah proses threshold yaitu dengan membedakan citra cover buku dengan citra barcode. yang kemudian dilanjutkan dengan proses merubah pola citra barcode menjadi kode barcode. setelah diketahui id barcode maka akan dilakukan proses verifikasi dari buku yang akan di lakukan pengecekan ke basisdata peminjaman buku.

Untuk itu dibuatlah sebuah perangkat lunak yang mampu melakukan verifikasi pengembalian buku dan dapat memberikan informasi pengembalian buku. Serta dapat memberikan informasi buku yang belum dikembalikan oleh anggota perpustakaan dan total keseluruhan denda yang harus dibayar oleh anggota perpustakaan.

1.2Rumusan Masalah

Berdasarkan latar belakang di atas adapun yang menjadi rumusan masalah dari tugas akhir ini adalah sebagai berikut:

1. Bagaimana mengidentifikasi barcode image citra cover buku dengan metode

image segmentasi.

2. Bagaimana membuat sebuah sistem yang dapat memverifikasi buku pinjaman


(13)

1.3Pembatasan Masalah

Sistem yang akan dibahas memiliki beberapa batasan masalah, di antaranya:

1. Citra yang di analisis berupa citra keluaran dari image cover buku yang sudah

diberi label barcode.

2. Input yang digunakan untuk proses verifikasi adalah database pinjaman dan

barcode buku

3. Output dari proses verifikasi berupa informasi detil dari buku yang

dikembalikan

4. Output dari image segmentasi adalah text barcode dari buku

5. Pada aplikasi ini tidak membahas tentang proses peminjaman buku dan

perpanjangan peminjaman buku

6. Resolusi dari webcam yang digunakan adalah 640 x 480 pixel karena

membaca driver sensor webcam

7. Code barcode yang digunakan adalah barcode code39

1.4Tujuan

Tujuan dari pembuatan sistem ini adalah mengasilkan suatu pengembalian buku mandiri dengan memanfaatkan teknik pengolahan citra yaitu dengan :

1. Membuat aplikasi yang dapat mengidentifikasi barcode image citra cover

buku dengan metode image segmentasi

2. Membuat sebuah sistem yang dapat memverifikasi buku pinjaman di


(14)

1.5Sistematika Penulisan

Laporan Tugas Akhir (TA) ini ditulis dengan sistematika penulisan sebagai berikut :

Bab I : Pendahuluan

Bab ini berisi tentang latar belakang diambilnya topik TA, rumusan masalah dari topik TA, batasan masalah atau ruang lingkup pekerjaan TA, dan tujuan dari TA ini.

Bab II : Landasan Teori

Bab ini menjelaskan tentang gambaran umum pengolahan citra digital yang dijadikan sebagai landasan teori yang berbentuk uraian kualitatif, model matematis, atau persamaan-persamaan yang langsung berkaitan dengan permasalahan yang dikerjakan. Dalam hal ini, teori yang digunakan dalam penyelesaian masalah TA ini adalah teori tentang segmentasi.

Bab III : Metode Penelitian

Untuk merumuskan permasalahan pada aplikasi pengembalian buku mandiri menggunakan segmentasi citra cover buku dibutuhkan analisis sistem yang terdiri dari perumusan permasalahan dan di gambarkan pada blok diagram.

Bab IV : Hasil dan Pembahasan

Bab ini berisi penjelasan tentang rancangan sistem, evaluasi dari sistem yang telah dibuat dan proses implementasi dari sistem yang telah melalui tahap evaluasi sebelumnya.


(15)

Bab V : Penutup

Bab ini berisi kesimpulan dan saran. Saran yang dimaksud adalah saran terhadap kekurangan dari aplikasi yang ada kepada pihak lain yang ingin meneruskan topik TA ini. Tujuannya adalah agar pihak lain tersebut dapat menyempurnakan aplikasi sehingga bisa menjadi lebih baik dan berguna


(16)

2.1 Pengertian Citra

Citra atau image adalah representasi spasial dari suatu objek yang

sebenarnya dalam bidang dua dimensi yang biasanya ditulis dalam koordinat cartesian x-y, dan setiap koordinat merepresentasikan satu sinyal terkecil dari objek (Kulkarni, 2001). Fungsi citra adalah model matematika yang sering digunakan untuk menganalisis dimana semua fungsi analisis digunakan untuk mempertimbangkan citra sebagai fungsi dengan 2 variabel.

Citra merupakan gambaran yang terekam oleh kamera atau oleh sensor. mengutarakan pengertian tentang citra yaitu:

1. Gambaran obyek yang dibuahkan oleh pantulan atau pembiasan sinar yang

difokuskan oleh sebuah lensa atau sebuah cermin.

2. Gambaran rekaman suatu obyek (biasanya berupa gambaran pada foto)

yang dibuat dengan cara optik, elektro-optik, optik mekanik atau elektronik. Pada umumnya gambar digunakan bila radiasi elektromagnetik yang dipancarkan atau dipantulkan dari suatu obyek tidak langsung direkam pada film. Sedangkan penginderaan jauh ialah ilmu dan seni untuk memperoleh informasi tentang obyek, daerah, atau gejala dengan jalan menganalisis data yang diperoleh dengan menggunakan alat tanpa kontak langsung terhadap obyek, daerah, atau gejala yang dikaji.


(17)

2.2 Pengolahan Citra

Pengolahan citra (image Processing) merupakan suatu sistem dimana

proses dilakukan dengan masukan berupa citra dan hasilnya juga berupa citra (Basuki, 2005). Pada awalnya pengolahan citra ini dilakukan untuk memperbaiki kualitas citra, namun dengan berkembangnya dunia komputasi yang ditandai dengan semakin meningkatnya kapasitas dan kecepatan proses computer, serta dapat mengambil informasi dari suatu citra, maka image processing tidak dapat dilepaskan dengan bidang computer vision

Sesuai dengan perkembangan computer vision itu sendiri , pengolahan citra mempunyai dua tujuan utama yakni sebagai berikut.

1. Memperbaiki kualitas citra, dimana citra yang dihasilkan dapat

menampilkan informasi secara jelas atau dengan kata lain manusia dapat melihat informasi yang diharapkan dengan menginterprestasikan citra yang ada. Dalam hal ini interprestasi terhadap informasi yang ada tetap dilakukan oleh manusia.

2. Mengekstrasi informasi cirri yang menonjol pada suatu citra

dimana hasilnya adalah informasi citra dimana manusia mendapatkan informasi cirri dari citra secara numeric atau dengan kata lain computer melakukan interprestasi terhadap informasi yang ada pada citra melalui besaran-besaran data yang dapat dibedakan secara jelas.

2.3 Citra Grayscale

Menurut Basuki (2005), Proses awal yang banyak dilakukan dalam image processing adalah merubah citra berwarna menjadi grayscale.


(18)

Hal ini digunakan untuk menyederhanakan model citra. Pada citra berwarna terdiri dari 3 layer matrix, yaitu R-layer, G-layer dan B-layer sehingga untuk melakukan proses-proses selanjutnya tetap diperhatikan tiga layer diatas. Bila setiap proses perhitungan dilakukan menggunakan tiga layer, berarti dilakukan tiga perhitungan yang sama. Dengan demikian, konsep itu dirubah dengan mengubah tiga layer diatas menjadi 1 layer matrix grayscale dan hasilnya adalah citra grayscale. Dalam citra ini tidak ada lagi warna, yang ada adalah derajat keabuabuan.

Untuk mengubah citra berwarna yang mempunyai nilai matrix masing-masing r, g, dan b menjadi citra grayscale dengan nilai s, maka konversi dapat dilakukan dengan mengambil rata-rata dari nilai r, g, dan b sehingga dapat dituliskan menjadi :

S= (r + g + b)/3

2.4 Histogram

Menurut Sutoyo (2009) Histogram adalah grafik yang menunjukkan

frekuensi kemunculan setiap nilai gradasi warna. Misalkan citra digital memiliki L

derajat keabuan,yaitu dari nilai 0 sampai L – 1 (misalnya pada citra dengan

kuantisasi derajat keabuan 8-bit, nilaiderajat keabuan dari 0 sampai 255). Gambar

2.1 memperlihatkan contoh sebuah histogram citra, yang dalam hal ini k

menyatakan derajat keabuan dan nk menyatakan jumlah pixel yang memiliki nilai


(19)

Gambar 2.1 Histogram Citra (Sutoyo, 2009)

Seringkali pada beberapa operasi pengolahan citra jumlah pixel yang memiliki

derajat keabuan k dinormalkan terhadap jumlah seluruh pixel di dalam citra,

Sehingga 0 ≤ hi ≤ 1. Persamaan 1 di atas menyatakan frekuensi

kemunculan nisbi (relative) dari derajat keabuan pada citra tersebut. Khusus untuk

citra berwarna, histogramnya dibuat untuk setiap kanal RGB (merah, hijau, dan

biru). Histogram citra menunjukkan banyak hal tentang kecerahan (brightness)

dan kontas (contrast) dari sebuah gambar. Puncak histogram menunjukkan

intensitas pixel yang menonjol. Lebar dari puncak menunjukkan rentang kontras

dari gambar. Citra yang mempunyai kontras terlalu terang (overexposed) atau

terlalu gelap (underexposed) memiliki histogram yang sempit. Histogramnya

terlihat hanya menggunakan setengah dari daerah derajat keabuan. Citra yang baik memiliki histogram yang mengisi daerah derajat keabuan secara penuh dengan

distribusi yang merata pada setiap derajat keabuan pixel. Histogram adalah alat

bantu yang berharga dalam pekerjaan pengolahan citra baik secara kualitatif maupun kuantitatif. Histogram berguna antara lain untuk perbaikan kontras dengan teknik histogram equalization dan memilih nilai ambang untuk melakukan segmentasi objek.


(20)

2.5 Kecerahan (Brightness)

Menurut Sutoyo (2009) Sebuah citra grayscale 256 warna akan tampak gelap bila seluruh komponen warnanya berada mendekati 0, sebaliknya citra akan tampak terang bila seluruh komponen warnanya mendekati 256, untuk mengkontrol nilai warna citra agar diperoleh tingkat kecerahan sesuai yang diinginkan maka fungsi kecerahaan berikut digunakan.

fo(x,y) = fi (x,y) + k……….

dimana fo adalah nilai intensitas (warna) setelah dilakukan operasi fungsi

kecerahaan fi adalah nilai sebelum dilakukan operasi fungsi kecerahaan,

dan k adalah konstanta kecerahaan. Bila nilai k positif maka citra hasil operasi lebih cerah disbanding dengan citra asli. Sebaliknya, bila nilai k negatif maka citra hasil operasi lebih redup disbanding dengan citra asli. Untuk citra true color, fungsi tersebut diterapkan untuk masing-masing

warna Red, Blue dan Green

2.6 Pengertian Segmentasi Citra

Segmentasi citra adalah suatu proses membagi suatu citra menjadi wilayah-wilayah yang homogen (Jain, 1989). Menurut Jain (1989), segmentasi

citra dapat dibagi dalam beberapa jenis, yaitu dividing image space dan clustering

feature space. Jenis yang pertama adalah teknik segmentasi dengan membagi

image manjadi beberapa bagian untuk mengetahui batasannya, sedangkan teknik

yang kedua dilakukan dengan cara memberi index warna pada tiap piksel yang menunjukkan keanggotaan dalam suatu segmentasi. Teknik segmentasi citra,


(21)

menurut Jain(1989), dapat dilihat pada diagram berikut.

Teknik Segmentas Citra

Dividing Image Space Clustering Feature space

Region Growing Region Splitting Split and Marge

Tiap pixel di beri index warna yang menunjukkan

keanggotaannya dalam suatu cluster

Gambar 2.2 Teknik segmentasi citra (Jain,1989)

Adapun teknik segmentasi tersebut dapat dilakukan dengan beberapa pendekatan sebagai berikut :

1. Pendekatan Edge-Based

Pendekatan ini melakukan proses deteksi sisi dengan operator gradient.

Masukannya berupa citra gray level dan keluarannya berupa citra edge

(biner). Selanjutnya dilakukan proses region growing dengan masukan citra asli (gray-level) dan citra edge. Proses pembentukan suatu wilayah akan berhenti bila menjumpai piksel edge. Kekurangan dari pendekatan ini adalah belum tentu menghasilkan edge yang kontinu, mengakibatkan terjadinya kebocoran wilayah (wilayah-wilayah yang tidak tertutup).

2. Pendekatan Region-Based

Pendekatan ini memerlukan criteria of uniformity, memerlukan

penyebaran seeds atau dapat juga dengan pendekatan scan line, kemudian

dilakukan proses region growing. Kekurangan dari pendekatan ini adalah


(22)

3. Pendekatan Hybrid

Pendekatan ini melakukan proses deteksi sisi untuk menghasilkan citra sisi

(piksel edge dan piksel non-edge), melakukan pemisahan wilayah dengan

metode connected region. (Connected regions adalah set piksel 4-tetangga

yang bukan piksel edge), dan selanjutnya dilakukan proses merging

regions. Pendekatan ini bertujuan untuk mendapatkan hasil segmentasi dengan wilayah-wilayah yang tertutup dan bersambungan.

Sedangkan menurut Sutoyo (2009) segmentasi citra bertujuan untuk membagi wilayah-wilayah yang homogen. Segmentasi adalah salah satu metode penting yang digunakan untuk mengubah citra input ke dalam citra output berdasarkan atribut yang diambil dari citra tersebut. Segmentasi membagi citra ke dalam daerah intensitasnya masing-masing sehingga bisa membedakan antara objek dan backgroundnya. Pembagian ini tergantung pada masalah yang akan diselesaikan. Segmentasi harus dihentikan apabila masing-masing objek telah terisolasi atau terlihat dengan jelas. Tingkat keakurasian segmentasi tergantung pada tingkat keberhasilan prosedur analisis yang dilakukan dan diharapkan proses segmentasi memiliki tingkat keakuratan yang tinggi. Algoritma dari segmentasi terbagi dalam dua macam yaitu :

1. Diskontinuitas

Pembagian citra berdasarkan perbedaan dalam intensitasnya. Contohnya titik, garis, dan tepi

2. Similaritas


(23)

dimilikinya, contohnya thresholding, region growing, region splitting, dan region merging.

2.7 Metode Thresholding

Menurut Sutoyo (2009) Metode ini menggunakan nilai amban T sebagai patokan untuk memutuskan sebuah pixel diubah menjadi hitam atau putih. Biasanya dihitung dengan persamaan : T = (fmaks + fmin) /2

Dimana fmax adalah nilai intensitas maksimum pada citra dan fmin adalah intensitas minimum pada citra. Jika f(x,y) adalah nilai intensitas pixel pada posisi (x,y) maka pixel tersebut diganti putih atau hitam tergantung kondisi berikut.

F(x,y) = 255, jika f(x,y) >= T F(x,y) = 0, jika f(x,y) < T

Sebagai contoh, misalkan diketahui citra grayscale 4 x 4 piksel dengan kedalaman 8 bit seperti berikut :

200 230 150 75

240 50 170 90

210 100 120 80

100 90 200 230

Dengan metode ini, nilai threshold T adalah :

T =( fmax +fmin) \ 2 = (240 + 50) \2 = 145

Bila nilai T = 145 maka diterapkan untuk citra tersebut diperoleh sebagai berikut .

255 255 255 0

255 0 255 0

255 0 0 0


(24)

Menurut Sutoyo (2009) Bila histogram citra terbagi menjadi dua wilayah seperti pada gambar maka global thresholding bisa digunakan untuk

mendapatkan nilai thresholding T yang tepat sehingga bagian objek dan latar

belakang citra bisa ditentukan .

Gambar 2.3Global Thresholding (Sutoyo, 2009)

Dengan metode ini, threshold dimodifikasi secara berulang-ulang sampai

ditemukan nilai yang cocok . langkah-langkah dalam menentukan threshold T

adalah sebagai berikut.

1. Pilih nilai T awal, yaitu nilai rata-rata dari intensitas citra.

2. Bagi citra menjadi dua daerah, misalnya R1 dan R2 , menggunakan nilai T

awal yang telah ditentukan.

3. Hitung nilai rata-rata intensitas µ1 dan µ2 masing-masing untuk daerah R1

dan daerah R2

4. Hitung nilai threshold yang baru dengan rumus T =

µ

1 +

µ

2

2

5. Ulangi langkah 2 sampai 4 hingga nilai-nilai µ1 dan µ2 tidakberubah lagi.


(25)

2.8 Pengenalan Pola

Pengenalan pola (pattern recognition) adalah suatu ilmu untuk

mengklarifikasi atau menggabarkan sesuatu berdasarkan pengukuran kuantitatif fitur (ciri) atau sifat utama dari suatu objek (Putra, 2010). Pola sendiri adalah suatu entitas yang terdefinisi dan dapat di identifikasi serta diberi nama. Sidik jari adalah satu contoh pola. Pola bias merupakan kumpulan hasil pengukuran atau pemantauan dan bias dinyatakan dalam notasi vector atau metriks.

2.9 Barcode

Menurut Malik (2010) , barcode merupakan sejenis kode yang mewakili

data atau informasi tertentu, biasanya jenis dan harga barang , contohnya seperti

untuk makanan dan buku. Barcode berbentuk batangan balok dan berwarna hitam

putih ini mengandung satu kumpulan kombinasi batang yang berlainan ukuran yang disusun sedemikian rupa.

Menurut Malik (2010) barcode memiliki banyak manfaat yang beraneka ragam,

diantaranya :

1. Akurasi

Barcode mampu meningkatkan akurasi dengan mengurangi kesalahan

manusia ketika melakukan pemasukan data secara manual atau barang yang salah baca.

2. Kemudahan pemakaian

Dengan perangkat keras dan perangkat lunak yang tepat, barcode bisa


(26)

3. Keseragaman pengumpulan data

Beragam standar pemenuhan dan simbologi barcode yang terstandarisasi menjamin informasi diterima dan disampaikan dengan cara yang benar sehingga dapat diterima dan dipahami secara umum.

4. Umpan balik yang tepat waktu

Barcode menawarkan umpang balik yang tepat waktu. Begitu muncul,

data bisa diterima dengan cepat sehingga memungkinkan pengambilan keputusan yang cepat berdasarkan informasi terbaru.

5. Keamanan

Dengan menggunakan barcode, perusahaan mampu memperkecil

kesalahan yang terjadi. Misalnya penukaran harga label produk yang dilakukan konsumen di suatu supermarket.

6. Meningkatkan produktifitas

Barcode mampu membuat aktivitas operasional dalam bisnis menjadi

lebih cepat sehingga produktivitas dapat meningkat.

7. Meningkatkan profit

Peningkatan efisiensi dan produktivitas yang diberikan barcode

memungkinkan perusahaan menghemat biaya dan waktu, sehingga profit perusahaan meningkat.

Menurut Wahyono (2010) barcode memiliki banyak sekali standard dan

tidak terpaku pada satu model tertentu. Tetapi meski demikian, secara umum

barcode terbagi menjadi dua kelompok besar,yaitu barcode satu dimensi dan


(27)

Barcode ini dinamakan satu dimensi atau ada juga yang menyebut linear barcodes karena kodenya hanya terdiri dari barisbaris.Berikut ini adalah beberapa

jenis barcode satu dimensi :

1. Tipe code 39

Merupakan barcode alphanumeric (full ASCII) yang dapat mewakili abjad

(A-Z) dan angka (0-9), serta beberapa karakter lain, seperti $, /, +, % titik dan spasi dan juga memiliki jumlah digit maximal 16. Kode seperti ini

biasa nya di gunakan untuk barcode buku maupun untuk barcode anggota

perpustakaan. Dan juga beberapa aplikasi lain seperti untuk inventori,

asset tracking dan digunakan pada tanda pengenal identitas. Seperti yang ditunjukkan pada gambar 2.4 dibawah ini :

Gambar 2.4 Barcode 1 dimensi tipe kode 39 (Wahyono, 2010)

2. Tipe Code 128

Barcode tipe code 128 juga tergolong di dalam barcode alphanumeric (full ASCII), tetapi memiliki kerapatan yang lebih tinggi dan juga panjang baris

yang bervariasi. Barcode Tipe Code 128 biasa nya di gunakan untuk

aplikasi, seperti pengaturan maskapai pelayaran dan pengelolaan gudang. Setiap karakter pada code 128 47 dikodekan oleh 3 bar dan 3 spasi (atau 6 elemen) dengan ketebalan masing-masing elemen 1 sampai 4 kali ketebalan minimum (module). Seperti yang ditunjukkan pada gambar 2.5 dibawah ini :


(28)

Gambar 2.5 Barcode 1 dimensi tipe kode 128 (Wahyono, 2010)

3. Code 25 (Interleaved)

Merupakan kode barcode yang hanya untuk angka (0-9), maksimum 32

digit. Jadi barcode ini berbentuk numeric dan memiliki panjang baris yang

bervariasi. Barcode yang juga disebut sebagai interleaved 2 of 5 biasa

digunakan untuk aplikasi dalam dunia industry dan laboratorium. . Seperti yang ditunjukkan pada gambar 2.6 dibawah ini :

Gambar 2.6 Barcode 1 dimensi tipe kode 25 (Wahyono, 2010)

4. EAN 13

Simbologi barcode model ini dikeluarkan EAN untuk identitas suatu

produk. Standarisasi EAN menggunakan 3 digit pertama adalah untuk

kode Negara asal produk, 4 dikit berikutnya adalah Manufacture Number,

5 digit berikutnya adalah kode produk atau nomor urut produk sedangkan 1 digit terakhir adalah cek digit atau angka untuk melakukan tes validasi

barcode. Kode EAN sering digunakan di Indonesia untuk identifikasi


(29)

Gambar 2.7 Barcode 1 dimensi tipe kode EAN 13 (Wahyono, 2010)

5. UPC (Universal Product Code)

Barcode UPC terdiri dari angka (0-9) namun barcode harus mempunyai

panjang tepat 11 atau 12 digit, Kurang atau lebih dari angka tersebut tidak

bisa digunakan. Jadi barcode ini berbentuk numerik dan memiliki panjang

baris yang tetap. UPC biasanya digunakan untuk pelabelan pada produkproduk kecil atau eceran. Simbol UPC dibuat untuk kemudahan pemerikasaan keaslian suatu produk dan bilangan UPC harus

diregistrasikan atau terdaftar di Uniform Code Council. Seperti yang

ditunjukkan pada gambar 2.8 dibawah ini :

Gambar 2.8 Barcode 1 dimensi tipe kode UPC (Wahyono, 2010)

Barcode dua dimensi adalah barcode yang tidak hanya terbuat dari garis-garis saja, tetapi lebih mendekati bentuk gambar tertentu. Dengan menggunakan dua dimensi, informasi atau data yang besar dapat di simpan di dlaam suatu ruang

yang lebih kecil. Berikut ini adalah beberapa jenis barcode dua dimensi :

1. QR code

QR merupakan kependekan dari Quick Response, sebuah harapan dari

pembuatnya bahwa code ini akan cepat di-decode. Tidak seperti barcode


(30)

sisi yang berisi data. Hal tersebut membuat QR code dapat lebih banyak

memuat informasi dibandingkan barcode. Selain itu QR code juga dapat

menampung informasi berupa URL suatu website yang nantinya dapat

digunakan pada majalah, iklan, atau media lainnya, sehingga ketika seseorang memiliki handphone berkamera dan memiliki fitur pembaca,

QR code dapat langsung men-scan dan masuk kedalam website yang

dimaksud tanpa perlu mengetikan alamatnya. Seperti yang ditunjukkan pada gambar 2.9 dibawah ini :

Gambar 2.9 Barcode 2 dimensi tipe QR (Wahyono, 2010)

2. Kode PDF417

Model ini merupakan pengembangan dari barcode satu dimensi linear,

tepatnya disebut sebagai stacked linear barcode.PDF sendiri di artikan

sebagai Portable Data File. Model ini memiliki kemampuan untuk

menyimpan lebih dari 2000 karakter di dalam ruang berukuran 4 inch persegi. Seperti yang ditunjukkan pada gambar 2.10 dibawah ini :

Gambar 2.10 Barcode 2 dimensi tipe PDF417 (Wahyono, 2010)

3. HCCB (High Capacity Color Barcode)

Contoh lain dari barcode dua dimensi adalah HCCB yang mana didevelop


(31)

warna pada ukuran 5x10 grid. Dengan barcode HCCB data akan mampu disimpan dalam ukuran yang lebih besar. Selain itu tampilan kode juga

lebih enak untuk dilihat karena menggunakan tampilan berwarna(color

barcode). Seperti yang ditunjukkan pada gambar 2.11 dibawah ini :

Gambar 2.11 Barcode 2 dimensi tipe HCCB (Wahyono, 2010)

4. Data Matrix

Data Matrix adalah barcode dua dimensi yang terdiri dari sel hitam dan

putih atau modul titik-titik di sekitar rectangular patern. Data matrix

menggunakan ukuran data sampai pada 2 kilobytes. Sebuah data matrix

dapat menyimpan sampai dengan 2.335 karakter alphanumeric. Salah satu

contoh penggunaan data matrix ini yang sering dijumpai seperti barcode

pada Mini PCI Card dengan ukuran symbol yang bervariasi mulai dari 8x8

sampai 144x144 seperti yang ditunjukkan pada gambar 2.12 dibawah ini :


(32)

BAB III

METODE PENELITIAN

3.1. Analisis Permasalahan

Perpustakaan merupakan suatu tempat menyimpan koleksi baik berupa buku, majalah dan koleksi lainnya yang dikelola oleh suatu institusi maupun kota. Perpustakaan dimanfaatkan oleh masyarakat untuk meminjam koleksi yang ada di perpustakaan sehingga masyarakat tidak perlu membeli koleksi tersebut Perpustakaan diharap kan dapat membantu masyarakat untuk meningkatkan minat baca, meningkatkan kemampuan berfikir dan mengembangkan ilmu pengetahuan. Perpustakaan biasanya memiliki sirkulasi berupa peminjaman buku, pengembalian buku dan pengelolaan keanggotaan

Dalam sirkulasi pengembalian buku pada perpustkaan memiliki banyak masalah yang timbul. Masalah yang sering terjadi adalah anggota perpustakaan sering lupa mengembalikan buku pada waktu yang telah ditentukan, dikarenakan keterbatasan jam opersaional dari perpustakaan. Dengan terbatasnya jam operasioanal dari perpustakaan maka proses dari pengembalian buku menjadi terhambat karena pada saat jam operasional perpustakaan sedang tidak beroperasi ataupun petugas pengembalian buku sedang tidak ada ditempat maka proses sirkulasi pengembalian buku menjadi terhenti. Dengan terhenti jam operasional perpustakaan maka anggota perpustakaan harus menunggu dan terkadang mendapatkan denda akibat keterbatasan jam operasional dari perpustakaan dikarenakan proses pengembalian buku baru bisa dilakukan setelah jam operasional ataupun petugas berada di perpustakaan.


(33)

Untuk mengatasi masalah tersebut maka perlu dibuatkan suatu aplikasi pengembalian buku mandiri yang tidak memerlukan petugas dalam proses pengembalian buku serta anggota perpustakaan dapat menggunakan pada saat jam operasional perpustakaan sedang tidak beroperasi dan dengan memanfaatkan

teknologi yaitu image processing. Salah satu metode dari image processing adalah

segementasi

Salah satu fitur dari image segmentasi adalah dapat memisahkan gambar barcode yang di inginkan dan memisahkan dengan latar belakang dari buku secara otomatis. Dengan menggunakan image segmentasi maka sistem akan mengetahui letak barcode code 39 dari buku dan akan menerjemahkan ke dalam bentuk id koleksi dari buku peepustakaan yang dipinjam. Dengan adanya sistem pengembalian buku secara mandiri maka anggota perpustakaan tidak lagi terbatas dalam melakukan pengembalian buku di luar jam operasional dari perpustakaan, Serta proses dari pengembalian buku dapat dilakukan tanpa adanya petugas dari perpustkaan untuk melakukan pengembalian buku. Aplikasi pengembalian buku mandiri nantinya akan diletakkan pada tempat-tempat yang strategis. Dengan diletakkan aplikasi pengembalian buku mandiri di tempat yang strategis maka anggota perpustakaan tidak lagi harus masuk ke dalam perpustakaan hanya untuk mengembalikan buku pinjaman, dan dengan adanya sistem pengembalian buku mandiri dapat membantu perpustakaan dalam melakukan sirkulasi pengembalian koleksi.


(34)

3.2. Analisis Kebutuhan Sistem

Dalam perancangan sistem proses dimulai dari identifikasi informasi mengenai kebutuhan pengguna seperti informasi apa saja yang perlu disajikan kepada anggota perpustakaan dan seberapa detil informasi tersebut perlu disampaikan. Kebutuhan yang dimaksud adalah kebutuhan dari sisi sirkulasi pengembalian buku. Pada sistem yang terjadi pada perpustakaan saat ini terdapat beberapa macam cara dalam melakukan proses pengembalian yaitu dengan menggunakan media :

1. Sistem perpustakaan yang menggunakan RFID

Pada sistem perpustakaan yang menggunakan RFID saat ini terdapat beberapa kelebihan dan kelemahan pada sistem perpustakaan yang menggunakan RFID.

A. Kelebihan dari RFID adalah Untuk pengembalian buku , dengan

menggunakan RFID dapat menyimpan secara otomatis. Untuk keamanan pihak perpustakaan penggunaan RFID dapat mengetahui barang-barang yang dicuri, jadi penggunaan RFID ini sangat efisien. Dengan menggunakan RFID pihak perpustakaan dapat mengawasi jumlah koleksi

yang ada diperpustakaan secara real time sehingga sangat berguna dalam

memantau jumlah koleksi dari perpustakaan.

B. Kelemahan dari RFID adalah harga RFID mungkin masih terbilang cukup

mahal dibandingkan dengan barcode mungkin karena teknologinya yang canggih, atau pengaruh adopsi dari RFID itu sendiri kurang maksimal. Gangguan akan terjadi jika terdapat frekuensi lain yang dipancarkan oleh


(35)

peralatan lainnya yang bukan diperuntukkan untuk RFID, sehingga chip akan merespon frekuensi tersebut.

2. Sistem perpustakaan yang menggunakan barcode

Pada sistem perpustakaan yang menggunakan barcode saat ini terdapat beberapa kelebihan dan kelemahan pada sistem perpustakaan yang menggunakan barcode.

A. Kelebihan dari sistem perpustakaan yang menggunakan barcode scanner

adalah Pembacaan barcode harus spesifik sesuai dengan arah scanner, dan pada posisi tertentu. Dengan menggunakan barcode tidak membutuhkan biaya lebih untuk diaplikasikan pada sistem perpustakaan, serta Dapat menggunakan alternative peralatan seperti kamera, barcode scanner dalam membaca barcode

B.Kelemahan dari sistem perpustakaan yang menggunakan barcode adalah

Dalam proses scanning barang, harus pada jarak tertentu. Barcode terdapat pada bagian belakang buku, sehingga apabila tergores atau rusak, bisa mengganggu transaksi. Pembacaan barcode harus spesifik sesuai dengan arah scanner, dan pada posisi tertentu

Pada sistem yang akan dibangun nantinya akan menggunakan barcode sebagai media yang dibaca dan menggunakan kamera sebagai pembaca dari barcode. Dengan penggunaan kamera biaya yang dikeluarkan cukup terjangkau. Salah satu keunggulan menggunakan kamera adalah pencarian barcode pada citra cover buku akan dilakukan oleh sistem secara otomatis. Pada sistem


(36)

pengembalian buku mandiri membutuhkan perangkat keras berupa layar/ monitor sebagai display, computer, webcam, buku perpustakaan dan box tempat menaruh buku. Sistem akan menampilakan informasi yang berkaitan dengan buku yang dikembalikan seperti, id buku, judul buku, NIM/NIK, nama peminjam, tanggal peminjaman, tanggal pengembalian, serta denda apabila mengalami keterlambatan.

Dimulai dari monitor/ display yang digunakan untuk menampilkan citra dari cover buku yang digunakan dalam proses image segmentasi, serta menampilkan informasi buku yang dipinjam, informasi peminjam, informasi denda, serta perubahan status dari proses pengembalian buku. Webcam berfungsi untuk mengambil citra dari cover buku yang akan dikembalikan, sedangkan computer digunakan untuk memproses sistem segmentasi dari buku. Box berfungsi untuk meletakkan buku yang akan dikembalikan oleh anggota perpustakaan sedangkan computer berfungsi sebagai pemroses dari aplikasi pengembalian buku mandiri. Berikut ini adalah diagram cara kerja aplikasi pengembalian buku.


(37)

Berikut ini adalah cara kerja aplikasi pengembalian buku:

1. Anggota perpustakaan membawa buku perpustakaan yang akan

dikembalikan.

2. Kemudian buku yang akan dikembalikan dimasukkan kedalam box yang

telah disediakan dengan posisi barcode mengahadap keatas dan label barcode masuk terlebih dahulu

3. Setelah anggota perpustakaan memasukkan buku, maka akan terlihat

gambar dari buku yang akan ditampilkan pada monitor, kemudian akan terdeteksi barcode dari buku yang dipinjam oleh anggota perpustkaan.

4. Hasil proses segmentasi dan informasi dari buku yang akan dikembalikan,

dan informasi anggota perpustakann akan tampil pada layar monitor maka proses pengembalian telah selesai

3.3. Analisis sistem

Sistem informasi perpustakaan merupakan suatu sistem yang sangat penting di suatu perpustakaan atau organisasi karena sangat berpengaruh pada kinerja perpustakaan atau suatu organisasi itu sendiri. Berikut ini merupakan gambaran sistem yang terjadi pada saat ini untuk proses pengembalian buku pada perpustakaan. Aliran data dari proses proses pengembalian buku yang terjadi pada saat ini pada perpustakaan dapat dilihat pada gambar 3.2.


(38)

Cek Jenis Status Sirkulasi

Entry NIM/NIK Pengguna

Cek Nim /Nik Berdasarkan Data

Baca Status Akademik/ status

kerja pengguna berdasarkan data mahasiswa / data

karyawan Baca Status Skorsing Pengguna berdasarkan data perpustakaan Baca Pinjaman Kontrak yang belum selesai atau

kembali Entry Nomor Kontrak lama Baca Peminjaman Kontrak yang belum kembali

Entry Id Koleksi

Cek Id Koleksi dan JDDC koleksi berdasarkan data

koleksi perpustakaan Cek ID Koleksi berdasarkan data Koleksi yang belum kembali Menghitung Jumlah Keterlambatan, denda dan lama status skorsing Simpan Transaksi

Pengembalian / update data sirkulasi ke dalam

perpustakaan

Gambar 3.2 aliran data proses pengembalian buku pada saat ini

Gambar diatas merupakan gambaran sistem yang terjadi pada saat ini untuk proses pengembalian buku pada perpustakaan. Aliran data dari proses proses pengembalian buku pada saat ini adalah sebagai berikut :

1. Cek Jenis Status Sirkulasi digunakan untuk mengetahui jenis dari sikulasi

pengembalian buku atau bukan.

2. Entry NIM/NIK pengguna digunakan untuk mengetahui siapa petugas yang

melakukan transaksi pengembalian buku.

3. Cek NIM/ NIk berdasarkan data digunakan untuk mengetahui siapa anggota

perpustakaan yang sedang melakukan transaksi pengembalian buku

4. Baca status akademik atau status kerja pengguna berdasarkan data mahasiswa

atau data karyawan digunakan untuk mengetahui status akademik dari mahasiswa apakah berstatus aktif sebagai mahasiswa, sedangkan status kerja


(39)

digunakan untuk mengetahui karyawan atau dosen yang melakukan proses pengembalian buku

5. Baca status skorsing pengguna berdasarkan data perpustakaan dilakukan

untuk mengetahui apakah anggota perpustakaan pernah mengalami keterlambatan pengembalian buku hingga batas waktu yang telah dilakukan.

6. Baca nomor kontrak lama digunakan untuk mengetahui bahwa anggota

perpustakaan sudah melakukan berapa kali transaksi yang dilakukan di perpustkaan.

7. .Baca peminjaman kontrak yang belum kembali digunakan untuk mengetahui

apakah anggota perpustkaan meempunyai tanggungan dalam proses pengembalian buku

8. Entry id koleksi digunakan untuk memasukkan id dari buku yang di pinjam

kedalam sistem.

9. Cek id koleksi dan JDDC koleksi berdasarkan data koleksi perpustakaan

digunakan untuk mengetahui jenis buku yang dipinjam memiliki kategori tertentu atau tidak.

10. Cek id koleksi berdasarakan data koleksi yang belum kembali digunakan

untuk mengecek koleksi yang akan dikembalikan dan ditempatkan pada rak yang telah disediakan

11. Menghitung jumlah keterlambatan denda dan lama status skorsing digunakan

untuk mengetahui berapa biaya keterlambatan dan status skorsing yang diberikan oleh perpustakaan akibat terjadi keterlambatan dalam proses pengembalian buku.


(40)

12. Simpan transaksi pengembalian atau update data sirkulasi kedalam perpustakaan digunakan untuk memperbarui status buku ataupun majalah yang dipinjam bahwa buku atau majalah sudah dikembalikan kepada perpustakaan.

Berdasarkan analisis kebutuhan sistem yang dijelaskan pada butir 3.2 dan proses pelengkap berikut disajikan gambaran sistem aplikasi pengembalian buku,

berikut disajikan Block Diagram seperti ditunjukan pada gambar 3.2 untuk

menjelaskan alur proses yang terjadi dalam sistem secara umum.

Pengolahan Citra Cover buku

Verifikasi Buku Database

pinjaman

Jumlah Denda yang Harus

Dibayar

Status Pinjaman

Citra Cover Buku Kode Barcode Buku

Segementasi barcode

Pengolahan citra barcode

Gambar 3.2 Blok Diagram Sistem Pengembalian Buku

Pada tugas akhir ini sistem yang akan dibuat nantinya digunakan untuk proses pengembalian buku pada perpustakaan dengan menggunakan metode waterfall. Metode dari proses yang ada pada digram blok adalah sebagai berikut :

A. Pada proses pengolahan citra masukan citra berformat *.jpeg mempunyai 3

(tiga) chanel, yaitu red channel, green channel, dan blue channel. Namun pada citra yang diambil melalui webcam terkadang kurang halus untuk dapat mengolah dari citra barcode maka harus melalui proses konversi citra menjadi


(41)

grayscale. Grayscaling adalah proses konversi nilai pixel dari red chanel, green channel dan blue channel. Adapun konversi grayscaling adalah Gray (x,y) = (Red(x,y) +Green(x,y) + Blue (x,y)) / 3. Setelah ditemukan nilai gray pada titik pexel (x,y), maka nilai dari red channel, green channel, dan blue channel (x,y) digantikan dengan nilai gray yang telah didapat.

B. Proses Segmentasi

Dari hasil citra grayscaling maka akan digunakan pada proses segmentasi. Pada proses segmentasi dibagi menjadi 3 proses yaitu :

1. Scaning halaman.

Scaning halaman digunakan untuk mengetahui berapa jumlah tinggi pixel dan jumlah lebar pixel.

2. Histogram

Pada proses histogram ini dilakukan untuk menunjukkan frekuensi kemunculan setiap nilai gradasi warna. Bila digambarkan pada koordinat X (absis) menunjukkan tingkat warna dan sumbu Y (ordinat) menunjukkan frekuensi kemunculan.

3. Thresholding

Thresholding digunakan untuk melakukan proses pemisahan antara latar belakang dari citra dengan citra barcode yang akan diambil. Berdasarkan dari pola citra barcode code 39. Pada setiap barcode code39 pola awal yang digunakan merupakan tanda * yang digunakan untuk mengetahui posisi dari barcode.

C. Proses Pengolahan Citra Barcode


(42)

(termasuk citra) secara otomatis oleh komputer. Tujuan pengelompokkan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa mengenali objek dilihatnya karena otak manusia telah belajar mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek dengan objek lainnya. Kemampuan sistem visual manusia inilah yang dicoba ditiru oleh komputer. Komputer menerima masukan berupa citra objek yang akan diidentifikasi, memproses citra tersebut, dan memberikan keluaran berupa deskripsi objek di dalam citra.

Penegenalan pola barcode digunakan untuk menganalisa data dari barcode code 39 yang digunakan. Karena setiap pola dari barcode code 39 memiliki pola bintang pada awalan penulisan barcode maupun akhir dari penulisan id

D. Proses Verifikasi

Pada proses verifikasi buku digunakan untuk melakukan pengecekan dari id buku yang dilakukan pada perpustakaan, apakah buku yang dikembalikan adalah milik perpustkaan atau bukan. Dengan melakukan proses verifikasi maka system pada perpustkaan akan mengetahui transaksi pada proses pengembalian buku dan melakukan pencatatan pada database pengembalian buku


(43)

BAB IV

HASIL DAN PEMBAHASAN

4.1 Rancangan Sistem

Berdasarkan hasil identifikasi/pencarian permasalahan, analisis permasalahan, serta menentukan tujuan dan pengembangan sistem, akan dapat djadikan acuan dalam mengolah data yang terjadi ke dalam bentuk-bentuk informasi yang dibutuhkan oleh pengguna.

Desain sistem terdiri dari bagian-bagian sebagai berikut :

1. Flow Chart

2. Entity Relationship Diagram (ERD)

3. Struktur Database

4. Desain Interface input dan output

4.1.1. Proses Pengolahan Citra Cover Buku

Proses pengolahan citra merupakan suatu alur yang menunjukkan aliran kerja yang terdapat di dalam proses pengolahan citra. Pada proses pengolahan citra digunakan untuk menghaluskan citra dari cover buku yang sudah di capture oleh webcam. Salah satu contoh proses pengolahan citra adalah dengan melakukan grayscale pada citra. Gambaran flowchart pengolahan citra dari aplikasi pengembalian buku yang dapat dilihat pada Gambar 4.1.


(44)

Start

Capture citra buku

1 Merubah Citra Menjadi

Grayscale Buku

Gambar 4.1 proses pengolahan citra

Sistem yang akan dibuat nantinya digunakan untuk proses pengolahan citra. Alur dari proses yang ada pada flowchart pengolahan citra pada gambar 4.1 adalah sebagai berikut :

1. Masukan yang di gunakan adalah buku dari perpustakaan yang kemudian

dilakukan proses capture yang digunakan sebagai inputan dari proses segmentasi citra

2. Melakukan proses pemotretan / capture gambar


(45)

A. Flowchart Sub Proses Merubah Citra Menjadi Grayscale

Sub proses merubah citra menjadi grayscale digunakan untuk melakukan menghaluskan citra dari gambar buku dan merubah citra tersebut menjadi hitam dan putih. Gambaran flowchart sub proses merubah citra menjadi grayscale dapat dilihat pada gambar 4.2.

X = 0 Y = 0

Red = ambil nomor merah pada pixel [x],[y] Green = ambil nomor hijau pada pixel [x],[y] Blue = ambil nomor biru pada pixel [x],[y]

Grayscale = (Red + Green + Blue) / 3 Tentukan panjang image

Tentukan tinggi image

Ubah warna pada pixel [x],[y] dengan RGB (Grayscale, Grayscale, Grayscale)

[x] = [x] + 1

X > panjang ?

[y] = [y] + 1

Y > Tinggi ? Tidak YA

YA

Selesai Tidak Mulai


(46)

Sistem yang akan dibuat nantinya digunakan untuk sub proses merubah citra menjadi grayscale. Alur dari proses yang ada pada flowchart sub proses merubah citra menjadi grayscale pada gambar 4.2 adalah sebagai berikut :

1. Melakukan inisialisasi untuk x = 0 dan y = 0

2. Menentukan panjang image dan tinggi image

3. Mengambil nilai Red [x,y], Green [x,y], Blue [x,y] pada image

4. Melakukan konversi gambar menjadi grayscale dengan

menggunakan rumus grayscale = (Red [x,y] + Green [x,y] + Blue [x,y] ) / 3

5. Melakukan perubahan warna pada pixel [x,y] dengan RGB

(grayscale, grayscale, grayscale)

6. Setelah melakukan perubahan nilai [x] maka nilai [x]=[x+1]

7. Setelah melakukan proses memasukkan gambar akan dilakukan

pengecekan apakah [x] > panjang?, jika ya maka akan melakukan mengambil nilai Red, Green, Blue (proses 2), jika tidak maka akan dilanjutkan ke perulangan berikutnya yaitu pengecekan y

8. Setelah melakukan perubahan nilai [y] maka nilai [y]=[y+1]

9. Setelah melakukan proses memasukkan gambar akan dilakukan

pengecekan apakah [y] > tinggi?, jika ya maka akan melakukan mengambil nilai Red, Green, Blue (proses 2), jika tidak maka akan dilanjutkan ke proses segmentasi


(47)

4.1.2. Segmentasi Barcode

Proses segmentasi barcode merupakan suatu alur yang menunjukkan aliran kerja yang terdapat di dalam segmentasi barcode. Segemntasi barcode merupakan proses membagi suatu citra menjadi beberapa bagian agar dapat menemukan citra dari barcode. Gambaran flowchart segmentasi barcode dari aplikasi pengembalian buku yang dapat dilihat pada Gambar 4.3.

Histogram

Thresholding 1

Gambar Barcode

2 Scan halaman

Gambar 4.3 Flowchart segmentasi citra

Sistem yang akan dibuat nantinya digunakan untuk proses segmentasi citra. Alur dari proses yang ada pada flowchart proses segmentasi citra pada gambar 4.3 adalah sebagai berikut :

1. Masukan yang digunakan adalah hasil dari proses pengolahan citra

2. Kemudian dilakukan proses scaning halaman yang akan di

tunjukkan lebih detil pada gambar 4.4

3. Setelah melakukan proses scaning halaman maka akan di lanjutkan


(48)

melakukan proses threshold, yang akan ditunjukkan pada gambar 4.5

4. Hasil dari proses histogram akan digunakan untuk melakukan

proses thresholding, setelah melakukan thresholding maka akan ditampilkan hasil gambar dari barcode. Untuk lebih detil dapat dilihat pada gambar 4.6

A. Flowchart Sub Scaning Halaman

Proses scaning halaman digunakan untuk mengetahui jumlah kesuluruhan dari pixel suatu citra/gambar yang telah diambil oleh webcam. Gambaran flowchart segmentasi barcode dari aplikasi pengembalian buku yang dapat dilihat pada Gambar 4.4.

Atur Tinggi = tinggi gambar hasil

Capture

Atur Lebar = lebar gambar hasil

Capture

For I = 0 sampai Tinggi - 1

Atur y1 = I * Tinggi \ Prosentase

Atur y2 = (I +1) * Tinggi \ Prosentase

Apakah I <= tinggi ?

T

Y

Selesai Mulai


(49)

Sistem yang akan dibuat nantinya digunakan untuk proses segmentasi citra. Alur dari proses yang ada pada flowchart sub proses scaning halaman pada gambar 4.4 adalah sebagai berikut :

1. Atur tinggi = tinggi gambar hasil capture

2. Atur lebar = lembar gambar hasil capture

3. Melakukan perulangan untuk i = 0 sampai tinggi -1

4. Atur y1 = nilai perulangan * tinggi \ persentase

5. Atur y2 = (nilai perulangan +1) * tinggi \ persentase

6. Apakah I <= tinggi, jika ya maka akan dilakukan perulangan pada

(proses 4), jika tidak maka akan dilanjutkan untuk melakukan proses histogram.

B. Flowchart Sub Proses Histogram

Proses histogram digunakan untuk menunjukkan frekuensi kemunculan setiap nilai gradasi warna pada citra yang telah diambil oleh webcam. Gambaran flowchart histogram dari aplikasi pengembalian buku yang dapat dilihat pada Gambar 4.5


(50)

Atur Pixel Format pixel 1bit (gray

scale), format pixel 32bit (ARGB ) format pixel 32bit (RGB) jika tidak atur menjadi 24

bit (RGB)

Mengunci bitmap ke memory sistem

x = 0 , y = y1, lebar = Lebar Capture,

Tinggi = y2 - y1

xMax = lebar Capture yMax = Tinggi Lock

Hasil Histogram > lebar capture +1

For i As Integer = 1 To xMax

hasil hist(i) = vertSum(i - 1) \ iDivider

Hasil hist(i) > nilai max maka Nilai max = hasil hist(i)

hasil hist(i) < nilai min maka Nilai min = hasil hist(i)

I = I + 1

Hasil hist(0) = nilai max

Hasil hist(max+1) = nilai max

I ≤ xmax ?

Y T

Brightness Mulai

Selesai nilai min Byte = 255

Nilai max Byte = 0

Gambar 4.5 Flowchart proses histogram

Sistem yang akan dibuat nantinya digunakan untuk proses segmentasi citra. Alur dari proses yang ada pada flowchart proses histogram pada gambar 4.5 adalah sebagai berikut :

1. Atur pixel , format pixel 1bit (grayscale), format pixel 32bit (ARGB),

format pixel 32bit (RGB) , jika tidak maka akan diset menjadi 24 bit (RGB).

2. Setelah melakukan pengaturan pixel maka akan dilakukan proses

mengunci gambar ke memory sistem x=0, y = y1 , lebar capture = lebar capture, tinggi = y2-y1

3. Setelah melakukan penguncian ke memory maka akan diset xmax =


(51)

4. Hasil histogram (dalam byte) -> lebar capture akan + 1

5. Melakukan sub proses brightness

6. Melakukan perhitungan iDivider = iDivider * (Jika pf =

PixelFormat.24 bit (RGB), maka = 3, jika tidak = 4)

7. Nilai max (byte) = 0

8. Nilai Min (byte) = 255

9. Melakukan perulangan I = 1 sampai xMax

10. Melakukan perhitungan : hasil hist(i) = vertsum (I -1)\iDivider

11.Hasil hist (i) > nilai max maka Nilai max = hasil hist(i)

12.Jika hasil hist(i) < nilai min maka nilai min = hasil hist(i)

13.I = I + 1

14. Apakah I <= xMax jika ya maka akan melakukan perulangan i= 1

sampai xMax (proses 27) jika tidak maka akan dilanjutkan ke proses selanjutnya

15.Hasil hist(0) = nilai max

16.Hasil hist(max+1) = nilai max

B.1. Flowchart Sub Proses Brightness

Proses Brightness digunakan untuk mengetahui tingkat pencahayaan dari gambar yang telah diambil oleh webcam. Gambaran flowchart Brightness dari aplikasi pengembalian buku yang dapat dilihat pada Gambar 4.6


(52)

I = ambil brightness pada pixel [x],[y]

Kecerahan = I + 2

Ubah brighness pada pixel [x],[y] dengan kecerahan

X = lebar image Y = tinggi image

[x] = [x] + 1

X > panjang ?

[y] = [y] + 1

Y > Tinggi ?

Selesai Mulai

ya

tidak

tidak ya

Gambar 4.6 Flowchart sub proses brightness

Sistem yang akan dibuat nantinya digunakan untuk sub proses histogram. Alur dari proses yang ada pada flowchart sub proses brightness pada gambar 4.6 adalah sebagai berikut:

1. Melakukan inisialisasi untuk x = lebar image dan y = tinggi image

2. Menentukan panjang image dan tinggi image

3. Mengambil nilai brightness pada image


(53)

5. Melakukan perubahan brightness pada pixel [x,y]

6. Setelah melakukan perubahan nilai [x] maka nilai [x]=[x+1]

7. Setelah melakukan proses memasukkan gambar akan dilakukan

pengecekan apakah [x] > panjang?, jika ya maka akan melakukan mengambil nilai brighness (proses 2), jika tidak maka akan dilanjutkan ke perulangan berikutnya yaitu pengecekan y

8. Setelah melakukan perubahan nilai [y] maka nilai [y]=[y+1]

9. Setelah melakukan proses memasukkan gambar akan dilakukan

pengecekan apakah [y] > tinggi?, jika ya maka akan melakukan mengambil nilai brightness (proses 2), jika tidak maka akan selesai

C. Flowchart Sub Proses Thresholding

Proses Thresholding digunakan untuk memisahkan objek dari gambar yang akan digunakan (barcode) dengan citra cover buku. Gambaran flowchart thresholding dari aplikasi pengembalian buku yang dapat dilihat pada Gambar 4.7


(54)

T= (fmax +fmin) / 2

Ubah warna pada pixel [x],[y] dengan nilai T

X = lebar image Y = tinggi image

[x] = [x] + 1

X > panjang ?

[y] = [y] + 1

Y > Tinggi ?

Selesai Mulai

ya

tidak

tidak ya

fmax = nilai tertinggi pada pixel fmin = nilai terendah pada pixel

Gambar 4.7 Flowchart proses thresholding

Sistem yang akan dibuat nantinya digunakan untuk proses segmentasi citra. Alur dari proses yang ada pada flowchart proses thresholding pada gambar 4.7 adalah sebagai berikut :

1. Melakukan inisialisasi untuk x = lebar image dan y = tinggi image

2. Menentukan nilai fmax (nilai tertinggi pada pixel) dan fmin (nilai

terendah pada pixel)

3. Menentukan panjang image dan tinggi image

4. Mengambil nilai brightness pada image

5. Melakukan penambahan brightness asli ditambah 2


(55)

7. Setelah melakukan perubahan nilai [x] maka nilai [x]=[x+1]

8. Setelah melakukan proses memasukkan gambar akan dilakukan

pengecekan apakah [x] > panjang?, jika ya maka akan melakukan mengambil nilai histogram (proses 2), jika tidak maka akan dilanjutkan ke perulangan berikutnya yaitu pengecekan y

9. Setelah melakukan perubahan nilai [y] maka nilai [y]=[y+1]

10.Setelah melakukan proses memasukkan gambar akan dilakukan

pengecekan apakah [y] > tinggi?, jika ya maka akan melakukan mengambil nilai histogram (proses 2), jika tidak maka akan selesai

4.1.3. Pengolahan Citra Barcode

Proses pengolahan citra barcode digunakan untuk membaca citra setiap kode dari bar barcode dan dirubah menjadi character. Gambaran flowchart pengolahan citra barcode dari aplikasi pengembalian buku yang dapat dilihat pada Gambar 4.8

Tabel pola code 39 Cek Ke tabel

For I as integer =

1

I = I +1

I <= panjang hist ?

Y

Id barcode T

3 2

fcomp bar sempit = hist lebar bar sempit putih / hist

lebar bar sempit gelap

fcomp bar lebar = hist lebar bar lebar putih / hist lebar

bar lebar gelap


(56)

Sistem yang akan dibuat nantinya digunakan untuk proses pengolahan citra barcode. Alur dari proses yang ada pada flowchart proses pengolahan citra barcode pada gambar 4.8 adalah sebagai berikut :

1. fcomp bar sempit = hist lebar bar sempit putih / hist lebar bar sempit

gelap

2. fcomp bar lebar = hist lebar bar lebar putih / hist lebar bar lebar gelap

3. inisialisasi : for I = 1

4. Melakukan pengecekan ke table pola code 39

5. I = I +1

6. Jika I <= panjang histogram ?, jika yam aka akan melakukan

perulangan for I = 1 (proses no. 3) , jika tidak maka menjadi id barcode sebagai inputan

4.1.4. Verifikasi Buku

Sistem yang akan dibuat nantinya digunakan untuk sistem pengembalian buku. Alur dari proses yang ada pada flowchart proses pengembalian buku pada gambar 4.9 adalah sebagai berikut :


(57)

Selesai Pengembalian terlambat Data Pengembalian Ya Tidak Melakukan Pengecekan buku pinjaman Perhitungan denda Pencatatan pengembalian

Mencari id dan nama Anggota

Pinjaman Buku ada ?

Ya Tidak

Buku Tidak Ada dan id buku

Buku dikembalikan Data Pengembalian Ya Tidak 3

Gambar 4.9 Flowchart Pengembalian Buku

Sistem yang akan dibuat nantinya digunakan untuk proses pengembalian buku. Alur dari proses yang ada pada flowchart pengembalian buku pada gambar 4.9 adalah sebagai berikut :

1. Masukan yang digunakan adalah berupa id barcode yang sudah didapatkan

pada flowchart membaca barcode, kemudian akan dilakukan proses pengecekan buku pinjaman.

2. Pada proses pengecekan buku pinjaman akan dicek apakah buku pinjaman

terdapat pada database pinjaman.

3. Setelah melakukan proses pengecekan buku pinjaman akan di ketahui apakah

buku terdapat pada database peminjaman atau tidak, jika tidak ada maka akan diberikan informasi bahwa buku tidak ada di database peminjaman. Dan jika benar bahwa id barcode ada di dalam database peminjaman maka akan dilakukan proses mencari anggota.


(58)

4. Pada proses mencari id dan nama anggota akan diketahui siapa nama peminjam dari buku yang dikembalikan serta id anggota

5. Setelah diketahui nama anggota dan buku pinjaman akan dilakukan

pengecekan denda apabila terjadi keterlambatan dalam pengembalian buku akan dilakukan proses perhitungan denda dari keterlambatan dan jika tidak terjadi keterlambatan dilakukan proses menampilkan informasi anggota serta buku yang dipinjam.

6. Setelah proses menampilkan informasi akan dilakukan pengecekan apakah

buku akan dikembalikan. Jika ya maka akan dilakukan proses pencatatan buku pinjaman ke dalam database pengembalian buku dan jika tidak jadi mengembalikan buku maka proses selesai

7. Proses pencatatan buku dilakukan untuk mengupdate database pinjaman dan

mengisi database pengembalian buku.

4.1.5. Entity Relationship Diagram (ERD)

Entity Relationship Diagram (ERD) digunakan untuk menggambarkan

pemrosesan dan hubungan data-data yang digunakan dalam sistem. ERD juga menunjukkan struktur keseluruhan kebutuhan data. Dalam ERD, data tersebut digambarkan dengan menggunakan simbol entitas.

Dalam perancangan sistem ini terdapat beberapa entitas yang saling terkait untuk menyediakan data yang dibutuhkan oleh sistem yang disajikan dalam

bentuk conceptual data model (CDM) dan physical data model (PDM). Untuk

membuat ERD digunakan perangkat lunak PowerDesigner Data Architect. ERD


(59)

I d_peminjaman

I d_buku I d_Anggot a PEMINJAMAN ID_PEMINJ AMAN TANGGAL_PEMINJAMAN BUKU ID_BUKU JUDUL_BUKU PENGARANG PENERBIT ANGGOTA ID_ANGGOTA NAMA ALAMAT TELEPON PENGEMBALIAN ID_PENGEMBALIAN TANGGAL_PENGEMBALIAN DENDA

Gambar 4.10 CDM Pengembalian Buku

Setelah perancangan CDM selesai dilakukan dan telah dilakukan pendefenisian atribut dan data pada pada masing-masing kolom. Maka rancangan

CDM (Conceptual Data Model) dapat di-generate dan akan menghasilkan PDM

(Physical Data Model). Dengan adanya PDM ini, maka akan dapat dilihat dengan

jelas relasi yang terjadi pada tabel-tabel yang ada. PDM ini adalah gambaran umum struktur database dari aplikasi pengembalian buku yang dapat dilihat pada Gambar 4.11.

I D_ANGG O TA = I D_ANGG O TA

I D_BUKU = I D_BUKU I D_PENG EMBALI AN = I D_PENG EMBALI AN

PEMINJ AMAN ID_PEMINJAMAN integer ID_PENGEMBALIAN integer ID_BUKU varchar(10) TANGGAL_PEMINJAMAN date ID_ANGGOTA varchar(11) BUKU ID_BUKU varchar(10) JUDUL_BUKU varchar(100) PENGARANG varchar(100) PENERBIT varchar(50) ANGGOTA NAMA varchar(100) ALAMAT varchar(100) TELEPON integer ID_ANGGOTA varchar(11) PENGEMBALIAN ID_PENGEMBALIAN integer TANGGAL_PENGEMBALIAN date DENDA integer

Gambar 4.11 PDM Pengembalian Buku

CDM dan PDM aplikasi pengembalian buku mandiri di atas memiliki 4 buah tabel dan kegunaannya masing-masing, yang akan dijelaskan pada sub bab


(60)

struktur basis data di bawah berikut dengan primary key, foreign key, dan tipe datanya.

4.1.6. Struktur Database

Struktur table yang digunakan pada sistem ini adalah :

A. Nama Tabel : Buku

Primary key : id_buku Foreign key : -

Fungsi : Untuk menyimpan data buku. Struktur dari tabel rekam

medis dapat di lihat pada tabel 4.1.

Tabel 4.1 Tabel Buku

Field Tipe Ukuran Constraint Referensi

ID_buku Varchar 10 PK

Judul_Buku Varchar 100

Pengarang Varchar 100

Penerbit Varchar 50

B. Nama Tabel : Pengembalian

Primary key : id_Pengembalian Foreign key : -

Fungsi : Untuk menyimpan data pengembalian buku dari anggota

perpustakaan. Struktur dari tabel rekam medis dapat di lihat pada tabel 4.2.

Tabel 4.2 Tabel Pengembalian

Field Tipe Ukuran Constraint Referensi

Id_pengembalian integer PK

Tanggal_pengembalian date


(61)

C. Nama Tabel : Anggota Primary key : id_Anggota Foreign key : -

Fungsi : Untuk menyimpan data anggota perpustakaan. Struktur

dari tabel rekam medis dapat di lihat pada tabel 4.3. Tabel 4.3 Tabel Anggota

Field Tipe Ukuran Constraint Referensi

Id_anggota Varchar 11 PK

Nama Varchar 100

Alamat Varchar 100

Telepon integer

D. Nama Tabel :Peminjaman

Primary key : id_Peminjaman

Foreign key : id_pengembalian Id_buku

Id_anggota

Fungsi : Untuk menyimpan data Peminjaman buku. Struktur dari tabel rekam medis dapat di lihat pada tabel 4.4.

Tabel 4.4 Tabel Peminjaman

Field Tipe Ukuran Constraint Referensi

Id_peminjaman Integer PK

Id_pengembalian Integer FK

Id_buku Varchar 10 FK

Id_anggota Varchar 11 FK


(62)

4.1.7. Desain Interface

Desain interface / output dapat dibuat sebelum membuat interface yang

sesungguhnya. Desain ini dapat digunakan sebagai pembuatan interface program

yang sesuai dengan kebutuhan user. Apabila desain ini sudah cukup user friendly

dengan user maka selanjutnya dapat dibuat programnya sehingga apabila program

digunakan oleh user, user akan menemukan kemudahan dalam menggunakan

program ini. Namun apabila desain yang dibuat kurang diminati oleh user maka

desain dapat diubah sebelum bertindak pada pembuatan program.

A. Desain Interface Form Pengembalian Buku

Desain interface form pengembalian buku merupakan halaman utama

dari aplikasi. Perancangan tampilan untuk form pengembalian buku dapat dilihat pada gambar 4.12.

Gambar Buku Informasi Buku

Informasi Anggota

Informasi Denda Informasi Peminjaman Keterangan

Informasi Buku Belum Kembali

Id Anggota Id buku

Judul Buku Pengarang Nama

Denda Tanggal Peminjaman

Tanggal Harus Kembali Keterlambatan

Total Denda Tanggal Pengembalian


(63)

Pada form pengembalian buku, para anggota dapat memasukan citra dari cover buku dengan menaruh buku di dalam box yang telah disediakan, kemudian akan menampilkan gambar dari citra cover buku. Setelah anggota perpustakaan menekan tombol mulai maka akan menampikan informasi tentang buku yang dipinjam oleh anggota perpustakaan dan menapilkan hasil dari proses segmentasi gambar dari citra barcode pada buku yang dipinjam. Hasil dari proses segmentasi dapat dilihat pada gambar di bawah ini.

Gambar Buku Informasi Buku

Informasi Anggota

Informasi Denda Informasi Peminjaman Keterangan

Informasi Buku Belum Kembali

07410100047 1-22222

Pengolahan Citra Digital

Darma Putra Andy Ardianto

200 15 Januari 2014

22 Januari 2014 2 Hari

Total Denda anda saat ini 1000 24 Januari 2014

Buku Telah Kembali

Gambar 4.13 Desain interface form pengembalian buku

4.2 Implementasi Sistem

Sebelum mengimplementasikan dan menjalankan aplikasi pengembalian buku dibutuhkan perangkat keras dan perangkat lunak dengan kondisi tertentu


(64)

agar dapat berjalan dengan baik adapun kebutuhan perangkat keras dan lunak adalah sebagai berikut.

4.2.1. Kebutuhan Sistem

A. Kebutuhan Perangkat Keras

Sistem yang akan dibuat ini akan diciptakan pada sebuah aplikasi desktop , kebutuhan minimal perangkat keras yang harus dipenuhi agar sistem dapat berjalan dengan baik dan lancar adalah sebagai berikut :

1. Processor Intel Core i5.

2. Memory 2 GB

3. Hardisk 40 GB atau lebih

4. Webcam dengan autofocus

5. Box sebagai tempat meletakkan buku

6. Lampu sebagai penerangan dalam box

7. Dimer lampu untuk mengatur tingkat pencahayaan lampu

B. Kebutuhan Perangkat Lunak

Kebutuhan perangkat lunak yang harus ada agar dapat berjalan dengan baik sebagai berikut :

1. Microsoft Windows XP, vista, 7 (Seven)

2. Microsoft SQL Server 2008

3. Microsoft Visual Studio 2008

4. Driver webcam


(65)

4.2.2. Pembuatan Rekayasa Perangkat Lunak

Pengertian rekayasa perangkat lunak sendiri adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan. Dari pengertian ini jelaslah bahwa rekayasa perangkat lunak tidak hanya berhubungan dengan cara pembuatan program komputer. Pernyataan ”semua aspek produksi” pada pengertian di atas, mempunyai arti semnua hal yang berhubungan dengan proses produksi seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan bagian dari rekayasa perangkat lunak dengan menggunakan metode waterfall.

4.2.3. Analisis Kebutuhan

Tahapan selanjutnya kami menguraikan tentang spesifikasi kebutuhan

(requirement). Spesifikasi kebutuhan (requirement) adalah atribut yang

diperlukan dalam aplikasi, sebuah pernyataan yang mengidentifikasi capability

characteristic, atau quality factor dari sebuah sistem dengan tujuan untuk

mendapatkan nilai dan utilitas pada pelanggan atau pengguna. Dan berlanjut lagi ke tahap design (perancangan) berbasis visual basic.net

Dalam membangun aplikasi pengembalian buku mandiri, diperlukan batasan yang jelas sebagai tujuan utama agar tidak keluar dari rencanan yang sudah ditetapkan. Beberapa kebutuhan sistem yang akan didefinisikan antara lain:


(66)

1. Memiliki kemampuan untuk mengidentifikasi barcode image citra cover buku dengan metode image segmentasi

2. Memiliki kemampuan untuk memverifikasi buku pinjaman di

perpustakaan

A. User Requirement

User requirement adalah Pernyataan tentang layanan yang disediakan aplikasi

dan tentang batasan-batasan operasionalnya. User atau pengguna dalam aplikasi komputer merupakan salah satu komponen yang tidak terpisahkan. Dengan perangkat komputer yang optimal disertai pengetahuan pengguna terhadap pengoperasian perangkat lunak akan mampu membantu menyelesaikan semua pekerjaan pengguna dengan efektif dan optimal.

Disini penulis hanya membuat aplikasi pengembalian buku dan merancang sebuah perangkat lunak yang sesuai kebutuhan dan yang sesuai dengan fungsi dan kebutuhan pengguna berdasarkan prosedur yang telah dirancang.

B. Spesifikasi Pengguna

Aplikasi pengembalian buku ini ditunjukkan untuk semua anggota perpustakaan dalam melakukan sirkulasi pengembalian buku mandiri.

C. Alat Pembangunnya

Dalam pengembangan aplikasi, yang digunakan untuk menyusun tugas akhir terbagi menjadi dua, yaitu :

1. Perangkat keras (hardware)

Di sini penulis menggunakan laptop Acer seri Aspire 4745G dengan spesifikasi sebagai berikut:


(67)

b. Memory: 2GB of DDR3 RAM

c. Harddisk: Hitachi 500Gb

d. Video Card dan VGA : Ati Radeon 5650 dan VGA 14’

e. Webcam Logitech

f. Box pengembalian buku

g. Lampu Philips 25 watt

h. Light dimer (untuk mengatur intensitas cahaya)

2. Perangkat lunak (software)

a. Visual studio 2008

Digunakan untuk menuliskan dan mengedit source code dan menjalankan aplikasi yang telah dibuat .

b. Sql server 2008

Sql server 2008 merupakan DBMS (Database Management System) yang

powerfull untuk mengolah data. Di samping itu SQL Server 2008 ini memiliki user interface yang mudah digunakan, SQL Server 2008 juga memiliki fitur tambahan yang bisa diimplementasikan untuk meningkatkan performa dan mengurangi tempat penyimpanan data

c. Driver webcam

Digunakan untuk membaca webcam dan menjalankan fungsi autofocus dari webcam yang digunakan

4.2.4. Desain Sistem

Pada proses pembuatan aplikasi pengembalian buku mandiri ini. Tahap pertama adalah membuat rancangan dari aplikasi yang akan dibuat. Proses


(68)

perancangan ini meliputi pembuatan struktur aliran data serta pembuatan rancangan tampilan aplikasi. Sebelum dijelaskan mengenai konsep kerja aplikasi.

Akusisi citra Segmentasi Barcode code

Gambar 4.14 Diagram perangkat lunak segmentasi citra barcode

A. Proses akusisi citra

Pada proses ini dilakukan pengambilan citra cover buku oleh webcam.

B. Proses segmentasi

Proses segmentasi barcode merupakan suatu alur yang menunjukkan aliran kerja yang terdapat di dalam segmentasi barcode. Segmentasi barcode merupakan proses membagi suatu citra menjadi beberapa bagian agar dapat menemukan citra dari barcode. Gambaran diagram segmentasi barcode dari aplikasi pengembalian buku yang dapat dilihat pada gambar 4.15

Citra Buku Grayscale Histogram

Enhancement Threshold

Citra Barcode

Gambar 4.15 Diagram proses segmentasi

1. Grayscale

Pada proses merubah citra menjadi grayscale masukan citra berformat .jpeg mempunyai 3 (tiga) chanel, yaitu red channel, green channel, dan blue channel. Namun pada citra yang diambil melalui webcam terkadang kurang halus untuk dapat mengolah dari citra barcode maka harus melalui proses konversi citra


(69)

menjadi grayscale. Grayscaling adalah proses konversi nilai pixel dari red chanel, green channel dan blue channel. Adapun konversi grayscaling adalah Gray (x,y) = (Red(x,y) +Green(x,y) + Blue (x,y)) / 3.

Setelah ditemukan nilai gray pada titik pexel (x,y), maka nilai dari red channel, green channel, dan blue channel (x,y) digantikan dengan nilai gray yang telah didapat. Pada konversi grayscale dapat dilihat pada gambar 4.16 sedangkan flowchart proses grayscale dapat dilihat pada gambar 4.17


(70)

X = 0 Y = 0

Red = ambil nomor merah pada pixel [x],[y] Green = ambil nomor hijau pada pixel [x],[y] Blue = ambil nomor biru pada pixel [x],[y]

Grayscale = (Red + Green + Blue) / 3 Tentukan panjang image

Tentukan tinggi image

Ubah warna pada pixel [x],[y] dengan RGB (Grayscale, Grayscale, Grayscale)

[x] = [x] + 1

X > panjang ?

[y] = [y] + 1

Y > Tinggi ? Tidak YA

YA

Selesai Tidak Mulai

Gambar 4.17 flowchart grayscale

2. Histogram

Pada proses histogram ini dilakukan untuk menunjukkan frekuensi kemunculan setiap nilai gradasi warna. Bila digambarkan pada koordinat X (absis) menunjukkan tingkat warna dan sumbu Y (ordinat) menunjukkan frekuensi kemunculan. Flowchart proses histogram dapat dilihat pada gambar 4.18


(71)

Atur Pixel Format pixel 1bit (gray

scale), format pixel 32bit (ARGB ) format pixel 32bit (RGB) jika tidak atur menjadi 24

bit (RGB)

Mengunci bitmap ke memory sistem

x = 0 , y = y1, lebar = Lebar Capture,

Tinggi = y2 - y1

xMax = lebar Capture yMax = Tinggi Lock

Hasil Histogram > lebar capture +1

For i As Integer = 1 To xMax

hasil hist(i) = vertSum(i - 1) \ iDivider

Hasil hist(i) > nilai max maka Nilai max = hasil hist(i)

hasil hist(i) < nilai min maka Nilai min = hasil hist(i)

I = I + 1

Hasil hist(0) = nilai max

Hasil hist(max+1) = nilai max

I ≤ xmax ?

Y T

Brightness Mulai

Selesai nilai min Byte = 255

Nilai max Byte = 0

Gambar 4.18 flowchart proses histogram

3. Enhancement

Enhancement atau pengaturan kecerahan yang akan

dikemukakan di sini adalah proses pengolahan citra yang menggunakan teknik pemetaan tingkat keabuan melalui pemodelan histogram, yang bertujuan untuk meningkatkan mutu suatu citra melalui perbaikan kecerahan. Jenis pengaturan yang pertama menggambarkan perbaikan kecerahan dengan teknik ekualisasi histogram (histogram equalization)


(72)

I = ambil brightness pada pixel [x],[y]

Kecerahan = I + 2

Ubah brighness pada pixel [x],[y] dengan kecerahan

X = lebar image Y = tinggi image

[x] = [x] + 1

X > panjang ?

[y] = [y] + 1

Y > Tinggi ?

Selesai Mulai

ya

tidak

tidak ya

Gambar 4.19 flowchart proses enhancement

4. Threshold

Threshold digunakan untuk melakukan proses pemisahan antara latar belakang dari citra dengan citra barcode yang akan diambil. Berdasarkan dari pola citra barcode code 39. Pada setiap barcode code39 pola awal yang digunakan merupakan pola * yang digunakan untuk mengetahui posisi dari barcode. Pada proses thresholding dapat dilihat pada gambar 4.20

*


(73)

Gambar 4.21 Proses Thresholding

T= (fmax +fmin) / 2 Ubah warna pada pixel [x],[y] dengan

nilai T X = lebar image Y = tinggi image

[x] = [x] + 1

X > panjang ?

[y] = [y] + 1

Y > Tinggi ?

Selesai Mulai

ya

tidak

tidak ya

fmax = nilai tertinggi pada pixel fmin = nilai terendah pada pixel

Gambar 4.22 Flowchart Proses Thresholding

C. Barcode code

Pada proses ini dilakukan untuk merubah citra barcode pada cover buku menjadi id buku yang akan digunakan untuk melakukan proses verifikasi pada buku yang akan dikembalikan. Berikut merupakan flowchart konversi barcode.


(74)

Start

Apakah Code39 ?

Konversi Barcode End

Y

T Citra

barcode

Gambar 4.23 Flowchart Proses Pengecekan Barcode

Tabel pola code 39 Cek Ke tabel

For I as integer =

1

I = I +1

I <= panjang hist ?

Y

Id barcode T

3 2

fcomp bar sempit = hist lebar bar sempit putih / hist

lebar bar sempit gelap

fcomp bar lebar = hist lebar bar lebar putih / hist lebar

bar lebar gelap


(75)

Gambar 4.25 Source code pola barcode code39

D. Proses Pengembalian Buku

Pada proses pengembalian buku digunakan untuk melakukan proses pengecekan dari id barcode buku, yang akan dicari pada basisdata peminjaman.

4.3 Evaluasi Sistem

Tahapan evaluasi sistem terbagi menjadi dua yaitu Evaluasi hasil uji coba sistem dan Analisa hasil uji coba sistem. Evaluasi hasil uji coba dilakukan untuk menguji kembali semua tahapan yang sudah dilakukan selama pengujian berlangsung dan analisa hasil uji coba sistem bertujuan untuk menarik kesimpulan terhadap hasil-hasil uji coba yang dilakukan terhadap sistem. Uji coba dilakukan dalam tahapan beberapa test case yang telah disiapkan sebelumnya.


(1)

73

gerakan yang dilakukan yaitu 7, hasil nilai MSE pada intensitas cahaya yaitu 376 / 7 = 53,714

4.3.5.Hasil Uji Coba Form Pengembalian Buku dengan Gerakan Memasukan Buku

Pada uji coba kali ini akan dicoba untuk memasukkan buku dalam box pengembalian buku dengan berbagai gerakan dalam memasukkan buku pada box. Pada tabel 4.10 merupakan proses yang bertujuan untuk mengetahui dan menentukan keberhasilan dari gerakan memasukan buku dalam box pengembalian buku.

Tabel 4.10 Uji Coba Gerakan Memasukkan Buku

No Test Case Gerakan

Buku Diam Gerakan Beraturan Tidak Beraturan 1 Buku 1 467 pixel 467 pixel 467 pixel 2 Buku 2 449 pixel 359 pixel 312 pixel 3 Buku 3 472 pixel 472 pixel 390 pixel 4 Buku 4 442 pixel 378 pixel 372 pixel 5 Buku 5 465 pixel 465 pixel 355 pixel 6 Buku 6 480 pixel 480 pixel 480 pixel 7 Buku 7 461 pixel 461 pixel 377 pixel 8 Buku 8 459 pixel 459 pixel 361 pixel 9 Buku 9 470 pixel 470 pixel 471 pixel 10 Buku 10 459 pixel 459 pixel 459 pixel

Berdasarkan tabel 4.10 diatas menunjukkan nilai panjang histogram dari buku yang diakusisi oleh webcam. Pada gerakan buku diam jumlah buku yang dibaca oleh sistem adalah 10 buku dengan nilai panjang histogram mulai dari 442 pixel sampai dengan 480 pixel. Sedangkan pada gerakan buku beraturan jumlah buku yang dapat dibaca oleh sistem berjumlah 8 buku dengan nilai


(2)

panjang histogram mulai dari 459 sampai dengan 480, dan pada gerakan memasukan buku dengan tidak teratur jumlah buku yang dapat dibaca berjumlah 4 dengan nilai panjang histogram mulai dari 459 sampai dengan 480. Dari hasil tabel 4.10 diperlukan metode untuk mengevaluasi hasil dengan menggunakan MSE (mean square eror) yang dapat dilihat pada tabel 4.11

Tabel 4.11 Hasil MSE dari Gerakan Memasukkan Buku No Gerakan Yt Ŷt et |et| et2

1 Diam 10 10 0 0 0

2 Beraturan 8 10 -2 2 4 3 Tidak

beraturan 4 10 -6 6 36

Total -8 8 40

Nilai MSE 40 / 3 = 13,333

Berdasarkan tabel 4.11 menunjukkan nilai aktual pada periode pengembalian buku adalah Yt dengan nilai pada buku diam 10, pada buku beraturan dengan nilai 8 dan nilai pada buku pada gerakan buku tidak beraturan dengan nilai 4 sedangkan pada nilai ramalan untuk gerakan pengembalian buku adalah Ŷt dengan nilai yang diharapkan berjumlah 10 buku.

Pada tabel 4.11 et adalah eror ramalan yang terjadi pada buku diam adalah 0, sedangkan pada gerakan memasukkan buku beraturan dengan nilai -2 , dan pada gerakan memasukkan buku tidak beraturan bernilai -6. Sedangkan untuk menghasilkan nilai MSE (mean square eror) dihasilkan berdasarkan nilai et yang telah dikuadratkan dan semua nilai et2 dijumlahkan. Hasil dari jumlah nilai et2 dibagi dengan jumlah gerakan yang dilakukan yaitu 3, hasil nilai MSE pada gerakan memasukkan buku yaitu 40/3 = 13,333


(3)

75

4.4Analisis Kemampuan Program

Kemampuan dari sistem yang dibangun antara lain adalah sebagai berikut:

1. Penerapan sistem pengembalian buku mandiri menggunakan segmentasi citra cover buku posisi barcode yang dapat menerima / membaca barcode dengan nilai MSE (mean squre eror) 54,5

2. Penerapan sistem pengembalian buku mandiri menggunakan segmentasi citra cover buku dengan nilai intensitas cahaya yang dapat membaca posisi barcode dengan nilai MSE (mean squre eror) 53,714

3. Penerapan sistem pengembalian buku mandiri menggunakan segmentasi citra cover buku dengan cara memasukkan buku yang dapat membaca / menerima posisi barcode dengan nilai MSE (mean squre eror) 13,333


(4)

BAB V PENUTUP

5.1 Kesimpulan

Kesimpulan yang dapat diambil dari hasil implementasi dan Evaluasi pada bab sebelumnya adalah sebagai berikut:

1. Aplikasi pengembalian buku mandiri dapat membaca barcode pada citra cover buku dengan intensitas cahaya ≥ 120, tidak bisa membaca posisi barcode apabila keadaan barcode miring dan label barcode terlalu kecil. 2. Aplikasi pengembalian buku mandiri ini hanya bisa membaca kode barcode

tipe 39

3. Aplikasi pengembalian buku mandiri dapat memverifikasi buku yang akan dikembalikan oleh anggota perpustakaan dengan membaca citra cover buku yang telah diberi label barcode dan mencocokan dengan database peminjaman.

5.2 Saran

Ada beberapa saran yang dapat disampaikan antara lain :

1. Aplikasi pengembalian buku menggunakan segmentasi citra cover buku ini dapat membaca barcode secara miring, sehingga dapat mempermudah dalam proses pengembalian buku.

2. Pada aplikasi ini dapat ditambahakan pembacaan beberapa jenis tipe barcode satu dimensi maupun dua dimensi


(5)

77

3. Pada aplikasi pengembalian buku ini dapat dikembangkan dengan tambahan melakukan pencocokan citra cover buku dan menghitung berat dari buku yang akan di lakukan pengecekan pada basidata.


(6)

DAFTAR PUSTAKA

Basuki, A., Palandi, F. J., Fatchurochman, 2005, Pengolahan Citra Digital menggunakan Visual Basic, Graha Ilmu, Yogyakarta.

Jain, Anil.K., 1989, Fundamental of Digital Image Processing, International Edition. Prentice-Hall, Inc.

Kendall, K., 2010,Analisis dan Perancangan Sistem Edisi 5 Jilid 1., PT INDEKS, Jakarta.

Kulkarni, Arum D., 2001, Computer Vision and Fuzzy-Neural Systems, Prentice-Hall, Inc., New Jersey.

Malik, Jaja Jamaludin & Wijaya, Rachmadi & Taufiq S, Rido. 2010.Implementasi Teknologi Barcode Dalam Dunia Bisnis.Yogyakarta : Andi Publisher

Putra, Darma, 2010, Pengolahan Citra Digital, Andi , Yogyakarta.

Rizky, Soetam, 2011, Konsep Dasar Rekayasa Perangkat Lunak, Prestasi Pustaka, Jakarta.

Sutoyo, T, S.Si., M.Kom., Mulyanto, Edy, S.Si., M.Kom., Suhartono, Dr. Vincent, Dwi Nurhayati, Oky, MT., Wijanarto, M.Kom., 2009, Teori Pengolahan Citra Digital, Andi, Jogjakarta.

Shapiro, Linda G., and Stockman, George C., 2001, Computer Vision, Prentice-Hall, Inc., New Jersey.

Wahyono Teguh. 2010. Membuat Sendiri Aplikasi Dengan Memanfaatkan Barcode, Jakarta : Penerbit Elex Media Komputindo