21 November 2011

COMPUTER VISION

Computer Vision merupakan salah satu cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali obyek yang diamati atau diobservasi. Cabang ilmu ini bersama Intelijensia Semu (Artificial Intelligence) akan mampu menghasilkan sistem intelijen visual (Visual Intelligence System). Sebagai suatu disiplin ilmu, visi komputer berkaitan dengan teori di balik sistem buatan bahwa ekstrak informasi dari gambar. Data gambar dapat mengambil banyak bentuk, seperti urutan video, pandangan dari beberapa kamera, atau data multi-dimensi dari scanner medis. Sebagai disiplin teknologi, computer vision berusaha untuk menerapkan teori dan model untuk pembangunan sistem computer vision.

Computer Vision adalah kombinasi antara :
·         Pengolahan Citra (Image Processing), bidang ini berhubungan dengan proses transformasi citra/gambar (image). Proses ini bertujuan untuk mendapatkan kualitas citra yang lebih baik.
·         Pengenalan Pola (Pattern Recognition), bidang ini berhubungan dengan proses identifikasi obyek pada citra atau interpretasi citra. Proses ini bertujuan untuk mengekstrak informasi/pesan yang disampaikan oleh gambar/citra.

Untuk menunjang tugas computer vision, maka terdapat beberapa fungsi pendukung ke dalam sistem ini, antara lain :
1.      Proses penangkapan citra / gambar (image acquisition)
·         Image Acqusition pada manusia dimulai dengan mata, kemudian informasi visual diterjemahkan ke dalam  suatu format yang kemudian dapat dimanipulasi oleh otak.
·        Senada dengan proses di atas, computer vision membutuhkan sebuah mata untuk menangkap sebuah   sinyal visual.
·         Umumnyamata pada computer vision adalah sebuah kamera video.
·         Kamera menerjemahkan sebuah scene atau image
·         Kemudian sinyal listrik ini diubah menjadi bilangan biner yang akan digunakan oleh komputer untuk pemrosesan.
·        Keluaran dari kamera adalah berupa sinyal analog, dimana frekuensi dan amplitudonya (frekuensi berhubungan dengan jumlah sinyal dalam satu detik, sedangkan amplitude berkaitan dengan tingginya sinyal listrik yang dihasilkan) merepresentasikan detail ketajaman (brightness) pada scene.
·        Kamera mengamati sebuah kejadian pada satu jalur dalam satu waktu, memindainya dan membaginya menjadi ratusan garis horizontal yang sama.
·        Tiaptiap garis membuat sebuah sinyal analog yang amplitudonya menjelaskan perubahan brightness sepanjang garis sinyal tersebut.
·        Karena komputer tidak bekerja dengan sinyal analog, maka sebuah analogtodigital converter (ADC), dibutuhkan untuk memproses semua sinyal tersebut oleh komputer.
·         ADC ini akan mengubah sinyal analog yang direpresentasikan dalam bentuk informasi sinyal tunggal ke dalam sebuah aliran (stream) sejumlah bilangan biner
·         Bilangan biner ini kemudian disimpan di dalam memori dan akan menjadi data raw yang akan diproses.

2.      Proses pengolahan citra (image processing)
·        Tahapan berikutnya computer vision akan melibatkan sejumlah manipulasi utama (initial manipulation) dari data binary tersebut.
·         Image processing membantu peningkatan dan perbaikan kualitas image, sehingga dapat dianalisa dan di olah lebih jauh secara lebih efisien.
·         Image processing akan meningkatkan perbandingan sinyal terhadap noise (signaltonoise ratio = s/n).
·         Sinyalsinyal tersebut adalah informasi yang akan merepresentasikan objek yang ada dalam image.
·         Sedangkan noise adalah segala bentuk interferensi, kekurang pengaburan, yang terjadi pada sebuah objek.

3.      Analisa data citra (image analysis)
·        Image analysis akan mengeksplorasi scene ke dalam bentuk karateristik utama dari objek melalui suatu proses investigasi.
·       Sebuah program komputer akan mulai melihat melalui bilangan biner yang merepresentasikan informasi visual untuk mengidentifikasi fiturfitur spesifik dan karekteristiknya.
·       Lebih khusus lagi program image analysis digunakan untuk mencari tepi dan batasbatasan objek dalam image.
·       Sebuah tepian (edge) terbentuk antara objek dan latar belakangnya atau antara dua objek yang spesifik.
·       Tepi ini akan terdeteksi sebagai akibat dari perbedaan level brightness pada sisi yang berbeda dengan salah satu batasnya.

4.      Proses pemahaman data citra (image understanding)
·       ·         Ini adalah langkah terakhir dalam proses computer vision, yang mana sprsifik objek dan hubungannya di identifikasi.
·         Pada bagian ini akan melibatkan kajian tentang teknikteknik artificial intelligent.
·         Understanding berkaitan dengn template matching yang ada dalam sebuah scene.
·         Metoda ini menggunakan program pencarian (search program)dan teknik penyesuaian pola (pattern matching techniques).


  sumber :
http://untara89.blogspot.com/2010/10/definisi-computer-vision.html
http://muhammadadri.net/wp-content/uploads/2009/04/computer-vision-01.pdf

10 November 2011

PERANCANGAN STRUKTUR DAN BERORIENTASI OBJEK


Perancangan Terstruktur

Definisi
Perancangan terstruktur adalah suatu teknik untuk merancang perangkat lunak atau program. Tujuan perancangan terstruktur adalah memberikan suatu prosedur yang dapat digunakan oleh pengembang sistem untuk membuat suatu keputusan secara sistematis. Dan juga membuat model solusi terhadap problem yang sudah dimodelkan secara lengkap pada tahap analisis terstruktur.

Keuntungan Pendekatan Perancangan Terstruktur :
1.      Mengurangi kerumitan masalah (reduction of complexity).
2.      Konsep mengarah pada sistem yang ideal (focus on ideal).
3.      Standarisasi (standardization).
4.      Orientasi ke masa datang (future orientation).
5.      Mengurangi ketergantungan pada disainer (less reliance on artistry).

Kekurangan Pendekatan Perancangan Terstruktur :
1.      SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
2.      Sedikit sekali manajemen langsung terkait dengan SSAD.
3.      Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall)
4.      Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
5.      Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sulit bagi pengguna untuk melakukan evaluasi.


Perancangan Berorientasi Objek

Definisi
Berorientasi Objek (Object Oriented) merupakan paradigma baru dalam rekayasa perangkat lunak yang memandang sistem sebagai sekumpulan objek-objek yang saling berinteraksi. Sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah sebuah sistem yang komponennya dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi. Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnya dan dapat nerinteraksi satu sama lain. Sistem yang berorientasi objek diurai kedalam sejumlah atau sekumpulan objek (konsep, abstrak, benda) dalam dunia nyata yang saling berkomunikasi dan melaksanakan sejumlah pelayanan secara desentralisasi.  Setiap obyek membungkus (encapsulate) sejumlah prosedur dan data yang berinteraksi dengan obyek lainnya melalui suatu pesan (message).

Kelebihan pendekatan berorientasi objek :
1.   Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.
2.  OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
3.  Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
4.    Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
5.  Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
6.      Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).

Kekurangan Pendekatan Berorientasi Objek :
1.      Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).
2.      OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
3.    Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
4.      Pada awal desain OOAD, sistem mungkin akan sangat simple.
5.      Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
6.      Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
7.      Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.




Sumber :
http://fany-poop.blogspot.com/2011/07/231-bagan-terstruktur.html
http://joinsucess.blogspot.com/2010/12/analisa-perancangan-sistem-berorientasi.html
http://www.gangsir.com/download/4-PendekatanPengembanganSistemBerorientasiObjekdanPenggunaanAlatalatPemodelan.pdf
http://dheny90.blogspot.com/2011/11/perbedaan-pendekatan-perancangan-sistem_09.html


.