Implementasi OCR (Optical Character Recognition) Menggunakan Metode String Matching Untuk Mendeteksi Obat dan Makanan Berbasis Android

(1)

RECOGNITION)

MENGGUNAKAN METODE METODE

STRING MACHING UNTUK MENDETEKSI OBAT DAN

MAKANAN BERBASIS ANDROID

SKRIPSI

Diajukan Untuk Menempuh Ujian Akhir Sarjana

Anggi Sanjaya Kusnanto

10109549

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2014


(2)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL... xi

DAFTAR SIMBOL ... xii

DAFTAR LAMPIRAN ... xix

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Identifikasi Masalah ... 2

1.3 Maksud dan Tujuan ... 3

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 4

1.6 Sistematika Penulisan ... 7

BAB 2 LANDASAN TEORI ... 9

2.1. Objek Penelitian ... 9

2.1.1. Visi dan Misi ... 10

2.1.2. Fungsi ... 10

2.1.3. Budaya Organisasi ... 11

2.1.4. Target Kinerja ... 11

2.1.5. Prinsi Dasar SisPOM... 12

2.1.6. Kerangka Konsep SisPOM ... 12

2.1.7. Struktur Organisasi... 14

2.2. String Matching ... 15

2.3. Citra Digital ... 15

2.3. Pengolahan Citra ... 16

2.3.1. Pengertian Pengolahan Citra ... 17


(3)

vi

2.4.1. Citra Biner (Monokrom) ... 19

2.4.2. Citra Warna (True Color) ... 21

2.4.3. Pengenalan Pola ... 21

2.5. Elemen-Elemen Citra Digital ... 24

2.5.1. Kecerahan (Brightness) ... 24

2.5.2. Kontras (Contrast) ... 24

2.5.3. Kontur (Contur) ... 25

2.5.4. Warna (Color) ... 25

2.5.5. Bentuk (Shape) ... 25

2.5.6. Tekstur (Texture) ... 25

2.6. Tresholding ... 26

2.7. Pencocokan Pola ... 27

2.8. OCR... 28

2.9. Neural Network Backpropagation... 30

2.10. Eclipse ... 33

2.11. Open CV... 35

2.12. Java Script ... 36

2.13. UML ... 37

2.14. Use Case ... 41

2.14.1. Aktor ... 41

2.15. Sequance Diagram ... 42

2.16. Class Diagram ... 43

2.17. Perangkat Mobile ... 44

2.18. Multimedia ... 45

2.19. Android ... 45

BAB 3 ANALISIS DAN PERANCANGAN SISTEM... 47

3.1. Analisis Sistem ... 47

3.1.1. Analisis Penyelesaian masalah ... 48

3.1.2. Analisis Arsitektur Sistem... 49


(4)

vii

3.1.7. Prosedur Tresholding ... 58

3.1.8. Prosedur Pencarian gambar karakter ... 58

3.1.9. Prosedur Konversi gambar karakter menjadi karakter text ... 59

3.1.10. Analisis ... 61

3.1.11. Analisis Kebutuhan Non Fungsional ... 62

3.1.11.1.Analisis Perangkat Lunak ... 62

3.1.11.1.1. Perangkat lunak bagi pengembang... 62

3.1.11.1.2. Perangkat lunak bagi pengguna ... 62

3.1.11.2. Analisis Perangkat keras ... 62

3.1.11.2.1. Perangkat keras bagi pengembang ... 62

3.1.11.2.2. Perangkat keras bagi pengguna ... 63

3.1.11.3. Analisis pengguna ... 63

3.1.12. Analisis fungsional ... 63

3.1.12.1. Analisis kebutuhan sistem ... 64

3.1.12.2. Analisis kebutuhan konten ... 64

3.1.12.3. Pemodelan sistem ... 64

3.1.12.3.1. Use case ... 64

3.1.12.3.1.1. Indikator aktor ... 65

3.1.12.3.1.2. Use case diagram... 65

3.1.12.3.1.3. Identifikasi Use Case... 66

3.1.12.3.1.4. Skenario use case ... 66

3.1.12.3.2. Activity diagram... 69

3.1.12.3.2.1. Activity Diagram sistem aplikasi ... 69

3.1.12.3.2.2. Activity diagram menampilkan informasi produk ... 70

3.1.12.3.3. Sequance diagram ... 71

3.1.12.3.3.1. Sequance diagram sistem aplikasi ... 72

3.1.12.3.3.2. Sequance diagram menampilkan informasi produk ... 72


(5)

viii

3.2.1. Perancangan grafis dan antarmuka... 76

3.2.1.1. Perancangan antar muka aplikasi ... 76

3.2.1.2. Jaringan semantic ... 78

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 79

4.1. Implementasi ... 79

4.1.1. Implementasi perangkat keras pembangun ... 79

4.1.2. Implementasi perangkat lunak pembangun ... 79

4.1.3. Perangkat keras penguji ... 80

4.1.4. Perangkat lunak penguji ... 80

4.1.5. Implementasi class aplikasi fronted ... 80

4.2. Implementasi antarmuka sistem ... 81

4.2.1. Implementasi menu utama ... 81

4.2.2. Implementasi tampilan awal ... 82

4.2.3. Implementasi antarmuka hasil foto target ... 82

4.2.4. Implementasi Simulasi Backpropagation Neural Network ... 85

4.3. Pengujian sistem... 87

4.3.1. Pengujian alpha ... 87

4.3.1.1. Pengujian black box ... 87

4.3.2. Kasus dan hasil pengujian alpha ... 88

4.3.2.1. Pengujian fronted ... 88

4.3.2.1.1. Pengujian fronted ambil gambar ... 88

4.3.2.1.2. Pengujian fronted ke database BPOM ... 89

4.4. Kesimpulan pengujian hasil uji alpha ... 89

4.5. Pengujian betha ... 90

4.6. Kesimpulan pengujian betha ... 98

BAB 5 KESIMPULAN DAN SARAN... 99

5.1. Kesimpulan ... 99

5.2. Saran ... 99


(6)

100

[3] Gonzales, Rafael C, Digital Image Processing, Addison-Wisley. [4] R. Munir, Pengolahan Citra Digital. Bandung:Informatika,2004.

[5] I.T.Digital Library. (2011, Oct. Pengolahan Warna. [Online]. http://digilib.ittelkom.ac.id/index.php?option=com_content&view=article &id=824

[6] A.Purnama.(2012, May) Elektronika Dasar. [Online]. http://elektronika-dasar.web.id/teori-elektronika/motor-servo/

[7] Whitten,jeffery L.,et all.2004. Metode Desain & Analysis Sistem (terjemahan) . Andi Offset. Yogyakarta.

[8] Wampler, Bruce E. 2003. The Essenceof Object Oriented Programming

with Java and UML Adison Wesley. USA.

[9] Pudjo Widodo, Prabowo dan Herlawati “Menggunakan UML”,

Informatika Bandung, oktober 2011.

[10] Chonoles, M.J, James A. Schardt. 2003. UML 2 for Dummies. Willey Publishing, Inc. New York.

[11] Pilone, Dan, Neil Pitman. 2005. UML 2.0 in a Nutshell. O‟Reilly Media,

Inc. USA.

[12] Pooley, Rob, Pauline Wilcox. 2003. Applying UML. Butterworth-Heinemann. United Kingdom.

[13] Pender, Tom. 2003. UML Bible. John Wiley & Sons. Indiana.

[14] Bay, H, Ess A, Tuytelaars, T, Van Gool, L (2006). SURF: speeded up robust features. Proceedings of the 9th European Conference on Computer Vision, 3951 (1), 404–417. Springer LNCS.

[15] Lowe, D. G. (1999). Object recognition from local scale-invariant features. Proceeding of the International Conference on Computer Vision, Corfu Sept. 1999.

[16] Lowe, D.G. (2004). Distinctive image features from scale-invariant keypoints. International Journal of Computer Vision, 2004.


(7)

[17] Crow, Franklin (1984). Summed-area tables for texture mapping. SIGGRAPH '84: Proceedings of the 11th Annual Conference on Computer Graphics and Interactive Techniques, 207 – 212.

[18] Nasruddin Safaat h (Pemrograman aplikasi mobeli smartphone dan tablet PC berbasis android 2012:16)

[19] F.Suhandi Krisna, 2009, Prediksi Harga Saham dengan Pendekatan Artificial Neural Network menggunakan Algoritma Backpropagation. [20] Solomon, C., & Breckon, T., Fundamental of Digital Image processing,


(8)

iii

Segala Puji dan Syukur penulis ucapkan kepada Tuhan Yesus Kristus, atas berkat, penyertaanNya dan mujijatNya yang selalu melimpah selama pengerjaan tugas akhir ini hingga pada saat ini penulis bisa menyelesaikannya dengan baik sesuai dengan waktu yang direncanakan.

Skripsi yang berjudul “Implementasi OCR (Opitical Character Recognition)

Menggunakan String Matching untuk Mendeteksi Obat dan Makanan Berbasis Android” disusun untuk memperoleh gelar S.Kom, Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

Pada kesempatan ini penulis hendak menyampaikan terima kasih kepada pihak yang telah mendukung dalam pengerjaan skripsi ini :

1. Papah, Mamah, Dd‟Angge, dan Ooh. Terima kasih yang tak terhingga buat segala kasih sayang, segala dukungan semangat dan Doa yang tidak henti-hentinya bagi penulis.

2. Bapak Ir. Taryana Suryana, M.Kom. selaku dosen pembimbing skripsi yang telah banyak memberikan bimbingan dan saran-saran kepada penulis sejak awal penelitian sampai dengan selesainya penulisan skripsi ini.

3. Bapak Eko Budi Setiawan, S.Kom., M.T. selaku dosen penguji seminar dan penguji siding yang telah memberikan masukan dan saran-saran dalam penyusunan penelitian skripsi ini.

4. Bapak Irawan Afrianto S.T., M.T. Penguji tiga sidang dan ketua program studi Teknik Informatika Universitas Komputer Indonesia.

5. Ibu Utami Dewi W, S.Kom., M.Kom. selaku Dosen Wali penulis yang telah memberikan bimbingan dan arahan dari semester awal sampai akhir kuliah di Universitas Komputer Indonesia.

6. Seluruh dosen pengajar di UNIKOM khususnya di Program Studi Teknik Informatika yang telah memberikan ilmu serta pengetahuan selama berkuliah di UNIKOM.


(9)

iv

7. Putri Ristriani Favorita Saragih My Pincess yang selalu memberikan dukungan semangat yang luar biasa kepada penulis selama pengerjaan skripsi ini.

8. My Little Family 6c++ (Irfan Capelli, Egezz, Ciuk, Bang MJ, Mayer (Onta), Bang bee, Chacha, Kak didi, Wiput) keluarga kecilku, terimakasih buat setiap dukungan dan doa kalian.

9. Dewi Kartini Sinaga, Natalia Tarigan, Titus Adi Kurniawan, Hans Brian Setra, Ani dll yang sudah berperan banyak dalam pengerjaan skripsi ini. Baik masukan saran ataupun Doa.

10. Saudara/i ku di PMK UNIKOM. Terima kasih sudah mendukung penulis dalam doa, selalu memberikan semangat.

11. Teman-teman seperjuangan di IF-13 2009. Terima kasih buat setiap kenangan indah bersama kalian.

12. Seluruh pihak yang telah memberikan kontribusi dan bantuannya bagi penulis, namun tidak sempat dicantumkan namanya satu per satu. Terima kasih sebanyak-banyaknya.

Penulis telah berupaya dengan semaksimal mungkin dalam penyelesaian skripsi ini, namun penulis menyadari masih banyak kelemahan baik dari segi isi maupun tata bahasa, untuk itu penulis mengharapkan kritik dan saran yang bersifat membangun dari pembaca demi kesempurnaan skripsi ini. Tak lupa penulis memohon maaf apabila dalam penulisan laporan tugas akhir ini, penulis telah menyinggung perasaan atau telah menyakiti hati semua orang, baik yang disengaja maupun yang tidak disengaja. Kiranya isi skripsi bermanfaat dalam memperkaya ilmu pendidikan dan juga dapat dijadikan sebagai salah satu sumber referensi bagi peneliti selanjutnya yang berminat meneliti hal yang sama. Terima kasih. Keep Walking with Papa Jesus.

Bandung, 19 Agustus 2014 Penulis


(10)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Badan Pengawas Obat-Obatan dan Makanan (BPOM) merupakan sebuah lembaga di Indonesia yang bertugas mengawasi peredaran obat–obatan dan makanan di Indonesia. BPOM berfungsi untuk mengatur, meregulasi, evaluasi produk sebelum diizinkan beredar, dan memberikan sertifikasi industri di bidang farmasi berdasarkan cara produksi yang baik.

Makanan adalah produk pangan yang siap hidang atau yang dapat langsung dimakan. Makanan biasanya dihasilkan dari bahan pangan setelah terlebih dahulu diolah atau dimasak. Makanan memiliki golongannya seperti praktis (Kemasan), makanan olahan, dan makanan siap saji. Obat-obatan merupakan zat yang dapat digunakan untuk merawat penyakit, membebaskan gejala atau mengubah proses kimia dalam tubuh. Obat juga digunakan dalam menetapkan diagnosis, mencegah, mengurangkan, menghilangkan dan menyembuhkan penyakit ataupun gejalanya. Makanan dan obat-obatan merupakan kebutuhan primer manusia, Sehingga perlunya makanan dan obat-obatan yang sudah terpercaya terkhususnya Jamu, terdaftar dan terjamin kualitasnya dan sudah terdaftar dalam BPOM.

Berdasarkan informasi yang didapat melalui keluhan konsumen dan berita-berita yang ada di media sosial ataupun media televisi, bahwa masih banyaknya makanan dan obat-obatan yang belum terdaftar dan informasi kepada masyarakat mengenai obat dan makanan yang telah terdaftar hanya melalui situs web BPOM dimana masyarakat dapat mengecek obat atau makanan menggunakan nomor registrasi yang tercatat pada label obat atau makanan. Pada umumnya masyarakat umum harus mengakses situs BPOM dengan mengetikkan nomor registrasinya yang ada di kemasan, nama produk dan merek produk lalu mendapatkan hasil obat atau makanan yang dicari terdaftar atau tidak.

Kurangnya pengetahuan masyarakat awam mengenai obat dan makanan yang sudah terdaftar menyebabkan masyarakat dapat mengkonsumsi obat atau makanan yang tidak aman. Hal ini terjadi kurangnya media informasi cepat dalam


(11)

mendeteksi obat dan makanan yang telah memiliki izin beredar. Dimana kendala yang dihadapi oleh BPOM yaitu dalam memberikan informasi kepada masyarakat mengenai obat dan makanan dengan cepat dan tepat.

Dengan memanfaatkan Android yang memiliki sebuah sistem operasi Linux yang dioprasikan di dalam telepon pintar ataupun tablet. Android juga menyediakan platform terbuka untuk pengembangan untuk menciptakan aplikasi terbaru. Selain itu pengguna android juga pada saat ini di indonesia sudah berkembang pesat penggunaanya yaitu mencapai 1,1 Miliar di tahun 2014 [1].

Teknologi OCR (Optical Character Recognition) atau sering disebut string matching yaitu algoritma yang digunakan untuk menkonversi karakter yang berbentuk gambar menjadi karakter yang berbentuk text. Hasil karakter dari proses tersebut digabungkan sehingga menjadi sebuah string. Di dalam proses pengkonversian tersebut digunakan algoritma yang dinamakan neural network

backpropagation dimana algoritma ini dapat menentukan output karakter yang

mendekati pola dari karakter gambar yang dimasukkan.

Maka berdasarkan uraian tersebut, diharapkan adanya solusi yaitu pengguna cukup menggunakan aplikasi dan mengarahkan objek untuk difoto pada kamera

smartphone Android ke obat–obatan ataupun makanan sehingga akan dikenali

karakter huruf (String Matching) apa saja yang akan dideteksi. Lalu akan muncul pada layar smartphone berupa hasil foto, nama produk dan informasi produk yang diakses di database BPOM. Sehingga dengan adanya aplikasi ini masyarakat dapat mengetahui bagaimana mendapatkan informasi dari obat dan makanan secara mudah, cepat. Pembahasan pembangunan aplikasi ini dibuat menjadi skripsi yang diberi judul “IMPLEMENTASI OCR (OPTICAL CHARACTER RECOGNITION) MENGGUNAKAN METODE STRING MATCHING

UNTUK MENDETEKSI OBAT DAN MAKANAN BERBASIS ANDROID”. 1.2 Identifikasi Masalah

Berdasarkan uraian latar belakang diatas dapat diidentifikasi masalahnya sebagai berikut :


(12)

1. Masih minimnya pengetahuan masyarakat umum mengenai obat dan makanan kemasan yang terdaftar secara resmi di BPOM.

2. Kurangnya Media informasi yang cepat dan praktis dalam mendapatkan informasi obat dan makanan kemasan yang berizin bagi masyarakat umum.

1.3 Maksud dan Tujuan

Adapun tujuan yang ingin dicapai dalam penelitian ini adalah :

1. Memberikan pengetahuan kepada masyarakat umum mengenai obat Jamu terkhususnya dan makanan kemasan yang terdaftar secara resmi.

2. Mempermudah pengguna dalam mendapatkan informasi mengenai suatu obat dan makanan kemasan secara lengkap dengan media informasi yang cepat dan praktis.

1.4 Batasan Masalah

Batasan Masalah yang adalah ruang lingkup kajian sehingga penyajian lebih terarah dan terkait satu sama lain.

Batasan dari permasalahan ini adalah sebagai berikut :

1. Menggunakan smartphone berbasis Android yang memiliki fasilitas kamera. 2. Setiap data atau konten informasi yang ditampilkan berupa hasil deteksi

yaitu nama produk dan informasi produk yang sudah terdaftar di BPOM. 3. Jarak antara objek dengan camera smartphone minimal 20-30 cm dengan

posisi objek tidak terlalu jauh dari kamera dan tidak terlalu dekat sehingga tercakup dalam kamera.

4. Menggunakan 5 sample kemasan untuk membuktikan algoritma berfungsi dengan baik.

5. Aplikasi dijalankan secara online.

6. IDE (Integrated Development) menggunakan Eclipse. 7. Library Open CV.

8. Pemodelan objek menggunakan Java sebagai bahasa pemrograman.

9. Pemodelan sistem menggunakan pemrograman berorientasi objek dengan UML (Unified Modeling Language).


(13)

1.5 Metodologi Penelitian

Metodologi penelitian yang digunakan adalah metode deskriptif yaitu suatu metode untuk membuat gambaran atau deskripsi mengenai fakta–fakta dan informasi dalam situasi atau kejadian di masa sekarang secara sistematis, faktual dan akurat. Adapun tahap yang akan dilalui adalah metode pengumpulan data dan metode pembangunan perangkat lunak.

1. Teknik Pengumpulan Data

Teknik pengumpulan data yang digunakan dalam penelitian adalah sebagai berikut:

a. Studi Literatur

Tahap ini digunakan untuk mencari informasi yang berhubungan dengan permasalahan yang ada di BPOM bersumber pada buku-buku, jurnal, penelitian, prosiding serta bacaan lain yang berkaitan dengan markerlees yang dapat membantu menyelesaikan pembangunan aplikasi ini.

b. Observasi

Dengan mengumpulkan informasi Langsung mengenai obat–obatan dan makanan yang ada di BPOM dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan diambil.

c. Interview

Teknik pengumpulan data dengan mengadakan tanya jawab secara langsung dengan salah satu staff di BPOM mengenai obat–obatan dan makanan yang berizin beserta permasalahan yang ada.

2. Metode Pembangunan Perangkat Lunak

Teknik analisis data dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak system waterfall, Waterfall adalah suatu proses pengembangan perangkat lunak berurutan, di mana kemajuan dipandang sebagai terus mengalir ke bawah (seperti air terjun) melewati fase-fase perencanaan, pemodelan, implementasi (konstruksi), dan pengujian. Berikut adalah gambar pengembangan perangkat lunak berurutan/ linear [2]:


(14)

Gambar 1.1 Metode Pengembangan Sistem Waterfall

a. Analisis Kebutuhan

Mengumpulkan kebutuhan secara lengkap seperti informasi data yang diambil dari Situs BPOM dan wawancara secara langsung dengan pihak BPOM, kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh software, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware,database, dsb.

b. Design Sistem

Proses pencarian kebutuhan diintensifkan dan difokuskan pada aplikasi. Untuk mengetahui sifat dari program yang akan dibuat, seperti fungsi yang dibutuhkan, user interface, dsb. Dari dua aktivitas tersebut (pencarian kebutuhan sistem dan aplikasi) harus didokumentasikan dan ditunjukkan kepada user. Proses design aplikasi untuk mengubah kebutuhan-kebutuhan di

Analisis Kebutuhan

Design Sistem

Implementasi program

Pemeliharaan Aplikasi Penerapan/

Pengujian Program


(15)

atas menjadi representasi ke dalam bentuk “blueprint” aplikasi sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti dua aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari aplikasi. c. Implementasi Program

Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman C++. Program yang dibangun langsung diuji baik secara ketentuan yang sudah dibuat.

d. Penerapan atau pengujian program

Untuk dapat dimengerti oleh mesin adalah komputer, maka desain sebelumnya harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman C++ melalui proses coding . Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer. Penyatuan unit-unit program kemudian diuji secara keseluruhan (sistem testing).

e. Pemeliharaan Aplikasi

Sesuatu yang dibuat haruslah diujicoba. Demikian juga dengan aplikasi. Semua fungsi-fungsi aplikasi harus diujicoba, agar aplikasi bebas dari error, dan hasilnya sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. Pemeliharaan suatu aplikasi diperlukan, termasuk di dalamnya adalah pengembangan, karena aplikasi yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada kemungkinan error kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada aplikasi. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :


(16)

BAB I PENDAHULUAN

Menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan

BAB II. TINJAUAN PUSTAKA

Membahas tempat studi kasus kemudian berbagai konsep dasar dan teori - teori yang berkaitan dengan topik penelitian yang dilakukan dan hal hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian - penelitian serupa yang telah pernah dilakukan sebelumnya.

BAB III. ANALISIS DAN PERANCANGAN SISTEM

Bab 3 terbagi menjadi dua bagian yaitu analisis dan perancangan sistem. Bagian analisis sistem yaitu deskripsi masalah, analisis kasus, analisis masalah,analisis kebutuhan, menguraikan cara pemecahan masalah, selain itu terdapat perancangan sistem yang terbagi menjadi perancangan komponen, perancangan berorientasi objek, dan perancangan antarmuka untuk aplikasi yang akan dibangun sesuai dengan hasil analisis yang telah dibuat.

BAB IV. IMPLEMENTASI DAN PENGUJIAN SISTEM

Menjelaskan implementasi dari hasil analisis dan perancangan yang telah dibuat ke dalam bentuk aplikasi pemograman, kemudian dilakukan pengujian terhadap aplikasi yang telah dibangun untuk memastikan bahwa aplikasi dapat berjalan secara efektif sesuai yang diinginkan.

BAB V. KESIMPULAN DAN SARAN

Berisi kesimpulan yang sudah diperoleh dari hasil penulisan tugas akhir ini dan saran untuk pengembangan penelitian lebih lanjut.


(17)

9

TINJAUAN PUSTAKA

2.1. Objek Penelitian

Kemajuan teknologi telah membawa perubahan-perubahan yang cepat dan signifikan pada industri farmasi, obat asli Indonesia, makanan, kosmetika dan alat kesehatan. Dengan menggunakan teknologi modern, industri-industri tersebut kini mampu memproduksi dalam skala yang sangat besar mencakup berbagai produk dengan "range" yang sangat luas.

Dengan dukungan kemajuan teknologi transportasi dan entry barrier yang makin tipis dalam perdagangan internasional, maka produk-produk tersebut dalam waktu yang sangat singkat dapat menyebar ke berbagai negara dengan jaringan distribusi yang sangat luas dan mampu menjangkau seluruh strata masyarakat.

Konsumsi masyarakat terhadap produk-produk termaksud cenderung terus meningkat, seiring dengan perubahan gaya hidup masyarakat termasuk pola konsumsinya. Sementara itu pengetahuan masyarakat masih belum memadai untuk dapat memilih dan menggunakan produk secara tepat, benar dan aman. Di lain pihak iklan dan promosi secara gencar mendorong konsumen untuk mengkonsumsi secara berlebihan dan seringkali tidak rasional.

Perubahan teknologi produksi, sistem perdagangan internasional dan gaya hidup konsumen tersebut pada realitasnya meningkatkan resiko dengan implikasi yang luas pada kesehatan dan keselamatan konsumen. Apabila terjadi produk sub standar, rusak atau terkontaminasi oleh bahan berbahaya maka risiko yang terjadi akan berskala besar dan luas serta berlangsung secara amat cepat.

Untuk itu Indonesia harus memiliki Sistem Pengawasan Obat dan Makanan (SisPOM) yang efektif dan efisien yang mampu mendeteksi, mencegah dan mengawasi produk-produk termaksud untuk melindungi keamanan, keselamatan dan kesehatan konsumennya baik di dalam maupun di luar negeri. Untuk itu telah


(18)

dibentuk Badan POM yang memiliki jaringan nasional dan internasional serta kewenangan penegakan hukum dan memiliki kredibilitas profesional yang tinggi. 2.1.1. Visi Dan Misi

Visi

Menjadi Institusi Pengawas Obat dan Makanan yang Inovatif, Kredibel dan Diakui Secara Internasional Untuk Melindungi Masyarakat.

Misi

1. Melakukan Pengawasan Pre-Market dan Post-Market Berstandar Internasional.

2. Menerapkan Sistem Manajemen Mutu Secara Konsisten.

3. Mengoptimalkan Kemitraan dengan Pemangku Kepentingan di Berbagai Lini.

4. Memberdayakan Masyarakat Agar Mampu Melindungi Diri dari Obat dan Makanan yang Berisiko Terhadap Kesehatan.

5. Membangun Organisasi Pembelajar (Learning Organization).

2.1.2. Fungsi

1. Pengkajian dan penyusunan kebijakan nasional di bidang pengawasan Obat dan Makanan.

2. Pelaksanaan kebijakan tertentu di bidang pengawasan Obat dan Makanan. 3. Koordinasi kegiatan fungsional dalam pelaksanaan tugas Badan POM. 4. Pemantauan, pemberian bimbingan dan pembinaan terhadap kegiatan

instansi pemerintah di bidang pengawasan Obat dan Makanan.

5. Penyelenggaraan pembinaan dan pelayanan administrasi umum di bindang perencanaan umum, ketatausahaan, organisasi dan tata laksana, kepegawaian, keuangan, kearsipan, persandian, perlengkapan dan rumah tangga.


(19)

2.1.3. Budaya Organisasi

Budaya organisasi merupakan nilai-nilai luhur yang diyakini dan harus dihayati dan diamalkan oleh seluruh anggota organisasi dalam melaksanakan tugas. Nilai-nilai luhur yang hidup dan tumbuh kembang dalam organisasi menjadi semangat bagi seluruh anggota organisasi dalam berkarsa dan berkarya.

1. Profesional

Menegakkan profesionalisme dengan integritas, objektivitas, ketekunan dan komitmen yang tinggi.

2. Kredibel

Dapat dipercaya dan diakui oleh masyarakat luas, nasional dan internasional. 3. Cepat Tanggap

Antisipatif dan responsif dalam mengatasi masalah. 4. Kerjasama Tim

Mengutamakan keterbukaan, saling percaya dan komunikasi yang baik. 5. Inovatif

Mampu melakukan pembaruan sesuai ilmu pengetahuan dan teknologi terkini.

2.1.4.Target Kinerja

1. Terkendalinya penyaluran produk terapetik dan NAPZA

2. Terkendalinya mutu, keamanan dan khasiat/kemanfaatan produk obat dan makanan termasuk klim pada label dan iklan di peredaran;

3. Tercegahnya risiko penggunaan bahan kimia berbahaya sebagai akibat pengelolaan yang tidak memenuhi syarat;

4. Penurunan kasus pencemaran pangan;

5. Peningkatan kapasitas organisasi yang didukung dengan kompetensi dan keterampilan personil yang memadai;

6. Terwujudnya komunikasi yang efektif dan saling menghargai antar sesama dan pihak terkait.


(20)

2.1.5.Prinsip Dasar SisPOM

1. Tindakan pengamanan cepat, tepat, akurat dan profesional.

2. Tindakan dilakukan berdasarkan atas tingkat risiko dan berbasis bukti-bukti ilmiah.

3. Lingkup pengawasan bersifat menyeluruh, mencakup seluruh siklus proses. 4. Berskala nasional/lintas propinsi, dengan jaringan kerja internasional. 5. Otoritas yang menunjang penegakan supremasi hukum.

6. Memiliki jaringan laboratorium nasional yang kohesif dan kuat yang berkolaborasi dengan jaringan global.

7. Memiliki jaringan sistem informasi keamanan dan mutu produk.

2.1.6. Kerangka Konsep SisPOM

Pengawasan obat dan makanan memiliki aspek permasalahan berdimensi luas dan kompleks. Oleh karena itu diperlukan sistem pengawasan yang komprehensip, semenjak awal proses suatu produk hingga produk tersebut beredar ditengah masyarakat. Untuk menekan sekecil mungkin risiko yang bisa terjadi, dilakukan SISPOM tiga lapis yakni:

1. Sub-sistem pengawasan Produsen

Sistem pengawasan internal oleh produsen melalui pelaksanaan cara-cara produksi yang baik atau good manufacturing practices agar setiap bentuk penyimpangan dari standar mutu dapat dideteksi sejak awal. Secara hukum produsen bertanggung jawab atas mutu dan keamanan produk yang dihasilkannya. Apabila terjadi penyimpangan dan pelanggaran terhadap standar yang telah ditetapkan maka produsen dikenakan sangsi, baik administratif maupun pro-justisia.

2.Sub-sistem pengawasan Konsumen

Sistem pengawasan oleh masyarakat konsumen sendiri melalui peningkatan kesadaran dan peningkatan pengetahuan mengenai kualitas produk yang digunakannya dan cara-cara penggunaan produk yang rasional. Pengawasan


(21)

oleh masyarakat sendiri sangat penting dilakukan karena pada akhirnya masyarakatlah yang mengambil keputusan untuk membeli dan menggunakan suatu produk. Konsumen dengan kesadaran dan tingkat pengetahuan yang tinggi terhadap mutu dan kegunaan suatu produk, di satu sisi dapat membentengi dirinya sendiri terhadap penggunaan produk-produk yang tidak memenuhi syarat dan tidak dibutuhkan sedang pada sisi lain akan mendorong produsen untuk ekstra hati-hati dalam menjaga kualitasnya.

3. Sub-sistem pengawasan Pemerintah/Badan POM

Sistem pengawasan oleh pemerintah melalui pengaturan dan standardisasi; penilaian keamanan, khasiat dan mutu produk sebelum diijinkan beredar di Indonesia; inspeksi, pengambilan sampel dan pengujian laboratorium produk yang beredar serta peringatan kepada publik yang didukung penegakan hukum. Untuk meningkatkan kesadaran dan pengetahuan masyarakat konsumen terhadap mutu, khasiat dan keamanan produk maka pemerintah juga melaksanakan kegiatan komunikasi, informasi dan edukasi.


(22)

2.1.7. Struktur Organisasi


(23)

2.2. String Matching

Pengertian string menurut Dictionary of Algorithms and Data Structures,

National Institute of Standards and Technology (NIST) adalah susunan dari

karakter-karakter (angka,alfabet atau karakter-karakter yang lain) dan biasanya direpresentasikan sebagai struktur dan array. String dapat berupa kata, frase, atau kalimat. Pencocokan string (string matching) merupakan bagian penting dari sebuah proses pencarian string(string searching) dalam sebuah dokumen. Hasil dari sebuah sebuah pencarian string dalam dokumen tergantung dari teknik dan cara pencocokan string yang digunakan.

String matching secara umum adalah pencarian sebuah pattern pada sebuah

teks. string matching memilikiprinsip kerja adalah sebagai berikut:

1. Men-scan teks dengan bantuan sebuah window yang ukurannya sama dengan

panjang pattern.

2. Menempatkan window pada awal teks.

3. Membandingkan karakter pada window dengan karakter dari pattern. Setelah pencocokan (baik hasilnya cocok atau tidak cocok), dilakukan shft ke kanan pada window. Prosedur ini dilakukan berulang-ulang sampai window berada pada akhir teks. Mekanisme ini disebut mekanisme sliding-window.

2.3. Citra Digital

Citra digital dapat didefinisikan sebagai fungsi dua variabel, f(x,y), dimana x dan y adalah koordinat spasial dan nilai f(x,y) adalah intensitas citra pada koordinat tersebut, hal tersebut diilustrasikan pada gambar 2.2.


(24)

Gambar 2.2 Citra Digital 2.4. Pengolahan Citra

Secara harafiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus

(continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi

objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh oleh alat-alat optik, misalnya mata pada manusia, kamera, pemindai (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam [3].

Bila pengenalan pola dihubungkan dengan pengolahan citra, diharapkan akan terbentuk suatu sistem yang dapat memproses citra masukan sehingga citra tersebut dapat dikenali polanya. Proses ini disebut pengenalan citra atau image recognition.


(25)

Pengolahan citra dan pengenalan pola menjadi bagian dari proses pengenalan citra. Kedua aplikasi ini akan saling melengkapi untuk mendapatkan ciri khas dari suatu citra yang hendak dikenali [4]. Secara umum tahapan pengolahan citra digital meliputi akusisi citra, peningkatan kualitas citra, segmentasi citra, representasi dan uraian, pengenalan dan interpretasi.

2.3.1.Pengertian Pengolahan Citra

Meskipun sebuah citra kaya informasi, namun seringkali citra yang kita miliki mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau derau

(noise), warnanya terlalu kontras, kurang tajam, kabur (blurring), dan sebagainya.

Tentu saja citra semacam ini menjadi lebih sulit diinterpretasi karena informasi yang disampaikan oleh citra tersebut menjadi berkurang.

Agar citra yang mengalami gangguan mudah diinterpretasi (baik oleh manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik. Bidang studi yang menyangkut hal ini adalah pengolahan citra

(image processing).

Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Sebagai contoh, citra burung

Image Processing

Pengolahan Citra

Pattern Recognition

Pengenalan Pola

Image Recognition

Pengenalan Citra


(26)

nuri pada Gambar 2.5(a) tampak agak gelap, lalu dengan operasi pengolahan citra kontrasnya diperbaiki sehingga menjadi lebih terang dan tajam (b).

(a) (b)

2.3.2. Penganalan Warna Citra Warna RGB

Warna adalah spektrum tertentu yang terdapat di dalam suatu cahaya sempurna (berwarna putih). Nilai warna ditentukan oleh tingkat kecerahan maupun kesuraman warna. Nilai ini dipengaruhi oleh penambahan putih ataupun hitam [5]

Penelitian memperlihatkan bahwa kombinasi warna yang memberikan rentang paling lebar adalah red (R), green (G) dan blue (B). Ketiga warna tersebut merupakan warna pokok yang biasa disebut RGB. Warna lain dapat diperoleh dengan mencampurkan ketiga warna pokok tersebut dengan perbandingan tertentu. Setiap warna pokok mempunyai intensitas sendiri dengan nilai maksimum 255 (8-bit). Misal warna kuning merupakan kombinasi warna merah dan hijau sehingga nilai RGB: 255 255 0.

Gambar 2.4 (a) Citra burung nuri yang agak gelap, (b)

Citra burung yang telah diperbaiki kontrasnya.


(27)

RGB disebut juga ruang warna yang dapat divisualisasikan sebagai sebuah kubus seperti gambar 2.6, dengan tiga sumbunya yang mewakili komponen warna merah (red) R, hijau (green) G, biru (blue) B. Salah satu pojok alasnya yang Sistem Klasifikasi Jenis dan Kematangan Buah Tomat Berdasarkan Bentuk dan Ukuran serta Warna Permukaan Kulit Buah Berbasis Pengolahan Citra Digital berlawanan menyatakan warna hitam ketika R = G = B = 0, sedangkan pojok atasnya yang berlawanan menyatakan warna putih ketika R= G= B= 255 ( sistem warna 8 bit bagi setiap komponennya ).

Gambar 2.5 Ruang Warna RGB

Kamera yang digunakan pada Handphone ini akan menangkap gambar dari objek dan kemudian merepresentasikannya kedalam bentuk citra warna RGB untuk kemudian dilakukan pengolahan citra tersebut sehingga menghasilkan data-data objek yang dibutuhkan.

2.4. Jenis-jenis Citra Digital

Ada banyak cara untuk menyimpan citra digital di dalam memori. Cara penyimpanan menentukan jenis citra digital yang terbentu. Beberapa jenis citra digital yang sering digunakan adalah citra biner, citra grayclale, dan citra warna.

2.4.1. Citra Biner (Monokrom)

Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat keabuan: hitam dan putih seperti yang ditunjukkan pada gambar 2.7. Meskipun saat


(28)

ini citra berwarna lebih disukai karena memberi kesan yang lebih kaya daripada citra biner, namun tidak membuat citra biner mati. Pada beberapa aplikasi citra biner masih tetap dibutuhkan, misalnya citra logo instansi (yang hanya terdiri atas warna hitam dan putih), citra kode batang (bar code) yang tertera pada label barang, citra hasil pemindaian dokumen teks, dan sebagainya [5]

Proses awal yang dilakukan dalam menganalisis objek di dalam citra biner adalah segmentasi objek. Proses segmentasi bertujuan mengelompokkan pixel

-pixel objek menjadi wilayah (region) yang merepresentasikan objek. Ada dua

pendekatan yang digunakan dalam segmentasi objek:

1. Segmentasi berdasarkan batas wilayah (tepi dari objek). Pixel-pixel tepi ditelusuri sehingga rangkaian pixel yang menjadi batas (boundary) antara objek dengan latar belakang dapat diketahui secara keseluruhan (algoritma boundary following).

2. Segmentasi ke bentuk-bentuk dasar (misalnya segmentasi huruf menjadi garis-garis vertikal dan horizontal, segmentasi objek menjadi bentuk lingkaran, elips, dan sebagainya).

Gambar 2.6. Citra Biner

Pada penelitian ini, citra biner digunakan untuk menyimpan hasil pendeteksian objek berdasarkankan warna objeknya. Pemilihan menggunakan citra biner sebagai tempat penyimpanan data sementara untuk mempercepat proses pendeteksian pola


(29)

objek yang dilakukan berikutnya dikarenakan ukuran memori yang digunakan pada citra biner sangat kecil, yaitu 1 bit (true dan false).

2.4.2. Citra Warna (True Color)

Pada citra warna setiap titik mempunyai warna yang spesifik, yang merupakan kombinasi dari 3 warna dasar, yaitu merah, hijau, dan biru. Format citra ini sering disebut RGB (red-green-blue). Setiap warna dasar mempunyai intensitas sendiri dengan nilai maksimum 255 (8 bit). Setiap titik pada citra warna membutuhkan data 3

byte.

Jumlah kombinasi warna yang memungkinkan untuk format citra ini adalah 224atau lebih dari 16 juta warna, dengan demikian bisa dianggap mencakup semua warna yang ada. Inilah sebabnya format ini dinamakan true color.

Gambar 2.7 Citra warna (true color)

2.4.3.Pengenalan Pola

Pengenalan pola adalah mengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh mesin (dalam hal ini komputer). Tujuan pengelompokan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa mengenali objek yang 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 mesin. Komputer menerima masukan berupa citra objek yang akan diidentifikasi, memproses citra tersebut, dan memberikan keluaran berupa deskripsi objek di dalam citra [4].


(30)

Pola adalah entitas yang terdefinisi dan dapat didefinisikan melalui ciri-cirinya (feature). Ciri-ciri tersebut digunakan untuk membedakan suatu pola dengan pola yang lain. Pengenalan pola bertujuan untuk menentukan kelompok untuk kategori pola berdasarkan ciri-ciri yang dimiliki oleh pola tersebut. Dengan kata lain pengenalan pola membedakan objek dengan objek lain.

Suatu sistem pengenalan pola melakukan:

1. Proses akuisisi data melalui sejumlah alat pengindraan atau sensor, 2. Mengatur bentuk representasi data,

3. Melakukan proses analisis dan klasifikasi data.

Tiga pendekatan pembuatan sistem pengenalan pola adalah Statistik (statistical), Sintaksis (syntactic) dan Jaringan Saraf Tiruan (neural network) (Schalkoff, 1992).

1. Statistik

Semakin banyak pola yang disimpan, maka sistem akan semakin cerdas. Salah satu contoh penerapannya banyak pada pola pengenalan iris scan.

Kelemahannya: hanya bergantung pada data yang disimpan saja, tidak memiliki sesuatu struktur yang unik yang dapat menjadi kunci pengenalan pola.

2. Sintaksis (rule)

Dengan rule/aturan maka sistem yang lebih terstruktur sehingga memiliki sesuatu ciri yang unik. Salah satu contoh penerapannya pada pola pengenalan sidik jari (fingerprint).

3. Jaringan Saraf Tiruan (JST)

Merupakan gabungan dari pendekatan statistik dan pendekatan sintaks. Dengan gabungan dari dua metode maka JST merupakan pengenalan pola yang lebih akurat. Salah satu contoh penerapannya pada pola pengenalan suatu citra JST merupakan


(31)

suatu sistem yang dapat memproses informasi dengan meniru cara kerja jaringan saraf otak manusia.

Struktur sistem pengenalan pola ditunjukkan pada gambar 2.8. Sistem pengenalan pola ini terdiri dari suatu sensor (misalnya kamera, dan scanner), teknik prapengolahan, suatu algoritma atau mekanisme ekstraksi ciri dan algoritma untuk klasifikasi atau pengenalan (bergantung pada pendekatan yang dilakukan). Sebagai tambahan, biasanya beberapa data yang sudah diklasifikasikan diasumsikan telah tersedia untuk melatih sistem.

Pola Data Klasikasi

Gambar 2.8. Struktur Sistem Pengenalan Pola

Prapengolahan adalah transformasi input (masukan) data mentah untuk membantu kemampuan komputasional dan pencarian ciri serta untuk mengurangi noise (derau). Pada prapengolahan citra (sinyal) yang ditangkap oleh sensor akan dinormalisasi agar citra menjadi lebih siap untuk diolah pada tahap pemisahan ciri. Kualitas ciri yang dihasilkan pada proses pemisahan ciri sangat bergantung pada hasil prapengolahan.

Klasifikasi merupakan tahap untuk mengelompokkan input data pada satu atau beberapa kelas berdasarkan hasil pencarian beberapa ciri yang signifikan dan pemrosesan atau analisis terhadap ciri itu. Setiap kelas terdiri dari sekumpulan objek yang memiliki kedekatan (kemiripan) ciri. (Munir, 2004; Putra, 2009).

Contoh pengenalan pola misalnya citra pada Gambar 2.9 adalah tulisan tangan

yang digunakan sebagai data masukan untuk mengenali karakter „A‟. Dengan

menggunakan suatu algoritma pengenalan pola, diharapkan komputer dapat mengenali bahwa karakter tersebut adalah „A‟.

Sensor Prapengolaha

n

Ekstraksi Ciri Algoritm

a Klasifikas


(32)

Gambar 2.9 Pola 2 Dimensi 2.5. Elemen- Elemen Citra Digital

Citra digital mengandung sejumlah elemen-elemen dasar.Elemen-elemen dasar tersebut dimanipulasi dalam pengolaha citra dan dieksploitasi lebih lanjut dalam komputer vision . Elemen elemen dasar diantaranya:

2.5.1.Kecerahan (brightness)

Kecerahan adalah kata lain untuk intensitas cahaya. Sebagai mana telah dijelaskan pada bagian sampling, kecerahan pada sebuah titik (pixel) didalam citra bukanlah intensitas yang riil, tetapi sebenarnya adalah intensitas rata-rata dari suatu area yang melingkupinya. Sistem visual manusia mampu menyesuaikan dirinya dengan tingkatan kecerahan (brightness level) mulai dari yang paling rendah sampai yang paling tinggi dengan jangkauan 1010.

2.5.2.Kontras (contrast)

Kontras menyatakan sebaran terang (lightness) dan gelap (darkness) didalam sebuah gambar. Citra dengan kontras rendah dicirikan sebagai besar komposisi citranya adalah terang sebagian besar gelap. Pada citra dengan kontras yang baik, komposisi gelap dan terang tersebar secara merata.


(33)

2.5.3. Kontur (contour)

Kontur adalah keadaan yang ditimbulkan oleh perubahan intensitas cahaya pada pexel pixel yang bertetangga. Karena adanya perubahan intensitas inilah mata kita mampu mendeteksi tepi-tepi (edge) objek didalam citra.

2.5.4. Warna (color)

Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap panjang gelombang cahaya yang dipantulkan oleh objek. Setiap warna mempunyai

panjang gelombang (λ) yang berbeda. Warna merah mempunyai panjang gelombang

yang paling tinggi, sedangkan warna ungu (violet) mempunyai panjang gelombang yang paling rendah.Warna-warna yang diterima oleh mata (sistem visual mata) merupakan hasil kombinasi cahaya dengan panjang gelombang yang berbeda. Penelitian memperlihatkan kombinasi warna yang memberikan rentang warna yang paling lebar adalah merah (red), hijau (green), biru (blue). Penyesuaian warna pada

visual kita tidak jarang dapat menimbulkan “cacat” warna (distorsi) yang dilihat. Ada

dua jenis distorsi, yakni distorsi warna terhadap ruang (misal bercak abu-abu yang berada disekitar warna hijau akan berkesan ungu), dan distorsi terhadap waktu (misalnya setelah melihat warna hijau kita langsung melihat warna abu-abu, maka warna ungulah yang berkesan pada mata kita).

2.5.5. Bentuk (shape)

Pada umumnya citra yang dibentuk oleh mata merupakan citra dua dimensi, sedangkan objek yang diamati biasanya adalah 3 dimensi telah diproyeksikan kebidang dua dimensi dan kelihatannya sama. Misalnya, suatu ruangan terlihat berbentuk trapezium pada gambar dua dimensi. Didalam hal ini kita tahu apakah hal ini memang disebabkan oleh bentuk ruangan yang panjang ataukah memang ruangan tersebut berbentuk trapesium.

2.5.6. Tekstur (texture)

Pada hakikatnya sistem visual manusia tidak menerima informasi citra secara terpisah pada setiap titik, tetapi sesuatu citra dianggapnya sebagai suatu kesatuan, jadi


(34)

definisi kesamaan suatu objek perlu dinyatakan dalam bentuk kesamaan dari suatu himpunan parameter citra (brightness, color, size) atau dengan kata lain dua buah citra tidak dapat disamakan dari satu parameter saja.

2.6. Tresholding

Tresholding digunakan untuk membedakanmgambar text dengan latar belakang pada gambar huruf atau angka tersebut. Proses ini akan menghasilkan citra hitam putih yang bersih dari tingkat keabuan (grayscale), atau dengan kata lain metode ini mengkonversi citra gray-level ke citra bilevel (binary image). Untuk mendapatkan citra grayscale digunakan persamaan berikut:

Dimana :

Igrayscale = citra grayscale

Icolour = citra RGB

(x,y) = koordinat citra

(x,y,c) = channel piksel pada kordinat (x,y), r untuk merah, b untuk biru dan g

untuk hijau α, , = koefisien Pembobotan nilai koefisien (α, dan ) berdasarkan

nilai dari respon mata manusia, biasanya ketiga nilai yang digunakan adalan 0.333 [20].

Setelah mendapatkan citra grayscale, citra biner dapat dibentuk dengan teknik thresholding. Jika g(x, y) adalah sebuah nilai ambang (threshold) batas dari f(x, y) yang terdapat pada gambar 2.2 dengan nilai threshold T. Nilai T digunakan untuk memisahkan antara object dengan backgroundnya, maka hasil threshold dapat ditulis sebagai berikut:


(35)

2.7. Pencocokan pola

Setelah semua area persegi dan pola-pola gambar ditandai, menganalisa citra yang berada di dalam persegi dan membandingkan polanya dengan sekumpulan pola yang telah ditentukan (pencocokan pola). Dan mengekstrak pola didalam persegi menggunakan transformasi homography. Kemudian memberikan memberikan nilai

confidance kepada pola yang cocok, jika kecocokannya di atas nilai yang telah

ditentukan maka polanya dinyatakan cocok.

Pada proses ini sistem akan menggunakan metode scaling yang dimaksudkan untuk memperkecil (zoom-out) citra. Metode scaling digunakan untuk melakukan transformasi agar objek yang dimaksud dapat dimuat dalam wadah berukuran 64x64 pixel sebagai ukuran wadah untuk proses pengenal objek.

100x100 64x64

Gambar 2.10 Proses pencocokan zoom out

Hingga tahap ini citra objek yang akan dikenali sudah dalam bentuk citra biner dan berukuran 64x64 pixel, sehingga siap untuk dilakukan proses segementasi menjadi 64 buah segment berukuran 8x8 pixel.


(36)

Gambar 2.11 Proses deret biner desimal

Proses ini menjadi deret desimal dengan melakukan konversi setiap baris pada segment yang merupakan deret biner menjadi sebuah nilai desimal.

2.8. OCR

OCR (Optical Character Recognition) atau sering disebut dengan Pengenalan Pola karakter yang merupakan salah satu cabang dari pengenalan pola. Salah satu metode pengenalan pola angka atau huruf banyak digunakan algoritma Neural Network Backpropagation, yang sistem kerjanya seperti otak manusia yang dapat mengenali pola setelah mendapatkan pelatihan atau pengecekan terhadap beberapa contoh terlebih dahulu.

Teknologi OCR menggunakan dua metode, yaitu matric matching dan feature extraction. Dari dua metode ini, matric matching adalah teknik yang paling simple dalam mendeteksi karakter. Selain itu juga terbatas, sehingga keakuratannya kerap lebih rendah dibandingkan feature extraction.

Matric Matching dan Feature Extraction Metode pertama dan yang paling simple dalah Matrix Matching. Lebih dikenal sebagai pattern matching (String Matching). Ini dikarenakan scanner akan mendeteksi karakter yang dipindai lalu menyamakan dengan database dari pola atau outline dari setiap karakter huruf yang disimpannya dalam bentuk bitmap image. Jadi ketika scanner memindai sebuah huruf


(37)

maka aplikasi akan mendeteksi bentuk huruf tersebut dan menyamakan bentuk, sudut, dan pola karakter dari gambar bitmap yang ada di database. Jika ada yang cocok maka huruf yang dipindai tersebut akan diidentifikasi sebagai huruf yang sama dalam database. Hanya saja teknik ini memiliki keterbatasan, karena database ini memiliki keterbatasan akan jumlah variasi bentuk karakter. Karena, font saat ini beraneka ragam , dan bentuknya ada yang semakin kompleks dan beraneka pola.

Metode kedua, Feature Extraction lebih pintar. Dikenal juga sebagai ICR atau Intelligent Character Recognition atau topological feature analysis. Ini adalah metode pengenalan karakter yang tidak tergantung dari template karakter yang dimiliki aplikasi. Aplikasi dengan metode ini akan mendeteksi identitas sebuah karakter dari ruang kosong, bentuk yang berdekatan, garis diagonal, perpotongan dan sebagainya.Sehingga pengidentifikasiannya lebih kompleks prosesnya. Feature Extraction biasanya digunakan untuk mendeteksi karakter yang bentuknya tak standar, seperti tulisan tangan atau huruf-huruf berornamen. Matric Matching cocoknya untuk document yang menggunakan jenis huruf yang umum, seperti Times New Romans, Arial, atau font yang memiliki bentuk dasar karakter huruf lainnya. Database karakter ini biasanya meliputi rangkaian dasar karakter angka dari 0-9 dan huruf a-z.

Cara kerja OCR terdiri dari modul yang terpisah yang digunakan dalam proses pengenalan, modul-modul tersebut adalah:

1) Pra Pengolahan (Preprocessing)

Merupakan suatu proses untuk menghilangkan bagian-bagian yang tidak diperlukan pada gambar input untuk proses selanjutnya. Contoh preprocessing adalah noise filtering.

2) Klasterisasi (Clusterization)

Modul klasterisasi bertugas untuk menemukan karakter individu dalam gambar dan menghitung urutan karakter yang benar dalam teks.


(38)

3) Ekstraksi Fitur (Feature extraction)

Tujuan dari modul ini adalah untuk mengekstrak fitur unik dari karakter individu sehingga dapat diakui oleh modul klasifikasi. Jika kita membandingkan sistem OCR dengan manusia, kita dapat mengatakan bahwa modul ini memainkan peran mata manusia.

4) Klasifikasi (Classification)

Pada tahap terakhir sistem OCR mencoba untuk mengenali karakter menggunakan informasi tentang fitur karakter yang telah diekstraksi pada tahap sebelumnya. Meskipun dapat dilakukan secara statistik dengan melibatkan perbandingan konsisten karakter dari database, hal ini dipilih untuk mencoba bagaimana jaringan saraf melakukan pengenalan pada tahap ini.

2.9. Neural Network Backpropagation

Neural Network (NN) adalah suatu model komputasi dengan karakteristik yang menyerupai jaringan saraf manusia. NN terdiri dari unit-unit terkecil yang meproses sinyal input yaitu neuron. Pemrosesan data berupa sinyal dilakukan pada neuron tersebut.

Sinyal pada NN dikirim antara neuron melalui penghubung antar neuron memiliki bobot, sinyal yang melalui penghubung antara neuron akan dikalikan dengna bobotnya. Lalu setelah sinyal dikalikan dengan bobotnya, sinyal tersebut dijumlahkan dengan sinyal-sinyal yang lain yang juga telah dikalikan dengan bobot penghubung antar neuron. Kemudian menjadi nilai input bagi neuron pada layer yang dituju.

Setiap neuron memiliki sifat aktivasi yang akan mentransformasi sinyal yang masuk ke neuron tersebut sehingga dihasilkan output dari neuron tersebut.

Sebagai contoh sederhana dengan neuron output Y dan neuron input X1,X2,X3


(39)

pada neuron Y nilai sinyal yang masuk akan dijumlahkan dan menjadi total input (y_in) bagi neron Y, y_in = W1X1+W2X2+W3X3+b.

Menurut [19] Backpropagation merupakan sebuah metode sistematik pada jaringan saraf tiruan dengan menggunakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak layar lapisan untuk mengubah bobot-bobot yang ada pada lapisan tersembunyinya. Backpropagation

adalah pelatihan jenis terkontrol dimana menggunakan pola penyesuaian bobot untuk mencapai nilai kesalahan yang minimum antara keluaran hasil prediksi dengan keluaran yang nyata. Untuk mendapatkan error jaringan ini, fase forwardpropagation

harus dilakukan sebelumnya. Saat propagasi dalam arah maju, neuron diaktivasi dengan menggunakan fungsi aktivasi sigmoid.


(40)

Rumus aktivasi sigmoid adalah:

I1

I2

B1

1

O1

W1

W2

W3

0 1

1

W1= I1

O1= 0,5

W1= I2 O1= 0,6

W1= B1

O1= 0,7

O1= a ((I1.W1)+(I1.W2)+W3)

O1= a ((0.0,5)+(1.0,6)+0,7)= a (1,3) = 0,79


(41)

2.10. Eclipse

Menurut [18] Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:

a. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.

b. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.

c. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.

Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in. Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota 'Eclipse Foundation' (beserta individu-individu lain). Banyak nama besar yang ikut dalam 'Eclipse Foundation', termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya.

1. IntelliJ IDEA (commercial, free 30-day trial) 2. Oracle JDeveloper (free)

3. Xinox JCreator (ada versi berbayar maupun free)

Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat lunak IBM Visual Age for Java 4.0. Produk ini diluncurkan oleh IBM pada tanggal 5 November 2001, yang menginvestasikan sebanyak US$ 40 juta untuk pengembangannya. Semenjak itu konsursium Eclipse Foundation mengambil alih


(42)

untuk pengembangan Eclipse lebih lanjut dan pengaturan organisasinya. Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform (RCP).Berikut ini adalah komponen yang membentuk RCP:

1. Core platform 2. OSGi

3. SWT (Standard Widget Toolkit) 4. JFace

5. Eclipse Workbench

Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman Java. Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. Jadi, Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat Diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya. Salah satu situs yang menawarkan plug-in secara gratis seperti Eclipse downloads by project.

Sejak tahun 2006, Eclipse Foundation mengkoordinasikan peluncuran Eclipse secara rutin dan simultan yang dikenal dengan nama Simultaneous Release. Setiap versi peluncuran terdiri dari Eclipse Platform dan juga sejumlah proyek yang terlibat dalam proyek Eclipse. Tujuan dari sistem ini adalah untuk menyediakan distribusi Eclipse dengan fitur-fitur dan versi yang terstandarisasi. Hal ini juga dimaksudkan


(43)

untuk mempermudah Deployment dan maintenance untuk sistem enterprise, serta untuk kenyamanan.Peluncuran simultan dijadwalkan pada bulan Juni setiap tahunnya.

2.11. Open Source Computer Visio (Open CV)

Open Source Computer Vision adalah library open source multi-platform yang berlisensi Berkeley Software Distribution (BSD) yang bersifat open source sehingga bebas digunakan untuk hal-hal yang bersifat akademis dan penelitian. Library ini berfungsi untuk mentransformasikan data dari citra diam atau kamera video ke salah satu keputusan atau representasi baru. Semua representasi tersebut dilakukan untuk mencapai beberapa tujuan tertentu.

Gambar 2.12 OpenCV

OpenCV dikembangkan oleh Visual Interactivity Group di Intel‟s Microprocessor Research Lab pada tahun 1999. Tujuan dikembangkannya OpenCV adalah untuk membangun suatu komunitas open source dan menyediakan situs yang mendistribusikan upaya dari komunitas sehingga dapat dikonsolidasi dan dioptimalkan dari segi kinerjanya.


(44)

Telah banyak penambahan kelas OpenCV, sehingga OpenCV sampai saat ini telah memiliki lebih dari 500 fungsi. Berikut ini beberapa fungsi yang dimiliki oleh OpenCV :

1. Metoda Geometrik 2. Pengenalan Objek 3. Pengukuran 4. Segmentasi

5. Utilitas

6. Fitur

7. Transformasi Citra 8. Piramida Citra

9. Tracking

10. Kalibrasi kamera 11. Pengolahan citra

Alasan penggunaan OpenCV karena kostumisasi yang dimiliki oleh OpenCV yang tinggi dan kinerja yang baik pada program berbasis bahasa native C/C++. Selain itu juga terdapat beberapa kelebihan OpenCV, diantaranya :

1. OpenCV gratis, karena open source library. 2. Memliki dokumen yang cukup banyak.

3. Dapat bekerja lebih cepat pada presesor berbasis Intel.

Selain kelebihan, OpenCV juga memiliki kekurangan, yaitu OpenCV kurang mendukung bahasa berbasis .NET seperti C#, Visual Basic dan lainnya, sehingga dibutuhkan wrappers mendukungnya. Pada penelitian ini menggunakan OpenCV, karena tools yang dimiliki oleh OpenCV dapat mendukung untuk penelitian deteksi makanan dan obat menggunakan metoda String Matching ini.

2.12. JavaScript

JavaScript awalnya bernama LiveScript yang dikembangkan pertama kali pada tahun 1995 oleh Brendan Eich dari Netscape Communications. LiveScript berfungsi


(45)

sebagai bahasa sederhana untuk browser Netscape Navigator 2 dan mendapatkan banyak kritik karena dianggap kurang aman karena pengembangannya yang terkesan buru-buru dan tidak ada pesan kesalahan yang ditampilkan setiap terjadi kesalahan pada saat menyusun kode program. Kemudian Netscape berkolaborasi dengan Sun Microsystem seorang pengembang bahasa pemrograman Java diakhir tahun 1995 dan mengubah nama LiveScript menjadi JavaScript.

Menurut Negrino dan Smith (2001), JavaScript adalah sebuah bahasa pemrograman yang bisa digunakan untuk menambahkan interaktifitas pada halaman web. JavaScript merupakan bahasa scripting (bahasa pemrograman yang ringan) yang popular di internet dan berisi baris kode yang dijalankan di komputer menggunakan program browser yang mendukung seperti Google Chrome, Internet Explorer (IE), Mozilla Firefox, Netscape dan Opera. JavaScript disisipkan dalam halaman HTML dengan diapit menggunakan tag Script. JavaScript dijalankan di komputer user, sehingga proses tidak perlu dilakukan pada server. Dengan adanya JavaScript, kemampuan sebuah file dokumen HTML akan menjadi semakin luas dan kuat. Selain itu, JavaScript juga merupakan bahasa interpreter yang berarti skrip dieksekusi tanpa proses kompilasi. JavaScript didesain untuk menambah interaktif suatu web.

2.13. UML

UML (Unified Modeling Language) adalah sekumpulan pemodelan konvensi yang digunakan untuk menetukan atau menggambarkan sebuah sistem perangkat lunak dalam kaitannya dengan objek [7]. UML juga diartikan sebuah bahasa grafik standar yang digunakan untuk memodelkan perangkat lunak berbasis objek. UML pertama kali dikembangkan pada pertengahan tahun 1990an dengan kerjasama antara James Rumbaugh, Grady Booch dan Ivan Jacobson, yang masing- masing telah mengembangkan notasi mereka sendiri di awal Tahun 1990an. UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan system


(46)

yang besar dan kompleks. UML tidak hanya digunakan dalam proses pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan pemodelan.

1. Analisis dan desain Berorientasi Objek

Pemrograman berorientasi objek bekerja dengan baik ketika bersamaan dengan Object-oriented Analysis and Design Process (OOAD).[8] mengatakan jika kita membuat program berorientasi objek tanpaOOAD, ibarat membangun rumah tanpa terlebih dahulu menganalisa apa saja yang dibutukan oleh rumah itu, tanpa perencanaan, tanpa blueprint, tanpa menganalisis ruangan apa saja yang diperlukan, berapa besar rumah yang akan dibangun dan sebagainya. a. Objek

Orientasi objek merupakan teknik dalam menyelesaikan masalah yang kerap muncul dalam pengembangan perangkat lunak. Teknik ini merupakan titik dalam menentukan cara yang efektif dalam pembangunan system dengan metode yang paling banyak dipaki oleh para pengembang perangkat lunak saat ini. Orientasi objek merupakan teknik pemodelan sistem riil yang berbasis objek. Intinya dari konsep ini adalah objek yang merupakan model daris sitem nyata. Menurut [9] bahwa objek adalah entitas, karakter

(behavour) dan kadangkala disertai kondisi (state).

b. Kelas

Kelas adalah penggambar satu set objek yang memiliki atribut dan behavior yang sama. Kelas mirip tipe data pada program non objek, tapi lebih komprehensif karena terdapat struktur sekaligus karakteristiknya. Kita dapat membentuk kelas baru yang lebih spesifik dari kelas generalnya. Kelas dan objek merupakan jantung dari pemrograman berorientasi objek.untuk menghasilkan program ini sangat penting untuk selalu berfikirdalam konsep objek.


(47)

2. Evolusi UML

[10] menjelaskan bahwa sebelumnya ada UML, para pengembang bahasa pemrograman berorientasi objek sulit unutuk berkomunikasi satu sama lain. Kira-kira memiliki 50 jenis notasi dan grafik yang menggambarkan bahasa pemrograman berorientasi objek pada waktu itu. Pada pengguna yang berlainan ini saling berebut pengaruh agar notasi yang digunakan menjadi notasi standar. Walaupun dijumpai beberapa notasi yang cukup jelas dan sangat cocok untuk menyelesaikan problem dalam pembuatan perangkat lunak Object Oriented Program(OOP).

Pada bulan Oktober 1994, Jim Rumbaugh, penemu notasi Object Modelling

Technique (OMT) dan Graddy Booch, penemu Booch Method (Metode Booch)

bersama menyamakn notasi mereka. Di tahun yang sama, Ivar Jacobson ikut

bergabung. ketiga orang itu sering disebut sebagai “three Amigos”. Bersama

membangun notasi standar OOP untuk software Rational IBM.

Ketiga pengembang UML tersebut telah mengalami kesulitan akibat kompleksnya permasalahan OOP yang ada, namun mereka dibantu oleh Object

Management Group (OMG). Artinya gabungan dari kurang lebih 800 perusahaan

pengembang perangkat lunak berorientasi objek.

Maka sejak tahun 1997, divisi Revision Task Force (RTF) milik OMG beberapa kali merevisi UML. Revisi dimaksudkan agar memperkuat konsistensi notasi, meningkatkan kekompakan antar user dan pengembang perangkat lunak. Akan tetapi UML akhirnya mengikuti perkembangan software-software bebasis objek yang ada (Java) dari sisi pendekatan komponen dan kemampuan tools software tersebut. Setelah dilakukan perubahan secara sistematik, akhirnya dihasilkan UML 2.0 pada tahun 2003.

3. Komponen UML

Bagian-bagian atau Komponen utama dari UML adalah view, diagram, model element, dan general mechanism.


(48)

a. View

View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang berbeda. View bukan melihat grafik, tapi merupakan suatu abstraksi yang berisi sejumlah diagram. Beberapa jenis view dalam UML antara lain: use case view, logical view, component view, concurrency view,dan deployment view.

(a). Use case view

Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai yang diinginkan external aktors. Aktor yang berinteraksi dengan sistem dapat berupa user atau sistem lainnya. View ini digambarkan dalam use case diagrams dan kadang-kadang dengan activity diagrams. View ini digunakan terutama untuk pelanggan, perancang (designer), pengembang (developer), dan penguji sistem (tester).

(b). Logical view

Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class, object,dan relationship) dan kolaborasi dinamis yang terjadi ketika object mengirim pesan ke object lain dalam suatu fungsi tertentu.View ini digambarkan dalam class diagrams untuk struktur statis dan dalam state, sequence, collaboration, dan activity diagram untuk model dinamisnya. View ini digunakan untuk perancang (designer) dan pengembang (developer).

(c). Component view

Mendeskripsikan implementasi dan ketergantungan modul. Komponen yang merupakan tipe lainnya dari code module diperlihatkan dengan struktur dan ketergantungannya juga alokasi sumber daya komponen dan informasi administrative lainnya. View ini digambarkan dalam component view dan digunakan untuk pengembang (developer).


(49)

2.14. Use Case Diagram

Menurut [11] use case menggambarkan fungsi tertentu dalam suatu sistem berupa komponen, kejadian atau kelas. Sedangkan [7] mengartikan use case sebagai urutan langkah-langkah yang secara tindakan saling terkait (skenario), baik terotomasisasi maupun secara manual, untuk tujuan bisnis tunggal. Salah satu kontributor terhadap diagram use case dalam UML adalah Ivar Jacobsen. Use case menggambarkan external view dari sistem yang akan kita buat modelnya [12] mengatakan bahwa model use case, tetapi yang perlu di ingat, diagram tidak identik dengan model karena model lebih luas dari diagram. Komponen-komponen pembentuk use case adalah Aktor, use case dan hubungan (link). Pada diagram use case, relasi digambarkan sebagai sebuah garis antara symbol. Pemaknaan relasi berbeda-beda tergantung bagaiman garis tersebut digambarkan dan tipe symbol apa yang digunakan untuk menghubungkan garis tersebut. Relasi yang digunakan UML 2.0 adalah generalisasi , inklusi dan ekstensi.

2.14.1. Aktor

[10] Menyarankan sebelum membuat use case dan menentukan aktornya, agar mengidentifikasikan siapa saja yang terlibat dalam sistem kita. Pihak yang terlibat biasanya dinamakan stakeholder, langkah awal yang baik adalah mempertimbangkan kebutuhan klien dan pelanggan dalam membentuk use case. Setiap sistem memiliki

stakeholder potensial yang harus dipertimbangkan karena berpengaruh terhadap

kinerja sistem tersebut. Bahkan untuk beberapa jenis sistem tertentu bisa saja hacker

masuk ke dalam kategori stakeholder karena berpengaruh terhadap sistem. Selama proses mencari kebutuhan sistem, hampir sebagian besar waktu dihabiskan untuk menentukan aktor yang dipilih dari stakeholder hasil identifikasi awal.


(50)

Gambar 2.13 Diagram Use Case

2.15. Sequence Digram

Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case. Interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi.


(51)

2.16. Class Diagram

Class adalah suatu diagram yang memperlihatkan atau menampilkan struktur darisebuah sistem, sistem tersebut akan menampilkan sistem kelas, atribut dan hubungan antara kelas ketika suatu sistem telah selesai membuat diagram. Class

diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan

bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan.

Diagram kelas merupakan kumpulan kelas-kelas objek, oleh karena itu pengertian kelas sangat penting sebelum merancang diagram kelas. [4] arti dari kelas sebagai satu set objek yang memiliki atribut dan perilaku yang sama. Kelas kadang-kadang disebut juga kelas objek (object class). Objek yang berupa buku analisis disain dan buku pemrograman terstruktur kita kelompokan dalam satu kelas, yaitu kelas buku. Kedua objek memiliki atribut dan perilaku yang serupa. Secara teknis, [10] mengartika sebuah kelas sebagai suatu definisi sumber daya yang termasuk di dalam informasi-informasi yang menggambarkan fitur suatu entitas dan bagaimana penggunaannya. Sedangkan objek adalah entitas yang bersifat unik yang mengikuti aturan-aturan yang sudah didefinisikan oleh kelasnya.

Atribut merupakan suatu kelas yang isinya adalah point-point seperti warna mobil, jumlah sisi bentuk yang disebut sebagai atribut. Atribut bisa saja sederhana (integer, floating-point) bisa juga kompleks. Atribut digambarkan dalam dua notasi yang berbeda yaitu inline atau hubungan antarkelas.

Atribut inline adalah atribut yang dapat menulis atribut kelas disebelah kanan notasi kotak. Tidak ada perbedaan semantic atau atribut inline dan atribut relasi. Keduanya bermaksud merincikan kelas yang akan dibuat.

Atribut relasi adalah atribut yang bisa mempresentasikan sebuah atribut dengan menghubungkan kelas lainnya. Untuk itu kita menggunakan notasi relasi sebagai sarana pembentuk atribut relasi dalam diagram kelas yang sangat besar. Dengan cara itu dapat dibuat atribut yang lebih detail dan kompleks.


(52)

Atribut turunan adalah atribut yang diberi notasi slash “/”. Symbol ini

bermaksud memberi informasi kepada inplementator bahwa atribut tersebut tidak terlalu penting.

Atribut multiplicity merupakan atribut yang menyatakan berapa banyak isi dari atribut yang terbentuk saat kelas diinisialisasi. Misalnya, kelas mobil akan memiliki 4 roda jadi multiplicity atribut roda adalah 4.

Gambar 2.15 Class Diagram

2.17. Perangkat Mobile

Hadirnya perangkat Mobile (ponsel) pada awalnya hanya sebagai sarana berkomunikasi dengan kelebihan yang bisa dibawa kemana- mana. Namun sekarang telah berubah menjadi suatu peralatan yang sangat penting. Dengan adanya internet di dalam ponsel yang telah menjadi kekuatan yang luar biasa. Sehingga dapat diibaratkan ponsel menjadi suatu magnet yang sangat penting bagi para penggunanya.bahkan di dalam ponsel saja sudah banyak fitur yang digunakan sama seperti komputer. Sehingga dengan situasi seperti ini google memanfaatkannya dengan meluncurkan ponsel berbasis android sebagai salah satu andalannya saat ini.


(53)

Hingga sampai saat ini google berhasil membuat persaingan yang terjadi pada dunia mobile dari segi Sistem Operasi hingga aplikasi- aplikasi pendukungnya.

2.18. Multimedia

Multimedia berasal dari kata Multi dan Media. Multi berarti banyak atau lebih dari satu, dan media dapat diartikan sebagai saranayang dipakai untuk menyampaikan berbagai informasi. Multimedia dapat dikatakan juga sebagai suatu bentuk baru untuk menggabungkan lebih dari satu media, yang di dalamnya terdapat elemen- elemen teks, gambar suara dan animasi. Meskipun hanya beberapa aplikasi, multimedia yang hanya mengandung dua elemen di atas pun dapat dikatakan sebagai multimedia. Seorang yang merancang dan dan membentuk suatu aplikasi multimedia disebut multimedia developer. Bila dalam suatu aplikasi multimedia pengguna diberi suatu kemampuan untuk mengontrol elemen-elemen yang ada, maka multimedia disebut juga intraktif multimedia. Sebuah interaktif multimedia dapat menjadi hypermedia apabila dalam aplikasi multimedia tersebut disediakan struktur dari elemen yang terhubung yang dapat digunakan oleh pengguna. Dengan menggunakan multimedia informasi dapat diterima dengan kedua indera penglihatan dan pendengaran mendeteksi bentuk aslinya. Berbeda apabila informasi tersebut hanya disampaikan dalam bentuk teks (angka dan huruf) maka lahirnya multimedia merupakan perpaduan dari hasil kemajuan teknologi elektronik, komputer, dan perangkat lunak 2.19. Android

Android adalah sebuah sistem operasi untuk berbagai perangkat mobile seperti handphone, netbook dan komputer tablet. Sistem operasi ni dikembangkan oleh google dengan berbasis kernel Linux versi 2.6 dan berbagai perangkat lunak dari GNU yang bersifat open source. Pada awalnya, android dikembangkan oleh perusahaan android Inc, namun kemudian perusahaan tersebut diakuisisi oleh google sehingga menjadi produk google. Sekarang ini pengembangan android ditentukan


(54)

oleh sebuah konsorsium bernama Open Handset Alliance (OHA) yang terdiri atas berbagai vendor perangkat mobile, Komputer, dan telekomunikasi seperti Intel, Nvidia, Google, Samsung, Sprint, T-Mobile, Motorola, LG, Sony Ericsson, Toshiba, Vodafone, serta masih banyak yang lain dan anggotanya terus bertambah. Karena android bersifat Open Source dan mempunyai lisensi apache yang sangat terbuka dan bebas, maka Android menjadi sistem operasi yang sangat popular bagi berbagai produsen perangkat mobile. Berdasarkan persentasenya android mencapai 1,1 Miliar di tahun 2014 [1]. Salah satu keunggulan android adalah adanya komunitas para developer dan programmer yang luas untuk mengembangkan berbagai aplikasi yang berjalan diperangkat berbasis Android sehingga mampu memperluas fitur dan kemampuan perangkat tersebut. Saat ini sudah terdapat lebih dari 70000 aplikasi android sehingga berada di peringkat ke dua di dunia. Android relatif mudah dan cepat karena menggunakan bahasa pemrograman Java dengan dukungan library Java yang dikembangkan oleh google.


(1)

diagram alir dari algoritma pemilihan area pendeteksian dapat dilihat pada gambar 2.8.

Gambar 2.7. Contoh pemilihan area pendeteksian BEGIN

Ambil Event dari layar smartphone android

menyentuh bagian atas border ?

menyentuh bagian bawah border ?

menyentuh bagian kiri border ?

menyentuh bagian kanan border ?

Tidak

Tidak

Tidak Inisialisasi ukuran awal border

Ukuran tinggi border dikecilkan Ukuran tinggi

border diperbesar drag kearah bawah Ya

Ya Tidak

drag kearah bawah Ya

Ya Tidak

drag kearah kanan

Ukuran lebar border dikecilkan Ukuran lebar

border diperbesar Ya

drag kearah kiri Tidak Ya

Ya Tidak

END Ya

Tidak

Gambar 2.8

. Diagram Alir pemilihan Area

Pendeteksian

2.8. Prosedur Tresholding

Prosedur tresholding digunakan untuk melakukan segmentasi citra digital RGB (warna) ke dalam citra digital hitam (foreground) dan putih (background) sehingga mempermudah dan mempercepat proses pengolahan gambar. Secara umum diagram alir prosedur threshold ditunjukkan pada Gambar 2.9.

BEGIN

END pixel rgbImage masuk dalam range RGB target

?

putihkan pixel

thresholdImage thresholdImagehitamkan pixel

Ya Tidak

apakah sudah semua pixel dideteksi ?

Ya Tidak

Gambar 2.9. Diagram Alir Prosedur Threshold) 2.9. Prosedur Pencarian gambar karakter

Prosedur pencarian gambar karakter digunakan untuk memisahkan bagian dari gambar yang merupakan karakter dari nama obat dan makanan. Gambar karakter yang telah dihasilkan kemudian diproses dengan menggunakan algoritma neural network back propagation untuk nantinya dihasilkan output karakter teks. Gambaran hasil pencarian gambar karakter diperlihatkan pada gambar 2.10, dan diagram alir algoritma pencarian gambar karakter dapat dilihat pada gambar 2.11.

Gambar 2.10 Hasil pencarian gambar karakter Border Area


(2)

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)

Edisi...Volume..., Bulan 20..ISSN :2089-9033

BEGIN

Pencarian baris

Pemisahan karakter dari

setiap baris

Mencarian tinggi dari setiap

karakter

END

Gambar 2.11. Diagram alir pencarian gambar karakter

2.10. Prosedur Konversi gambar karakter menjadi karakter teks

Prosedur konversi gambar karakter menjadi karakter teks digunakan untuk menghasilkan karakter–karakter berupa teks dari input gambar karakter yang telah dihasilkan pada tahapan sebelumnya. Pengkonversian gambar karakter menjadi karakter teks dilakukan dengan menggunakan algoritma neural network back propagation, dimana algoritma ini mampu menentukan karakter mana yang cocok dengan input gambar dengan terlebih dahulu dilakukan training data karakter. Gambaran proses dari neural network back propagation dapat dilihat pada gambar 2.12, dan diagram alir neural network back propagation dapat dilihat pada gambar 2.13.

Gambar 2.12. Gambaran umum konversi gambar karakter menjadi karakter teks

BEGIN

Inisialisasi Data Training Neural Network

Input gambar karakter

Memasukkan pixel gambar kedalam neural input

Perhitungan output neural

Pencarian nilai output neural terbesar

Simpan hasil output karakter

END Gambar karakter sudah

habis ?

Tidak

Ya

Gambar 2.13. Diagram Alir konversi gambar karakter menjadi karakter teks

2.11. Implementasi Simulasi Backpropagation Neural Network dalam mengelompokkan pola huruf A dalam bentuk vector

Spesifikasi Neural Network :  Banyaknya input vektor 25

 Banyaknya output unit adalah 3 neuron  Fungsi aktifasi untuk setiap neuron hidden

digunakan sigmoid

 Fungsi aktifasi untuk setiap output neuron digunalan sigmoid

 Target jaringan untuk huruf A ditentukan (-1,-1,-1)

 Banyaknya hidden unit : 1  Banyaknya iterasi : 10

 Nilai error yang diinginkan untuk setiap iterasi : 0.1


(3)

Tabel 2.1 Generalisasi kasus untuk pola mirip huruf A

Hasil generalisasi NN mengelompokkan pola huruf bukan sebagai huruf A sebanyak 2 huruf dari 50 data huruf yang mirip dengan A, sehingga persentase kemungkinan keberhasilan pendeteksian sebagai huruf A sebesar 90%.

Tabel 2.2 Generalisasi kasus untuk pola tidak mirip huruf A

Untuk pola huruf tidak mirip dengan A Banyak data dikelompokkan sebagai bukan huruf A Banyak data dikelompokkan sebagai huruf A

Persentase Keberhasilan

48 2 96%

Hasil generalisasi NN mengelompokkan pola huruf sebagai huruf A sebanyak 5 huruf dari 50 data huruf yang tidak mirip dengan A. sehingga persentase kemungkinan keberhasilan pendeteksian sebagai bukan huruf A sebesar 96%.

2.12. Kesimpulan Pengujian

Berdasarkan hasil pengujian terhadap perangkat lunak kesimpulan bahwa aplikasi yang dibangun sudah sesuai dengan perancangan dari awal dan berjalan cukup maksimal, dan algoritma yang digunakan berfungsi baik. tetapi tidak menutup kemungkinan dapat terjadi kesalahan pada perangkat yang digunakan, kesalahan pengguna maupun kesalahan-kesalahan lainnya. Dan kemungkinan huruf-huruf yang terdeteksi sebesar 96%.

3.

PENUTUP

3.1. Kesimpulan

Berdasarkan hasil yang didapat dalam penelitiaan dan penyusunan skripsi ini serta disesuaikan dengan tujuan, maka diperoleh kesimpulan bahwa algoritma neural network backpropagation menggunakan metode string matching ,memiliki ketepatan dan kecocokan pendeteksian yang baik dari 7 sample dengan kecocokan yang hampir sama dengan target dalam kasus pendeteksian makanan dan obat ini, dan memudahkan pengguna untuk menggunakan aplikasi ini.

3.2. Saran

Berdasarkan hasil dari keseluruhan aplikasi, maka dapat diberikan saran-saran yaitu penambahan fitur button yang mungkin bisa dikembangkan. Bahkan pengembangan algoritma neural network backpropagation itu sendiri agar bisa lebih rinci lagi mendeteksi objek atau target yang memiliki sudut kemiringan pada kemasan.

4.

DAFTAR PUSTAKA

[1] Gartner (β014): “Tabloid Pulsa dan berita teknologi”.

[2] Sommerville, 2001,”Alur Metode Waterfall 5-6”.

[3] Gonzales, Rafael C, Digital Image Processing, Addison-Wisley.

[4] R. Munir, Pengolahan Citra Digital. Bandung:Informatika,2004.

[5] I.T.Digital Library. (2011, Oct. Pengolahan

Warna. [Online].

http://digilib.ittelkom.ac.id/index.php?optio n=com_content&view=article&id=824 [6] A.Purnama.(2012, May) Elektronika Dasar.

[Online]. http://elektronika-dasar.web.id/teori-elektronika/motor-servo/ [7] Whitten,jeffery L.,et all.2004. Metode

Desain & Analysis Sistem (terjemahan) . Andi Offset. Yogyakarta.

[8] Wampler, Bruce E. 2003. The Essenceof Object Oriented Programming with Java and UML Adison Wesley. USA.

[9] Pudjo Widodo, Prabowo dan Herlawati “Menggunakan UML”, Informatika Bandung, oktober 2011.

[10] Chonoles, M.J, James A. Schardt. 2003. UML 2 for Dummies. Willey Publishing, Inc. New York.

[11] Pilone, Dan, Neil Pitman. 2005. UML 2.0 in a Nutshell. O’Reilly Media, Inc. USA. [12] Pooley, Rob, Pauline Wilcox. 2003.

Applying UML. Butterworth-Heinemann. United Kingdom.

[13] Pender, Tom. 2003. UML Bible. John Wiley & Sons. Indiana.

[14] Bay, H, Ess A, Tuytelaars, T, Van Gool, L (2006). SURF: speeded up robust features. Proceedings of the 9th European Conference on Computer Vision, 3951 (1), 404–417. Springer LNCS.

[15] Lowe, D. G. (1999). Object recognition from local scale-invariant features. Proceeding of the International Conference on Computer Vision, Corfu Sept. 1999.

[16] Lowe, D.G. (2004). Distinctive image features from scale-invariant keypoints. Untuk pola huruf mirip dengan A

Banyak data dikelompokkan sebagai huruf A Banyak data dikelompokkan bukan

sebagai huruf A

Persentase Keberhasilan


(4)

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)

Edisi...Volume..., Bulan 20..ISSN :2089-9033

International Journal of Computer Vision, 2004.

[17] Crow, Franklin (1984). Summed-area tables for texture mapping. SIGGRAPH '84: Proceedings of the 11th Annual Conference on Computer Graphics and Interactive Techniques, 207 – 212. [18] Nasruddin Safaat h (Pemrograman aplikasi

mobeli smartphone dan tablet PC berbasis android 2012:16)

[19] F.Suhandi Krisna, 2009, Prediksi Harga Saham dengan Pendekatan Artificial Neural Network menggunakan Algoritma Backpropagation.

[20] Solomon, C., & Breckon, T., Fundamental of Digital Image processing, Wiley-Blackwell, 2011.


(5)

(6)