BAB II LANDASAN TEORI
2.1 WebCam Webcam (singkatan dari web camera) adalah sebutan bagi kamera realtime (bermakna keadaan pada saat ini juga) yang gambarnya bisa diakses atau dilihat melalui World Wide Web, program instant messaging, atau aplikasi video call. Istilah webcam merujuk pada teknologi secara umumnya, sehingga kata web terkadang diganti dengan kata lain yang mendeskripsikan pemandangan yang ditampilkan di kamera, misalnya StreetCam yang memperlihatkan pemandangan jalan. Ada juga Metrocam yang memperlihatkan pemandangan panorama kota dan pedesaan, TraffiCam yang digunakan untuk memonitor keadaan jalan raya, cuaca dengan Weather Cam, bahkan keadaan gunung berapi dengan VolcanoCam. Webcam atau web camera adalah sebuah kamera video digital kecil yang dihubungkan ke komputer melalui (biasanya) port USB ataupun port COM.
Gambar 2.1. Kamera Webcam
2.2 Visual Studio .NET Visual Studio .NET adalah salah satu bentuk integrated development environment (IDE) terbaru dan canggih yang dimiliki oleh Microsoft untuk saat ini. IDE tersebut mampu mendukung dan menggabungkan banyak tipe bahasa, seperti Visual Basic .NET, C#.NET, J#.NET, C++.NET serta bahasa .NET lainnya menjadi satu dalam lingkungan dot net framework. Dengan demikian sebuah tim project yang sedang mengembangkan sebuah program aplikasi dapat bekerja dengan baik, tanpa ada “diskriminasi” antara VB.NET, C#, J#, atau bahasa .NET lainnya. Semua bahasa posisinya sama sehingga tim project dapat bekerja dalam banyak bahasa. Dengan kata lain tim project dapat menggabungkan beberapa project dengan berbagai macam bahasa tersebut ke dalam satu bahasa program yang digunakan, misalnya visual basic .NET. Hasil aplikasi program yang dibangun menggunakan Visual Studio.NET dapat dijalankan pada berbagai platform operating system seperti Linux, Unix, Solaris dan OS lainnya dengan menggunakan mono yang dihasilkan oleh perusahaan Symbian. Dot NET Framework adalah teknologi inti dari dot net yang menyediakan berbagai library untuk digunakan oleh aplikasi menggunakan bahasa-bahasa pemrograman pada Visual Studio .NET. Komponen utama dot net framework adalah Common Language Runtime (CLR) yang menyediakan run time environtment untuk aplikasi yang dibangun menggunakan Visual Studio .NET, terlepas dari jenis bahasa pemrogramannya. Dengan adanya Clr tersebut, programer dapat menikmati consistent object model dalam mengakses berbagai komponen library, akibatnya penggunaan bahasa pemrograman dalam dunia .NET
adalah lebih kearah selera, bukan lagi pada kelebihan maupun kekurangan masing-masing bahasa.
Gambar 2.2. Microsoft Visual Studio 2008
2.2.1
Visual C# 2008 Visual C# 2008 adalah salah satu bahasa yang berorientasi pada
objek. Dengan demikian, bahasa itu bisa digunakan untuk mempelajari dan memperdalam pengetahuan tentang pemrograman yang berorientasi pada objek. Bahasa C# memiliki hubungan tidak langsung dengan Java, Visual Basic dan C++. Maksud dari kalimat tersebut adalah bahasa C#, adalah bahasa pemrograman yang memiliki ketangguhan C++, kemudahan Visual Basic, dan kedekatan dengan pemrograman berorientasi objek dari Java. Selain Visual Basic, bahasa C# juga merupakan tulang punggung dari Visual Studio dan peyaluran keunggulan yang dimiliki oleh teknologi .Net Framework 3.5. Kita bisa menggunakan Visual C# untuk membuat
aplikasi windows, tetapi kita juga bisa membuat aplikasi-aplikasi tangguh lainya, seperti database atau aplikasi web. Bahasa C# adalah salah satu bahasa yang bisa digunakan untuk membuat aplikasi web selain Visual Basic.
2.3 Dot Net Framework 2.3.1 Definisi Dot Net Framework sebenarnya adalah platform komputasi baru yang menyederhanakan proses pembuatan aplikasi pada lingkungan terdistribusi di internet. Framework ini didesain untuk memenuhi tujuantujuan berikut: a) Untuk menyediakan lingkungan pemrograman berorientasi objek yang konsisten meskipun meskipun kode objek disimpan dan dijalankan secara lokal, dijalankan secara lokal tetapi tetapi terdistribusi lewat internet, atau dijalankan secara remote. b) Untuk menyediakan lingkungan yang menjalankan kode dengan meminimalkan konflik saat deployment dan versioning. c) Untuk menyediakan lingkungan yang menjalankan kode yang memberikan jaminan keamanan saat menjalankan kode, termasuk kode yang dijalankan oleh pihak ketiga yang tidak diketahui atau kurang percaya. d) Untuk menyediakan lingkungan yang menjalankan kode yang menghilangkan problem performance/kecepatan dari lingkungan skripting atau interpreted.
e) Untuk menbuat developer mengalami pengalaman yang konsisten di berbagai tipe aplikasi, seperti aplikasi Windows dan aplikasi berbasis web.
Untuk membangun komunikasi standar industri yang memastikan kode berbasis Framework .NET dapat diintegrasikan dengan kode lain. Framework .NET memiliki dua komponen utama: a
Common language runtime (CLR)
b
.NET Framework class library
2.3.2 Common Language Runtime CLR adalah fondasi dari .NET Framework. Anda dapat menganggap CLR (sering disebut runtime saja) sebagai agen yang menangani kode pada saat dijalankan, menyediakan layanan inti seperti manajemen memori, manajemen thread dan remoting, juga memastikan pendefinisian tipe data secara ketat dan bentuk lain untuk memastikan keakuratan kode program sehingga dapat tercipta keamanan dan ketangguhan suatu program. Konsep manajemen kode adalah prinsip dasar dari runtime. Program yang dijalanan oleh CLR disebut managed code, sedangkan program yang tidak memiliki sasaran runtime (CLR) disebut unmanaged code. Perlu diketahui bahwa Visual Basic .NET menghasilkan managed code yang dapat dijalankan apabila pada sistem komputer terdapat CLR.
Artinya tidak dapat menjalankan aplikasi yang dihasilakan Visual Basic .NET tanpa menginstal CLR terlebih dahulu. Konsep CLR ini menyerupai konsep Java Virtual Machine untuk menjalankan software Java. Class library, komponen lain dari .NET Framework adalah koleksi tipe data yang lengkap, berorientasi objek yang dapat digunakan untuk menbangun aplikasi dari program konsol sampai aplikasi graphical user interface (GUI) ke aplikasi berbasis inovasi yang disediakan oleh ASP.NET seperti Web Form dan XML Web Service. Dot NET Framework dapat dihosted oleh komponen unmanaged yang memanggil common language runtime ke prosesnya dan menjalakan managed
code
sehingga
menciptakan lingkungan
software
yang
menggunakan fasilitas managed dan unmanaged. Framework .NET tidak hanya mendapatkan beberapa runtime host tetapi juga mendukung pengembangan dari runtime host pihak ketiga.
2.3.3 Fasilitas yang Disediakan Common Language Runtime Common language runtime menangani dan mengatur memori, eksekusi kode, verifikasi keamanan kode, kompilasi dan sistem layanan lain. Fasilitas ini adalah intristik dari managed code yang berjalan pada common language runtime. Dengan mengutamakan keamanan, managed component diberikan tingkatan
trust/kepercayaan
berdasarkan
sejumlah
faktor
yang
memperhitungkan asalnya (seperti internet, jaringan perusahaan atau komputer lokal). Hal ini berarti managed component
dapat dibatasi
apabila akan melakukan operasi akses file, akses registry, atau fungsi sensitif lain, bahkan jika digunakan oleh aplikasi aktif sama. Runtime memaksakan keamanan akses kode. Sebagai contoh , user dapat mempercayai sisipan program di suatu halaman web yang memainkan animasi pada layar atau menghasilkan suara, tetapi tidak dapat mengakses data pribadi, sistem file atau jaringan. Fasilitas security dari runtime membuat sah suatu software yang menyebar lewat internet yang canggih dan lengkap.
2.3.4 Dot Net Framework Class Library Dot Net Framework class library adalah suatu koleksi dari tipe data yang dapat digunakan ulang yang terintegrasi dengan common language runtime. Class library berorientasi objek, menyediakan tipe data dimana managed code dapat menurunkan fungsionalitasnya. Hal ini tidak hanya membuat tipe data dari .NET Framework mudah digunakan tetapi juga mengurangi waktu belajar dari fasilitas .NET Framework. Sebagai tambahan, pihak ketiga dapat terintegrasi dengan class dari .NET Framework. Sebagai
contoh,
koleksi
class
.NET
Framework
mengimplementasikan set interface yang dapat digunakan untuk membuat koleksi class anda sendiri. Koleksi class anda akan terpadu dengan classclass .NET Framework. Sebagaimana anda harapkan dari class library berorientasi objek, tipe-tipe data
.NET
Framework
memberikan
fasilitas
bagi
anda
untuk
menyelesaikan sejumlah pemrograman umum, termasuk manajemen string, koleksi data, konektivitas database dan akses file. Sebagai tambahan dari tugas-tugas umum tersebut, class library mengikutkan tipe data yang mendukung variasi skenario development. Sebagai contoh, dapat menggunakan .NET Framework untuk membangun type aplikasi dan layanan berikut: c
aplikasi konsol
d
aplikasi skripting atau hosted
e
aplikasi Windows GUI (Windows Forms)
f
aplikasi ASP.NET
g
XML Web Service
h
Windows Service
2.4 VisionLab VisionLab adalah seperangkat komponen yang dikembangkan oleh www.mitov.com untuk digunakan pada plat-form Microsoft .NET 2.0. VisionLab digunakan untuk mengambil gambar dari webcam, TV, dan media audio video yang lain. Library VisionLab memungkinkan pengembangan pendeteksi gerakan dan dengan penuh fitur aplikasi untuk industri keamanan dengan hampir nol baris kode program. Berikut adalah beberapa contoh dari apa yang dapat dilakukan dengan VisionLab:
a. Menangkap dan mendeteksi gerakan.
b. Menangkap, mendeteksi dan melacak target.
c. Menangkap dan mendeteksi kontur dan obyek dalam video.
Komponen-komponen dari VisionLab yang terinstall pada Toolbox Microsoft Visual Studio 2008 yaitu:
AudioLab
Gambar 2.3. Komponen AudioLab toolbox
TimingLab
Gambar 2.4. Komponen TimingLab toolbox
VideoLab
Gambar 2.5. Komponen VideoLab toolbox
VisionLab
Gambar 2.6. Komponen VisionLab toolbox Dari empat Grup komponen tersebut yang digunakan dalam pembuatan aplikasi ini adalah VideoLab dan VisionLab.
2.5 Deteksi Gerakan Gerakan adalah suatu pusat perhatian yang digunakan manusia ataupun hewan untuk mengenali suatu obyek dari suatu latar yang tidak teratur. Dalam aplikasi pencitraan, gerakan muncul dari perpindahan tempat antara sistem pendeteksi dan lingkungan yang sedang dilihat, seperti aplikasi robotika, navigasi otomatis, dan analisis lingkungan dinamis. Salah satu metode deteksi gerakan yaitu dengan Metode Spatial Domain. Metode Spatial Domain menggunakan pixel untuk membandingkan perbedaan dua buah citra.
2.6 Metode Spatial Domain Deteksi gerakan yang digunakan di aplikasi kamera pengawas pendeteksi gerakan ini adalah pemrosesan citra spatial domain dengan point processing. Metode ini bekerja dengan cara sebagai berikut :
a) Penetapan sebuah citra referensi Sebuah citra yang diambil oleh kamera pada saat situasi lingkungan yang stabil ditetapkan sebagai citra referensi. Citra ini kemudian disimpan sebagai acuan dalam membandingkan citracitra berikut. b) Pangambilan citra secara periodik Setiap jangka waktu tertentu, sebuah citra diambil oleh kamera. Citra ini kemudian disimpan untuk perhitungan selanjutnya. c) Pendeteksian gerakan Citra yang diambil secara periodik tadi dibandingkan dengan citra referensi dengan cara membandingkan setiap pixel-pixel yang berada di lokasi yang sama. Perhitungan perbandingan dilakukan dengan cara mengambil nilai absolut dari hasil pengurangan nilai RGB dari 2 pixel yang berada di lokasi yang sama. Jika nilai dari perhitungan tersebut melewati suatu batas nilai tertentu maka pixel tersebut dinyatakan sebagai pixel yang terdeteksi gerakan.
Dimana: f = Array 2 dimensi yang digunakan untuk menyimpan hasil perhitungan. x = Posisi pixel terhadap sumbu x. y = Posisi pixel terhadap sumbu y. T1 = Batas nilai untuk membatasi banyaknya perubahan nilai pixel sebelum sebuah pixel tersebut dinyatakan terdapat gerakan (Threshold).
ABS = Fungsi absolut. p = Citra referensi. q = Citra yang diambil secara periodik (citra yang dibandingkan). Variabel T1 merupakan sebuah nilai batas ambang perubahan 2 buah pixel di letak yang sama. Penggunaan variabel T1 ini memiliki dua tujuan. Tujuan yang pertama adalah untuk mengeliminasi noise yang terjadi, sedangkan tujuan yang kedua adalah untuk memberikan batas ambang perubahan intensitas warna antara dua buah pixel. Noise terjadi karena suatu lingkungan yang pencahayaannya labil. Hal ini dapat terjadi karena intensitas cahaya yang datang tidak selalu sama dari waktu ke waktu. Sebuah array boolean f(x,y) digunakan untuk menyimpan nilai dari perhitungan. Jika nilai f(x,y) bernilai true berarti dua buah pixel dari 2 buah citra yang berbeda dengan letak yang sama terjadi perubahan warna yang melewati batas ambang T1. Sebaliknya, jika f(x,y) bernilai false berarti kedua buah pixel tersebut tidak terjadi perubahan warna atau perubahan yang terjadi tidak melewati batas ambang T1. Array ini digunakan untuk menghitung jumlah pixel yang berubah. Jika jumlah pixel yang berubah melebihi nilai batas ambang T2 maka citra tersebut dikatakan terdapat gerakan.
Dimana: res = Hasil pendeteksian gerakan, bernilai 1 jika terdapat gerakan, dan bernilai 0 jika tidak terdapat gerakan.
T2 =
x= y= f=
Batas nilai untuk membatasi banyak jumlah pixel yang berubah sebelum sebuah citra dinyatakan terdapat gerakan (Threshold). Posisi pixel terhadap sumbu x. Posisi pixel terhadap sumbu y. Array hasil perhitungan pendeteksian citra.
Terdapat dua metode yang dapat digunakan untuk menetapkan sebuah citra sebagai citra referensi. Metode yang pertama, citra referensi hanya diambil satu kali untuk pendeteksian seterusnya, sedangkan metode kedua, citra referensi diambil dari citra pembanding setiap kali citra pembanding telah lolos dari deteksi gerakan. Metode yang pertama digunakan apabila lingkungan yang dideteksi tidak ada perubahan cahaya selama proses deteksi gerakan berlangsung, misalnya di dalam ruangan. Metode yang kedua digunakan apabila pencahayaan lingkungan yang dideteksi dapat berubah-ubah. Metode ini dapat digunakan pada lingkungan yang terpengaruh oleh cahaya matahari. Perubahan sinar matahari tidak dianggap sebagai gerakan karena perubahannya yang sangat lambat dan karena adanya variabel T1. Penggunaan metode kedua ini dapat berakibat tak terdeteksinya sebuah gerakan yang sangat lambat, metode ini hanya dapat mengenali perubahan yang ekstrim. Apabila proses pendeteksian termasuk untuk mendeteksi gerakan yang sangat lambat maka metode kedua ini tidak dapat digunakan, atau dapat digunakan tetapi dengan mengurangi nilai batas ambang T1, sehingga perubahan kecil dapat terdeteksi oleh sistem.
2.7 Piksel Piksel adalah unsur gambar atau representasi sebuah titik terkecil dalam sebuah gambar grafis yang dihitung per inci. Piksel sendiri berasal dari akronim bahasa Inggris Picture Element yang disingkat menjadi Pixel. Pada ujung tertinggi skala resolusi, mesin cetak gambar berwarna dapat menghasilkan hasil cetak yang memiliki lebih dari 2.500 titik per inci denga pilihan 16 juta warna lebih untuk setiap inci, dalam istilah komputer berarti gambar seluas satu inci persegi yang bisa ditampilkan pada tingkat resolusi tersebut sepadan dengan 150 juta bit informasi. Monitor atau layar datar yang sering kita temui terdiri dari ribuan piksel yang terbagi dalam baris-baris dan kolom-kolom. Jumlah piksel 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 piksel. Semakin tinggi jumlah piksel yang tersedia dalam monitor, semakin tajam gambar yang mampu ditampilkan oleh monitor tersebut.
2.8 Bitmap (BMP) Bitmap adalah representasi dari citra grafis yang terdiri dari susunan titik yang tersimpan di memori komputer. Dikembangkan oleh Microsoft dan nilai setiap titik diawali oleh satu bit data untuk gambar hitam putih, atau lebih bagi gambar berwarna. Ukuran filenya sangat besar karena bisa mencapai ukuran Megabytes, file ini merupakan format yang belum terkompresi dan menggunakan sistem warna RGB (Red, Green, Blue) dimana masing-masing warna pixelnya
terdiri dari 3 komponen, R, G, dan B yang dicampur menjadi satu. File BMP dapat dibuka dengan berbagai macam software pembuka gambar seperti ACDSee, Paint, IrvanView dan lain-lain. File BMP tidak bisa (sangat jarang) digunakan di web (internet) karena ukurannya yang besar. Gambar bitmap bisa disebut juga dengan gambar raster merupakan kumpulan kotak-kotak kecil (pixel). Titik-titik pixel tersebut ditempatkan pada lokasi-lokasi tertentu dengan nilai-nilai warna tersendiri yang secara keseluruhan akan membentuk sebuah tampilan. Gambar bertipe bitmap sesungguhnya adalah mozaik dari ribuan atau jutaan pixel. Ketika bekerja dengan gambar bitmap kita akan mengedit pixel-pixel yang merupakan bagian dari sebuah objek gambar.
2.9 Metode RGB (Red, Green, Blue) Metode warna ini dipakai untuk warna pendar atau warna layar yang berupa cahaya yang dipancarkan. Warna ini hampir mirip dengan teori warna dasar, tetapi menggunakan warna Hijau sebagai pengganti warna Kuning. Warnawarna lain dihasilkan dengan kombinasi dari 3 warna yaitu Merah, Hijau, dan Biru. Pada pemrograman berbasis text, misal xBase (dBase/FoxPro/Clipper), warna RGB ini didefinisikan dengan sangat sederhana yaitu dengan perintah dasar SET COLOR TO warnaRGB. Contoh: SET COLOR TO R: menghasilkan tulisan warna merah SET COLOR TO W/B: menghasilkan tulisan putih di atas latar Biru Dalam pemrograman xBase, kode warna yang dipakai adalah: R = Red (Merah) G = Green (Hijau) B = Blue (Biru)
W = White (Putih) N = None (tanpa warna atau Hitam) Jika ingin membuat warna lebih menyala (bright), bisa ditambahkan tanda „+‟, misal R+ (merah terang) dan pemberian tanda „*‟ akan menghasilkan efek berkedip. Pada pemrograman GUI, maka RGB memiliki spektrum yang lebih luas dibanding era text-based. Beberapa tools menggunakan RGB dengan nilai 0 s/d 255. Ada juga yang menggunan nilai hexadecimal dari nilai 00 sampai dengan FF. Perhatikan contoh berikut: -
RGB(255,0,0) akan menghasilkan warna merah sempurna
-
RGB(255,0,255) akan menghasilkan warna violet (tetapi dalam RGB akan lebih mendekati pink)
-
RGB(0,50,0) akan menghasilkan warna hijau gelap Dalam hexadecimal, cara penentuan warna juga sama, misal warna merah
dengan RGB(FF,00,00), warna biru dengan RGB(00,00,FF). Pemberian
nilai
maksimal
RGB,
yaitu
RGB(255,255,255)
atau
RGB(FF,FF,FF) akan menghasilkan warna putih. Sebaliknya pemberian nilai minimal RGB(0,0,0) akan menghasilkan warna hitam. Untuk menghasilkan warna abu-abu (Grey), cukup memberikan nilai yang sama pada unsur R,G, dan B. Jika nilainya kecil maka akan menghasilkan abu-abu gelap dan semakin besar nilainya akan menghasilkan warna abu-abu yang semakin terang. Misal: RGB(20,20,20) menghasilkan abu-abu gelap dan RGB(200,200,200) akan menghasilkan warna abu-abu yang lebih terang.
R
G
B
hex
font name
255 248 248 245 245 220 255 255 253 253 250 250 250 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 240 245 245 240 240 240 230 255 255 255 255 255 0 47 47 47 47 105 105 105
250 248 248 245 245 220 250 250 245 245 240 235 235 239 239 235 235 228 218 218 222 222 228 248 255 250 250 245 255 255 255 255 248 248 230 240 240 228 228 255 0 79 79 79 79 105 105 105
250 255 255 245 245 220 240 240 230 230 230 215 215 213 213 205 205 196 185 185 173 173 181 220 240 205 205 238 240 250 250 255 255 255 250 245 245 225 225 255 0 79 79 79 79 105 105 105
FFFAFA F8F8FF F8F8FF F5F5F5 F5F5F5 DCDCDC FFFAF0 FFFAF0 FDF5E6 FDF5E6 FAF0E6 FAEBD7 FAEBD7 FFEFD5 FFEFD5 FFEBCD FFEBCD FFE4C4 FFDAB9 FFDAB9 FFDEAD FFDEAD FFE4B5 FFF8DC FFFFF0 FFFACD FFFACD FFF5EE F0FFF0 F5FFFA F5FFFA F0FFFF F0F8FF F0F8FF E6E6FA FFF0F5 FFF0F5 FFE4E1 FFE4E1 FFFFFF 0 2F4F4F 2F4F4F 2F4F4F 2F4F4F 696969 696969 696969
snow ghost white GhostWhite white smoke WhiteSmoke gainsboro floral white FloralWhite old lace OldLace linen antique white AntiqueWhite papaya whip PapayaWhip blanched almond BlanchedAlmond bisque peach puff PeachPuff navajo white NavajoWhite moccasin cornsilk ivory lemon chiffon LemonChiffon seashell honeydew mint cream MintCream azure alice blue AliceBlue lavender lavender blush LavenderBlush misty rose MistyRose white black dark slate gray DarkSlateGray dark slate grey DarkSlateGrey dim gray DimGray dim grey
solid color
105 112 112 112 112 119 119 119 119 190 190 211 211 211 211 25 25 0 0 0 100 100 72 72 106 106 123 123 132 132 0 0 65 65 0 30 30 0 0 135 135 135 135 70 70 176 176 173 173
105 128 128 128 128 136 136 136 136 190 190 211 211 211 211 25 25 0 0 0 149 149 61 61 90 90 104 104 112 112 0 0 105 105 0 144 144 191 191 206 206 206 206 130 130 196 196 216 216
105 144 144 144 144 153 153 153 153 190 190 211 211 211 211 112 112 128 128 128 237 237 139 139 205 205 238 238 255 255 205 205 225 225 255 255 255 255 255 235 235 250 250 180 180 222 222 230 230
696969 708090 708090 708090 708090 778899 778899 778899 778899 BEBEBE BEBEBE D3D3D3 D3D3D3 D3D3D3 D3D3D3 191970 191970 80 80 80 6495ED 6495ED 483D8B 483D8B 6A5ACD 6A5ACD 7B68EE 7B68EE 8470FF 8470FF 0000CD 0000CD 4,17E+04 4,17E+04 0000FF 1E90FF 1E90FF 00BFFF 00BFFF 87CEEB 87CEEB 87CEFA 87CEFA 4682B4 4682B4 B0C4DE B0C4DE ADD8E6 ADD8E6
DimGrey slate gray SlateGray slate grey SlateGrey light slate gray LightSlateGray light slate grey LightSlateGrey gray grey light grey LightGrey light gray LightGray midnight blue MidnightBlue navy navy blue NavyBlue cornflower blue CornflowerBlue dark slate blue DarkSlateBlue slate blue SlateBlue medium slate blue MediumSlateBlue light slate blue LightSlateBlue medium blue MediumBlue royal blue RoyalBlue blue dodger blue DodgerBlue deep sky blue DeepSkyBlue sky blue SkyBlue light sky blue LightSkyBlue steel blue SteelBlue light steel blue LightSteelBlue light blue LightBlue
176 176 175 175 0 0 72 72 64 0 224 224 95 95 102 102 127 0 0 85 85 143 143 46 46 60 60 32 32 152 152 0 0 124 124 0 127 0 0 173 173 50 50 154 154 34 34 107 107
224 224 238 238 206 206 209 209 224 255 255 255 158 158 205 205 255 100 100 107 107 188 188 139 139 179 179 178 178 251 251 255 255 252 252 255 255 250 250 255 255 205 205 205 205 139 139 142 142
230 230 238 238 209 209 204 204 208 255 255 255 160 160 170 170 212 0 0 47 47 143 143 87 87 113 113 170 170 152 152 127 127 0 0 0 0 154 154 47 47 50 50 50 50 34 34 35 35
B0E0E6 B0E0E6 AFEEEE AFEEEE 00CED1 00CED1 48D1CC 48D1CC 40E0D0 00FFFF E0FFFF E0FFFF 5F9EA0 5F9EA0 66CDAA 66CDAA 7FFFD4 6400 6400 556B2F 556B2F 8FBC8F 8FBC8F 2E8B57 2E8B57 3CB371 3CB371 20B2AA 20B2AA 98FB98 98FB98 00FF7F 00FF7F 7CFC00 7CFC00 00FF00 7FFF00 00FA9A 00FA9A ADFF2F ADFF2F 32CD32 32CD32 9ACD32 9ACD32 228B22 228B22 6B8E23 6B8E23
powder blue PowderBlue pale turquoise PaleTurquoise dark turquoise DarkTurquoise medium turquoise MediumTurquoise turquoise cyan light cyan LightCyan cadet blue CadetBlue medium aquamarine MediumAquamarine aquamarine dark green DarkGreen dark olive green DarkOliveGreen dark sea green DarkSeaGreen sea green SeaGreen medium sea green MediumSeaGreen light sea green LightSeaGreen pale green PaleGreen spring green SpringGreen lawn green LawnGreen green chartreuse medium spring green MediumSpringGreen green yellow GreenYellow lime green LimeGreen yellow green YellowGreen forest green ForestGreen olive drab OliveDrab
189 189 240 238 238 250 250 255 255 255 255 238 238 218 184 184 188 188 205 205 139 139 160 205 222 245 245 244 244 210 210 178 165 233 233 250 255 255 255 255 255 255 240 240 255 255 255 255 255
183 183 230 232 232 250 250 255 255 255 215 221 221 165 134 134 143 143 92 92 69 69 82 133 184 245 222 164 164 180 105 34 42 150 150 128 160 160 165 140 140 127 128 128 99 69 69 0 105
107 107 140 170 170 210 210 224 224 0 0 130 130 32 11 11 143 143 92 92 19 19 45 63 135 220 179 96 96 140 30 34 42 122 122 114 122 122 0 0 0 80 128 128 71 0 0 0 180
BDB76B BDB76B F0E68C EEE8AA EEE8AA FAFAD2 FAFAD2 FFFFE0 FFFFE0 FFFF00 FFD700 EEDD82 EEDD82 DAA520 B8860B B8860B BC8F8F BC8F8F CD5C5C CD5C5C 8B4513 8B4513 A0522D CD853F DEB887 F5F5DC F5DEB3 F4A460 F4A460 D2B48C D2691E B22222 A52A2A E9967A E9967A FA8072 FFA07A FFA07A FFA500 FF8C00 FF8C00 FF7F50 F08080 F08080 FF6347 FF4500 FF4500 FF0000 FF69B4
dark khaki DarkKhaki khaki pale goldenrod PaleGoldenrod light goldenrod yellow LightGoldenrodYellow light yellow LightYellow yellow gold light goldenrod LightGoldenrod goldenrod dark goldenrod DarkGoldenrod rosy brown RosyBrown indian red IndianRed saddle brown SaddleBrown sienna peru burlywood beige wheat sandy brown SandyBrown tan chocolate firebrick brown dark salmon DarkSalmon salmon light salmon LightSalmon orange dark orange DarkOrange coral light coral LightCoral tomato orange red OrangeRed red hot pink
255 255 255 255 255 255 219 219 176 199 199 208 208 255 238 221 218 186 186 153 153 148 148 138 138 160 147 147 216 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139
105 20 20 192 182 182 112 112 48 21 21 32 32 0 130 160 112 85 85 50 50 0 0 43 43 32 112 112 191 250 233 201 137 245 229 197 134 239 223 192 131 228 213 183 125 218 203 175 119
180 147 147 203 193 193 147 147 96 133 133 144 144 255 238 221 214 211 211 204 204 211 211 226 226 240 219 219 216 250 233 201 137 238 222 191 130 219 204 176 120 196 183 158 107 185 173 149 101
FF69B4 FF1493 FF1493 FFC0CB FFB6C1 FFB6C1 DB7093 DB7093 B03060 C71585 C71585 D02090 D02090 FF00FF EE82EE DDA0DD DA70D6 BA55D3 BA55D3 9932CC 9932CC 9400D3 9400D3 8A2BE2 8A2BE2 A020F0 9370DB 9370DB D8BFD8 FFFAFA EEE9E9 CDC9C9 8B8989 FFF5EE EEE5DE CDC5BF 8B8682 FFEFDB EEDFCC CDC0B0 8B8378 FFE4C4 EED5B7 CDB79E 8B7D6B FFDAB9 EECBAD CDAF95 8B7765
HotPink deep pink DeepPink pink light pink LightPink pale violet red PaleVioletRed maroon medium violet red MediumVioletRed violet red VioletRed magenta violet plum orchid medium orchid MediumOrchid dark orchid DarkOrchid dark violet DarkViolet blue violet BlueViolet purple medium purple MediumPurple thistle snow1 snow2 snow3 snow4 seashell1 seashell2 seashell3 seashell4 AntiqueWhite1 AntiqueWhite2 AntiqueWhite3 AntiqueWhite4 bisque1 bisque2 bisque3 bisque4 PeachPuff1 PeachPuff2 PeachPuff3 PeachPuff4
255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 240 224 193 131 255 238 205 139 255 238 205 139 240 224 193 131 131 122 105 71 72 67 58 39 0 0 0 0 30 28 24 16 99
222 207 179 121 250 233 201 137 248 232 200 136 255 238 205 139 255 238 205 139 240 224 193 131 228 213 183 125 255 238 205 139 111 103 89 60 118 110 95 64 0 0 0 0 144 134 116 78 184
173 161 139 94 205 191 165 112 220 205 177 120 240 224 193 131 240 224 193 131 245 229 197 134 225 210 181 123 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255
FFDEAD EECFA1 CDB38B 8B795E FFFACD EEE9BF CDC9A5 8B8970 FFF8DC EEE8CD CDC8B1 8B8878 FFFFF0 EEEEE0 CDCDC1 8B8B83 F0FFF0 E0EEE0 C1CDC1 838B83 FFF0F5 EEE0E5 CDC1C5 8B8386 FFE4E1 EED5D2 CDB7B5 8B7D7B F0FFFF E0EEEE C1CDCD 838B8B 836FFF 7A67EE 6959CD 473C8B 4876FF 436EEE 3A5FCD 27408B 0000FF 0000EE 0000CD 00008B 1E90FF 1C86EE 1874CD 104E8B 63B8FF
NavajoWhite1 NavajoWhite2 NavajoWhite3 NavajoWhite4 LemonChiffon1 LemonChiffon2 LemonChiffon3 LemonChiffon4 cornsilk1 cornsilk2 cornsilk3 cornsilk4 ivory1 ivory2 ivory3 ivory4 honeydew1 honeydew2 honeydew3 honeydew4 LavenderBlush1 LavenderBlush2 LavenderBlush3 LavenderBlush4 MistyRose1 MistyRose2 MistyRose3 MistyRose4 azure1 azure2 azure3 azure4 SlateBlue1 SlateBlue2 SlateBlue3 SlateBlue4 RoyalBlue1 RoyalBlue2 RoyalBlue3 RoyalBlue4 blue1 blue2 blue3 blue4 DodgerBlue1 DodgerBlue2 DodgerBlue3 DodgerBlue4 SteelBlue1
92 79 54 0 0 0 0 135 126 108 74 176 164 141 96 198 185 159 108 202 188 162 110 191 178 154 104 224 209 180 122 187 174 150 102 152 142 122 83 0 0 0 0 0 0 0 0 151 141
172 148 100 191 178 154 104 206 192 166 112 226 211 182 123 226 211 182 123 225 210 181 123 239 223 192 131 255 238 205 139 255 238 205 139 245 229 197 134 245 229 197 134 255 238 205 139 255 238
238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238
5CACEE 4F94CD 36648B 00BFFF 00B2EE 009ACD 00688B 87CEFF 7EC0EE 6CA6CD 4A708B B0E2FF A4D3EE 8DB6CD 607B8B C6E2FF B9D3EE 9FB6CD 6C7B8B CAE1FF BCD2EE A2B5CD 6E7B8B BFEFFF B2DFEE 9AC0CD 68838B E0FFFF D1EEEE B4CDCD 7A8B8B BBFFFF AEEEEE 96CDCD 668B8B 98F5FF 8EE5EE 7AC5CD 53868B 00F5FF 00E5EE 00C5CD 00868B 00FFFF 00EEEE 00CDCD 008B8B 97FFFF 8DEEEE
SteelBlue2 SteelBlue3 SteelBlue4 DeepSkyBlue1 DeepSkyBlue2 DeepSkyBlue3 DeepSkyBlue4 SkyBlue1 SkyBlue2 SkyBlue3 SkyBlue4 LightSkyBlue1 LightSkyBlue2 LightSkyBlue3 LightSkyBlue4 SlateGray1 SlateGray2 SlateGray3 SlateGray4 LightSteelBlue1 LightSteelBlue2 LightSteelBlue3 LightSteelBlue4 LightBlue1 LightBlue2 LightBlue3 LightBlue4 LightCyan1 LightCyan2 LightCyan3 LightCyan4 PaleTurquoise1 PaleTurquoise2 PaleTurquoise3 PaleTurquoise4 CadetBlue1 CadetBlue2 CadetBlue3 CadetBlue4 turquoise1 turquoise2 turquoise3 turquoise4 cyan1 cyan2 cyan3 cyan4 DarkSlateGray1 DarkSlateGray2
121 82 127 118 102 69 193 180 155 105 84 78 67 46 154 144 124 84 0 0 0 0 0 0 0 0 127 118 102 69 192 179 154 105 202 188 162 110 255 238 205 139 255 238 205 139 255 238 205
205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 246 230 198 134 236 220 190 129 255 238 205
205 139 212 198 170 116 193 180 155 105 159 148 128 87 154 144 124 84 127 118 102 69 0 0 0 0 0 0 0 0 62 58 50 34 112 104 90 61 143 133 115 78 139 130 112 76 224 209 180
79CDCD 528B8B 7FFFD4 76EEC6 66CDAA 458B74 C1FFC1 B4EEB4 9BCD9B 698B69 54FF9F 4EEE94 43CD80 2E8B57 9AFF9A 90EE90 7CCD7C 548B54 00FF7F 00EE76 00CD66 008B45 00FF00 00EE00 00CD00 008B00 7FFF00 76EE00 66CD00 458B00 C0FF3E B3EE3A 9ACD32 698B22 CAFF70 BCEE68 A2CD5A 6E8B3D FFF68F EEE685 CDC673 8B864E FFEC8B EEDC82 CDBE70 8B814C FFFFE0 EEEED1 CDCDB4
DarkSlateGray3 DarkSlateGray4 aquamarine1 aquamarine2 aquamarine3 aquamarine4 DarkSeaGreen1 DarkSeaGreen2 DarkSeaGreen3 DarkSeaGreen4 SeaGreen1 SeaGreen2 SeaGreen3 SeaGreen4 PaleGreen1 PaleGreen2 PaleGreen3 PaleGreen4 SpringGreen1 SpringGreen2 SpringGreen3 SpringGreen4 green1 green2 green3 green4 chartreuse1 chartreuse2 chartreuse3 chartreuse4 OliveDrab1 OliveDrab2 OliveDrab3 OliveDrab4 DarkOliveGreen1 DarkOliveGreen2 DarkOliveGreen3 DarkOliveGreen4 khaki1 khaki2 khaki3 khaki4 LightGoldenrod1 LightGoldenrod2 LightGoldenrod3 LightGoldenrod4 LightYellow1 LightYellow2 LightYellow3
139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139
139 255 238 205 139 215 201 173 117 193 180 155 105 185 173 149 101 193 180 155 105 106 99 85 58 130 121 104 71 211 197 170 115 231 216 186 126 165 154 133 90 127 118 102 69 48 44 38 26
122 0 0 0 0 0 0 0 0 37 34 29 20 15 14 12 8 193 180 155 105 106 99 85 58 71 66 57 38 155 145 125 85 186 174 150 102 79 73 63 43 36 33 29 19 48 44 38 26
8B8B7A FFFF00 EEEE00 CDCD00 8B8B00 FFD700 EEC900 CDAD00 8B7500 FFC125 EEB422 CD9B1D 8B6914 FFB90F EEAD0E CD950C 8B6508 FFC1C1 EEB4B4 CD9B9B 8B6969 FF6A6A EE6363 CD5555 8B3A3A FF8247 EE7942 CD6839 8B4726 FFD39B EEC591 CDAA7D 8B7355 FFE7BA EED8AE CDBA96 8B7E66 FFA54F EE9A49 CD853F 8B5A2B FF7F24 EE7621 CD661D 8B4513 FF3030 EE2C2C CD2626 8B1A1A
LightYellow4 yellow1 yellow2 yellow3 yellow4 gold1 gold2 gold3 gold4 goldenrod1 goldenrod2 goldenrod3 goldenrod4 DarkGoldenrod1 DarkGoldenrod2 DarkGoldenrod3 DarkGoldenrod4 RosyBrown1 RosyBrown2 RosyBrown3 RosyBrown4 IndianRed1 IndianRed2 IndianRed3 IndianRed4 sienna1 sienna2 sienna3 sienna4 burlywood1 burlywood2 burlywood3 burlywood4 wheat1 wheat2 wheat3 wheat4 tan1 tan2 tan3 tan4 chocolate1 chocolate2 chocolate3 chocolate4 firebrick1 firebrick2 firebrick3 firebrick4
255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255
64 59 51 35 140 130 112 76 160 149 129 87 165 154 133 90 127 118 102 69 114 106 91 62 99 92 79 54 69 64 55 37 0 0 0 0 20 18 16 10 110 106 96 58 181 169 145 99 174
64 59 51 35 105 98 84 57 122 114 98 66 0 0 0 0 0 0 0 0 86 80 69 47 71 66 57 38 0 0 0 0 0 0 0 0 147 137 118 80 180 167 144 98 197 184 158 108 185
FF4040 EE3B3B CD3333 8B2323 FF8C69 EE8262 CD7054 8B4C39 FFA07A EE9572 CD8162 8B5742 FFA500 EE9A00 CD8500 8B5A00 FF7F00 EE7600 CD6600 8B4500 FF7256 EE6A50 CD5B45 8B3E2F FF6347 EE5C42 CD4F39 8B3626 FF4500 EE4000 CD3700 8B2500 FF0000 EE0000 CD0000 8B0000 FF1493 EE1289 CD1076 8B0A50 FF6EB4 EE6AA7 CD6090 8B3A62 FFB5C5 EEA9B8 CD919E 8B636C FFAEB9
brown1 brown2 brown3 brown4 salmon1 salmon2 salmon3 salmon4 LightSalmon1 LightSalmon2 LightSalmon3 LightSalmon4 orange1 orange2 orange3 orange4 DarkOrange1 DarkOrange2 DarkOrange3 DarkOrange4 coral1 coral2 coral3 coral4 tomato1 tomato2 tomato3 tomato4 OrangeRed1 OrangeRed2 OrangeRed3 OrangeRed4 red1 red2 red3 red4 DeepPink1 DeepPink2 DeepPink3 DeepPink4 HotPink1 HotPink2 HotPink3 HotPink4 pink1 pink2 pink3 pink4 LightPink1
238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 224 209 180 122 191 178 154 104 155 145 125 85 171 159 137 93 255 238 205 139 0 0
162 140 95 130 121 104 71 52 48 41 28 62 58 50 34 0 0 0 0 131 122 105 71 187 174 150 102 102 95 82 55 62 58 50 34 48 44 38 26 130 121 104 71 225 210 181 123 0 0
173 149 101 171 159 137 93 179 167 144 98 150 140 120 82 255 238 205 139 250 233 201 137 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 255 238 205 139 0 0
EEA2AD CD8C95 8B5F65 FF82AB EE799F CD6889 8B475D FF34B3 EE30A7 CD2990 8B1C62 FF3E96 EE3A8C CD3278 8B2252 FF00FF EE00EE CD00CD 8B008B FF83FA EE7AE9 CD69C9 8B4789 FFBBFF EEAEEE CD96CD 8B668B E066FF D15FEE B452CD 7A378B BF3EFF B23AEE 9A32CD 68228B 9B30FF 912CEE 7D26CD 551A8B AB82FF 9F79EE 8968CD 5D478B FFE1FF EED2EE CDB5CD 8B7B8B 0 0
LightPink2 LightPink3 LightPink4 PaleVioletRed1 PaleVioletRed2 PaleVioletRed3 PaleVioletRed4 maroon1 maroon2 maroon3 maroon4 VioletRed1 VioletRed2 VioletRed3 VioletRed4 magenta1 magenta2 magenta3 magenta4 orchid1 orchid2 orchid3 orchid4 plum1 plum2 plum3 plum4 MediumOrchid1 MediumOrchid2 MediumOrchid3 MediumOrchid4 DarkOrchid1 DarkOrchid2 DarkOrchid3 DarkOrchid4 purple1 purple2 purple3 purple4 MediumPurple1 MediumPurple2 MediumPurple3 MediumPurple4 thistle1 thistle2 thistle3 thistle4 gray0 grey0
3 3 5 5 8 8 10 10 13 13 15 15 18 18 20 20 23 23 26 26 28 28 31 31 33 33 36 36 38 38 41 41 43 43 46 46 48 48 51 51 54 54 56 56 59 59 61 61 64
3 3 5 5 8 8 10 10 13 13 15 15 18 18 20 20 23 23 26 26 28 28 31 31 33 33 36 36 38 38 41 41 43 43 46 46 48 48 51 51 54 54 56 56 59 59 61 61 64
3 3 5 5 8 8 10 10 13 13 15 15 18 18 20 20 23 23 26 26 28 28 31 31 33 33 36 36 38 38 41 41 43 43 46 46 48 48 51 51 54 54 56 56 59 59 61 61 64
30303 30303 50505 50505 80808 80808 0A0A0A 0A0A0A 0D0D0D 0D0D0D 0F0F0F 0F0F0F 121212 121212 141414 141414 171717 171717 1A1A1A 1A1A1A 1C1C1C 1C1C1C 1F1F1F 1F1F1F 212121 212121 242424 242424 262626 262626 292929 292929 2B2B2B 2B2B2B 2E2E2E 2E2E2E 303030 303030 333333 333333 363636 363636 383838 383838 3B3B3B 3B3B3B 3D3D3D 3D3D3D 404040
gray1 grey1 gray2 grey2 gray3 grey3 gray4 grey4 gray5 grey5 gray6 grey6 gray7 grey7 gray8 grey8 gray9 grey9 gray10 grey10 gray11 grey11 gray12 grey12 gray13 grey13 gray14 grey14 gray15 grey15 gray16 grey16 gray17 grey17 gray18 grey18 gray19 grey19 gray20 grey20 gray21 grey21 gray22 grey22 gray23 grey23 gray24 grey24 gray25
64 66 66 69 69 71 71 74 74 77 77 79 79 82 82 84 84 87 87 89 89 92 92 94 94 97 97 99 99 102 102 105 105 107 107 110 110 112 112 115 115 117 117 120 120 122 122 125 125
64 66 66 69 69 71 71 74 74 77 77 79 79 82 82 84 84 87 87 89 89 92 92 94 94 97 97 99 99 102 102 105 105 107 107 110 110 112 112 115 115 117 117 120 120 122 122 125 125
64 66 66 69 69 71 71 74 74 77 77 79 79 82 82 84 84 87 87 89 89 92 92 94 94 97 97 99 99 102 102 105 105 107 107 110 110 112 112 115 115 117 117 120 120 122 122 125 125
404040 424242 424242 454545 454545 474747 474747 4A4A4A 4A4A4A 4D4D4D 4D4D4D 4F4F4F 4F4F4F 525252 525252 545454 545454 575757 575757 595959 595959 5C5C5C 5C5C5C 5E5E5E 5E5E5E 616161 616161 636363 636363 666666 666666 696969 696969 6B6B6B 6B6B6B 6E6E6E 6E6E6E 707070 707070 737373 737373 757575 757575 787878 787878 7A7A7A 7A7A7A 7D7D7D 7D7D7D
grey25 gray26 grey26 gray27 grey27 gray28 grey28 gray29 grey29 gray30 grey30 gray31 grey31 gray32 grey32 gray33 grey33 gray34 grey34 gray35 grey35 gray36 grey36 gray37 grey37 gray38 grey38 gray39 grey39 gray40 grey40 gray41 grey41 gray42 grey42 gray43 grey43 gray44 grey44 gray45 grey45 gray46 grey46 gray47 grey47 gray48 grey48 gray49 grey49
127 127 130 130 133 133 135 135 138 138 140 140 143 143 145 145 148 148 150 150 153 153 156 156 158 158 161 161 163 163 166 166 168 168 171 171 173 173 176 176 179 179 181 181 184 184 186 186 189
127 127 130 130 133 133 135 135 138 138 140 140 143 143 145 145 148 148 150 150 153 153 156 156 158 158 161 161 163 163 166 166 168 168 171 171 173 173 176 176 179 179 181 181 184 184 186 186 189
127 127 130 130 133 133 135 135 138 138 140 140 143 143 145 145 148 148 150 150 153 153 156 156 158 158 161 161 163 163 166 166 168 168 171 171 173 173 176 176 179 179 181 181 184 184 186 186 189
7F7F7F 7F7F7F 828282 828282 858585 858585 878787 878787 8A8A8A 8A8A8A 8C8C8C 8C8C8C 8F8F8F 8F8F8F 919191 919191 949494 949494 969696 969696 999999 999999 9C9C9C 9C9C9C 9E9E9E 9E9E9E A1A1A1 A1A1A1 A3A3A3 A3A3A3 A6A6A6 A6A6A6 A8A8A8 A8A8A8 ABABAB ABABAB ADADAD ADADAD B0B0B0 B0B0B0 B3B3B3 B3B3B3 B5B5B5 B5B5B5 B8B8B8 B8B8B8 BABABA BABABA BDBDBD
gray50 grey50 gray51 grey51 gray52 grey52 gray53 grey53 gray54 grey54 gray55 grey55 gray56 grey56 gray57 grey57 gray58 grey58 gray59 grey59 gray60 grey60 gray61 grey61 gray62 grey62 gray63 grey63 gray64 grey64 gray65 grey65 gray66 grey66 gray67 grey67 gray68 grey68 gray69 grey69 gray70 grey70 gray71 grey71 gray72 grey72 gray73 grey73 gray74
189 191 191 194 194 196 196 199 199 201 201 204 204 207 207 209 209 212 212 214 214 217 217 219 219 222 222 224 224 227 227 229 229 232 232 235 235 237 237 240 240 242 242 245 245 247 247 250 250
189 191 191 194 194 196 196 199 199 201 201 204 204 207 207 209 209 212 212 214 214 217 217 219 219 222 222 224 224 227 227 229 229 232 232 235 235 237 237 240 240 242 242 245 245 247 247 250 250
189 191 191 194 194 196 196 199 199 201 201 204 204 207 207 209 209 212 212 214 214 217 217 219 219 222 222 224 224 227 227 229 229 232 232 235 235 237 237 240 240 242 242 245 245 247 247 250 250
BDBDBD BFBFBF BFBFBF C2C2C2 C2C2C2 C4C4C4 C4C4C4 C7C7C7 C7C7C7 C9C9C9 C9C9C9 CCCCCC CCCCCC CFCFCF CFCFCF D1D1D1 D1D1D1 D4D4D4 D4D4D4 D6D6D6 D6D6D6 D9D9D9 D9D9D9 DBDBDB DBDBDB DEDEDE DEDEDE E0E0E0 E0E0E0 E3E3E3 E3E3E3 E5E5E5 E5E5E5 E8E8E8 E8E8E8 EBEBEB EBEBEB EDEDED EDEDED F0F0F0 F0F0F0 F2F2F2 F2F2F2 F5F5F5 F5F5F5 F7F7F7 F7F7F7 FAFAFA FAFAFA
grey74 gray75 grey75 gray76 grey76 gray77 grey77 gray78 grey78 gray79 grey79 gray80 grey80 gray81 grey81 gray82 grey82 gray83 grey83 gray84 grey84 gray85 grey85 gray86 grey86 gray87 grey87 gray88 grey88 gray89 grey89 gray90 grey90 gray91 grey91 gray92 grey92 gray93 grey93 gray94 grey94 gray95 grey95 gray96 grey96 gray97 grey97 gray98 grey98
252 252 255 255 169 169 169 169 0 0 0 0 139 139 139 139 144 144
252 252 255 255 169 169 169 169 0 0 139 139 0 0 0 0 238 238
252 252 255 255 169 169 169 169 139 139 139 139 139 139 0 0 144 144
FCFCFC FCFCFC FFFFFF FFFFFF A9A9A9 A9A9A9 A9A9A9 A9A9A9 00008B 00008B 008B8B 008B8B 8B008B 8B008B 8B0000 8B0000 90EE90 90EE90
gray99 grey99 gray100 grey100 dark grey DarkGrey dark gray DarkGray dark blue DarkBlue dark cyan DarkCyan dark magenta DarkMagenta dark red DarkRed light green LightGreen
Tabel 2.1. Tabel warna RGB
2.10
Video Video adalah teknologi untuk menangkap, merekam, memproses,
mentransmisikan dan menata ulang gambar bergerak. Biasanya menggunakan film seluloid, sinyal elektronik, atau media digital. Berkaitan dengan “penglihatan dan pendengaran” Aplikasi video pada multimedia mencakup banyak aplikasi
Entertainment: roadcast TV, VCR/DVD recording
Interpersonal: video telephony, video conferencing
Interactive: windows
Digital video adalah jenis sistem video recording yang bekerja menggunakan sistem digital dibandingkan dengan analog dalam hal representasi
videonya. Biasanya digital video direkam dalam tape, kemudian didistribusikan melalui optical disc, misalnya VCD dan DVD. Salah satu alat yang dapat digunakan untuk menghasilkan video digital adalah Webcam, yang digunakan untuk merekam gambar-gambar video dan audio, sehingga sebuah Webcam akan terdiri dari camera dan recorder.
2.11
Number of frames per second Frame rate adalah jumlah gambar per satuan unit waktu pada video,
berkisar antara 6 atau 8 fps (frame/s = frame per detik) untuk kamera mekanis tipe lama atau 120 fps atau lebih untuk kamera profesional jenis baru. PAL (Eropa, Asia, Australia, dan lain-lain) dan SECAM (Perancis, Rusia, Africa, dan lain-lain) spesikasi standarnya 25 fps, sedangkan NTSC (USA, Kanada, Jepang, dan lainlain) berkisar 29.97 fps sehingga mengurangi kompleksitas pada saat mentransfer gambar bergerak menjadi video. Minimum frame yang dibutuhkan untuk mendapatkan ilusi gambar yang bergerak adalah sekitar 15 fps.
2.12
Bit rate Bit rate adalah ukuran dari rata-rata besarnya informasi yang terdapat
dalam stream video. Hal ini diukur dengan bps (bit per second) atau mbps (megabits per second). Semakin tinggi bit rate maka semakin bagus kualitas videonya. Sebagai contoh VideoCD, dengan bit rate 5 mbps. HDTV masih memiliki kualitas yang lebih baik, dengan bit rate sekitar 20 mbps. Variable bit rate (VBR) adalah strategi untuk memaksimalkan kualitas video dan meminimalisir bit rate. Dalam gerak cepat, variable bit rate yang
digunakan akan lebih banyak daripada pada saat gerak lambat dengan durasi yang sama untuk kualitas tampilan yang konsisten. Untuk real-time dan non-buffered video streaming pada bandwith yang tetap (seperti video conference yang dikirimkan pada bandwith yang tetap) harus menggunakan constant bit rate (CBR). 2.13
WAV WAV adalah singkatan dari istilah dalam bahasa Inggris waveform audio
format merupakan standar format berkas audio yang dikembangkan oleh Microsoft dan IBM. WAV merupakan varian dari format bitstream RIFF dan mirip dengan format IFF dan AIFF yang digunakan komputer Amiga dan Macintosh. Baik WAV maupun AIFF kompatibel dengan sistem operasi Windows dan Macintosh. Wav merupakan bentuk format file suara tanpa kompresi. Format ini menyimpan semua detil suara yang biasanya berupa dua kanal suara, 44100hz sampling rate, 16 bit setiap sample. Wav biasanya menyimpan format PCM yang juga merupakan format standar audio untuk CD. Tetapi audio CD tidak memakai format wav melainkan memakai red book audio format. Tetapi karena memakai format PCM maka data yang disimpan sama hanya berbeda pada headernya.
2.14
MPEG (Motion Picture Expert Group) MPEG adalah singkatan dari Moving Picture Expert Group yang
digunakan sebagai standar pengkodean citra bergerak. MPEG dikembangkan oleh sebuah group yang bernama Motion Picture Expert Group.
MPEG-1 merupakan salah satu dari format standar MPEG yang digunakan dalam pengompresan suara dan gambar dalam video CD. MPEG-1 juga mendukung format audio yang biasa kita ketahui dengan ekstensi mp1, mp2 dan mp3. MPEG-1 didesain dengan tujuan untuk kompresi dan penyimpanan program-program video (1,5 Mbps). Salah satu aplikasinya adalah untuk komputer desktop dengan CD-ROM video (aplikasi-aplikasi video interaktif yang disimpan), namun ia juga digunakan dalam sistem-sistem broadcast satelit digital permulaan. MPEG-2 penggunaannya ditujukan pada transmisi-transmisi TV dan aplikasi-aplikasi lainnya yang memiliki kemampuan sampai 6 Mbps. Sementara itu, yang lebih maju lagi yakni MPEG-4 untuk penyandian laju bit yang sangat rendah dijadwalkan tersedia dalam bentuk draft di tahun 1997 ini. MPEG-4 lebih mengacu pada bahasa komunikasi umum untuk mendeskripsikan peralatan-peralatan (tool), algoritma-algoritma, dan profil-profil yang dibutuhkan untuk penyandian obyek-obyek, ketimbang masalah penstandarisasian sebuah algoritma penyandian.
2.15
Perangkat Lunak
2.15.1 Definisi a. Intruksi atau program komputer yang ketika di eksekusi melakukan peformansi dan fungsi yang diinginkan. b. Struktur data yang memungkinkan memanipulasi informasi dengan baik. c. Merupakan program – program komputer dan dokumentasi yang berkaitan.
d. Produk perangkat lunak di buat untuk pelanggan tertentu ataupun untuk pasar umum. e. Dokumen yang menggambarkan operasi kegunaaan program.
2.15.2 Rekayasa Perangkat Lunak a. Adalah suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek produksi perangkat lunak. b. Mengadopsi pendekatan yang sistematis dan terorganisir terhadap pekerjaannya dan menggunakan tool yang sesuai serta teknik yang ditentukan berdasarkan
masalah
yang akan
dipecahkan, kendala
pengembangan dan sumber daya yang tersedia.
2.16 Pemodelan Perangkat Lunak Pemodelan dalam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal dari rekayasa, dan pemodelan ini akan mempengaruhi perkerjaanpekerjaan dalam rekayasa perangkat lunak tersebut. Model proses perangkat lunak masih menjadi objek penelitian, namun pada saat ini terdapat banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak. Salah satu model yang digunakan dalam pengembangan rekayasa perangkat lunak adalah model Waterfall. Pendekatan model Waterfall berisi rangkaian aktivitas proses yang disajikan dalam proses yang terpisah, seperti spesifikasi kebutuhan, implementasi desain perangkat lunak, uji coba dan sebagainya. Setelah setiap langkah didefinisikan,
pengembangan pada langkah berikutnya. Berikut di bawah ini rangkaian aktivitas proses dalam model Waterfall :
Gambar 2.1 Model Waterfall
a. Rekayasa Sistem dan Pemodelan Sistem Karena sistem merupakan bagian dari sebuah sistem yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke software tersebut. Pandangan sistem ini penting ketika software harus berhubungan dengan elemen-elemen yang lain seperti software, manusia, dan database. Rekayasa dan anasisis system menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecilanalisis serta disain tingkat puncak. Rekayasa informasi mancakup juga pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area bisnis. b. Analisa Kebutuhan Proses pengumpulan
kebutuhan
diintensifkan
dan
difokuskan,
khusunya pada software. Untuk memahami sifat program yang dibangun,
analis harus memahami domain informasi, tingkah laku, unjuk kerja, dan interface yang diperlukan. Kebutuhan baik untuk sistem maupun software didokumentasikan dan dilihat lagi dengan pelanggan c. Desain Desain software sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda, struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Proses desain menterjemahkan syarat/kebutuhan ke dalam sebuah representasi software yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagiandari konfigurasi software. d. Coding Desain harus diterjemahkan kedalam bentuk mesin yang bisa dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis. e. Pengujian Sekali program dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal software, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian untuk menemukan kesalahan – kesalahan dan memastikan bahwa inputyang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang diharapkan.
f. Pemeliharaan Software akan mengalami perubahan setelah disampaikan kepada pelanggan (perkecualian yang mungkin adalah software yang dilekatkan). Perubahan akan terjadi karena kesalahan – kesalahan ditentukan, karena software harus disesuaikan untuk mengakomodasi perubahan – perubahan di dalam lingkungan eksternalnya (contohnya perubahan yang dibutuhkan sebagai akibat dari perangkat peripheral atau sistem operasi yang baru), atau karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja. Pemeliharaan software mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi.
2.17 UML (Unified Modeling Language) Secara umum UML merupakan „bahasa‟ untuk visualisasi, spesifikasi, konstruksi, serta dokumentasi. Dalam kerangka visualisasi, para pengembang
menggunakan
UML
sebagai
suatu
cara
untuk
mengkomunikasikan idenya kepada para pemrogram serta calom pengguna sistem/perangkat lunak. Dengan adanya „bahasa‟ yang bersifat standar, komunikasi perancang dengan pemrogram (lebih cepat lagi: komunikasi antar anggota kelompok pengembang) serta calon pengguna diharapkan menjadi mulus. Dalam kerangka spesifikasi, UML menyediakan model-model yang tepat, tidak mendua-arti (ambigu), serta lengkap. Secara khusus, UML menspesifikasi langkah-langkah penting dalam pengambilan keputusan ananisis, perancangan, serta implementasi dalam sistem yang sangat
bernuansa perangkat lunak (software intensive system). Dalam hal ini, UML bukanlah merupakan bahasa pemrograman tetapi model-model yang tercipta berhubungan langsung dengan berbagai macam bahasa pemrograman, sehingga adalah mungkin melakukan pemetaan (mapping) langsung dari model-model yang dibuat dengan UML ke bahasa-bahasa pemrograman berorientasi objek –katakanlah Java, Borland Delphi, Visual BASIC, C++, dan lain-lain. Pemetaan ini bersifat 2 arah: generasi bahasa pemrograman tertentu dari UML (forward engineering). UML adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. Diagramdiagram UML terbagi menjadi tiga kategori: a.
Structural Diagram: Digunakan untuk menampilkan entiti dunia nyata, elemen dari analisa dan desain, atau implementasi class dan relasinya.
b. Behavioral Diagram: kita menggunakan behavioral diagram untuk menampilkan bagaimana sistem kita merespon permintaan atau apa saja seiring waktu. c.
Interaction diagram: merupakan tipe dari behavioral diagram. Kita menggunakan interaction diagram untuk melukiskan perubahan dari pesan dalam suatu kolaborasi (kumpulan dari object-object yang sama) sehingga tujuan bisa tercapai.
Karena UML sangatlah fleksibel, kita akan menjumpai berbagai cara dalam mengkategorikan diagram kita. Pohon kategori di bawah ini cukup terkenal :
1. Static diagram: Menampilkan fitur statis dari sistem. Kategori ini hampir sama dengan structural diagram. 2. Dynamic diagram: Menampilkan bagaimana proses perubahan yang terjadi dalam sistem sepanjang waktu. Kategori ini mencakup UML state-machine diagram dan timing diagram. 3.
Functional diagram: Menampilkan detail dari proses dan algoritma. Kategori ini mencakup use case, interaction, dan activity diagram.
2.18
Analisa dan Perancangan Berorientasi Obyek Analisa dan perancangan berorientasi obyek berarti merumuskan dan
menyelesaikan masalah serta menghasilkan suatu hipotesa atau diagnosa (solusi), memodelkannya dengan pendekatan/ paradigma obyek (obyek adalah riil punya atribut/data dan perilaku). Kegiatan-kegiatan yang dilakukan dalam tahap analisa berorientasi obyek adalah sebagai berikut: a.
Menganalisa sistem yang ada dan mempelajari apa yang dikerjakan oleh sistem yang ada.
b.
Menspesifikasikan sistem yaitu menspesifikasikan masukan yang digunakan database yang ada, proses yang dilakukan dan keluaran yang dihasilkan. Pendekatan-pendekatan yang digunakan dalam analisa berorientasi obyek
adalah sebagai berikut : a.
Pendekatan top down yaitu memecahkan masalah ke dalam bagian-bagian terkecil atau perlevel sehingga mudah untuk diselesaikan.
b.
Pendekatan modul yaitu membagi sistem ke dalam modul-modul yang dapat beroperasi tanpa ketergantungan.
c.
Penggunaan alat-alat bantu dalam bentuk grafik dan teks sehingga mudah untuk mengerti serta dapat dikoreksi apabila terjadi perubahan.
Pendekatan dalam analisa berorientasi obyek dilengkapi dengan alat-alat dan teknik-teknik yang dibutuhkan dalam pengembangan sistem, sehingga hasil akhir dari sistem yang dikembangkan akan didapatkan sistem yang terdefinisi dengan baik dan jelas. Alat bantu yang digunakan dalam analisa berorientasi obyek sebagai berikut: Berikut ini adalah notasi diagram use case : a.
Diagram Use Case (Use Case Diagram) Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif/sudut pandang para pengguna sistem. Use case mendefinisikan “apa” yang dilakukan oleh sistem dan elemen-elemennya, bukan “bagaimana” sistem dan elemen-elemennya saling berinteraksi. Use case bekerja dengan menggunakan “scenario”, yaitu deskripsi urutan-urutan langkah yang menerangkan apa yang dilakukan penggunan terhadap sistem maupun sebaliknya. Use case diagram mengidentifikasikan fungsionalitas yang dipunyai oleh sistem (usecase), user yang berinteraksi dengan sistem (actor) dan asosiasi/keterhubungan antara user dengan fungsionalitas sistem. Komponen notasi dasar yang dipunyai oleh use-case diagram adalah actor, use-case, dan association. Berikut adalah notasi yang terdapat pada use-case diagram :
Tabel 2.2. Notasi Use Case Diagram Notasi
Nama Simbol Aktor
Keterangan Menggambarkan seseorang atau sesuatu yang berinteraksi dengan sistem yang akan dikembangkan
Use Case
Gambaran dari perilaku (behavior) sistem serangkaian kegiatan dalam bentuk dialog yang dilakukan oleh sistem.
Arus
Menggambarkan aliran data.
Gambar 2.7. Use Case Diagram b. Diagram Aktivitas (Activity Diagram) Activity diagram digunakan untuk mendokumentasikan alur kerja pada sebuah sistem, yang dimulai dari pandangan business level hingga ke operational level. Pada dasarnya, activity diagram merupakan variasi dari statechart diagram. Activity diagram mempunyai peran seperti halnya
flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku parallel sedangkan flowchart tidak bisa. Berikut adalah notasi activity diagram :
Tabel 2.3. Notasi Activity Diagram Notasi
Nama Simbol Start Point
Keterangan Diletakan pojok kiri atas dan merupakan awal aktivitas.
End Point
Akhir aktivitas
Activity
Menggambarkan proses bisnis dan dikenal sebagai activity state
Gambar 2.8. Activity Diagram
c.
Diagram Urutan (Sequence Diagram) Sequence diagram mendokumentasikan komunikasi/ interaksi antar kelas-kelas. Diagram ini menunjukkan sejumlah obyek dan message (pesan) yang diletakkan diantara obyek-obyek didalam use case. Perlu diingat bahwa di dalam diagram ini, kelas-kelas dan aktor-aktor diletakkan dibagian atas diagram dengan urutan dari kiri ke kanan dengan garis lifeline yang diletakkan secara vertikal terhadap kelas dan aktor. Berikut adalah komponen-komponen dalam Sequence Diagram diantaranya : a. Boundary Kelas Boundary memodelkan bagian dari sistem yang bergantung pada pihak lain disekitarnya dan merupakan pembatas sistem dengan dunia luar, contohnya user interace communication protocol, printer, sensor, dll. b. Control Kelas control mengkoordinasikan perilaku sistem dan menggambarkan dinamika dari suatu sistem, menangani tugas utama dan mengontrol alur kerja suatu sistem c. Entity Kelas Entity memodelkan informasi yang harus disimpan oleh sistem. d. Messages Menunjukan arah messages. Yang di gambarkan dengan garis panah terbuka. e. Asynchronous message
Sebuah messages yang dikirim dimana pengirim tidak perlu menunggu hasil dari sebuah message. Biasanya digunakan untuk mengirim message ke hardware/ software service. Digambarkan dengan partial arrowhead. f. Return values Menggambarkan hasil dari pengiriman messages, digambarkan dengan garis panah terputus. g. Object lifelines Menggambarkan
hasil
pengiriman
rentang/
masa
hidup
objek.
Digambarkan dengan garis terputus yang bergantung pada boundary/ control/ entity. Berikut ini adalah notasi dari diagram urutan:
Tabel 2.4. Notasi Sequence Diagram Notasi
Nama Simbol Activation
Keterangan Menambahkan periode selama actor atau
obyek
sedang
melakukan
tindakan message()
Message
Pengiriman pesan
Lifeline
Menambahkan
permulaan
dan
menghentikan titik dari suatu obyek Object Lifeline Object
Menambahkan
keberadaan
obyek pada situasi tertentu
dari
Control
Mengontrol aktivitas-aktivitas yang dilakukan oleh sebuah kegiatan
Boundary
Menghubungkan user dengan sistem
Entity
Entitas yang mempunyai atribut yang memiliki data yang bisa direkam
Gambar 2.9. Diagram Sequence
2.19
Flowchart Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. 2.19.1 Flowchart Program Flowchart Program merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukkan setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi. Programmer menggunakan flowchart program untuk menggambarkan urutan instruksi dari program komputer. Analis
Sistem
menggunakan
flowchart
program
untuk
menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur atau operasi. Suatu contoh flowchart program dapat dilihat pada Gambar 2.10. berikut ini :
Gambar 2.10. Flowchart Program
2.19.2 Simbol-Simbol Flowchart Simbol-simbol flowchart yang biasanya dipakai adalah simbol-simbol flowchart standar yang dikeluarkan oleh ANSI dan ISO. Simbol-simbol ini dapat dilihat pada Gambar 2.11. Simbol Flowchart Standar berikut ini :
Gambar 2.11. Simbol Flowchart
Gambar 2.12. Lanjutan Simbol Flowchart
Gambar 2.13. Lanjutan Simbol Flowchart
Gambar 2.14. Lanjutan Simbol Flowchart
Gambar 2.15. Lanjutan Simbol Flowchart
2.20
Uji Coba Black Box Uji coba fungsional atau uji coba Kotak hitam ( Black Box ) merupakan
pendekatan pangujian yang ujinya dturunkan dari spesifikasi program atau komponen. Sistem merupakan kotak hitam yang perilakunya hanya dapat ditentukan dengan mempelajari input dan output yang berkaitan Nama lain untuk pengujian ini adalah pengujian fungsional karena pegujian hanya berkepentingan dengan fungionalitas dan bukan implementasi.
Gambar 2.16. Black Box
Pengujian black box adalah pengujian aspek fundamental sistem tanpa memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan untuk mengetahui apakah perangkat lunak berfungsi dengan benar. Pengujian black box
BAB III ANALISA PERANCANGAN SISTEM 3.1 Analisa Masalah Motion detect atau deteksi gerakan secara garis besar mempunyai arti untuk menangkap atau mengidentifikasi suatu pergerakan pada objek, gerakan adalah suatu pusat perhatian yang digunakan manusia ataupun hewan untuk mengenali suatu obyek dari suatu latar yang tidak teratur. Dalam aplikasi pencitraan, gerakan muncul dari perpindahan tempat antara sistem pendeteksi dan lingkungan yang sedang dilihat.