Sabtu, 19 November 2011

Computer Vision

Computer Vision didefinisikan sebagai salah satu cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali obyek yang diamati/ diobservasi. Cabang ilmu ini bersama Intelijensia Semu (Artificial Intelligence) akan mampu menghasilkan sistem intelijen visual (Visual Intelligence System). Perbedaannya adalah

Computer Vision lebih mempelajari bagaimana komputer dapat mengenali obyek yang diamati/ diobservasi. Namun komputer grafika lebih ke arah pemanipulasian gambar (visual) secara digital. Bentuk sederhana dari grafika komputer adalah grafika komputer 2D yang kemudian berkembang menjadi grafika komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern recognition). Grafika komputer sering dikenal juga dengan istilah visualisasi data.

Proses dalam Computer Vision
1. Imagge Acqusition
Image Acqusition pada manusia dimulai dengan mata, kemudian informasi visual diterjemahkan ke dalam suatu format yang kemudian dapat dimanipulasi oleh otak. computer vision membutuhkan sebuah mata untuk menangkap sebuah sinyal visual, umumnya mata pada compputer vision adalah sebuah kamera video, kemudian sinyal listrik ini diubah menjadi bilangan biner yang akan digunakan oleh komputer untuk pemrosesan.

2. Imagge Processing
Tahapan berikutnya computer vision akan melibatkan sejumlah manipulasi utama (initial manipulation) dari data binary tersebut. Image processing membantu peningkatan dan perbaikankualitas image, sehingga dapat dianalisa dan diolah lebih jauh secara lebih efisien. Imagge p g processing akan meninggkatkan p g perbandingan sinyal terhadap noise (signal‐to‐noise ratio = s/n). Sinyal‐sinyal 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. Image Image Anlysis
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. Imagge Understanding
Ini adalah langkah terakhir dalam proses computer vision, yang mana sprsifik objek dan hubungannya diidentifikasi. Pada bagian ini akan melibatkan kajian tentang teknik - teknik artificial intelligent. Understanding berkaitan dengan template matching yang ada didalam sebuah scene. Metoda ini menggunakan program pencarian (search program)dan teknik penyesuaian pola (pattern matching techniques).

Beberapa aplikasi yang dihasilkan dari Computer Vision antara lain :

1. Psychology, AI – exploring representation and computation in natural vision
2. Optical Character Recognition – text reading
3. Remote Sensing – land use and environmental monitoring
4. Medical Image Analysis – measurement and interpretation of many types of images
5. Industrial Inspection – measurement, fault checking, process control
6. Robotic – navigation and control


Sumber:

Selasa, 08 November 2011

Pendekatan Perancangan Berobjek dan Terstruktur

Pendekatan Terstruktur
Pendekatan Terstruktur merupakan model yang muncul pada permulaan tahun 1970, yang merupakan hasil turunan dari pemrograman terstruktur. Metode pengembangan dengan metode terstruktur ini terus diperbaiki sampai akhirnya dapat digunakan dalam dunia nyata. Dan selain itu pendekatan terstruktur dilengkapi dengan alat-alat (tools) dan teknik-teknik yang dibutuhkan dalam pengembangan sistem sehingga didapatkan hasil akhir berupa sistem yang strukturnya didefinisikan dengan baik dan jelas.

Tujuan pendekatan terstruktur adalah agar pada akhir pengembangan perangkat lunak dapat memenuhi kebutuhan user, dilakukan tepat waktu, tidak melampaui anggaran biaya, mudah dipergunakan, mudah dipahami dan mudah dirawat.

Kelebihan

1. Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
2. SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
3. Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
4. SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
5. SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
6. SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
7. SSAD relatif simpel dan mudah dimengerti.

Kekurangan

a. SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
b. Sedikit sekali manajemen langsung terkait dengan SSAD
c. Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
d. Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
e. Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk melakukan evaluasi.
f. Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
g. SSAD tidak selalu memenuhi kebutuhan pengguna.
h. SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).


Pendekatan Perancangan Berorientasi Objek

Pendekatan berorientasi objek adalah cara memandang persoalan dengan menggunakan model – model yang diorganisasikan seputar konsep objek yang mengkombinasikan struktur data dan perilaku suatu entitas. Pada pendekatan ini, organisasi perangkat lunak adalah sebagai kumpulan objek diskrit yang saling bekerja sama, berkomunikasi, dan berinteraksi menuju sasaran tertentu. Metodologi ini dikenal dengan object-oriented analysis and design (OOAD).

Kelebihan:

  • Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
  • Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
  • Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
  • Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
  • 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).
  • Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
  • Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
  • OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
  • 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.

Kekurangan:

  1. Pada awal desain OOAD, sistem mungkin akan sangat simple.
  2. Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
  3. Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
  4. Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
  5. Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
  6. 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).
  7. 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).

Sumber: