BAB II
LANDASAN TEORI
2.1 Pengertian Citra
Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang 2 dimensi. Citra yang terlihat merupakan cahaya yang direfleksikan dari sebuah objek. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut dan pantulan cahaya ditangkap oleh alatalat optik, misal mata manusia, kamera, scanner, sensor satelit, dsb, kemudian direkam. Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat : 1. Optik berupa foto 2. Analog berupa sinyal video seperti gambar pada monitor televise 3. digital yang dapat langsung disimpan pada suatu pita magnetic Citra juga dapat dikelompokkan menjadi 2 yaitu : 1. Citra tampak, misalnya foto, gambar, lukisan, apa yang nampak di layer monitor/televisi, hologram,dll. 2. Citra tidak tampak, misalnya data foto / gambar dalam file, citra yang direppresentasikan dalam fungsi matematis (Munir,2004).
2.1.1 Digitalisasi Citra
Citra digital adalah suatu citra f(x,y) yang memiliki koordinat spatial, dan tingkat kecerahan yang diskrit. Citra yang terlihat merupakan cahaya yang direfleksikan dari sebuah objek. Fungsi f(x,y) dapat dilihat sebagai fungsi dengan dua unsur. Unsur yang pertama adalah kekuatan sumber cahaya yang melingkupi pandangan kita terhadap objek
Universitas Sumatera Utara
(illumination), sedangkan unsur yang kedua adalah besarnya cahaya yang direfleksikan oleh objek ke dalam pandangan kita (reflectance components). Keduanya dapat dituliskan sebagai fungsi i(x,y) dan r(x,y) yang digabungkan sebagai perkalian fungsi untuk membentuk fungsi f(x,y). Adapun fungsi tersebut dapat dituliskan sebagai : f(x,y) = i(x,y) * r(x,y dimana 0 < i(x, y) < ∞ dan 0 < r(x, y) < 1 Suatu citra agar bisa diolah komputer digital, maka harus dipresentasikan secara numerik dengan nilai-nilai diskrit. Digitalisasi merupakan representasi citra dari fungsi kontinu menjadi nilai-nilai diskrit. Suatu citra digital berukuran N(tinggi)x M (lebar) dapat dinyatakan sebagai matriks dengan ukuran N x M.
Indeks baris (i) dan indeks kolom (j) menyatakan suatu koordinat titik pada citra, sedangkan f(i,j) merupakan intensitas (derajat keabuan ) pada titik (i,j). Masing-masing elemen pada citra digital disebut image elemen, atau picture elemen (pixel). Maka dapat dikatakan citra yang mempunyai ukuran N x M mempunyai NM pixel. Misalkan suatu citra mempunyai ukuran 256 x 256 pixel, maka apabila direpresentasikan secara numerik melalui suatu matriks yang terdiri dari 256 baris ( indeks 0 sampai 255) dan 256 kolom (indeks dari 0 sampai 255), maka matriksnya dapat diperlihatkan sebagai berikut :
Pixel pertama pada koordinat (0,0) mempunyai nilai intensitas 0, maka warna pixel tersebut adalah hitam, sedangkan pixel kedua pada koordinat (0,1) mempunyai nilai intensitas 124 berarti warnanya antara hitam dan putih.
Universitas Sumatera Utara
Untuk memudahkan implementasi, jumlah terokan biasanya diasumsikan perpangkatan dari dua, N = 2n Dimana, N = jumlah penerokan pada suatu baris / kolom, n = bilangan bulat positif. Misalnya ukuran penerokan 256x256 pixel,128x256 pixel. Pembagian gambar menjadi ukuran tertentu menentukan resolusi (yaitu derajat rincian yang dapat dilihat) spasial yang diperoleh. Semakin tinggi resolusinya yang berarti semakin kecil ukuran pixel (atau semakin banyak jumlah pixelnya), semakin halus gambar yang diperoleh karena informasi yang hilang akibat pengelompokkan derajat keabuan pada penerokan semakin kecil. Langkah selanjutnya setelah proses penerokan adalah kuantisasi. Proses kuantisasi membagi skala keabuan (0,L) menjadi G buah level yang dinyatakan dengan suatu harga bilangan bulat (integer), biasanya G diambil perpangkatan dari 2. G = 2m Dimana, G = derajat keabuan m = bilangan bulat positif
Tabel 2.1 Skala Keabuan
Skala keabuan
Nilai keabuan
Pixel Depth
21 ( 2 nilai )
0,1
1 bit
22 ( 4 nilai )
0 sampai 3
2 bit
24 ( 16 nilai )
0 sampai 15
4 bit
28 (256 nilai )
0 sampai 256
8 bit
Penyimpanan citra digital yang diterok menjadi NxM pixel dan dikuantisasi menjadi G=2m memerlukan memori sebanyak B = N x M x m. Contoh 512x512x8 = 2048.000 bit (Hestiningsih, 2005).
2.1.2 Pembentukan Citra Digital
Universitas Sumatera Utara
Komputer merupakan alat yang beroperasi dalam sistem digital yang menggunakan bit atau byte dalam pengukuran datanya, dan yang terpenting dalam sistem digital adalah sifatnya yang diskrit, bukan kontinu. Hal ini berlawanan dengan citra digital yang sebenarnya merupakan representasi citra asal yang bersifat kontinu. Untuk mengubah citra yang bersifat kontinu diperlukan sebuah cara untuk mengubahnya dalam bentuk data digital. Komputer menggunakan sistem bilangan biner dalam pemecahan masalah ini. Dengan penggunaan sistem bilangan biner ini, citra dapat diproses dalam komputer
dengan
sebelumnya
mengekstrak
informasi
citra
analog
asli
dan
mengirimkannya ke komputer dalam bentuk biner. Proses ini disebut dengan digitisasi. Digitisasi dapat dilakukan oleh alat seperti kamera digital atau scanner. Kedua alat ini selain dapat mengambil atau menangkap sebuah citra, juga dapat bertindak sebagai alat input (masukan) bagi komputer. Alat penangkap citra digital ini dapat menyediakan aliran data biner bagi komputer yang didapatkan dari pembacaan tingkat kecerahan pada sebuah citra asli dalam interval sumbu x dan sumbu y. Citra digital merupakan citra yang tersusun dari piksel diskrit dari tingkat kecerahan dan warna yang telah terkuantisasi. Jadi, pada dasarnya adalah sebuah citra yang memiliki warna dan tingkat kecerahan yang kontinu perlu diubah dalam bentuk informasi warna, tingkat kecerahan, dan sebagainya yang bersifat diskrit untuk dapat menjadi sebuah citra digital. Pada Gambar 2.1 diperlihatkan kurva tingkat kecerahan yang kontinu dengan nilai hitam dan putih yang tidak terbatas (a) dan kurva tingkat kecerahan setelah mengalami kuantisasi dalam 16 tingkatan diskrit (b). Tingkat kecerahan pada Gambar 2.1 (a) yang bersifat kontinu dapat diubah menjadi tingkat kecerahan seperti Gambar 2.1 (b) dengan pembacaan tingkat kecerahan menggunakan interval tertentu pada sumbu x dan y seperti yang telah disebutkan di atas. Pembagian seperti pada pembagian tingkat kecerahan ini juga berlaku untuk warna agar nilai warna dapat menjadi diskrit. (Gonzalez,Woods ,1993)
Universitas Sumatera Utara
(a)
(b)
Gambar 2.1. Pembentukan citra digital (a) Tingkat kecerahan yang kontinu, (b) tingkat kecerahan setelah mengalami kuantisasi 16 tingkatan diskrit.Sumbu f merupakan ukuran frekuensi, dan sumbu t merupakan waktu
2.1.3 Elemen Citra Digital Citra digital mengandung sejumlah elemen- elemen dasar. Elemen – elemen dasar tersebut dimanipulasi dalam pengolahan citra dan dieksploitasi lebih lanjut dalam computer vision. Elemen – elemen dasar yang penting antaranya adalah : 1. Kecerahan (brightness) Kecerahan adalah kata lain untuk intensitas cahaya. Kecerahan pada sebuah titik (pixel) di dalam citra bukanlah intensitas yang riil, tetapi sebenarnya adalah intensitas rata – rata dari suatu area yang melingkupinya. Sistem visual manusia mampu menyesuaikan dirinya dengan tingkat kecerahan (brightness level) mulai dari yang paling rendah sampai yang paling tinggi dengan jangkauan sebesar 1010.
2. Kontras (contras)
Universitas Sumatera Utara
Kontras menyatakan sebaran terang (lighteness) dan gelap (darkness) di dalam sebuah gambar. Citra dengan kontras rendah dicirikan oleh sebagian besar komposisi citranya adalah terang atau sebagian besar gelap. Pada citra dengan kontras yang baik, komposisi gelap dan terang tersebar secara merata. 3. Kontur (contour) Kontur adalah keadaan yang ditimbulkan oleh perubahan intensitas pada pixel – pixel yang bertetangga. Karena adanya perubahan intensitas inilah mata kita mampu mendeteksi tepi – tepi (edge) objek di dalam citra. 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 paling tinggi, sedangkan warna ungu (violet) mempunyai panjang gelombang paling rendah. Warna – warna yang diterima oleh mata (sistem visual manusia) merupakan hasil kombinasi cahaya dengan panjang gelombang berbeda. Penelitian memperlihatkan bahwa kombinasi warna yang memberikan rentang warna yang paling lebar adalah red (R), green (G), dan blue (B). Persepsi sistem visual manusia terhadap warna sangat relatif sebab dipengaruhi oleh banyak kriteria, salah satunya disebabkan oleh adaptasi yang menimbulkan distorsi. Misalnya bercak abu – abu di sekitar warna hijau akan tampak keungu – unguan (distorsi terhadap ruang), atau jika mata melihat warna hijau lalu langsung dengan cepat melihat warna abu – abu, maka mata menangkap kesan warna abu – abu tersebut sebagai warna ungu (distorsi terhadap waktu).
5. Bentuk (shape)
Universitas Sumatera Utara
Shape adalah properti intrinsik dari objek tiga dimensi, dengan pengertian bahwa shape merupakan properti intrinsik utama untuk sistem visual manusia. Manusia lebih sering mengasosiasikan objek dengan bentuk ketimbang elemen lainnya (warna misalnya). Pada umumnya, citra yang dibentuk oleh mata merupakan citra dwimatra (2 dimensi), sedangkan objek yang dilihat umumnya berbentuk trimatra (3 dimensi). Informasi bentuk objek dapat diekstraksi dari citra pada permulaan pra-pengolaha dan segmentasi citra. Salah satu tantangan utama pada computer vision adalah merepresentasikan bentuk, atau aspek – aspek penting dari bentuk. 6. Tekstur (textur) Textur dicirikan sebagai distribusi spasial dari derajat keabuan di dalam sekumpulan pixel – pixel yang bertetangga. Jadi, tekstur tidak dapat didefinisikan untuk pixel. Sistem visual manusia pada hakikatnya tidak menerima informasi citra secara independen pada setiap pixel, melainkan suatu citra dianggap sebagai suatu kesatuan. Resolusi citra yang diamati ditentukan oleh skala pada mana tekstur tersebut dipresepsi. Sebagai contoh, jika kita mengamati citra lantai bertubin dari jarak jauh, maka kita mengamati bahwa tekstur terbentuk oleh penempatan ubin – ubin secara keseluruhan, bukan dari presepsi pola di dalam ubin itu sendiri. Tetapi, jika kita mengamati citra yang sama dari jarak yang dekan, maka hanya beberapa ubin yang tampak dalam bidang pengamatan sehingga kita mempresepsikan bahwa tekstur terbentuk oleh penempatan pola – pola rinci yang menyusun tiap ubin (Munir,2004).
2.2 Format Berkas Bitmap Citra disimpan di dalam berkas (file) dengan format tertentu. Format citra yang baku di lingkungan sistem operasi Microsoft Windows dan IBM OS/2 adalah berkas bitmap (BMP). Saat ini format BMP memang ”kalah” populer dibaningkan format JPG atau GIF.
Universitas Sumatera Utara
Hal ini karena berkas BMP pada umumnya tidak dimampatkan, sehingga ukuran berkasnya relatif lebih besar daripada berkas JPG maupun GIF. Hal ini juga menyebabkan format BMP sudah jarang digunakan. Meskipun format BMP tidak mangkus dari segi ukuran berkas, namun format BMP mempunyai kelebihan dari segi kualitas gambar. Citra dalam format BMP lebih bagus daripada citra dalam format yang lainnya, karena citra dalam format BMP umumnya tidak dimampatkan sehingga tidak ada informasi yang hilang. Terjemahan bebas bitmap adalah pemetaan bit. Artinya, nilai intensitas pixel di dalam citra dipetakan ke sejumlah bit tertentu. Peta bit yang umum adalah 8, artinya setiap pixel panjangnya 8 bit. Delapan bit ini merepresentasikan nilai intensitas pixel. Dengan demikian ada sebanyak 28 = 256 derajat keabuan, mulai dari 0 sampai 255. Citra dalam format BMP ada 3 macam diantaranya citra biner, citra berwarna, dan citra hitam-putih (grayscale). 1. Format Pixel 1 Bit (Citra Biner/Monokrom) Pada citra biner, setiap titik bernilai 0 dan 1, masing-masing merepresentasikan warna tertentu. Contoh yang paling lazim: warna hitam bernilai 0 dan warna putih bernilai 1. Pada standar citra untuk ditampilkan di layar komputer, nilai biner ini berhubungan dengan ada tidaknya cahaya yang ditembakkan oleh electron gun yang terdapat di dalam monitor komputer. Angka 0 menyatakan tidak ada cahaya, dengan demikian warna yang direpresentasikan adalah hitam. Untuk angka 1 terdapat cahaya, sehingga warna yang direpresentasikan adalah putih. Standar tersebut disebut sebagai standar citra cahaya, sedangkan standar citra tinta/cat adalah berkebalikan, karena biner tersebut menyatakan ada tidaknya tinta. Setiap titik pada citra hanya membutuhkan 1 bit, sehingga setiap byte dapat menampung informasi 8 titik ( Bono,2008). 2. Format Pixel 8 Bit (Citra Skala Keabuan/Grayscale) Citra skala keabuan memberi kemungkinan warna yang lebih banyak daripada citra biner, karena ada nilai-nilai lain di antara nilai minimum (biasanya = 0) dan nilai
Universitas Sumatera Utara
maksimum. Banyaknya kemungkinan nilai minimum dan nilai maksimumnya bergantung pada jumlah bit yang digunakan. Mata manusia pada umumnya hanya mempunyai kemampuan untuk membedakan maksimal 40 tingkat skala keabuan. Untuk citra tampak (visible image) dipilih skala keabuan lebih dari 40. pada umumnya citra skala keabuan menggunakan jumlah bit 8, sesuai dengan satuan memori komputer. Contohnya untuk skala keabuan 4 bit, maka jumlah kemungkinan nilainya adalah 24 = 16, dan nilai maksimumnya adalah 24-1 = 15, sedangkan untuk skala keabuan 8 bit, maka jumlah kemungkinan nilainya adalah 28 = 256, dan nilai maksimumnya adalah 28-1 = 255. Format citra ini disebut skala keabuan karena pada umumnya warna yang dipakai adalah antara warna hitam sebagai warna minimal dan warna putih sebagai warna maksimalnya, sehingga warna antaranya abu-abu. Namun pada prakteknya warna yang dipakai tidak terbatas pada warna abu-abu, sebagai contoh dipilih warna minimalnya adalah putih dan warna maksimalnya adalah merah, maka semakin besar nilainya semakin besar pula intensitas warna merahnya. Beberapa buku menyebut format citra ini sebagai citra intensitas. 3. Format Pixel 24 Bit (Citra Warna/True Color) Pada citra warna, setiap titik mempuyai warna yang paling spesifik yang merupakan kombinasi dari 3 warna dasar, yaitu: merah, hijau, dan biru. Ada perbedaan warna dasar untuk cahaya (misalnya display di monitor komputer) dan untuk cat (misalnya cetakan di atas kertas). Untuk cahaya, warna dasarnya adalah merah-hijau-biru (red-green-blue,RGB), sedangkan untuk untuk cat, warna dasarnya adalah sian-magentakuning (cyan-magenta-yellow, CMY). Keduanya saling berkomplemen. Format citra ini sering disebut sebagai citra RGB (red-green-blue). Setiap warna dasar mempunyai intensitas sendiri dengan nilai maksimum 255 (8 bit), misalnya warna kuning merupakan kombinasi warna merah dan hijau sehingga nilai RGB-nya adalah 255 255 0; sedangkan warna ungu muda nilai RGB-nya adalah 150 0 150, dengan demikian setiap titik pada citra warna membutuhkan data 3 byte. Jumlah kombinasi warna yang mungkin untuk format citra ini adalah 224 atau lebih dari 16 juta warna, dengan demikian bisa dianggap mencakup semua warna yang ada, inilah sebabnya format ini dinamakan true color (Bono, 2008).
Universitas Sumatera Utara
Citra yang lebih kaya warna adalah citra 24 bit. Setiap pixel panjangnya 24 bit, karena setiap pixel langsung menyatakan komponen warna merah, komponen warna hijau, dan komponen warna biru. Masing – maing komponen panjangnya 8 bit. Citra 24 bit disebut juga citra 16 juta warna, karena ia mampu menghasilkan 224 = 16.777.216 kombinasi warna. Saat ini beredar tiga versi berkas bitmap, (i) berkas bitmap versi lama dari Microsoft Windows atau IBM OS/2, (ii) berkas bitmap versi baru dari Microsoft Windows, dan (iii) berkas bitmap versi baru dari IBM OS/2. Yang membedakan ketiga versi berkas tersebut adalah panjang header-nya. Header adalah data yang terdapat pada bagian awal berkas citra. Data di dalam header berguna untuk mengetahui bagaimana citra dalam format bitmap dikodekan dan disimpan. Data di dalam header misalnya ukuran citra, kedalaman pixel, ofset ke data bitmap, dan sebagainya. Setiap berkas bitmap terdiri atas header berkas, header bitmap, informasi palet, dan data bitmap. Tabel 2.2 Format Berkas Bitmap Header berkas
Header bitmap
Informasi palet
Data bitmap
14 byte
12 s/d 64 byte
0 s/d 1024 byte
N byte
Ukuran header berkas sama untuk semua versi, yaitu 14 byte. Tabel 2.3 memperlihatkan field-field penyusun header berkas. Ukuran header bitmap berbeda – beda untuk setiap versi. Untuk berkas bitmap versi lama, header bitmap berukuran 12 byte (Tabel 2.4), untuk berkas bitmap versi baru dari Microsoft Windows, header bitmap berukuran 40 (Tabel 2.5), dan untuk berkas bitmap versi baru dari IBM OS/2, header bitmap berukuran 64 byte (Tabel 2.6).
Universitas Sumatera Utara
Tabel 2.3 Header berkas bitmap (panjang = 14 byte) Byte ke-
Panjang
Nama
Keterangan
Bmp Type
Tipe berkas bitmap :
(byte) 1–2
2
BA = bitmap array, CI = icon BM = bitmap, CP = color pointer PT = Pointer 3–6
4
BmpSize
Ukuran berkas bitmap
7–8
2
XotSpot
X hotspot untuk kursor
9 – 10
2
YhotSpot
Y hotspot untuk kursor
11 – 14
4
OffBits
Ofset ke awal data bitmap (dalam byte)
Tabel 2.4 Header bitmap versi lama dari Microsoft Windows (12 byte) Byte ke-
Panjang
Nama
Keterangan
(byte) 1–4
4
HdrSize
Ukuran header dalam satuan byte
5–6
2
Width
Lebar bitmap dalam satuan pixel
7–8
2
Height
Tinggi bitmap dalam satuan pixel
9 – 10
2
Planes
Jumlah plane (umum-nya selalu satu)
11 – 12
2
BitCount
Jumlah bit per pixel
Universitas Sumatera Utara
Tabel 2.5 Header bitmap versi baru dari Microsoft Windows (40 byte) Byte ke-
Panjang
Nama
Keterangan
(byte) 1–4
4
HdrSize
Ukuran header dalam satuan byte
5–8
4
Width
Lebar bitmap dalam satuan pixel
9 – 12
4
Height
Tinggi bitmap dalam satuan pixel
13 – 14
2
Planes
Jumlah plane (umum-nya selalu satu)
15 – 16
2
BitCount
Jumlah bit per pixel
17 – 20
4
Compression
0 = tak dimampatkan, 1= dimampatkan
21 – 24
4
ImgSize
Ukuran bitmap dalam byte
25 – 28
4
HorzRes
Resolusi horizontal
29 – 32
4
VertRes
Relolusi vertikal
33 – 36
4
ClrUsed
Jumlah warna yang digunakan
37 – 40
4
ClrImportant Jumlah warna yang penting
Tabel 2.6 Header bitmap versi baru dari IBM OS/2 (64 byte) Byte ke-
Panjang
Nama
Keterangan
(byte) 1–4
4
HdrSize
Ukuran header dalam satuan byte
5–8
4
Width
Lebar bitmap dalam satuan pixel
9 – 12
4
Height
Tinggi bitmap dalam satuan pixel
13 – 14
2
Planes
Jumlah plane (umum-nya selalu satu)
15 – 16
2
BitCount
Jumlah bit per pixel
17 – 20
4
Compression
0 = tak dimampatkan, 1= dimampatkan
21 – 24
4
ImgSize
Ukuran bitmap dalam byte
25 – 28
4
HorzRes
Resolusi horizontal
29 – 32
4
VertRes
Relolusi vertikal
Universitas Sumatera Utara
33 – 36
4
ClrUsed
Jumlah warna yang digunakan
37 – 40
4
ClrImportant
Jumlah warna yang penting
41 – 42
2
Units
Satuan pengukuran yang dipakai
43 – 44
2
Reserved
Field Cadangan
45 – 46
2
Recording
Algoritma Perekaman
47 – 48
2
Rendering
Algoritma halftoning
49 – 52
4
Size 1
Nilai ukuran 1
53 – 56
4
Size 2
Nilai ukuran 2
57 – 60
4
ClrEncoding
Pengkodean warna
61 – 64
4
Identifier
Kode yang digunakan aplikasi
Informasi palet warna terletak sesudah header bitmap. Informasi palet warna dinyatakan dalam suatu tabel RGB. Setiap entry pada tabel terdiri atas tiga buah field, yaitu R (red), G (green), dan B (blue). Data bitmap diletakkan sesudah informasi palet. Penyimpanan data bitmap di dalam berkas disusun terbalik dari bawah ke atas dalam bentuk matriks yang berukuran Height X Width. Baris ke-0 pada matriks data bitmap menyatakan data pixel di citra baris terbawah, sedangkan baris terakhir pada matriks menyatakan data pixel di citra baris teratas. ( Munir,2004) Contoh format citra 8-bit kira kira seperti Gambar 2.2. Format citra 4-bit (16 warna) serupa dengan format citra 8-bit. Pada citra 4-bit dan citra 8-bit, warna suatu pixel diacu dari tabel informasi palet pada entry ke-k (k merupakan nilai dengan rentang 0 – 15 untuk citra 16 warna dan 0 – 255 untuk citra 256 warna). Sebagai contoh pada Gambar 2.2, pixel pertama bernilai 2; warna pixel pertama ini ditentukan oleh komponen RGB pada tabel palet warna entry ke-2, yaitu R = 14, G = 13, B = 16. Pixel kedua serupa denga pixel pertama. Pixel ketiga bernilai 1, warnanya ditentukan oleh komponen RGB pada tabel warna entry ke-1, yaitu R = 20, G = 45, dan B = 24. Dengan demikian setersnya untuk pixel – pixel lainnya. Khusus untuk citra hitam – putih (8bit), komponen R, G, dan B suatu pixel bernuilai sama dengan data bitmap pixel tersebut. Jadi, pixel dengan nilai data bitmap 129, memiliki R = 129, G = 129, dan B = 129.
Universitas Sumatera Utara
<palet warna RGB>
1 2 3
R 20 14 12
G 45 13 17
B 24 16 15
Gambar 2.2 Format citra 8-bit (256 warna) Berkas citra 24-bit (16,7 juta warna) tidak mempunyai palet RGB, karena nilai RGB langsung diuraikan dalam data bitmap. Setiap elemen data bitmap panjangnya 3 byte, masing – masing byte menyatakan komponen R, G, dan B. Contoh format citra 24bit (16 juta warna) kira – kira seperti pada Gambar 2.2. Pada contoh format citra 24-bit tersebut pixel pertama mempunyai R = 20, G = 19, B = 21, pixel kedua mempunyaiR = 24, G = 24, B = 23. Demikian seterusnya. 20 19 21 24 24 23 24 …
Gambar 2.3 Format Citra 24-bit (16,7 juta warna)
Tabel 2.7 memperlihatkan panjang informasi palet untuk setiap vesi bitmap masing –masing untuk citra 16 warna, 256 warna, dan 16,7 juta warna.
Tabel 2.7 Panjang informasi palet untuk setiap versi berkas bitmap Citra m warna Citra 16 warna
Versi Lama Versi baru Versi baru (Windows) (Windows) (OS/2) 48 byte 64 byte 64 byte
Citra 256 warna
768 byte
1024 byte
1024 byte
Universitas Sumatera Utara
Citra
16,7
juta 0 byte
0 byte
0 byte
warna
2.2.1 Struktur File Bitmap Struktur bitmap terdiri dari Header, Info Header dan Color Tabel. Header adalah bagian dari file bitmap yang berisi informasi header dari file gambar bitmap. Ukuran dari header ini 14 byte, masing-masing terdiri dari signature 2 bytes (sebagai tanda gambar mempunyai format bmp), FileSize 4 bytes (besarnya ukuran gambar mempunyai satuan bytes), Reserved 4 bytes (tidak digunakan atau sama diisi dengan nilai nol) dan DataOffset 4 bytes (file offset untuk raster data).Info header adalah bagian dari header yang berisi informasi lebih detail dari file gambar bitmap. Letaknya setelah bagian header. Info header mempunyai besar 40 bytes, terdiri dari size 4 bytes (ukuran infoheader dan isinya adalah nilai 40), width 4 bytes (lebar gambar bitmap dalam satu pixel), Height 4 bytes (tinggi gambar bitmap dalam satuan pixel), planes 2 bytes (jumlah warna dalam plane, isinya selalu sama dengan satu), BitCount 2 bytes (Bits per pixel, jika bernilai 1= monochome palete, banyaknya warna =2, jika bernilai 4= 4 bit pallete, banyaknya warna = 16, jika bernilai 8 = 8 bit pallete, banyaknya warna = 256, jika bernilai 16 = 16 bit RGB, banyaknya warna = 65536, jika bernilai 24 = 24 bit RGB, banyaknya warna = 16M), Compression 4 bytes (jenis kompresi yang digunakan, jika bernilai 0, gambar tidak terkompresi, jika bernilai 1 gambar terkompresi 8 bit RLE-run length encoding, jika bernilai 2, gambar terkompresi 4 bit RLE encoding), ImageSize 4 bytes (ukuran gambar dalam bytes atas perkalian dari width dikalikan dengan height), XpixelPerM 4 bytes (resolusi horizontal dalam satuan pixel), YpixelxPerM 4 bytes (resolusi vertikal dalam satuan pixel), ColorUsed 4 bytes (banyaknya warna dalam color table), ColorImportant 4 bytes (banyaknya warna utama).
Universitas Sumatera Utara
Color table adalah table yang berisi warna-warna yang ada pada gambar bitmap. Ukurannya adalah 4 dikalikan dengan ukuran banyakanya warna. Color table berisi RGBred green blue. Strukturnya teriri dari 1 bytes untuk bagian Rgbblue yang berisi intensitas warna biru 0...255, 1 bytes untuk bagian RgbGreen yang berisi intensitas warna hijau 0...255, 1 bytes untuk bagian RgbRed yang berisi intensitas warna merah 0...255, 1 bytes untuk bagian RgbReserved yang selalu di set sama dengan 0. (Aribi, 2007) 2.2.2 Jenis Gambar Bitmap 1. Line Art
Merupakan gambar yang hanya terdiri dari dua warna, biasanya hitam dan putih.Biasanya gambar jenis ini dijadikan gambar bitmap karena komputer hanya menggunakan 1 bit (warna hitam yang membentuk gambar, warna putih sebagai latar) untuk mendefinisikan masing-masing pixel-nya. 2. Grayscale Images
Yang terdiri dari bermacam warna abu-abu dalam menghasilkan warna hitam dan putih. 3. Multitones
Universitas Sumatera Utara
Terdiri dari dua warna atau lebih. Gambar multitones yang biasa digunakan adalah duotones, yang biasanya terdiri dari paduan warna hitam dengan warna khusus (Pantone colour). Warna yang digunakan pada gambar di atas adalah paduan dari warna hitam dengan Pantone Warm Red. 4. Full Colour Images
Merupakan gambar yang memiliki warna yang tampak realistis. Informasi warna dijelaskan menggunakan jenis-jenis standar warna seperti RGB, CMYK atau Lab.
2.2.3 Karakteristik Data Bitmap
Gambar yang menggunakan data bitmap akan menghasilkan bobot file yang besar. Sebagai contoh, sebuah gambar dengan standar warna CMYK berukuran A4 yang memiliki kualitas cetak menengah (medium) menghasilkan bobot file sebesar 40 MB. Dengan menggunakan kompresi dapat memperkecil bobot sebuah file. Perbesaran dimensi gambar merupakan salah satu kekurangan jenis gambar bitmap ini. Begitu sebuah gambar diperbesar terlalu banyak, akan terlihat tidak natural dan pecah. Begitu juga dengan memperkecil sebuah gambar, akan memberikan dampak buruk seperti berkurangnya ketajaman gambar tersebut.
Universitas Sumatera Utara
Bitmap cukup simpel untuk pencetakan selama printer yang digunakan memiliki memory yang cukup. Mesin cetak PostScript level 1 jaman dulu akan mengalami masalah ketika mendapatkan sebuah gambar (khususnya Line-art) yang dirotasi, tapi hardware dan software jaman sekarang dapat menangani berbagai efek manipulasi gambar apapun tanpa masalah.(Mahendra, 2008)
2.3 Pixel (Picture Element)
Gambar yang bertipe bitmap tersusun dari pixel-pixel. Pixel disebut juga dengan dot. Pixel berbentuk bujur sangkar dengan ukuran relatif kecil yang merupakan penyusun/pembentuk gambar bitmap. Banyaknya pixel tiap satuan luas tergantung pada resolusi yang digunakan. Keanekaragaman warna pixel tergantung pada bit depth yang dipakai. Semakin banyak jumlah pixel tiap satu satuan luas, semakin baik kualitas gambar yang dihasilkan dan ukuran file akan semakin besar. Pixel adalah representasi sebuah titik terkecil dalam citra grafis. Monitor atau layar datar yang sering kita temui terdiri dari ribuan pixel yang terbagi dalam baris-baris dan kolom-kolom. Jumlah pixel yang terdapat dalam sebuah monitor dapat kita ketahui dari resolusinya. Resolusi maksimum yang disediakan oleh monitor adalah 1024x768, maka jumlah pixel yang ada dalam layar monitor tersebut adalah 786432 pixel. Semakin tinggi jumlah pixel yang tersedia dalam monitor, semakin tajam gambar yang mampu ditampilkan oleh monitor tersebut. Jika suatu gambar mempunyai resolusi 20x30, maka jumlah pixel yang terdapat dalam file tersebut adalah 600 pixel.
2.4 Byte dan Bit
Sampai saat ini, belum ada persetujuan atas lambang resmi yang dapat digunakan untuk bit dan byte. Patokan yang sering dikutip, IEC 60027 oleh International Electrotechnical Commission, menetapkan bahwa "bit" adalah lambang untuk satuan bit, sebagai contoh
Universitas Sumatera Utara
"kbit" untuk merujuk pada kilobit. Akan tetapi, patokan tersebut tidak menetapkan lambang apa yang dapat digunakan untuk byte. Patokan lain yang juga sering dikutip, IEEE 1541 oleh Institute of Electrical and Electronics Engineers menetapkan "b" sebagai lambang untuk bit, dan "B" untuk byte. Konvensi ini banyak dipakai dalam ilmu komputer, tetapi belum diterima secara internasional, karena beberapa halangan berikut: a. kedua simbol ini sudah dipakai untuk satuan lain: "b" untuk barn dan "B" untuk bel b. "bit" adalah singkatan dari "binary digit", jadi tidak ada alasan untuk menyingkatnya lagi c. biasanya lambang untuk sebuah satuan hanya menggunakan huruf besar jika satuan tersebut dinamakan untuk menghormati seseorang d. istilah byte tidak digunakan di negara-negara berbahasa Perancis, negara-negara ini menggunakan istilah octet (lambang: "o"), sehingga sulit untuk membuat persetujuan secara internasional. e. "b" kadang-kadang digunakan sebagai lambang untuk byte, dan "bit" untuk bit. Claude E. Shannon pertama kali menggunakan kata bit dalam sebuah karya ilmiah pada tahun 1948. Beliau menjelaskan bahwa kata tersebut berasal dari John W. Tukey, yang pada tanggal 9 Januari 1947 menulis sebuah memo kepada Bell Labs. Di dalam memo tersebut, beliau memendekkan kata "binary digit" (digit biner) menjadi "bit". Byte adalah sebuah kumpulan bit. Saat pertama kali digunakan, byte mempunyai panjang yang tidak tetap. Sekarang, byte umumnya mempunyai panjang sebesar delapan bit. Byte yang mempunyai panjang delapan bit juga dikenal sebagai octet. Sebuah byte bisa mempunyai 256 nilai yang berbeda (28 nilai, 0–255).
Universitas Sumatera Utara
2.5 Perbaikan Kualitas Citra ( Image Enhancement)
Perbaikan kualitas citra (image enhancement) merupakan salah satu proses awal dalam pengolahan citra (image preprocessing). Perbaikan kualitas diperlukan karena seringkali citra yang diuji mempunyai kualitas yang buruk, misalnya citra mengalami derau (noise) pada saat pengiriman melalui saluran transmisi, citra terlalu terang/gelap, citra kurang tajam, kabur, dan sebagainya. Melalui operasi pemrosesan awal inilah kualitas citra diperbaiki sehingga citra dapat digunakan untuk aplikasi lebih lanjut, misalnya untuk aplikasi pengenalan (recognition) objek di dalam citra. Yang dimaksud dengan perbaikan kualitas citra adalah proses memperjelas dan mempertajam ciri/fitur tertentu dari citra agar citra lebih mudah dipersepsi maupun dianalisis secara lebih teliti. Secara matematis, image enhancement dapat diartikan sebagai proses mengubah citra f(x, y) menjadi f ’(x, y) sehingga ciri-ciri yang dilihat pada f(x, y) lebih ditonjolkan. Image enhancement tidak meningkatkan kandungan informasi, melainkan jangkauan dinamis dari ciri agar bisa dideteksi lebih mudah dan tepat. Operasi-operasi yang digolongkan sebagai perbaikan kualitas citra cukup beragam antara lain, pengubahan kecerahan gambar (image brightness), peregangan kontras (contrast stretching), perataan histogram (histogram equalization), pelembutan citra (image
smoothing),
penajaman
(sharpening)
tepi
(edge),
pewarnaan
semu
(pseudocolouring), pengubahan geometrik, dan sebagainya. (Munir, 2004) Metode – metode perbaikan citra dapat dikategorikan menjadi dua bagian, yakni metode – metode yang bekerja pada domain spatial dan metode – metode yang bekerja pada domain frekuensi.
2.5.1 Metode yang bekerja pada Domain Spatial
Metode ini bekerja pada keseluruhan pixel dan dapat dituliskan dalam bentuk :
g ( x, y ) = T [ f ( x, y )]
(1)
Dimana :
Universitas Sumatera Utara
f(x,y) = citra yang diolah g(x,y) = citra hasil pengolahan T
= operator yang bekerja pada f Metode spatial juga dapat bekerja pada sub citra yang didefenisikan pada suatu
daerah ketetanggaan tertentu. Pada implementasinya sering digunakan window atau mask. Pengertian dari mask adalah larikan dua dimensi dengan nilai elemen dipilih sesuai dengan feature yang akan dideteksi pada suatu citra. Salah satu jenis pengolahan citra dalam domain spatial tersebut adalah peregangan kontras ( contrast stretching).
2.5.2 Metode yang bekerja pada Domain Frekuensi
Metode ini berbasis pada teori konvolusi. Andaikan g(x,y) adalah image yang diperoleh dari konvolusi image f(x,y) dengan position – invariant operator h(x,y) yaitu :
g ( x, y ) = h ( x, y ) * f ( x, y )
(2)
Maka dari teori konvolusi didapat:
G (u, v ) = H (u, v )F (u, v )
(3)
Dimana G,H,F adalah transformasi Fourier dari g,h,f. Tujuan dari pengolahan adalah
untuk
memilih
H(u,v)
sedemikian
sehingga
image
yang
diinginkan
g(x,y) = F-1[H(u,v) F(u,v)], menunjukkan feature f(x,y). ( Murinto, 2004)
2.6 Peregangan Kontras ( Contrast Stretching)
Kontras menyatakan sebaran terang (lightness) dan gelap (darkness) di dalam sebuah gambar. Citra dikelompokkan ke dalam tiga kategori kontras : citra kontras-rendah (low contrast), citra kontras-bagus (good contrast atau normal contrast), dan kontras-tinggi (high contrast). Ketiga kategori ini umumnya dibedakan secara intuitif. Citra dengan kontras rendah ditandai dengan sebagian besar komposisi citranya terang atau
sebagian besar gelap. Histogramnya memperlihatkan sebagian derajat
Universitas Sumatera Utara
keabuannya berkelompok bersama. Jika pengelompokkan pixelnya dibagian kiri, maka citranya cenderung gelap. Begitu juga sebaliknya jika pengelolmpokkan pixelnya dibagian kanan, maka citra akan cenderung terang.Citra yang memiliki kontras rendah dapat terjadi karena kurangnya pencahayaan, kurangnya bidang dinamika dari sensor citra, atau kesalahan setting pembuka lensa pada saat pengambilan citra. Citra dengan kualitas rendah dapat diperbaiki kualitasnya dengan operasi contrast stretching (Murinto,2004). Proses contrast stretching termasuk proses perbaikan citra yang bersifat point processing, yang artinya proses ini hanya tergantung dari nilai intensitas (gray level) satu pixel, tidak tergantung dari pixel lain yang ada disekitarnya. Cara kerja dari proses peregangan kontras (contrast stretching) ini adalah : 1. Cari batas bawah pengelompokkan pixel dengan cara memindai (scan) histogram dari nilai keabuan terkecil ke nilai keabuan terbesar (0 sampai 255) untuk menemukan pixel pertama yang melebihi nilai ambang pertama yang telah dispesifikasikan. 2. Cari batas atas pengelompokkan pixel dengan cara memindai histogram dari nilai keabuan tertinggi ke nilai keabuan terendah ( 255 sampai 0) untuk menemukan pixel perama yang lebih kecil dari nilai ambang kedua yang dispesifikasikan. 3. Pixel – pixel yang berada di bawah nilai ambang pertama di – set sama dengan 0, sedangkan pixel – pixel yang berada di atas nilai ambang kedua di-set sama dengan 255. 4. Pixel – pixel yang berada di antara nilai ambang pertama dan nilai ambang kedua dipetakan (diskalakan) untuk memenuhi rentang nilai – nilai keabuan yang lengkap ( 0 sampai 255) dengan persamaan : r – rmax (4) S= x 255 rmin - rmax yang dalam hal ini, r adalah nilai keabuan dalam citra semula, s adalah nilai keabuan yang baru, r min adalah nilai keabuan terendah dari kelompok pixel, dan r max adalah nilai keabuan tertinggi dari kelompok pixel. (Nugroho, 2005) Transformasi dasar ditunjukkan pada gambar 2.4 dibawah ini. Dalam gambar, c sumbu horizontal mewakili nilai pixel input, dan sumbu vertikal d mewakili nilai pixel
Universitas Sumatera Utara
output. Seperti yang terlihat, ada tiga segmen garis lurus digunakan untuk mengubah sebuah input pixel ke nilai pixel output yang dihasilkan. Pada gambar dapat dilihat titik dari (c1,d1) dan (c2,d2) akan menentukan bentuk dari fungsi transformasinya dan dapat diatur untuk menentukan tingkat penyebaran graylevel dari citra yang dihasilkan. Jika c1 = d1 dan c2 = d2 maka transformasinya adalah linear yang hasil transformasinya akan sama dengan gambar awal. Jika c1= c2, d1 = d2 maka transformasinya akan menjadi thresholding function. Nilai c1,c2,d1,d2 akan menghasilkan berbagai derajat penyebaran pada grey level dari gambar keluaran, yang akan mempunyai pengaruh pada contrastnya. Secara umum diasumsikan c1<= c2 dan d1 <= d2 sehingga fungsi akan menghasilkan nilai tunggal dan nilainya akan selalu naik. Untuk menghitung nilai hasil trensformasi tersebut, kita dapat membuat 3 fungsi sebagai berikut : a. Untuk c <= 0 < c1, maka d = c . (d1/c1) b. Untuk c1 <= c < c2, maka d = d1 + ( (c – c1) . ( (d2 – d1) / (c2 – c1) ) ). c. Untuk c2 <= c <= 255, maka d = d2 + ( (c – c2) . (255 – d2) / (255 – c2) ) Contrast stretching ini adalah teknik yang digunakan untuk mendapatkan citra baru dengan kontras yang lebih baik daripada kontras dari citra asalnya. Ide dari contrast stretching adalah untuk meningkatkan dynamic range dari grey level dalam gambar yang sedang diproses. (Amarnath, 2009) d 255 d2 Output Image d1 0
c1
c2
c 255
Input Image Universitas Sumatera Utara
Gambar 2.4 Fungsi Transformasi Contrast Stretching
2.7 Histogram Citra
Informasi penting mengenai isi citra digital dapat diketahui dengan membuat histogram citra. Histogram citra adalah grafik yang menggambarkan penyebaran nilai-nilai intensitas pixel dari suatu citra atau bagian tertentu di dalam citra. Dari sebuah histogram dapat diketahui frekuensi kemunculan nisbi (relative) dari intensitas pada citra tersebut. Histogram juga dapat menunjukkan banyak hal tentang kecerahan ( brightness) dan kontras (contrast) dari sebuah gambar. Karena itu, histogram adalah alat bantu yang berharga dalam pengerjaan pengolahan citra baik secara kualitatif maupun kuantitatif. (Suhendra, 2004) Agar kita memperoleh citra yang baik, maka penyebaran nilai intensitas harus diubah. Teknik yang lazim dipakai adalah perataan histogram (histogram equalization). Tujuan dari perataan histogram adalah untuk memperoleh penyebaran histogram yang merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah pixel yang relative sama. Karena histogram menyatakan peluang pixel dengan derajat keabuan tertentu, maka rumus menghitung histogram ditulis kembali sebagai fungsi peluang. Pr (rk) =
nk n
yang dalam hal ini, k rk =
, 0 ≤k ≤ L – 1
(5)
L–1
Yang artinya, derajat keabuan (k) dinormalkan terhadap derajat keabuan terbesar ( L - 1). Nilai r k = 0 menyatakan hitam, dan rk = 1 menyatakan putih dalam skala keabuan yang didefenisikan.(‘Uyun, 2008)
Universitas Sumatera Utara
Jika fungsi ini digambarkan dengan grafik maka akan memberikan deskripsi secara global dari penampakan citra. Gambar 2.5menunjukkan histogram dari empat jenis citra secara umum.
Gambar 2.5 Histogram dari berbagai jenis citra digital
Dari gambar diatas terlihat jika citra gelap gray level terkonsentrasi di bagian kiri atau bagian gelap dari range gray scale. Dan sebaliknya jika citra terang gray level terkonsentrasi di bagian kanan atau bagian terang dari range gray scale.Jika citra berkontras rendah histogram memiliki bentuk yang sempit yang menunjukkan bahwa citra memiliki dynamic range rendah yang berarti berkontras rendah. .Citra berkontras tinggi menunjukkan bahwa histogram gray level tersebar luas yang menunjukkan bahwa citra berkontras tinggi. Meskipun histogram hanya menunjukkan sifat-sifat umum dari citra dan tidak memberikan informasi apa-apa tentang isi citra, namun bentuk dari histogram dapat memberikan informasi mengenai kemungkinan untuk melakukan perbaikan kontras citra tersebut.
2.7.1 Hubungan Histogram dengan Contrast Stretching
Histogram merupakan grafik yang menggambarkan penyebaran nilai – nilai intensitas pixel dari suatu citra atau bagian tertentu di dalam citra. Histogram dapat juga
Universitas Sumatera Utara
digunakan untuk membantu sebuah tingkat kecerahan ( brightness) dan kekontrasan ( contrast ) dari sebuah gambar. Hubungan antara histogram dengan contrast stretching dapat dilihat dari contoh berikut.
(a) Original image
(b) Contrast Stretching image
Gambar 2.6 Contrast Stretching dan Histogramnya
Dari gambar diatas terlihat, pada gambar (a) sebelum dilakukannya proses contrast stretching, gambar terlihat gelap atau berkontras rendah dan histogramnya terlihat sebagian besar derajat keabuannya terkelompok (clustered) bersama atau hanya menempati sebagian kecil dari rentang nilai – nilai keabuan yang mungkin. Dan pada gambar (b) terlihat citra berkontras bagus
dan histogram citranya memperlihatkan
sebaran nilai keabuannya yang relatif seragam. Dari penjelasan diatas, jika dihubungkan antara histogram dengan
contrast
stretching yaitu dalam melakukan proses contrast stretching histogram sangat berperan penting sebagai alat bantu untuk menentukan langkah
perbaikan kualitas citra
selanjutnya.
2.8 Pemrograman Borland Delphi 7 2.8.1 Sekilas Borland Delphi
Universitas Sumatera Utara
Borland Delphi atau yang biasa disebut Delphi saja merupakan sarana pemrograman aplikasi visual. Bahasa pemrograman yang digunakan adalah bahasa pemrograman Pascal atau yang kemudian disebut bahasa pemrograman Delphi. Delphi merupakan generasi penerus dari Turbo Pascal. Turbo Pascal yang diluncurkan pada tahun 1983 dirancang untuk dijalankan pada sistem operasi DOS (yang merupakan sistem operasi yang paling banyak digunakan pada saat itu). Sedangkan Delphi yang diluncurkan pertama kali tahun 1995 dirancang untuk beroperasi dibawah sistem operasi Windows. Kebutuhan akan adanya program aplikasi yang bekerja di bawah sistem operasi Windows serta memiliki antarmuka visual yang userfriendly telah memancing minat banyak orang menggunakan bahasa pemrograman yang mampu menyediakan antarmuka grafis (Graphical User Interface, GUI). Borland Delphi merupakan salah satu bahasa pemrograman yang semenjak diluncurkan pertama kali, langsung dilirik dan diminati oleh para programmer komputer. Hal ini disebabkan karena Delphi menyediakan fasilitas untuk pembuatan aplikasi dengan antarmuka visual secara mudah dan dapat memberikan hasil yang memuaskan. Delphi memiliki sarana yang tangguh untuk pembuatan aplikasi, mulai dari sarana pembuatan form, menu, toolbar, hingga kemampuan untuk menangani pengelolaan basis data yang besar. Kelebihan – kelebihan yang dimiliki Delphi antara lain karena pada Delphi, form dan komponen – komponennya dapat dipakai ulang dan dikembangkan, mampu mengakses VBX, tersedia template aplikasi dan template form, memiliki lingkungan pengembangan visual . tetapi, tyang dapat diatur sesuai kebutuhan, menghasilkan file terkompilasi yang berjalan lebih cepat, serta kemampuan mengakses data dari bermacam – macam format. Delphi menerapkan konsep aplikasi yang digerakkan oleh event (event driven). Pemrograman event – driven mencoba melengkapi kekurangan pemrograman prosedural dengan kerangka yang membedakan antara antarmuka pemakai dengan proses tertentu dalam aplikasi. Dengan adanya sarana pemrograman visual yang event-driven, para pembuat aplikasi sangat terbantu ketika menyediakan sarana antarmuka bagi pemakai. Di samping menggunakan konsep event-driven, Delphi juga menggunakan bahasa objek Pascal di dalam lingkungan pemrograman visual. Kombinasi ini menghasilkan sebuah lingkungan pengembangan aplikasi yang berorientasi objek (Object Oriented
Universitas Sumatera Utara
Programming). Dengan konsep seperti ini, maka pembuatan aplikasi menggunakan Delphi dapat dilakukan dengan cepat dan menghasilkan aplikasi yang tangguh. (Kusuma, 2003) Delphi memiliki beberapa keuntungan diantarnya : 1. IDE yang berkualitas. Delphi memiliki lingkungan pengembangan yang lengkap. Terdapat menu-menu yang memudahkan untuk mengatur proyek pengembangan software. 2. Proses kompilasi yang cepat. Saat aplikasi dijalankan di lingkungan Delphi, aplikasi tersebut otomatis di compile, sehingga dapat menjalankan aplikasi tanpa harus meng compile secara terpisah. 3. Mudah digunakan. 4. Delphi
bersifat
multi-purpose, dapat
digunakan untuk berbagai keperluan
pengembangan aplikasi, mulai perhitungan sederhana sampai aplikasi multimedia bahkan yang terkoneksi internet. (Kadir, 2001)
2.8.2 Tampilan Delphi Secara Umum
Tampilan Delphi secara umum berbeda dengan tampilan bahasa pemprograman lain. Delphi tidak memiliki form utama atau form induk. Sehingga pembuatan program dengan software ini, wallpaper desktop akan terlihat lebih jelas. Semua fasilitas toolbox dan tool window pada Delphi terpisah dari menu utama. Tampilan software ini hampir sama dengan beberapa software yang ada di Linux. Hal ini dapat dilihat dari tampilan program The Gimp yang ada di Linux.
Universitas Sumatera Utara
Gambar 2.7 Tampilan Umum Delphi 2.8.3 Delphi Object Pascal
Sejak pertama komputer diketemukan hingga sekarang, telah terjadi evaluasi bahasa pemrograman. Penggerak evolusinya adalah keinginan untuk mendapatkan sebanyak mungkin dengan usaha dan sumber daya sedikit mungkin. Dengan demikian program dipecah menjadi objek yang berkembang dan disebut dengan konsep Object Oriented Programming (OOP). Keuntungan bahasa pemrograman OOP dibandingkan bahasa pendahulunya yaitu: 1. Lebih terstruktur. 2. Lebih modular, serta mudah digunakan kembali. 3. Lebih tahan terhadap perubahan. 4. Lebih mudah dikembangkan. 5. Lebih alami.
Universitas Sumatera Utara