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
▸ Baca selengkapnya: aplikasi buku piket sekolah
(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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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 +µ
22
5. Ulangi langkah 2 sampai 4 hingga nilai-nilai µ1 dan µ2 tidakberubah lagi.
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
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
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
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
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
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
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 :
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.
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
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.
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
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.
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
Cek Jenis Status mahasiswa / data
karyawan belum selesai atau
kembali
Cek Id Koleksi dan JDDC koleksi berdasarkan data
koleksi perpustakaan Cek ID Koleksi berdasarkan data 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
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
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
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
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
(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
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.
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
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
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
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
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
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
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
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 =
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
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
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
T= (fmax +fmin) / 2
Ubah warna pada pixel [x],[y] dengan nilai T
X = lebar image Y = tinggi image
[x] = [x] + 1
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
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
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
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
Selesai
Mencari id dan nama Anggota
Pinjaman Buku ada ?
Ya Tidak
Buku Tidak Ada dan id buku
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
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
I d_peminjaman
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
Gambar 4.11 PDM Pengembalian Buku
CDM dan PDM aplikasi pengembalian buku mandiri di atas memiliki 4
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
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
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
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