Senin, 14 November 2011

Computer Vision

Computer Vision adalah ilmu dan teknologi mesin yang melihat, lihat dalam hal ini adalah mesin mampu mengekstrak informasi dari gambar yang diperlukan untuk menyelesaikan tugas tertentu. 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.

Proses computer vision dibagi menjadi 3 tahap sebelum bisa dikatakan menjadi computer vision.

1. Pada Grafika dan Citra,

2. Pengolahan grafika dan citra tingkat lanjut,

3. Computer vision.

Hal yang dikaji dalam computer vision seperti metode analisis image, yaitu seperti edge detection, feature detection, image segmentation, dan image transformation. Dengan kata lain proses ini adalah proses bagaimana sebuah komputer harus menentukan dasar pemilihan dan pengambilan citra agar citra tersebut dapat diolah. Kemudian analisis video dan gerakan. Proses seperti ini banyak digunakan dalam bidang militer misalnya, yaitu dalam hal mekanisme peluncuran rudal yang mampu mengikuti dan mengejar target yang ditujunya. Pada intinya proses tersebut adalah proses dimana komputer harus menganalisis suatu gerakan atau video dan melakukan proses pencocokan (matching) dengan melihat dari gesture objek, kalibrasi, ataupun dengan tracking untuk memperoleh informasi yang akurat dari proses tersebut. Kemudian metode untuk merekonstruksi informasi informasi scene tiga dimensi. Proses ini adalah proses dimana komputer mengakuisisi scene 3D dan merepresentasikan informasi yang diperolehnya dalam bentuk lain. Kemudian penggabungan antara citra nyata dengan citra yang dihasilkan oleh komputer.

Aplikasi dari visi komputer mencakup sistem untuk:

1. Pengendalian proses (misalnya, sebuah robot industri atau kendaraan otonom).

2. Mendeteksi peristiwa (misalnya, untuk pengawasan visual atau orang menghitung).

3. Mengorganisir informasi (misalnya, untuk pengindeksan database foto dan gambar urutan).

4. Modeling benda atau lingkungan (misalnya, inspeksi industri, analisis citra medis ataumodel topografi).

5. Interaksi (misalnya, sebagai input ke perangkat untuk interaksi komputer-manusia).


Penerapan Computer Visio, antara lain :

A. Bidang Didalam kendaraan Otonom.

Contohnya adalah kendaraan otonom, yang meliputi submersibles, kendaraan darat (robot kecil dengan roda, mobil atau truk), kendaraan udara, dan kendaraan udara tak berawak (UAV). Tingkat berkisar otonomi dari sepenuhnya otonom (berawak) kendaraan untuk kendaraan di manasistem visi berbasis komputer mendukung driver atau pilot dalam berbagai situasi.Sepenuhnya otonom kendaraan biasanya menggunakan visi komputer untuk navigasi, yakni untuk mengetahui mana itu, atau untuk menghasilkan peta lingkungan (SLAM) dan untuk mendeteksi rintangan. Hal ini juga dapat digunakan untuk mendeteksi peristiwa-peristiwa tugas tertentu yang spesifik, e. g., sebuah UAV mencari kebakaran hutan. Contoh sistem pendukung sistem peringatan hambatan dalam mobil, dan sistem untuk pendaratan pesawat otonom. Beberapa produsen mobil telah menunjukkan sistem otonomi mengemudi mobil,tapi teknologi ini masih belum mencapai tingkat di mana dapat diletakkan di pasar. Adabanyak contoh kendaraan otonom militer mulai dari rudal maju, untuk UAV untuk misipengintaian atau bimbingan rudal. Ruang eksplorasi sudah dibuat dengan kendaraan otonom menggunakan visi komputer, e. g., NASA Mars Exploration Rover dan Rover ExoMars ESA.


B. Bidang matematika murni.

Sebagai contoh, banyak metode dalam visi komputer didasarkan pada statistik, optimasi atau geometri. Akhirnya, bagian penting dari lapangan dikhususkan untuk aspek pelaksanaan visi komputer, bagaimana metode yang ada dapat diwujudkan dalam berbagai kombinasiperangkat lunak dan perangkat keras, atau bagaimana metode ini dapat dimodifikasi untuk mendapatkan kecepatan pemrosesan tanpa kehilangan terlalu banyak kinerja .


C. Bidang pengolahan citra medis.

Daerah ini dicirikan oleh ekstraksi informasi dari data citra untuk tujuan membuat diagnosis medis pasien. Secara umum, data citra dalam bentuk gambar mikroskop, gambar X-ray, gambar angiografi, gambar ultrasonik, dan gambar tomografi. Contoh informasi yang dapat diekstraksi dari data gambar tersebut deteksi tumor, arteriosclerosis atau perubahan memfitnah lainnya. Hal ini juga dapat pengukuran dimensi organ, aliran darah, dll. Area aplikasi ini juga mendukung penelitian medis dengan memberikan informasi baru, misalnya,tentang struktur otak, atau tentang kualitas perawatan medis.


D. Bidang Industri Perfilman

Contohnya adalah semua efek-efek di dunia akting , animasi, dan penyotingan adegan film semua direkam dengan perangkat elektronik yang dihubungkan dengan komputer. Animasinya juga di kembangkan mempergunakan animasi yang dibuat dengan aplikasi komputer.Sebagai contoh film-film Hollywood berjudul TITANIC itu sebenarnya tambahananimasi untuk menggambarkan kapal raksasa yang pecah dan tenggelam, sehingga tampak menjadi seolah-olah mirip dengan kejadian nyata.

Sumber:

http://teknologiforever.wordpress.com/2011/04/29/computer-vision/

http://cosaviora.blogspot.com/2010/11/computer-vision.html

http://greyjacket.blogspot.com/2011/11/penerapan-tknologi-komputer-vision.html

Selasa, 08 November 2011

Perancangan Terstruktur dan Perancangan Berorientasi Objek

PERANCANGAN TERSTRUKTUR

Perancangan terstruktur merupakan perancangan yang berfungsi untuk mendefinisikan dan mengilustrasikan organisasi dari sistem informasi secara berjenjang dalam bentuk modul dan submodul. Ada empat kegiatan perancangan yang harus dilakukan, yaitu:

1. Perancangan arsitektural

Yaitu perancangan struktur modul P/L dengan mengacu pada model analisis yang sesuai (DFD). Langkah-langkahnya adalah:

· mengidentifikasi jenis aliran (transform flow atau transaction flow),

· menemukan batas-batas aliran (incoming flow danoutgoing flow),

· kemudian memetakannya menjadi struktur hirarki modul.

· Selanjutnya, di alokasikan fungsi-fungsi yang harus ada pada modul-modul yang tepat.

2. Perancangan data

Perancangan struktur data yang dibutuhkan, serta merancang skema basis data dengan mengacu pada model analisis yang sesuai (ERD).

3. Perancangan antarmuka

Perancangan antarmuka P/L dengan pengguna, antarmuka dengan sistem lain, dan antar muka antar-modul.

4. Perancangan procedural

Perancangan detil dari setiap fungsi pada modul. Notasi yang digunakan bisa berupa flow chart, algoritma, dan lain-lain

Pastikan bahwa model perancangan yang dibuat sudah mengakomodasi kebutuhan non fungsional.

Kelebihan

· Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek.

· SSAD (Structured Analisys and Design) merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.

· Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.

· SSAD merupakan metode yang diketahui secara umum pada berbagai industry.

· SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.

· SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan

· SSAD relatif simpel dan mudah dimengerti.

Kekurangan

· SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.

· Sedikit sekali manajemen langsung terkait dengan SSAD

· Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.

· Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).

· Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk melakukan evaluasi.

· Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.

· SSAD tidak selalu memenuhi kebutuhan pengguna.

· 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).

PERANCANGAN BERORIENTASI OBYEK

Analisis berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas. Pengertian "berorientasi objek" berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya.

Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama :

a. Encapsulation

b. Inheritance

c. Polymorphism

A. ENCAPSULATION (PENGKAPSULAN)

· Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.

· Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.

· Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.

B. INHERITANCE (PEWARISAN)

· Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.

· Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki.

· Suatu kelas dapat ditentukan secara umum, kemudian ditentukan spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah dengan sifat unik yang dimilikinya.

· Kelas Objek dapat didefinisikan atribut dan service dari kelas Objek lainnya.

· Inheritance menggambarkan generalisasi sebuah kelas

Contoh :

a. Sedan dan Sepeda Motor adalah subkelas dari Kendaraan Bermotor.

b. Kedua subkelas mewarisi sifat yang dimiliki oleh Kendaraan Bermotor, yaitu mempunyai mesin dan dapat berjalan.

c. Kedua subkelas mempunyai sifat masing-masing yang berbeda, misalnya jumlah roda, dan kemampuan untuk berjalan mundur yang tidak dimiliki oleh sepeda motor.

C. POLYMORPHISM (POLIMORFISME)

· Polimorfisme yaitu konsep yang menyatakan bahwa seuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.

· Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.

· Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama.

· Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan Objek.

Kelebihan

a. Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan system

b. Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).

c. Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.

d. Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.

e. 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).

f. Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).

g. Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.

h. OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.

i. 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

a. Pada awal desain OOAD, sistem mungkin akan sangat simple.

b. Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.

c. Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.

d. Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.

e. Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.

f. 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).

g. 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:

http://yaniwid.wordpress.com/2008/08/26/perancangan-terstruktur/

http://haryantoyuli.blogspot.com/2010/07/perancangan-terstruktur.html

http://supriliwa.wordpress.com/2010/05/07/perbandingan-metode-terstruktrur-dan-obyek-oriented-pada-pengambangan-sistem-informasi/

fenni.staff.gunadarma.ac.id/.../Perancangan+Berorientasi+Objek.pdf