BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF...

20
BAB 2 LANDASAN TEORI 2.1 Gambar Gambar atau citra (image) adalah representasi dari suatu objek nyata baik dalam bentuk dua dimensi ataupun tiga dimensi menjadi bentuk gambar digital yang dimengerti oleh komputer (Anil K.Jain, 1989, p2). Gambar dapat disimpan di komputer dalam berbagai format. Dua tipe gambar yang fundamental adalah vektor dan raster (bitmap). Gambar vektor disimpan sebagai rangkaian instruksi-instruksi untuk menggambar objek, sedangkan gambar raster disimpan sebagai elemen-elemen objek berupa piksel. Gambar 2.1 Gambar logo pada format raster dan vektor Melihat hasil pada gambar 2.1 mungkin terlihat bahwa gambar vektor lebih baik daripada raster, namun hal ini terjadi karena gambar logo masih merupakan gambar yang sederhana, lain halnya jika digunakan gambar yang lebih kompleks.

Transcript of BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF...

Page 1: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

BAB 2

LANDASAN TEORI

2.1 Gambar

Gambar atau citra (image) adalah representasi dari suatu objek nyata baik dalam

bentuk dua dimensi ataupun tiga dimensi menjadi bentuk gambar digital yang

dimengerti oleh komputer (Anil K.Jain, 1989, p2). Gambar dapat disimpan di komputer

dalam berbagai format. Dua tipe gambar yang fundamental adalah vektor dan raster

(bitmap). Gambar vektor disimpan sebagai rangkaian instruksi-instruksi untuk

menggambar objek, sedangkan gambar raster disimpan sebagai elemen-elemen objek

berupa piksel.

Gambar 2.1 Gambar logo pada format raster dan vektor

Melihat hasil pada gambar 2.1 mungkin terlihat bahwa gambar vektor lebih baik

daripada raster, namun hal ini terjadi karena gambar logo masih merupakan gambar

yang sederhana, lain halnya jika digunakan gambar yang lebih kompleks.

Page 2: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

7

Gambar 2.2 Gambar gelas kopi pada format raster dan vektor

Pada gambar 2.2 dapat dilihat bahwa penggunaan gambar vektor tidak tepat untuk

gambar-gambar yang kompleks, pada gambar diatas ukuran gambar raster hanya

seperempat dari ukuran gambar vektor. Dapat dibayangkan bila gambar yang digunakan

berupa wajah manusia, hasil dari format vektor akan berukuran sangat besar namun tetap

saja tidak akurat. Karena itulah tiap-tiap format memiliki kelebihan dan kelemahan

masing-masing, gambar vektor lebih baik digunakan untuk gambar-gambar sederhana

seperti logo, font dan semacamnya, sedangkan gambar raster lebih baik digunakan pada

gambar-gambar yang kompleks seperti foto , lukisan, dan semacamnya.

2.2 Gambar raster (Bitmap)

Gambar raster merupakan gambar digital yang tersusun dari sekumpulan titik

penyusun gambar yang disebut piksel (picture-x element). Piksel-piksel penyusun

gambar berkumpul dan bergabung membentuk seperti mozaik kemudian memanipulasi

mata sehingga pada jarak pandang tertentu akan tampak kesan gambar utuh.

Gambar raster bersifat dependent pixel, artinya sangat dipengaruhi oleh banyaknya

piksel penyusun gambar. Semakin banyak piksel-piksel yang menyusun gambar raster,

Page 3: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

8

maka kualitasnya akan semakin baik sehingga gambar terlihat halus. Sebaliknya,

semakin sedikit piksel-piksel yang menyusun suatu gambar, maka kualitasnya akan

semakin kurang sehingga gambar terlihat kasar.

Ukuran gambar (image size) menyatakan ukuran banyaknya pixel penyusun

gambar raster yang dinyatakan dalam matrik 2 dimensi, yaitu (X × Y) Piksel, dimana X

menyatakan ukuran banyaknya piksel perbaris pada arah horizontal sedangkan Y

menyatakan ukuran banyaknya piksel perkolom pada arah vertikal. Sebagai contoh,

gambar raster berukuran 800×600 piksel, terdiri dari 800×600 piksel = 480.000 piksel,

dengan susunan 800 piksel setiap baris pada arah horizontal dan 600 piksel setiap kolom

pada arah vertikal.

2.3 Format warna gambar digital

Gambar digital umumnya direpresentasikan dalam format warna RGB (merah,

hijau, biru ). Setiap piksel diwakilkan oleh gabungan dari ketiga warna ini, yang mana

masing-masing bernilai antara 0 sampai dengan 255. Sebagai contoh, warna ungu

dinyatakan dengan nilai 255 untuk merah(R), 0 untuk hijau(G), dan 255 untuk biru(B).

Gambar 2.3 RGB color space

Page 4: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

9

Gambar digital juga dapat direpresentasikan dalam format monokrom atau sering

disebut grayscale, pada format ini gambar disimpan dalam 8 bit integer yang

memberikan 256 kemungkinan yang mana dimulai dari level 0 sampai dengan 255 ( 0

untuk hitam , 255 untuk putih, dan nilai diantaranya untuk derajat keabuan).

Gambar 2.4 Grayscale level

Dalam beberapa kasus, gambar digital juga sering diproses menjadi format binary,

yang mana pada format ini nilai piksel hanya dapat bernilai 0 atau 1 ( pada skripsi ini

nilai 0 menunjukkan warna putih dan nilai 1 menunjukkan warna hitam ). Format ini

biasanya dipakai untuk menyederhanakan gambar, sehingga lebih mudah dalam

memproses informasi yang diinginkan.

2.4 Mathematical Morphology

Transformasi mathematical morphology banyak didasarkan pada transformasi

geometri. Berikut beberapa transformasi dasar geometri ,

Translasi A oleh x dinotasikan dengan xA dan dirumuskan,

},:{ AauntukxaccAx ∈+==

Gambar 2.5 Translasi

Page 5: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

10

Refleksi B ,dinotasikan dengan B)

, dan didefinisikan sebagai,

},:{ BbuntukbxxB ∈−==)

Gambar 2.6 Refleksi

Terdapat dua transformasi dasar pada morphology, yaitu dilation dan erosion.

Kedua transformasi ini menggunakan sebuah gambar A dan sebuah structuring element

B. Dilation didefinisikan sebagai,

}:{ ∅≠∩=⊕ ABxBA x

)

untuk kasus di mana A adalah persegi panjang dan B adalah circular disk yang terletak

di titik origin, maka transformasi dilation dapat digambarkan sebagai berikut, ( Karena

B simetri maka BB ˆ= )

Gambar 2.7 Gambar A mengalami dilation oleh structuring element B

Page 6: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

11

Erosion didefinisikan sebagai,

}:{ ABxBA x ⊆=Θ

bila A adalah persegi panjang dan B adalah circular disk yang terletak di titik origin,

maka transformasi dilation dapat digambarkan sebagai berikut, ( Karena B simetri maka

BB ˆ= )

Gambar 2.8 Gambar A mengalami erosion oleh structuring element B

Transformasi morphology yang penting dan sering dipakai adalah opening dan

closing, kedua transformasi ini dibentuk dari transformasi dasar, dilation dan erosion.

Opening biasanya digunakan untuk mengeliminasi objek kecil, memperhalus kontur

dalam gambar, ataupun mencari bentuk spesifik di dalam gambar.

Opening A oleh B dinotasikan dengan BA o , dan dirumuskan sebagai,

BBABA ⊕= )( Θo

Page 7: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

12

Gambar 2.9 Transformasi Opening

Untuk lebih jelasnya, pada gambar 2.9 diperlihatkan hasil opening (yang diperlihatkan

dengan garis putus-putus tebal) terhadap gambar A (garis tidak putus-putus). Structuring

element yang dipakai (B) adalah sebuah circular disk dan garis putus-putus tipis

memperlihatkan hasil erosion gambar A oleh B.

Closing biasanya dipakai untuk mengeliminasi lubang kecil, dan menyatukan gap kecil.

Closing A oleh B dinotasikan A • B , dan dirumuskan sebagai,

BBABA Θ)( ⊕=•

Gambar 2.10 Transformasi Closing

pada gambar 2.10 diperlihatkan hasil closing (yang diperlihatkan dengan garis putus-

putus tebal) terhadap gambar A (garis tidak putus-putus). Structuring element yang

Page 8: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

13

dipakai (B) adalah sebuah circular disk dan garis putus-putus tipis memperlihatkan hasil

dilation gambar A oleh B.

2.5 Background subtraction

Background subtraction adalah proses untuk menemukan objek pada gambar

dengan cara membandingkan gambar yang ada dengan sebuah model latar belakang.

Prosedur background subtraction terdiri dari 3 tahap, yaitu pre-processing, background

modeling, dan foreground detection.

Gambar 2.11 Background subtraction

1- gambar sekarang, 2- background model, 3- hasil background subtraction, 4- hasil

background subtraction setelah threshold

Page 9: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

14

Tahapan dalam Background subtraction :

• Pre-processing

Pada tahap ini data mentah dari kamera (atau input lainnya) diproses menjadi

bentuk yang dapat dimengerti oleh bagian program lain.pada tahapan awal ini

dilakukan noise removal dan eliminasi objek kecil pada gambar agar menjadi lebih

informatif. Eliminasi objek kecil dilakukan dengan menggunakan mathematical

morphology yaitu transformasi Opening.

• Background modeling

Tahap ini bertujuan untuk membentuk model background yang konsisten, namun

tetap dapat beradaptasi dengan perubahan lingkungan yang ada. Model harus dapat

mentoleransi tingkat perubahan lingkungan, namun tetap sensitif dalam mendeteksi

pergerakan dari objek yang relevan. Algoritma background modeling sendiri sangat

banyak, namun pada skripsi ini akan dipakai Approximated Median Filter, karena

proses komputasinya cepat dan hasilnya cukup memuaskan.

• Foreground detection

Pada tahap ini, dilakukan proses ekstraksi foreground dari background. Secara

sederhana hal ini dilakukan dengan cara

crcrcr BIR ,,, −=

R = hasil,

I = gambar saat ini

B = background model

r = baris, c = kolom

Page 10: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

15

Nilai R lalu dibandingkan dengan nilai threshold yang telah ditentukan, jika

lebih besar dari nilai threshold maka piksel di I(r,c) dapat dianggap berbeda dengan

piksel di B(r,c). Nilai threshold adalah semacam nilai untuk mentolerasi error yang

mungkin terjadi, threshold sendiri dipakai untuk mengurangi error yang disebabkan

noise pada gambar digital.

2.6 Median filter

Algoritma ini adalah salah satu algoritma yang sering dipakai pada background

modeling. Background model didapat dengan menggunakan nilai median dari setiap

piksel di semua frame pada buffer.

)),(),...,,((),( 1 yxIyxImedianyxB nttt −−=

Salah satu kelemahan Algoritma ini adalah dibutuhkannya buffer berukuran n untuk

menyimpan gambar yang akan diproses (I) .

2.7 Approximated median filter

Approximated Median Filter adalah algoritma yang dikembangkan oleh

McFarLane dan Schofield. Algoritma ini pada dasarnya memakai teknik median filter,

namun tidak seperti median filter, algoritma ini tidak memerlukan buffer memori

sehingga proses komputasinya lebih cepat dan efektif. Algoritma ini mengkomputasi

nilai dari median dengan cara menambah nilai piksel bila nilainya lebih kecil dari

gambar saat ini dan mengurangi nilai piksel bila nilainya lebih besar dari gambar saat

ini. Hal ini dapat dirumuskan sebagai berikut :

Page 11: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

16

⎩⎨⎧

>−<+

=+ ),(),(1),(),(),(1),(

),(1 nmxnmbuntuknmbnmxnmbuntuknmb

nmbttt

tttt

Hasil estimasi ini pada akhirnya akan konvergen ke nilai median yang sesungguhnya.

2.8 Connected component labeling

Algoritma Connected Component Labeling digunakan untuk melabeli tiap objek

pada gambar binary dengan suatu label unik. Pengelompokan piksel sebagai satu objek

ditentukan dari status ketetanggaan mereka. Sebuah piksel disebut bertetangga dengan

piksel lain apabila piksel tersebut bertetangga langsung dengan piksel lain itu ataupun

piksel lain itu merupakan tetangga dari tetangga piksel tersebut. Kriteria sebuah piksel

merupakan tetangga dari piksel lain dapat berupa 4-connectivity, 6-connectivity ataupun

8-connectivity.

Gambar 2.12 4, 8 dan 6-connectivity

Algoritma connected component labeling berdasarkan banyaknya penelusuran gambar

yang dilakukan dapat dibagi menjadi 3, yaitu one pass, two pass, dan multi pass.

Sedangkan berdasarkan tipe perulangannya dapat dibagi menjadi 2 yaitu, recursive dan

sequential. Algoritma yang digunakan pada program ini berjenis sequential algorithm

dan merupakan two pass. Sedangkan kriteria ketetanggaan yang dipakai adalah 8-

connectivity.

Page 12: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

17

2.9 Component Object Model (COM)

Component object model (COM) adalah sebuah platform untuk komponen

software yang diperkenalkan oleh Microsoft pada tahun 1993. COM digunakan untuk

memberikan kemampuan komunikasi antar komponen dan pembentukan objek dinamis

pada bahasa pemrograman apa saja yang mendukung teknologi ini. Walau COM

diperkenalkan pada tahun 1993, namun Microsoft baru mulai menggunakan nama COM

pada tahun 1997.

Kemampuan inti dari COM adalah kemampuan mengimplementasikan objek yang

independen terhadap bahasa pemrograman, sehingga objek tersebut dapat digunakan

pada environment yang berbeda dengan environment tempat objek diciptakan, bahkan

pada environment dari platform mesin yang berbeda. Selain itu COM juga memudahkan

untuk menggunakan kembali (reuse) objek tanpa harus mengetahui implementasi

internal mereka, hal ini karena COM membuat suatu standar interface yang ketat yang

harus dipenuhi oleh objek.

Walaupun COM telah diimplementasikan pada beberapa platform mesin, namun

COM sebagian besar digunakan oleh Microsoft Windows. COM sendiri tidak lepas dari

beberapa kelemahan, karena itu Microsoft saat ini telah mengeluarkan .NET Framework

yang diharapkan akan dapat menggantikan fungsi COM.

COM object di Windows biasanya disimpan dalam extension “.dll” , sebagai

contoh avicap32.dll, avifil32.dll, user32.dll, dan lain sebagainya.

2.10 DLL Hell

Salah satu kelemahan besar COM adalah lokasi dari setiap komponen disimpan

oleh sistem dalam satu tempat (Windows registry). Karena hanya boleh ada satu versi

Page 13: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

18

dari komponen yang terinstall maka hal ini akan menyebabkan Dll Hell, suatu keadaan

dimana dua atau lebih aplikasi memerlukan versi yang berbeda dari satu komponen yang

sama.

Untuk mengatasi hal ini, pada Windows XP, Microsoft memperkenalkan mode

baru dari registrasi COM object yang disebut “Registration-free COM”. Fasilitas ini

memungkinkan aplikasi yang memerlukan instalasi COM object untuk menyimpan

semua informasi registrasi COM yang diperlukan pada direktori aplikasi itu sendiri,

bukan pada registry global. Sayangnya kemampuan ini hanya dapat dilakukan pada

Windows XP dan versi-versi sesudahnya.

2.11 .NET Framework

Microsoft memulai pengembangan .NET Framework pada akhir tahun 1990,

dengan nama Next Generation Windows Services (NGWS). Pada akhir 2000, baru versi

beta pertama dari .NET 1.0 diterbitkan.

.NET Framework adalah sebuah komponen yang merupakan bagian dari operating

system Microsoft Windows. .NET Framework memiliki library yang besar yang dapat

dipergunakan oleh programmer dan memanajemen eksekusi dari program yang ditulis

menggunakan .NET Framework. Library yang disediakan mencangkup bidang:

• User interface

• Akses data

• Database

• Kriptografi

• Aplikasi Web

Page 14: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

19

• Komunikasi Network , dan banyak lagi

Sedangkan manajemen eksekusi program di kerjakan oleh Common Language

Runtime (CLR). CLR menyediakan suatu virtual machine bagi aplikasi, sehingga

programmer tidak perlu lagi membuat kode spesifik dari sistem yang digunakan oleh

pengguna. Selain itu CLR juga menyediakan servis-servis seperti :

• Mekanisme Sekuritas,

• Manajemen memori, dan

• Exception handling

Jika diteliti CLR mirip sekali dengan Java virtual machine (JVM) milik Sun, keduanya

sama-sama berbasis pada model virtual machine yang menyembunyikan detail dari

hardware komputer dimana aplikasi berjalan. Keduanya juga menggunakan byte-code,

pihak Microsoft menamai milik mereka Common Intermediate Language (CIL)

sedangkan Sun menamainya Java bytecode.

Gambar 2.13 .NET framework stack

Page 15: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

20

2.12 Web camera

Web camera (webcam) adalah sebuah alat yang terhubungkan ke komputer yang

berfungsi untuk mengambil citra dari lensa teleskopik yang terdapat pada alat tersebut.

Citra yang diambil ini kemudian dikirimkan ke komputer melalui kabel USB (Universal

Serial Bus) atau kabel serial dengan kecepatan realtime (kurang lebih 15 frame per

detik). Web camera saat ini dipergunakan secara luas pada aplikasi online video

conference, pemantauan, sebagai kamera digital, dan banyak lagi. Resolusi ( ketajaman)

maksimum citra hasil dari web camera adalah 640 x 480 piksel.

Gambar 2.14 Web camera Logitech

Teknik pengambilan citra dari web camera pada bahasa pemrograman C#

menggunakan kumpulan fungsi-fungsi (API) yang telah disediakan oleh Microsoft

Windows, melalui file “Avicap32.dll”. Berikut beberapa contoh konstanta penting yang

digunakan untuk berkomunikasi dengan COM Object avicap32 :

• WM_CAP_START = 1024

• WM_CAP_STOP = WM_CAP_START + 68

• WM_CAP_COPY = WM_CAP_START + 30

• WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10

• WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 25

Page 16: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

21

• WM_CAP_GRAB_FRAME = WM_CAP_START + 60

• WM_CAP_SET_PREVIEW = WM_CAP_START + 50

• WM_CAP_SET_PREVIEWRATE = WM_CAP_START + 52

Selain konstanta diatas masih ada lagi konstanta-konstanta lainnya, untuk

informasi lebih lanjut disarankan untuk mencari pada dokumentasi online dari avicap32.

Berikut adalah arti penggunaan dari konstanta-konstanta yang telah tertulis diatas :

• WM_CAP_START, berguna untuk menandakan bahwa program akan mulai

menggunakan web camera.

• WM_CAP_STOP, berguna untuk menandakan bahwa program telah selesai

menggunakan web camera.

• WM_CAP_COPY, berguna untuk menyalin gambar yang sedang aktif ke

clipboard.

• WM_CAP_DRIVER_CONNECT, berguna untuk menginisialisasikan hubungan

dengan sebuah web camera.

• WM_CAP_DRIVER_DISCONNECT, berguna untuk memutuskan hubungan

dengan sebuah web camera.

• WM_CAP_GRAB_FRAME, berguna untuk mengambil sebuah gambar pada

web camera.

• WM_CAP_SET_PREVIEW, berguna untuk menandakan bahwa program siap

untuk menampilkan gambar bergerak dari web camera pada tampilan program.

• WM_CAP_SET_PREVIEWRATE, berguna untuk menyatakan kecepatan

tampilan gambar bergerak. Satuan yang biasanya digunakan adalah 15 fps (frame

per second).

Page 17: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

22

Konstanta-konstanta ini nantinya akan dipakai melalui API SendMessage (berasal

dari COM Object user32). Sebagai contoh pada C# pendeklarasian SendMessage dapat

ditulis sebagai berikut :

[DllImport("user32", EntryPoint="SendMessage")] public static extern int SendMessage(int hWnd, uint Msg, int wParam, int lParam);

sedangkan pemakaiannya dapat dilihat pada contoh berikut :

SendMessage(mCapHwnd, WM_CAP_CONNECT, 0, 0);

Dimana mCapHwnd adalah handle untuk capture window pada program

2.13 Video saving

Yang dimaksud dengan video saving disini adalah penyimpanan gambar-gambar

yang diperoleh dari web camera menjadi file video. Pada program yang dibuat

digunakan COM Object “Avifil32.dll”. File video akan disimpan dalam extension “.avi”.

2.14 Format penyimpanan Bitmap

Pada format gambar bitmap, gambar disimpan di Windows tidak dalam bentuk

array 2 dimensi namun dalam bentuk berurutan (sequential). Piksel-piksel disusun mulai

dari piksel-piksel pada baris pertama dan dilanjutkan dengan piksel-piksel pada baris

selanjutnya. Untuk alasan efisiensi maka pada format bitmap, gambar diolah oleh

Windows agar merupakan kelipatan dari 4. Cara pengolahan ini berupa penambahan bit

(padding) pada setiap perpindahan baris pada gambar.

Page 18: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

23

Gambar 2.15 Penyimpanan bitmap pada Windows

Pada format 24 bit bitmap, setiap piksel menempati 3 byte (24 bit) memori, dimana

1 byte (8 bit) pertama digunakan untuk menampung warna biru, byte kedua untuk warna

hijau dan byte ketiga untuk warna merah.

Gambar 2.16 24 bit bitmap

Pada format 32 bit bitmap, setiap piksel menempati 4 byte (32 bit) memori. 3 byte

dipakai sama seperti 24 bit bitmap, yaitu untuk warna biru, hijau dan merah. 1 byte

Page 19: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

24

terakhir dipakai untuk nilai alpha pada piksel. Nilai alpha ini biasanya dipakai sebagai

masking ataupun menunjukkan transparansi dari piksel.

Gambar 2.17 32 bit bitmap

Pada format 8 bit-indexed bitmap, gambar memiliki palette data yang berada

tepat sebelum tempat penyimpanan pixel data. Pada format ini setiap piksel menempati 1

byte (8 bit) memori. Nilai byte ini kemudian akan dipakai untuk merujuk pada warna

yang disimpan pada pallete data.

Gambar 2.18 8 bit-indexed bitmap

2.15 GSM Comm Library

GSM Comm Library adalah sekumpulan komponen yang ditujukan untuk

membantu proses-proses yang berhubungan dengan short message services. GSM

Comm diciptakan oleh Stefan Mayr dan bisa didapatkan secara gratis di

Page 20: BAB 2 LANDASAN TEORI 2.1 Gambar - thesis.binus.ac.idthesis.binus.ac.id/Doc/Bab2/2008-1-00278-MTIF Bab 2.pdf(bitmap). Gambar vektor disimpan sebagai rangkaian ... Melihat hasil pada

25

http://www.scampers.org/steve/sms/ . GSM Comm dapat digunakan secara gratis baik

untuk aplikasi personal maupun komersil, selama komponen aslinya tidak dimodifikasi.

Berikut adalah komponen-komponen dalam GSM Comm :

- PDU Converter ( PDUConverter.dll )

- GSM Communication ( GSMCommunication.dll )

- GSMCommShared ( GSMCommShared.dll )

- GSMCommServer ( GSMCommServer.dll )

- RS232 ( RS232.dll )

GSM Comm yang digunakan pada program skripsi ini merupakan versi 1.11, dan

memerlukan :

- Microsoft's .NET Framework v1.1

- Telepon seluler ataupun modem GSM yang mendukung AT Command, dan

terkoneksi pada port COM.