BAB II LANDASAN TEORI
2.1 Citra 2.1.1 Pengertian Citra Suatu citra adalah fungsi intensitas 2 dimensi f(x,y), dimana x dan y adalah koordinat spasial dan f pada titik (x,y) merupakan tingkat kecerahan (brightness) suatu citra pada suatu titik. Suatu citra diperoleh dari penangkapan kekuatan sinar yang dipantulkan oleh objek. Citra sebagai output alat perekaman, seperti kamera, dapat bersifat analog ataupun digital. Citra Analog adalah citra yang masih dalam bentuk sinyal analog, seperti hasil pengambilan gambar oleh kamera atau citra tampilan di layar TV ataupun monitor (sinyal video). Menurut presisi yang digunakan untuk menyatakan titik-titik koordinat pada domain spasial (bidang) dan untuk menyatakan nilai keabuan (warna suatu citra), maka secara teoritis citra dapat dikelompokkan menjadi empat kelas citra, yaitu: kontinu-kontinu, kontinu-diskrit, diskrit-kontinu, diskrit-diskrit. Parameter (label) pertama menyatakan presisi titik koordinat pada bidang, sedangkan label kedua menyatakan presisi nilai keabuan/warna. Label kontinu berarti nilai yang digunakan adalah tak terbatas dan tak tehingga, sedangkan diskrit menyatakan terbatas dan berhingga. Suatu citra dijital merupakan representasi 2-D array sample diskrit suatu citra kontinu f(x,y). Amplitudo setiap sample di kuantisasi untuk menyatakan bilangan hingga bit. Setiap elemen array 2-D sample disebut suatu pixel atau pel (dari istilah ”picture element”). Pengolahan citra dijital adalah proses pengolahan citra dijital dengan alat bantu komputer. Tingkat ketajaman/resolusi warna pada citra digital tergantung pada jumlah ”bit” yang digunakan oleh komputer untuk merepresentasikan setiap pixel tersebut. Tipe yang sering digunakan untuk merepresentasikan citra adalah ”8-bit citra” (256 colors (0 untuk hitam - 255 untuk putih), tetapi dengan kemajuan teknologi perangkat keras grafik, kemampuan tampilan citra di komputer hingga 32 bit (232 warna).
Ranah nilai intensitas dalam suatu citra juga ditentukan oleh alat digitasi yang digunakan untuk menangkap dan konversi citra analog ke citra digital (A/D). Perolehan citra digital ini dapat dilakukan secara langsung oleh kamera digital ataupun melakukan proses konversi suatu citra analog ke citra digital. Untuk mengubah citra kontinu menjadi digital diperlukan proses pembuatan kisi-kisi arah horizontal dan vertikal, sehingga diperoleh gambar dalam bentuk array dua dimensi. Proses tersebut dikenal sebagai proses digitalisasi/sampling. Citra monochrome atau citra hitam-putih merupakan citra satu kanal, dimana citra f(x,y) merupakan fungsi tingkat keabuan dari hitam ke putih, x menyatakan variabel baris (garis jelajah) dan y menyatakan variabel kolom atau posisi di garis jelajah. Sebaliknya citra bewarna dikenal juga dengan citra multi-spectral, di mana warna citra biasanya. Citra digital dapat didefinisikan sebagai fungsi dua variabel, f(x,y), dimana x dan y adalah koordinat spasial sedangkan nilai f(x,y) adalah intensitas citra pada koordinat tersebut. Teknologi dasar untuk menciptakan dan menampilkan warna pada citra digital berdasarkan pada penelitian bahwa sebuah warna merupakan kombinasi dari tiga warna dasar, yaitu merah, hijau, dan biru (Red, Green, Blue - RGB).
2.1.2 Resolusi Citra Resolusi citra dikenal sebagai resolusi spasial dan resolusi kecemerlangan, berpengaruh pada besarnya informasi citra yang hilang. Resolusi spasial: halus / kasarnya pembagian kisi-kisi baris dan kolom. Transformasi citra kontinue ke citra dijital disebut dijitisasi (sampling). Hasil dijitisasi dengan jumlah baris 256 dan jumlah kolom 256 - resolusi spasial 256 x 256. Resolusi kecemerlangan (intensitas / brightness): halus / kasarnya pembagian tingkat kecemerlangan. Transformasi data analog yang bersifat kontinue ke daerah intensitas diskrit disebut kwantisasi. Bila intensitas piksel berkisar antara 0 dan 255 - resolusi kecemerlangan citra adalah 256.
2.2 Pengolahan Citra 2.2.1 Pengertian Pengolahan Citra Agar citra yang mengalami gangguan mudah diinterpretasi (baik oleh manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik. Bidang studi yang menyangkut hal ini adalah pengolahan citra (image processing). Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra bila: a.
Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra,
b.
Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur,
c.
Sebagian citra perlu digabung dengan bagian citra yang lain.
Di dalam bidang komputer, sebenarnya ada tiga bidang studi yang berkaitan dengan data citra, namun tujuan ketiganya berbeda, yaitu: a.
Grafika Komputer (computer graphics),
b.
Pengolahan Citra (image processing),
c.
Pengenalan Pola (pattern recognition/image interpretation).
Grafika Komputer bertujuan menghasilkan citra (lebih tepat disebut grafik atau picture) dengan primitif-primitif geometri seperti garis, lingkaran, dan sebagainya. Primitif-primitif geometri tersebut memerlukan data deskriptif untuk melukis elemen-elemen gambar. Contoh data deskriptif adalah koordinat titik, panjang garis, jari-jari lingkaran, tebal garis, warna, dan sebagainya. Grafika komputer memainkan peranan penting dalam visualisasi dan virtual reality. Pengolahan Citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Teknik-teknik pengolahan citra
mentransformasikan citra menjadi citra lain. Jadi, masukannya adalah citra dan keluarannya juga citra, namun citra keluaran mempunyai kualitas lebih baik daripada citra masukan. Termasuk ke dalam bidang ini juga adalah pemampatan citra (image compression). Pengenalan Pola mengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh mesin (dalam hal ini komputer). Tujuan pengelompokan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek dengan objek lainnya. Kemampuan sistem visual manusia inilah yang dicoba ditiru oleh mesin. Komputer menerima masukan berupa citra objek yang akan diidentifikasi, memproses citra tersebut, dan memberikan keluaran berupa deskripsi objek di dalam citra.
2.2.2 Operasi Pengolahan Citra Operasi yang dilakukan untuk mentransformasikan suatu citra menjadi citra lain dapat dikategorikan berdasarkan tujuan transformasi maupun cakupan operasi yang dilakukan terhadap citra.
Berdasarkan tujuan transformasi operasi pengolahan citra dikategorikan sebagai berikut : a. Peningkatan Kualitas Citra (Image Enhancement) Operasi peningkatan kualitas citra bertujuan untuk meningkatkan fitur tertentu pada citra, b. Pemulihan Citra (Image Restoration) Operasi pemulihan citra bertujuan untuk mengembalikan kondisi citra pada kondisi yang diketahui sebelumnya akibat adanya pengganggu yang menyebabkan penurunan kualitas citra.
Berdasarkan cakupan operasi yang dilakukan terhadap citra, Operasi pengolahan citra dikategorikan sebagai berikut : 1. Operasi titik, yaitu operasi yang dilakukan terhadap setiap piksel pada citra yang keluarannya hanya ditentukan oleh nilai piksel itu sendiri. 2. Operasi area, yaitu operasi yang dilakukan terhadap setiap piksel pada citra yang keluarannya dipengaruhi oleh piksel tersebut dan piksel lainnya dalam suatu daerah tertentu. Salah satu contoh dari operasi berbasis area adalah operasi ketetanggaan yang nilai keluaran dari operasi tersebut ditentukan oleh nilai piksel-piksel yang memiliki hubungan ketetanggaan dengan piksel yang sedang diolah. 3. Operasi global, yaitu operasi yang dilakukan tehadap setiap piksel pada citra yang keluarannya ditentukan oleh keseluruhan piksel yang membentuk citra.
1.3 Matlab 2.3.1 Pengertian Matlab Matlab adalah sebuah bahasa dengan kinerja tinggi (high-performance) untuk komputasi masalah teknik. Matlab mengintegrasikan komputasi, visualisasi, dan pemrograman dalam suatu model yang sangat mudah untuk dipakai dimana masalah - masalah penyelesainnya diekspresikan dalam notasi matematika yang familiar. Penggunaan Matlab meliputi bidang bidang:
Matematika dan Komputasi
Pembentukan Algorithm
Akusisi data
Pemodelan, simulasi, dan pembuatan prototype
Analisa data, exsplorasi, dan visualisasi
Grafik Keilmuan dan bidang Rekayasa
Matlab merupakan suatu sistem interaktif yang memiliki elemen data dalam suatu array sehingga tidak lagi kita pusingkan dengan masalah dimensi. Hal ini memungkinkan kita untuk memecahkan banyak masalah teknis yang berkaitan dengan komputasi, khususnya yang berhubungan dengan matrix dan formulasi vektor, yang mana masalah tersebut merupakan momok apabila kita harus menyelesaikannya dengan menggunakan bahasa level rendah seperti Pascal, C dan Basic. Nama MATLAB merupakan singkatan dari matrix laboratory. Matlab pada awalnya ditulis untuk memudahkan akses perangkat lunak matrix yang telah dibentuk oleh LINPACK dan EISPACK. Saat ini perangkat Matlab telah menggabung dengan LAPACK dan BLAS library, yang merupakan satu kesatuan dari seni tersendiri dalam perangkat lunak untuk komputasi matrix. Dalam lingkungan perguruan tinggi teknik, Matlab merupakan perangkat standar untuk memperkenalkan dan mengembangkan penyajian materi matematika, rekayasa dan keilmuan. Di industri, Matlab merupakan perangkat pilihan untuk penelitian dengan produkifitas yang tinggi, pengembangan dan analiasanya. Fitur - fitur Matlab sudah banyak dikembangkan, dan lebih kita kenal dengan nama toolbox. Sangat penting bagi seorang pengguna Matlab untuk mengetahui toolbox mana yang mendukung untuk learn dan apply technology yang sedang dipelajarinya. Toolbox - toolbox ini merupakan kumpulan dari fungsi - fungsi Matlab (M-Files) yang telah dikembangkan ke suatu lingkungan kerja Matlab untuk memecahkan masalah dalam kelas particular. Area area yang sudah bisa dipecahkan dengan toolbox saat ini meliputi pengolahan sinyal, system kontrol, neural networks, fuzzy logic, wavelets, dan lain - lain.
Gambar.1 T Tampilan uttama Matlab b
2.3.2
Bagian-baggian dari Matlab M
Bebberapa Bagian dari Win ndow Matlaab • Currennt Directory Window ini menaampilkan isii dari direkttori kerja saaat mengguunakan matllab. Kita dapat mengganti direktori ini sesuaii dengan tempat t dirrektori kerjja yang diinginnkan. Defau ult dari alaamat direkttori berada dalam follder works tempat program m files Mattlab berada.
Gaambar.2 Tam mpilan Currrent Directo ory
• Commaand History y Window ini berrfungsi unttuk menyim mpan perin ntah-perintaah apa sajja yang mnya dilaku ukan oleh ppengguna terrhadap matllab. sebelum
Gaambar.3 Tam mpilan Com mmand History
• Commaand Window w Window ini adalaah window w utama dari d Matlab. Disini addalah tempaat untuk menjalankan fung gsi, mendekllarasikan vaariable, men njalankan pproses-prosees , serta melihaat isi variable.
Gambar.44 Tampilan Command Window
• Worksppace Worksppace berfun ngsi untuk m menampilkan seluruh variabel-vaariabel yang g sedang aktif pada p saat pemakaiann matlab. Apabila variabel berrupa data matriks berukuuran besar maka m user ddapat melihaat isi dari seeluruh data dengan meelakukan double klik pada variabel teersebut. Maatlab secaraa otomatis akan menaampilkan w “array editor” yang bberisikan daata pada setiiap variabell yang dipiliih user . window
Gambar.5 Tampilan Workspace W
Getting Help H Matlab menyediaka m an fungsi hhelp yang tiidak berisik kan tutorial lengkap mengenai m Matlab dan segalaa keunggulaannya. Useer dapat meenjalankan fungsi ini dengan menekann tombol pada p toolbaar atau men nulis perinttah ‘helpwiin’ pada co ommand window.. Matlab ju uga menyeddiakan fung gsi demos yang berisiikan video tutorial matlab serta s contoh h-contoh proogram yang bisa dibuatt dengan maatlab
G Gambar.6 Taampilan Hellp
Interuptiing dan Terminating daalam Matlab b Untuk menghentika m an proses yyang sedan ng berjalan pada matlaab dapat diilakukan dengan menekan tombol t Ctrrl-C. Sedan ngkan untu uk keluar dari matlab dapat dilakukaan dengan menuliskan m perintah ex xit atau quitt pada coma mamnd wind dow atau dengan menekan m menu exit padda bagian menu m file daari menu barr.
2.3.3 V Variabel Pad da Matlab 2.3.3.1 Variable pada p Matlab ua jenis tipee data yaitu Numeric dan String. D Dalam matlaab Maatlab hanya memiliki du setiap vvariabel akaan disimpan dalam benttuk matrik. User dapat langsung m menuliskan n variabel baru tanpaa harus men ndeklarasikkannya terleb bih dahulu pada p comm mand window w Contoh pembuatann variabel paada matlab: >> varA = 1000 varA = 10000 >> varB = [45 2 35 45] varB = 45 2 35 45 >> varC = ‘test variabeel’ varC = test variabel
Penamaan variabel pada matlab bersifat caseSensitif karena itu perlu diperhatikan penggunaan huruf besar dan kecil pada penamaan variabel. Apabila terdapat variabel lama dengan nama yang sama maka matlab secara otomatis akan me-replace variabel lama tersebut dengan variabel baru yang dibuat user. Matriks dapat diasumsikan bahwa didalam matlab setiap data akan disimpan dalam bentuk matriks. Dalam membuat suatu data matriks pada matlab, setiap isi data harus dimulai dari kurung siku ‘[‘ dan diakhiri dengan kurung siku tutup ‘]’. Untuk membuat variabel dengan data yang terdiri beberapa baris, gunakan tanda ‘titik koma’ ( untuk memisahkan data tiap barisnya). Contoh pembuatan data matriks pada matlab: >> DataMatriks = [1 2 3;4 5 6] DataMatriks = 123 456 Matlab menyediakan beberapa fungsi yang dapat kita gunakan untuk menghasilkan bentuk-bentuk matriks yang diinginkan. Fungsi-fungsi tersebut antara lain: • zeros : untuk membuat matriks yang semua datanya bernilai 0 • ones : matriks yang semua datanya bernilai 1 • rand : matriks dengan data random dengan menggunakan distribusi uniform • randn : matris dengan data random dengan menggunakan distribusi normal • eye : untuk menghasilkan matriks identitas contoh penggunaan fungsi-fungsi diatas: >> a = zeros(2,3) a=000 000 >> b = ones(1,3) b=111 >> c = rand(2,2) c= 0.9501 0.6068 0.2311 0.4860 >> d = rand (1,4) d = 0.8214 0.4447 0.6154 0.7919
>> e = eye(3,3) e= 100 010 001 Untuk memanggil isi dari suatu data matriks, gunakan tanda kurung ‘()’ dengan isi indeks dari data yang akan dipanggil. Contoh penggunaan : >> c(2,2) ans = 0.4860 Untuk pemanggilan data berurutan seperti a(1,2,3) dapat disingkat dengan menggunakan tanda titik dua ‘:’ sehingga menjadi a(1:2). Penggunaan tanda titik dua ‘:’ juga dapat digunakan untuk memanggil data matriks perbaris atau perkolom. Contoh penggunaan: c(2:5) = memanggil data matrik baris 2 sampai baris 5 a(1, = memanggil data matriks pada baris pertama b,3) = memanggil data matris pada kolom ketiga
2.3.3.2 Operator Pada Matlab Operator Beberapa penggunaan operator aritmatika antara dua operand (A dan B) ditunjukkan pada tabel berikut ini, Operasi Bentuk Aljabar Bentuk Matlab Contoh Perkalian A x B A * B 5*3 Pembagian A ÷ B A ¥ B 2¥3 Penambahan A + B A + B 1+2 Pengurangan A – B A – B 4-3 Eksponensial AB A ^ B 4^3 Fungsi Matematika lainnya Beberapa fungsi matematika lainnya yang dapat kita gunakan untuk operasi matematika antara lain sebagai berikut: • abs(x) : fungsi untuk menghasilkan nilai absolut dari x
• sign(x) : fungsi untuk menghasilkan nilai -1 jika x<0, 0 jika x=0 dan 1 jika x>1 • exp(x) : untuk menghasilkan nilai eksponensian natural, e x • log(x) : untuk menghasilkan nilai logaritma natural x, ln x • log10(x) : untuk menghasilkan nilai logaritma dengan basis 10, x 10 log • sqrt(x) : untuk menghasilkan akar dari nilai x, x • rem(x,y) : untuk menghasilkan nilai modulus (sisa pembagian) x terhadap y
M File Di dalam matlab, kita dapat menyimpan semua script yang akan digunakan dalam file pada matlab dengan ekstensi .M. M-File dapat dipanggil dengan memilih menu file->new>M-File. Di dalam M-File, kita dapat menyimpan semua perintah dan menjalankan dengan menekan tombol atau mengetikan nama M-File yang kita buat pada command window.
2.4 Fungsi Pada Matlab Fungsi Di dalam M File, kita dapat menuliskan fungsi-fungsi yang berisikan berbagai operasi sehingga menghasilkan data yang diinginkan.Bentuk penulisan nama fungsi : Function [Nilai keluaran ] = namaFungsi (nilai masukan) % operasi dari fungsi %… %… Contoh penggunaan: Fungsi yang akan dibuat bernama ‘testfungsi’ memiliki tiga nilai masukan ‘c,d,e’ dan dua nilai keluaran ‘a,b’: function [a,b] = testFungsi(c,d,e) %operasi yang dijalankan a = c + d +e; b = c * d *e;
Selanjutnya Fungsi tersebut akan dijalankan melalui command window dengan nilai masukan ’10,2,4’. Perhatikan penulisan kurung siku ‘[ ]’ pada nilai keluaran dan kurung biasa‘( )’ pada nilai masukan. >> [a,b] = testFungsi(10,2,3) a = 15 b = 60 Flow Control Matlab memiliki empat macam statement yang dapat digunakan untuk mengatur aliran data pada fungsi yang akan dibuat If, Else, Elseif. Bentuk dasar penggunaan statement jenis ini adalah sebagai berikut: if ekspresi1 statements1; elseif ekspresi2 statements2; else statements3; end Ekspresi akan bernilai 1 jika benar dan bernilai 0 jika salah. Contoh penggunaan: function testFungsi(A,B) if A > B disp(‘A lebih besar dari B’) elseif A = B disp(‘A sama dengan B’) else disp(‘A lebih kecil dari B’) end Fungsi disp digunakan untuk menampilkan pesan pada command window. Fungsi tersebut setelah dijalankan melalui command window: >> testFungsi(1,2) A lebih kecil dari B
>> testFungsi(2,2) A sama dengan B >> testFungsi(2,3) A lebih kecil dari B Switch Bentuk dasar penggunaan statement switch switch switch_ekspresi case case_ekspresi1 statement1 case case_ekspresi2 statement2 … … otherwise statementN end Contoh penggunaan: function testFungsi(x) switch x case 1 disp(‘x is 1′) case {2,3,4} disp(‘x is 2, 3 or 4′) case 5 disp(‘x is 5′) otherwise disp(‘x is not 1, 2, 3, 4 or 5′) end Hasil setelah dijalankan >> testFungsi(2) x is 2, 3 or 4 >> testFungsi(1)
x is 1 >> testFungsi(5) x is 5 >> testFungsi(6) x is not 1, 2, 3, 4 or 5 While Statement while digunakan untuk aliran data yang bersifat perulangan. Bentuk dasar penggunaan while : while ekspresi statements … end Contoh penggunaan function testFungsi(x) %selama nilai x kurang dari 10 while x < 10 disp(‘nilai saat ini : ‘); %tampilkan nilai x x %increment nilai x x = x+1; end Hasil setelah dijalankan >> testFungsi(6) nilai saat ini : x=6 nilai saat ini : x=7 nilai saat ini : x=8 nilai saat ini : x=9
For Bentuk dasar penggunaan bentuk for: for index = start:increment:stop statement … … statement end Default dari nilai increment (penambahan nilai setiap perulangan) jika tidak ditentukan oleh user adalah 1. Contoh fungsi : function a = testFungsi for y = 1:10 a(y) = y^2; end Hasil setelah fungsi dijalankan >> a = testFungsi a = 1 4 9 16 25 36 49 64 81 100
Operator Berikut ini adalah jenis-jenis operator pada matlab yang dapat digunakan untuk operasi ekspresi pada statement yang membutuhkan perbandingan seperti if atau while. Operator Keterangan A < B A lebih kecil dari B A > B A lebih besar dari B A < = B A lebih kecil atau sama dengan B A > = B A lebih besar atau sama dengan B A = = B A sama dengan B A ~ = B A tidak sama dengan B
2.5 GUI (Graphic User Interface) 2.5.1 Pengertian GUI GUI adalah singkatan dari Graphical User Interface, sebuah aplikasi display dari MATLAB yang mengandung tugas, perintah, atau komponen program yang mempermudah user (pengguna) dalam menjalankan sebuah program dalam MATLAB. Kenapa sebaiknya menggunakan atau membuat GUI di MATLAB. GUI akan membuat program di MATLAB menjadi lebih simpel dan praktis digunakan oleh para end-user.
2.6 Metode Maksimum Likelihood 2.6.1 Pengertian Metode Maksimum Likelihood Metode maksimum likelihood adalah metode yang paling baik untuk memperoleh sebuah estimasi tunggal. Misalkan X variable random dengan distribusi probabilita f (x, θ), dimana parameter tunggal θ tidak diketahui. Misalkan X1, X2, …….Xn menjadi nilai yang diobservasi didalam suatu sampel random yang besarnya n.
2.6.2 Macam-macam Metode Maksimum Likelihood Betalike
- Negative beta log-likelihood.
Evlike
- Negative extreme value log-likelihood.
Explike
- Negative exponential log-likelihood.
Gamlike
- Negative gamma log-likelihood.
Gevlike
- Generalized extreme value log-likelihood.
Gplike
- Generalized Pareto inverse log-likelihood.
Lognlike
- Negative lognormal log-likelihood.
Nbinlike
- Negative binomial log-likelihood.
2.7 Miccrosoft Offi fice Picture Manager Microsoft Offfice Picture Manager aadalah aplik kasi pengolaah gambar, dimana apllikasi ini memilikki banyak fuungsi untuk k mengolah gambar.
Gambar.7 Tampilan M Microsoft Office O Picturre Manager 2.7.1 Piicture Shorrtcut Fungsi ini mempermud m dah kita dallam memilih h gambar yaang tersimppan pada dokumen.
Gambar.8 G Taampilan Piccture shortcu ut
2.7.2 Ed dit Gambaar Aplikasi inni memilik ki fungsi mengedit gambar, seperti mennambahkan warna, mengatuur kontras, mengatur reesolusi gam mbar.
Gaambar.9 Tam mpilan fung gsi edit pictu ure
2.8 Uniified Modelling Langu uage (UML)) UM ML atau biasa dikenall dengan U Unified Mo odeling Lan nguage adallah sebuah standar bahasa untuk visuaalisasi dalam m merancanng dan mend dokumentassikan sebuah ah system peerangkat lunak, dengan UM ML akan mempermuudah dalam m pembuataan model uuntuk semu ua jenis perangkkat lunak, sehingga aplikasi a terssebut dapatt berjalan pada peranngkat kerass, dalam pembuaatan aplikassi penyebar pura bessakih berbaasis animasi, penulis menggunak kan tiga metode UML yaituu use case diagram, d akttivity diagraam, bentuk navigasi n dan an interface. Meenurut ( Muunawar, 200 05 ) UML atau “Undifined Modeelling Langguage” adalaah salah satu alaat bantu di dunia d pengeembangan ssistem yang g berorientaasi obyek. H Hal ini dikaarenakan UML m menyediakaan bahasa permodelan p n visual yaang memun ngkinkan baagi pengem mbangan sistem untuk mem mbuat cetak k biru atass visi mereka dalam bentuk yaang baku, mudadh dimenggerti serta diilengkapi dengan d mekkanisme yan ng efektif un ntuk berbaggi (sharing)) dengan mengkoomunikasikaan rancangaan mereka ddengan yang g lain. UM ML merupaakan kesatu uan dari bahhasa permo odelan yang g dikembanngkan oleh Booch, Object Modeling Thechnique T e (OMT) daan Object Oriented O Sofftware Enggineering (O OOSE) .
Metode Booch dari Grady Booch sangat terkenal dengan nama metode Design Object Oriented. Metode ini menjadikan proses analisis dan design kedalam empat tahapan iteratif, yaitu: identifikasi kelas-kelas dan oyek-obyek, identifikasi semantik dari hubungan obyek dan kelas tersebut, perincian interface dan implementasi. Terdapat tiga karakter penting yang melekat di UML yaitu, sketsa, cetak biru dan bahasa pemrograman.
Sebagai
sebuah
sketsa,
UML
berfungsi
sebagai
jembatan
dalam
mengkomunikasikan beberapa aspek dari sistem. UML bisa juga berfungsi sebagai cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan diketahui informasi detil tentang koding program (forward engineering) atau bahkan membaca program dan menginterpretasikannya ke dalam diagram (reverse engineering). Sebagai bahasa pemrograman, UML dapat menterjemahkan diagram yang ada di UML menjadi code program yang siap untuk dijalankan. UML dibangun atas model 4+1 view. Model ini didasarkan pada fakta bahwa struktur sebuah sistem di deskripsikan dalam 5 view dimana salah satu diantaranyause case view. Use case view ini memegang peran khusus untuk mengitegrasikan content ke view yang lain.
Implementation view
Design view Use Case View Process view
Deployment view
Gambar.10 Model 4+1 view