Top Banner

of 37

Tutorial Digital Image Processing Using Visual Basic 6

Oct 31, 2015

Download

Documents

ceeropy

VB
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Tutorial Digital Image Processing Using Visual Basic 6.0 . Image Prosessing (Pengolahan Citra) semakin mengalami perkembangan yang pesat dikarekan telah banyaknya penelitian yang dilakukan untuk terus menyempurnakan kemampuan Computer Vision. Berbagai Aplikasi yang menggunakan pengolahan citra telah banyak dibuat seperti identifikasi sidik jari,kornea dan wajah serta penggunaan sensor visual pada robot dan sebagainya. Mau tahu apa itu Pengolahan Citra dan Bagaimana membuat Aplikasi pengolahan Citra Digital Sendiri?Dalam Pengolahan CItra Digital, mengubah bentuk citra dari suatu gambar ke bentuk citra lainnya merupakan bagian yang terpenting. Hal ini dimaksudkan agar file gambar yang diolah memiliki ukuran file yang kecil sehingga mudah untuk diproses selain itu juga agar algoritma untuk mengidentifikasi pada gambar dapat dilakukan.Salah satu caranya adalah dengan mengkonversi format RGB ke Format Greysacle. Pada Pengolahan citra Digital Kali ini, Andiero akan mencoba memberikan Tutorial Pengolahan Citra Digital untuk membuat sebuah program menggunakan visual basic 6.0 untuk mengkonversi citra RGB ke citra GreyScale.Adapun langkah-langkahnya sebagai berikut:- Buka program visual basic 6.0 yang telah terinstal di komputer anda.- Buat sebuah project baru,pilih Standart EXE.- Tambahkan beberapa control seperti picture box, command button.- Ubah Properties masing masing sesuai keinginan anda. Sebagai catatan ubah properties dari kedua Control Picture Box untuk Scale Mode menjadi 3-Pixel.- Tambahkan sebuah gambar yang sesuai ukurannya dengan picture box yang pertama.- Susun seperti gambar.1

Gambar.1 Desain Program Pengolahan Citra- Kemudian buka jendela code dan ketikan script berikut iniConst IntPixelX = 300Const IntPixelY = 300Dim Pixels(1 To IntPixelX, 1 To IntPixelY) As LongDim x, y As Integer Dim Merah, Hijau, Biru, Abu2 As Integer- Selanjutnya Klik dua kali command button dan ketikan code berikut ini For x = 1 To IntPixelX For y = 1 To IntPixelY Pixels(x, y) = Picture1.Point(x, y) Next y Next x For x = 1 To IntPixelX For y = 1 To IntPixelY Merah = Pixels(x, y) And &HFF Hijau = ((Pixels(x, y) And &HFF00) / &H100) Mod &H100 Biru = ((Pixels(x, y) And &HFF0000) / &H10000) Mod &H100 Abu2 = (Merah + Hijau + Biru) / 3 Pixels(x, y) = RGB(Abu2, Abu2, Abu2) Next y Next x For x = 1 To IntPixelX For y = 1 To IntPixelY Picture2.PSet (x, y), Pixels(x, y) Next y Next x- jalankan program pengolahan citra menggunakan visual basic 6.0 buatan anda- Gambar yang anda konversi akan beruba menjadi abu-abu (GreyScale).

Gambar.2 Program Pengolahan Citra

Seperti itulah Script program yang dapat digunakan untuk membuat program pengolahan citra menggunakan visual basic 6.0. Inti dari program konversi format citra RGB menjadi format citra greyscale terletak pada script Abu2 = (Merah + Hijau + Biru) / 3. Saya merasa program tersebut masih banyak kekurangannya, oleh karena itu saya sangat senang jika ada diantara kalian yang dapat membagi ilmunya.Selamat Mencoba!

File Download Source Code pengolahan Citra Digital memang Tidak saya sertakan diblog saya dengan tujuan untuk membuat pengunjung blog ini mencoba sendiri dirumah sehingga Ilmu yang didapat akan lebih melekat dan bermamfaat. Harap Di Maklumi!

Jika ada pertanyaan Silakan berkomentar. Saya akan menjawab semampu Saya ( Tapi harap Maklum, saya jarang terkoneksi ke Internet)Kunjungi Blog-blog saya untuk belajar lebih banyak tentang Visual Basic:http://bocah-cakil.blogspot.comElektronika00.TKhttp://Anekahobi.wordpress.comMembuat Database Dengan Visual Data Manager pada Visual Basic 6.0

Pembahasan kali ini adalah cara membuat database. Sebenarnya untuk membuat database kita bisa membuat dengan menggunakan Microsoft Access atau menggunakan database MySQL.Tapi sekarang saya akan menjelaskan bagaimana membuat database dengan aplikasi bawaan dari visual basic sendiri, yaitu menggunakan Visual Data Manager.

oke kita mulai saja pembahasannya dan ikuti langkah-langkah berikut ini...^_^

1. Langkah pertama dan wajib dilakukan adalah buka dulu aplikasi Visual Basic nya.

2. Kemudian klik menu Add-Ins dan pilih Visual Data Manager. . .

3. Setelah muncul jendela VisData, klik pada File > New > Microsoft Access > Version 7.0 MDB, setelah itu simpan nama database sesuai keinginan, misalnya DBLatihan.

4. Selanjutnya klik kanan dimana saja pada tab database windows lalu pilih New Table, kemudian akan muncul form table structure, isikan nama tabel yang akan dibuat di Table Name, kemudian buat field dalam tabel dengan mengklik tombol Add Field, lalu inputkan nama field, type, dan size dari field yang ingin dibuat (sesuaikan type dan size dengan field yang dibuat).

5. Setelah Membuat tabel dan mengisi fieldnya, langkah selanjutnya klik Build The Table pada Table Structure.Source : http://fadilcrows.blogspot.com/Simulasi Pembacaan Image Plat Nomor Kendaraan dengan Bantuan Delphi 7 dan Neural network.Simulasi Pembacaan Image Plat Nomor Kendaraan dengan Bantuan Delphi 7 dan Neural network.TUGAS UTS FISIKA KOMPUTASI

SYAMSUDIN080913001PROGRAM STUDI S-1 FISIKADEPARTEMEN FISIKAFAKULTAS SAINS DAN TEKNOLOGIUNIVERSITAS AIRLANGGA2012JUDULSimulasi Pembacaan Image Plat Nomor Kendaraan dengan Bantuan Delphi 7 dan Neural network.Non linier programming.AbstrakSyamsudin 080913001. Simulasi Pembacaan Image Plat Nomor Kendaraan dengan Bantuan Delphi 7 dan Neural network. Jurusan S1-fisika Fakultas Sains dan Teknologi Universitas Airlangga.Pada Umumnya sistem pencatatan plat nomer mobil atau plat nomor motor yang dilakukan di tempat masuk parkir masih dilakukan secara konvensional, yaitu dengan pencatatan manual plat nomer kendaraan yang dilakukan oleh kasir pada media karcis. Hal yang konvensional ini masih banyak yang dipakai di pintu keluar masuk kendaraan salah satunya di pintu masuk atau keluar jalan tool, yang terbaru saat ini mulai digunakan media kamera dan komputer namun tetap saja pencatatan plat nomer kendaraan masih dilakukan secara manual oleh kasir, dengan melakukan pencatatan yang kontinou, pada suatu saat tidak menuntut kemungkinan akan timbul suatu kejenuhan yang akan mempengaruhi konsentrasi kasir dalam melakukan pencatatan plat nomer kendaraan yang masuk dan keluar pintu.Dari hal tersebut dirancanglah sebuah sistem untuk mendeteksi dan membaca plat nomer kendaraan dengan menggunakan metode actificial intelligion (AI). Dalam system ini juga terdapat operasi pengambilan gambar kendaraan oleh suatu kamera, gambar tersebut akan masuk dan dibaca oleh suatu komputer dan juga operasi cropping plat nomor yang dilakukan oleh suatu program dengan menggunakan bantuan Delphi 7 sebagai pendukung dari metode mendeteksi posisi plat nomer dengan metode actificial intelligion. Operasi pengambilan gambar oleh kamera berfungsi untuk mendapatkan image mobil yang didalam nya terdapat plat nomor kendaraan, gambar yang telah ditangkap oleh kamera diinputkan dalam computer, gambar yang masuk dalam computer akan di deteksi oleh software dengan bantuan Delphi 7 yang khusus mengambil image yang masuk dalam computer, kemudian dilakukan proses cropping plat nomor kendaraan yang bertujuan hanya mendapatkan plat nomor kendaraan. Menghilangkan nois-nois yang berupa warna warna disekeliling plat nomor, sehingga didapatkan nya plat nomor yang siap untuk dilakukan proses actificial intelligion untuk membaca, menterjemahkan dan akhirnya merubah dari bentuk image plat motor menjadi teks atau karakter. Tingkat keberhasilan sistem pembacaan plat nomer motor adalah 75% sampai 100% dari 20 sample plat nomor yang diberikan oleh program actificial intelligion pendeteksi plat nomor dengan karakter teks plat nomor kendaraan yang berbeda-beda dan tempat plat nomor kendaraan yang berbeda-beda pula.Kunci : kamera, proses cropping oleh software dengan bantuan Delphi 7, pembacaan plat nomor kendaraan oleh actificial intelligion (neural network).PENDAHULUAN1.1 Latar BelakangPemanfaatan teknologi digital pada bidang pengolahan citra sampai pendeteksian image prosesing sudah semakin berkembang, hal ini dapat dilihat dengan banyaknya software atau perangkat lunak dalam bidang pengolahan citra, mendeteksi citra dan pembacaan apa yang ada dalam image tersebut. Pengolahan citra secara digital adalah memproses suatu citra sehingga menghasilkan citra lain yang lebih baik kualitasnya. Dalam proses perbaikan citra terdapat berbagai metode di antaranya coding, scalling, sampling, filtering, cropping, pembacaan image dan metode yang lainnya.Pembacaan citra digital atau bisa di spesifikasikan untuk membaca plat nomor kendaraan dapat dilakukan dengan memperoleh image Citra digital terlebih dahulu kemudian akan di deteksi dan di crop oleh software dan pada akhirnya hasil cropping tersebut di serahkan ke neural network untuk dlakukan pembacaan plat nomor kendaraan. Citra digital dapat diperoleh melalui scanner, kamera digital dan alat-alat lain yang berfungsi untuk capture citra. Pada saat proses capture (pengambilan gambar), ada beberapa gangguan yang mungkin terjadi, seperti kamera tidak fokus atau munculnya bintik-bintik yang bisa jadi disebabkan oleh proses capture yang tidak sempurna. Setiap gangguan pada citra dinamakan dengan noise. Noise pada citra tidak hanya terjadi karena ketidak-sempurnaan dalam proses capture, tetapi bisa juga disebabkan oleh kotoran-kotoran yang terjadi pada citra, oleh karena itu citra yang memiliki noise perlu diadakan pemrosesan melalui pengolahan citra agar dapat diperoleh citra yang kualitasnya lebih baik dan akn lebih mudah diterjemahkan oleh neural network untuk pemcaan plat nomor, sehingga kesalahan pembacaan neural network akan lebih kecil.Noise yang terdapat pada citra digital dapat dikurangi atau dihilangkan dengan berbagai macam metode, metode-metode yang sering digunakan antara lain dengan metode median filter. Median filter adalah teknik mereduksi noise dengan cara mengganti piksel noise dengan nilai median atau nilai tengah dari piksel-piksel tetangganya, dan piksel itu sendiri. Filter median sangat efektif untuk menghilangkan noise jenis salt and peper dan juga dapat mempertahankan detail citra karena tidak tergantung dengan nilai-nilai yang berbeda dengan nilai-nilai yang umum dalam lingkungannya. Selain median filter terdapat metode lain yaitu Gaussian filter. Gaussian filter adalah suatu filter dengan nilai pembobotan pada setiap piksel dipilih berdasarkan bentuk fungsi Gaussian. Filter ini sangat baik dan sering digunakan untuk menghilangkan noise yang bersifat sebaran normal, yang banyak dijumpai pada citra hasil proses digitalisasi menggunakan kamera, hal ini terjadi karena merupakan fenomena alamiah akibat dari sifat pantulan cahaya dan kepekaan sensor cahaya pada kamera itu sendiri. Selain metode-metode di atas terdapat berbagai macam metode yang sering digunakan untuk menghilangkan noise, namun pada tugas akhir ini akan diteliti menggunakan metode bandpass dan bandstop untuk mereduksi noise karena metode ini akan menghasilkan citra yang lebih baik dimana efek blur yang dihasilkan lebih kecil dibandingkan dengan metode Gaussian filter sehingga citra hasil akan tampak lebih baik. Dengan cara seperti inilah untuk memperkecil permasalahan yang akan dihadapi oleh neural network untuk membaca dan menterjemahkan dari image menjadi teks. Yaitu plat nomor kendaraan. Karena neural network sendiri akan bisa bekerja dengan baik jika disuguhkan pada image yang simple tanpa banyak noise. Dan hal inilah yang akan mempercepat kinerja neural network. karena proyek ini di buat untuk pembacaan plat nomor kendaraan dengan kecepatan dan ketelitian pembacaan plat nomor kendaraan yang sangat tinggi.1.2 Perumusan MasalahBerdasarkan latar belakang di atas, dapat dirumuskan permasalahan yaitu bagaimana membuat suatu perangkat lunak pengolahan citra dengan metode cropping dan mengurangi noise untuk mendapatkan citra plat nomor kendaraan yang simple dengan bantuan Delphi 7, image tersebut untuk diserahkan dan dibaca oleh neural netwok (actificial intelligion).1.3 Batasan MasalahPembuatan software, dibuat sesuai dengan tujuannya yaitu membaca image yang telah di filtter, penghilangan noise dan cropping image plat nomor kendaraan oleh neural network, adapun batasan masalahnya adalah sebagai berikut : Capture image dengan dengan camera. Teknik filtering yang digunakan adalah bandpass dan bandstop. image yang diolah dalam program menggunakan format BMP. Pemasukan nilai batas atas dan batas bawah di antara 0 sampai 255. Pengurangan noise yang terdapat dalam image. Dilakukan nya cropping untuk mendapatkan image plat nomor. Kemampuan yang dimiliki program adalah pemanggilan file, menyimpan file dan melakukan pengolahan citra dengan filter bandpass dan bandstop. Image yang telah di olah diserahkan ke neural network untuk pembacaan plat nomor kendaraan. Pembuatan program menggunakan Borland Delphi 7.0 dan neural network (actificial intelligion)1.4 TujuanTujuan dari tugas akhir ini adalah membaca plat nomor kendaraan dengan valid1.5 Manfaat PenelitianManfaat yang diharapkan dalam penelitian ini adalah kemudahan dalam pembacaan plat nomor yang masuk dan keluar dari suatu area yang membutuhkan informasi dari plat nomor kendaraan dengan menggunakan teknologi informatika.TINJAUAN PUSTAKA2.1. SISTEM INFORMASISistem informasi pada hakekatnya merupakan suatu sistem yang memiliki subsistem-subsistem untuk menghasilkan informasi. Terdapat dua kelompok pendekatan dalam mendefinisikan sistem, yaitu yang menekankan pada prosedurnya dan yang menekankan pada komponen atau elemennya. Jerry Fitz Gerald mendefinisikan sistem lebih menekankan pada prosedur yaitu suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu.Gordon B Davis mendefinisikan sistem lebih menekankan pada elemen atau komponenenya yaitu kumpulan elemen elemen yang salang berinteraksi untuk mencapai suatu tujuan tertentu (Jogianto, 2001). Secara umum system adalah sekelompok elemen-elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan (Raymond Mc Leod, 1996).Gardy Booch dan James Rumbaugh (1994) sepakat bergabung mengembangkan proses standar tunggal dalam metode berorientasi objek. Tahun 1995, Ivar Jacobson membangun bahasa pemodelan berorientasi objek standar yang dikenal dengan nama Unified Modeling Language (UML). Unified Modeling Language (UML) merupakan sistem arsitektur yang bekerja dalam objek oriented analisis design dengan satu bahasa yang konsisten untuk menentukan, visualisasi, kontruksi dan mendokumentasikan artifacts yang terdapat dari sistem software. Pada prinsipnya semua pakar mendefinisikan system tidak lepas dari komponen atau elemen-elemen yang membentuk system.2.1 Rekayasa Perangkat LunakPerangkat lunak adalah1. Instruksi atau program computer yang bila dieksekusi dapat menjalankan fungsi tertentu.2. Struktur data yang dapat membuat program manipulasi informasi.3. Dokumen yang menjelaskan operasi dan penggunaan program. (Pressman, 2000)Menurut Fritz, Gerald, Jerry, Tahun 1981 :Rekayasa Perangkat Lunak adalah pengembangan dan penggunaan prinsip pengembangan suara untuk memperoleh perangkat lunak secara ekonomis yang reliable dan bekerja secara efisien pada mesin nyata.Menurut IEEE (Institute of Electrical and Electronik Engineers) :Rekayasa Perangkat Lunak adalah aplikasi dari rancangan yang sistematik, berdisiplin dan quantifiable (dapat diukur) terhadap pengembangan, operasi dan perawatan perangkat lunak.Di dalam merekayasa perangkat lunak terdapat tujuan yang hendak dicapai atau diinginkan yaitu bagaimana menghasilkan produk perangkat lunak yang baik, yang dimaksud dengan lebih baik adalah perangkat lunak yang mudah di gunakan, dirawat dapat diandalkan, bekerja secara efisien dan mempunyai antarmuka pemakai yang baik dan juga di tinjau dari segi biaya yang ekonomis dan efisien.Perangkat lunak memiliki karakteristik yang berupa elemen logika dan bukan merupakan elemen fisik. Dengan demikian, perangkat lunak memiliki cirri berbeda dengan perangkat keras, menurut pressman 2000 karakteristik rekayasa perangkat lunak adalah sebagai berikut :a) Perangkat lunak terciptakan adanya pengembanganb) Perangkat lunak tidak akan menjadi "kuno" ( tidak dipakai lagi )c) Kebanyakan perangkat lunak dibuat secara khusus untuk tujuan tertentu dari pada disusun dengan komponen yang ada. Perangkat lunak memiliki yang sering disebut "waterfall mode" atau siklus klasik, yang meliputi urutan sistematika dalam rangka pengembangan perangkat lunak. Rekayasa sistem dibutuhkan karena perangkat lunak selalu menjadi bagian dari sebuah sistem yang lebih besar. Hal ini dimulai dengan melakukukan penyusunan terhadap kebutuhan-kebutuhan tersebut ke dalam perangkat lunak. Pandangan terhadap sistem ini diperlukan ketika perangkat lunak harus dihubungkan dengan elemen lain seperti hardware dan database. rekayasa sistem meliputi pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil desain dan analisis tingkat atas.1. Tahap Analisis (Analysis Requirement)Analisis kebutuhan perangkat lunak merupakan proses pengumpulan kebutuhan yang dikhususkan pada perangkat lunak, untuk memahami ruang lingkup informasi perangkat lunak tersebut seperti fungsi-fungsi yang dibutuhkan, cara kerja, dan antarmuka (interface). Kebutuhan akan sistem ini didokumentasikan dan ditinjau kembali bersama user atau pemakai perangkat lunak.1. Tahap Desain (Desain)Desain perangkat lunak merupakan proses langkah-langkah yang dipusatkan pada empat atribut program yang berbeda, yaitu struktur data, arsitektur perangkat lunak, perincian prosedur dan karakteristik antarmuka. Proses desain menerjemahkan kebutuhan ke dalam perangkat lunak yang dapat diperkirakan untuk kualitas sebelum dimulai pengkodean. Desain juga didokumentasikan dan menjadi bagian dari konfigurasi perangkat lunak.1. Tahap Pengkodean (Coding)Tahap pengkodean bertujuan untuk menerjemahkan desain ke dalam bentuk bahasa pemrograman yang dapat di jalankan oleh mesin khususnya computer.1. Tahap Uji Coba (Testing)Proses uji coba dititik beratkan pada logika internal perangkat lunak, untuk menjamin bahwa semua perintah telah dicoba. Dan fungsi-fungi eksternal, uji coba dilakukan untuk menemukan kesalahan (error), serta memastikan bahwa dengan input yang didefinisikan akan menghasilkan output yang sesuai dengan keinginan user.1. Pemeliharaan (Maintenance)Pada tahap ini, perangkat lunak akan mengalami perubahan-perubahan setelah digunakan. Hal ini dapat terjadi pada saat di temukannya kesalahan, proses adaptasi perangkat lunak pada sistem operasi dan perangkat lunak lainnyayang dapat menimbulkan kesalahan. Pemeliharaan perangkat lunak menggunakan kembali setiap langkah daur hidup (life cycle) yang terdahulu untuk sebuah program yang sudah ada. Hal ini lebih baik daripada membuat suatu program baru lagi. Di dalam permodelan suatu sistem memiliki alat bantu untuk menggambarkan suatu diagram aliran instruksi yang berisi serangkaian simbol yang menunjukkan secara logika tentang hubungan antar elemenn-elemen yang disebut diagram alir atau flowchart. Diagram alir atau flowchart dapat melukiskan sebuah kagiatan pengolahan informasi yang berkisar tentang konfigurasi komputer sampai tahap rinci dalam program.2.3. SISTEM INFORMASI MASUK KELUARNYA KENDARAANPerkembangan ilmu pengetahuan dan teknologi saat ini telah berkembang dengan sangat pesat. Salah satu bukti nyata dapat kita lihat dari penggunaan sistem komputerisasi dalam segala aktivitas manusia baik dalam hal organisasi, transportasi, komunikasi, produksi maupun pengelolaan administrasi keuangan. Komputerisasi menjadi pilihan utama karena memiliki berbagai macam kelebihan dibandingkan dengan sistem manual, baik dari segi ketelitian, keakuratan dan juga dari segi kecepatan pemprosesan data.Sarana parkir merupakan kebutuhan publik yang dipercaya dapat memberikan kenyamanan bagi pengunjung untuk menitipkan kendaraan mereka didalam area masuk keluar nya kendaraan parkir. Salah satu aspek terpenting bagi public pengguna sarana masuk keluarnya kendaraan. Dengan semakin besarnya banyak kendaraan yang keluar masuk suatu area itu sendiri, maka aspek keamanan tidak mungkin hanya dengan mengandalkan petugas keamanan melainkan perlu untuk mengembangkan suatu sistem otomatis yang terkomputerisasi. Jadi suatu sistem informasi keluar masuknya suatu kendaraan itu sendiri merupakan suatu sistem informasi yang mengenangani segala sesuatu yang berkenaan dengan proses keluar masuk nya kendaraan.2.4 Pengolahan CitraCitra merupakan suatu signal digital dua dimensi yang dapat di observasi oleh sistem visual manusia. Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi obyek, obyek memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata manusia, kamera pemindai (scanner) kamera digital, dan sebagainya, sehingga banyak obyek citra tersebut terekam.Citra digital merupakan suatu larik / array dua dimensi atau suatu matrik yang elemen-elemennya menyatakan tingkat keabuan dari elemen gambar; jadi informasi yang terkandung di dalamnya bersifat diskrit (Arymurthy dan Setiawan, 1992).Pengolahan citra digital adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik (Rinaldi Munir, 2004). Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi masukannya adalah citra dan keluarannya juga citra, namun keluaran mempunyai kualitas yang lebih baik dari pada citra masukan.Terdapat dua jenis citra yaitu citra diam dan citra bergerak. Citra bergerak adalah rangkaian citra diam yang ditampilkan secara beruntun (sekuensial) sehingga memberi kesan pada mata sebagai gambar yang bergerak. Sedangkan citra diam adalah citra yang tidak bergerak.fungsi kontinu menjadi nilai-nilai diskrit disebut pencitraan (imaging) atau digitalisasi. Citra yang dihasilkan inilah yang disebut citra digital(Digital Image), dinyatakan sebagai kumpulan piksel dalam matrik dua dimensi. Pada umumnya citra digital berbentuk empat persegi panjang dan dimensi ukurannya dinyatakan tinggi dikalikan dengan lebar atu lebar dikalikan dengan panjang.2.5 Format File Bitmap (BMP)Format citra yang baku di lingkungan sistem operasi Microsoft Windows adalah file bitmap (BMP). Pada saat ini format BMP kurang begitu populer dan mulai jarang digunakan dibanding format JPG atau GIF, karena file BMP pada umumnya tidak dimampatkan, sehingga ukuran relatif lebih besar dari pada file JPG atau GIF.Terjemahan bebas bitmap adalah pemetaan bit. Artinya nilai intensitas piksel di dalam citra dipetakan ke sejumlah bit tertentu. Peta bit umumnya adalah 8, yang berarti setiap piksel panjangnya 8 bit. Delapan bit ini mempresentasikan nilai intensitas piksel. Dengan demikian ada sebanyak 28 =256 derajat keabuan, mulai dari 0 (00000000) sampai 255 (11111111). Setiap berkas bitmap terdiri atas header berkas, header bitmap, informasi palet dan data bitmap. Header adalah data yang terdapat pada awal bagian berkas citra.Terdapat tiga macam citra dalam format BMP, yaitu citra biner, citra berwarna dan citra hitam-puth (grayscale). Citra biner hanya memiliki dua nilai keabuan 0 dan 1. Oleh kerena itu 1 bit telah cukup untuk mempresentasikan nilai piksel. Citra berwarna adalah citra yang lebih umum. Warna yang terlihat di dalam citra bitmap merupakan kombinasi dari tiga komponen warna, yaitu : R (Red), G (Green) dan B (Blue). Kombinasi dari tiga warna RGB tersebut menghasilkan warna yang khas untuk piksel yang bersangkutan. Pada citra 256 warna, setiap piksel memiliki panjang 8-bit, akan tetapi komponen RGBnya disimpan dalam tabel RGB yang disebut palet. Pada tabel 2.5 berikut akan memperlihatkan panjang informasi palet untuk setiap versi bitmap, masing-masing untuk citra 16 warna, 256 warna dan 16,7 juta warna. Berkas citra 24-bit tidak mempunyai palet RGB, karena langsung diuraikan ke dalam data bitmap. Informasi palet warna terletak sesudah header bitmap. Informasi palet warna dinyatakan dalam satu tabel RGB. Setiap entry pada tabel terdiri atas tiga buah field yaitu, R (Red), G (Green), dan B (Blue). Data bitmap diletakan sesudah informasi palet.Format citra 8-bit dapat dilihat pada gambar 2.7. Format citra 4-bit (16 warna), hampir sama dengan format citra 8-bit. Pada citra 4-bit dan citra 8-bit, warna suatu piksel diacu dari tabel informasi palet entry ke-k (k merupakan nilai rentang 0-15 untuk citra 16 warna dan 0-155 untuk citra 256 warna). Sebagai contoh pada gambar 2.6, piksel pertama bernilai 2, warna piksel pertama ini ditentukan oleh komponen RGB pada palet warna entry ke-2, yaitu R=14, G=13 dan B=16.piksel kedua serupa dengan piksel pertama. Piksel ketiga bernilai 1, warna ditentukan oleh komponen RGB pada palet warna entry ke-1, yaitu R=20, G=45 dan B=24. Demikian seterusnya untuk piksel-piksel lainnya. Khusus untuk citra hitam-putih 8-bit, komponen R,G dan B suatu piksel bernilai sama dengan data bitmap piksel tersebut. Jadi piksel dengan nilai data bitmap 129, memiliki nilai R=129, G=129 dan B=129.2.6 Pemrograman Borland Delphi 7Delphi berasal dari bahasa pemrograman yang cukup terkenal, yaitu bahasa pascal. Bahasa pascal diciptakan pada tahun 1971 oleh ilmuwan dari swiss, yaitu Niklaus Wirth. Namapascal diambil dari ahli matematika dan filsafat Perancis, yaitu Blasie Pascal (1623-1622).Karena pemrograman windows dengan turbo pascal masih dirasa cukup sulit, maka sejak tahun 1993 Borland International mengembangkan bahasa pascal yang bersifat visual. Hasil dari pengembangan ini adalah dirilisnya Delphi 1 pada tahun 1995. Perkembangan Delphi tidak berhenti sampai di situ. Pada tahun berikutnya 1996, Borland International merilis Delphi 2 untuk windows 95/NT. Dan kemudian dalam tahun-tahun berikutnya, Borland International merilis beberapa versi pengembangan Delphi yang memiliki tambahan fitur baru dibandingkan dengan versi sebelumnya.2.7 Kelebihan dari Delphi1. Komunitas pengguna yang besar pada Usenet maupun web.1. Dapat mengkompilasi menjadi single executable, memudahkan distribusi dan meminimalisir masalah yang terkait dengan versioning.2. Banyaknya dukungan dari pihak ketiga terhadap VCL (biasanya tersedia berikut source codenya) ataupun tools pendukung lainnya (dokumentasi, tool debugging).3. Optimasi kompiler yang cukup cepat.4. Mendukung multiple platform dari source code yang sama2.8 Kekurangan dari Delphi1. Partial single vendor lock-in (Borland dapat menetapkan standar bahasa, kompatibilitas yang harus mengikutinya).2. Terbatasnya kamampuan portabilitas antar-platform OS (sebelum ada kylix).3. Akses pada platform dan library pihak ketiga membutuhkan file-file header yang diterjemahkan ke dalam bahasa pascal.4. Dokumentasi atas platform dan teknik-teknik yang menyertainya sulit ditemukan dalam bahasa pascal (contoh akses COM dan Win32)BAB IIIPERANCANGAN DAN DESAIN SISTEM3.1. DESKRIPSI SISTEMPada bab III ini akan dijelaskan software bisa membaca plat nomor kendaraan (mobil atau motor). Tujuan dari pembuatan software ini yang dengan bantuan Delphi 7 dan neural network adalah untuk membaca dan menterjemahkan dari image plat motor menjadi sebuah karakter. Pada awalnya pengguna memasukkan input data berupa immage. image masukan adalah image yang sudah diolah melalui pemfilteran, pengurangan noise dan cropping image. Sehingga di dapatkan image yang sempurna dengan format bitmap grayscale karena sistem hanya dibatasi untuk memproses citra bitmap grayscale.dengan grayscale ini bertujuan agar warna dari ketiga warna yang ada di jadikan satu warna.Flowchart berikut merupakan implementasi dari perubahan bentuk image plat motor menjadi sebuah karakter yang melalui proses penegasian kemudian dilanjutkan dengan proses croping citra dan terakhir dilakukan proses get image chars untuk merubah sebuah image plat motor menjadi sebuah karakter.form kali ini sistem akan meminta untuk memasukkan citra dengan format berkas bitmat grescale, yang kemudian akan dinegasi, setelah itu dicroping dan yang terahir dilakukan proses get image chars yang hasil akhirnya berupa sebuah teks atau karakter.3.3. DESAIN SISTEMPada subbab ini akan dijelaskan mengenai desain aplikasi sistem untuk implementasi output. Desain aplikasi ini meliputi desain data, algoritma yang digunakan dalam sistem yang digambarkan dengan flowchart dan desain proses. Desain data berisikan penjelasan data yang diperlukan untuk dapat menerapkan metode negasi pada citra plat nomor polisi kendaraan bermotor. Desain data meliputi data masukan, data selama proses dan data keluaran. Desain proses antara lain menjelaskan tentang proses negasi pada citra plat nomor polisi kendaraan bermotor, yang selanjutnya dilakuka proses croping dan yang terakhir yakni proses get image chars yang hasil akhirnya akan berupa sebuah teks atau karakter dari sebuah citra plat nomor polisi kendaraan bermotor.3.2. Desain DataData yang digunakan untuk implementasi perangkat lunak ini dibagi menjadi tiga bagian utama, yaitu data masukan, data selama proses dan data keluaran.1. Data MasukanData masukan adalah data yang digunakan selama proses perubahan citra plat nomor polisi kendaraan bermotor menjadi sebuah teks atau karakter. Data masukan yang pertama dari pengguna adalah arsip citra yang dipilih oleh pengguna. Pada sistem ini citra yang dimasukkan berupa arsip citra grayscale dengan format .bmp. 2. Data Selama ProsesPada tahapan proses negasi citra, dihasilkn citra yang telah dinegasikan yang kemudian citra tersebut diproses lagi dengan proses croping dengan tujuan membuang bagian-bagian yang sudah tidak diperlukan lagi.Setelah melewati dua proses tersebut maka pada tahapan terakhir dilakukan proses get image chars yang didalamnya juga terdapat proses penghilangan nois, kemudian hasil akhir yang didapatkan akan berupa sebuah teks atau karakter yang didapatkan dari sebuah citra plat nomor polisi kendaraan bermotor.3. Data KeluaranData keluaran yang dihasilkan dari serngkaian proses diatas adalah berupa teks atau karakter yang didapatkan dari sebuah citra plat nomor polisi kendaraan bermotor dengan format font berupa arial.3.3 Sintak dari Pembacaan Plat Nomor Kendaraanunit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ExtDlgs, TeeProcs, TeEngine, Chart, Series;type TForm1 = class(TForm) Button1: TButton; PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; TabSheet4: TTabSheet; TabSheet5: TTabSheet; TabSheet6: TTabSheet; TabSheet7: TTabSheet; IOriginal: TImage; IMerah: TImage; IHijau: TImage; IBiru: TImage; IGC1: TImage; IGC2: TImage; IGC3: TImage; tgyuguhju: TTabSheet; IGC: TImage; OpenPictureDialog1: TOpenPictureDialog; Chart1: TChart; Series1: TLineSeries; Chart2: TChart; Chart3: TChart; Series2: TLineSeries; Series3: TLineSeries; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; IHasil: TImage; Label6: TLabel; procedure Button1Click(Sender: TObject); procedure IGC3MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure IGC1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure IGC2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure IOriginalMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end;type TRGB32 = packed record B,G,R,A: Byte; end; TRGB32Array = packed array[0..MaxInt div SizeOf(TRGB32)-1] of TRGB32; PRGB32Array = ^TRGB32Array;var Form1: TForm1;implementationuses Types;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var y,x,panjang,lebar : Integer; LineGC31,LineGC32,LineGC33,LineGC34,LineGC35,LineGC36,LineGC37,LineGC38,LineGC39,LineGC310,LineGC311,LineGC312,LineGC313, LineOriginal,LineMerah,LineBiru,LineHijau,LineGC1,LineGC2,LineGC3,LineIGC: PRGB32Array; jumlahGC1,jumlahGC2,jumlahGC3,K,n:integer; hajarhitamGC3,hajarputihGC3,lebarhitam,itungan,jumlahGC3sebelumnya:integer; ilang,bener:boolean; rerataX:real; kotak:TRect; HasilBMP:TBitmap;begin if (OpenPictureDialog1.Execute)then begin //membuat Image dengan format 32 bit IOriginal.Picture.LoadFromFile(OpenPictureDialog1.FileName); OpenPictureDialog1.Filter:='BMP files (*.bmp)|*.BMP|';// mendefinisikan file khusus berjenis .BMP IOriginal.Picture.Bitmap.PixelFormat := pf32bit; IMerah.Picture.Bitmap.PixelFormat := pf32bit; IBiru.Picture.Bitmap.PixelFormat := pf32bit; IHijau.Picture.Bitmap.PixelFormat := pf32bit; IGC1.Picture.Bitmap.PixelFormat := pf32bit; IGC2.Picture.Bitmap.PixelFormat := pf32bit; IGC3.Picture.Bitmap.PixelFormat := pf32bit; IGC.Picture.Bitmap.PixelFormat := pf32bit; //mendefinisikan gambar panjang dan lebar yang di analisa panjang := IOriginal.Width; lebar := IOriginal.Height; //mengisi image yang original ke Imerah sampai IGC IMerah.Picture.Assign(IOriginal.Picture); IHijau.Picture.Assign(IOriginal.Picture); IBiru.Picture.Assign(IOriginal.Picture); IGC1.Picture.Assign(IOriginal.Picture); IGC2.Picture.Assign(IOriginal.Picture); IGC3.Picture.Assign(IOriginal.Picture); IGC.Picture.Assign(IOriginal.Picture); //membersihkan semua kondisi clear Series1.Clear; Series2.Clear; Series3.Clear; //menganalisa for y := 0 to lebar - 1 do //menganalisa looping dari Y =0 - Y = lebar -1 begin LineOriginal := IOriginal.Picture.Bitmap.ScanLine[y];//mengambil gambar Iorigigal pada Y LineMerah := IMerah.Picture.Bitmap.ScanLine[y]; LineBiru := IBiru.Picture.Bitmap.ScanLine[y]; LineHijau := IHijau.Picture.Bitmap.ScanLine[y]; LineGC1 := IGC1.Picture.Bitmap.ScanLine[y]; LineGC2 := IGC2.Picture.Bitmap.ScanLine[y]; LineGC3 := IGC3.Picture.Bitmap.ScanLine[y]; LineIGC := IGC.Picture.Bitmap.ScanLine[y]; //berapa banyak jumlah warna hitam pada jumlahGC1,jumlahGC2,jumlahGC3 dimulai dari 0 jumlahGC1:=0; jumlahGC2:=0; jumlahGC3:=0; //untuk mehilangkan noise hitam dan putih hajarhitamGC3:=0; hajarputihGC3:=0; ilang:=False; //Menganalisa nilai X dari 0 sampai panjang 1 pixel for x := 0 to panjang -1 do begin LineMerah[x].R:=LineOriginal[x].R;//membuat gambar original memjadi warna merah LineMerah[x].G:=0; LineMerah[x].B:=0; LineHijau[x].R:=0; LineHijau[x].G:=LineOriginal[x].G;//membuat gambar original memjadi warna Hijau LineHijau[x].B:=0; LineBiru[x].R:=0; LineBiru[x].G:=0; LineBiru[x].B:=LineOriginal[x].B;//membuat gambar original memjadi warna Biru // if (LineOriginal[x].R