BAB 2 LANDASAN TEORI
2.3 Algoritma Gilbert Jhonson Keerthi
2.3.4 Minkowski Different
Algoritma GJK sangat bergantung pada konsep yang disebut Minkowski Sum. Konseptual Minkowski Sum sangat mudah dimengerti. Apabila kita memiliki
dua buah shapes, Minkowski Sum dari shape tersebut adalah semua poin di shape 1 ditambahkan ke semua poin di shape 2:
C = A + B = {a + b | a∈A, b∈B} (Persamaan 16) Dengan kata lain, setiap titik B ditambahkan ke setiap titik A dan Hasil operasi membentuk objek baru C. Karena hasilnya adalah satu set juga, mungkin duplikat poin berkembang dari penambahan adalah mengeliminasi terkontaminasi. Dengan demikian, kardinalitas C selalu lebih kecil atau sama dengan jumlah yang dari kardinalitas A dan B [9]. Untuk mengetahui apakah kedua convex shapes tersebut bertumbukan atau berpotongan maka operator diubah menjadi dikurangi yang bernama Minkowski Different :
C = A - B = {a - b | a∈A, b∈B} (Persamaan 17) Minkowski Different adalah kunci untuk ide algoritma mengurangi masalah kedekatan dua benda pada satu jarak object. Dua convex shapes A dan B adalah sama dengan jarak mereka. Jika dua convex shape tersebut bertumbukan / berpotongan maka Minkowski different akan berisi asal (origin).
Dari contoh gambar diatas dua convex shapes berada dalam kondisi berpotongan maka ketika dilakukan Minkowski Different maka akan menghasilkan shapes pada Gambar II.9
Gambar 2.9 Minkowski Different
Perhatikan bahwa shapes yang dihasilkan mengandung asal (0,0). Hal ini karena shapes yang berpotongan.
2.3.5 Support Function
Support function diciptakan untuk membangun simplex. Suport Function seharusnya mengembalikan poin kedalam Minkowski Different yang dihasilkan dua shapes. Telah diketahui bahwa kita dapat mengambil poin dari shape 1 dan titik dari shape 2 dan mengurangi mereka untuk mendapatkan poin dalam Perbedaan Minkowski.
Dapat dipastikan bahwa kita tidak mendapatkan poin yang sama setiap pemanggilan support function jika kita membuat fungsi dukungan tergantung pada arah. Dengan kata lain, jika kita mengembalikan support function pada titik terjauh dalam beberapa arah, kita bisa memilih arah yang berbeda kemudian untuk mendapatkan sudut pandang yang berbeda. Memilih titik terjauh dalam arah memiliki makna karena ia menciptakan simpleks yang mengandung luas maksimum sehingga meningkatkan kemungkinan bahwa algoritma selesai dengan cepat. Selain itu, kita dapat menggunakan fakta bahwa semua poin kembali dengan
cara ini berada di tepi minkowski different dan oleh karena itu jika kita tidak dapat menambahkan poin sebelumnya asal sepanjang beberapa arah kita tahu bahwa minkowski different tidak mengandung asal. Hal ini meningkatkan kemungkinan algoritma selesai dengan cepat dalam kasus-kasus non-convex.
2.4. Adobe Flash CS5
Flash merupakan program atau software yang ditujukan untuk membuat animasi, desain, web, aplikasi, game, dan sebagaianya. Flash lebih dikenal khalayak ramai sebagai software pembuat animasi. Seiring perkembangan zaman yang semakin maju dan pesat dalam bidang teknologi khususnya dalam bidang teknologi informasi, flash sampai sekarang telah mencapai versi 11 atau lebih dikenal dengan Adobe Flash CS5 Profesional yang dirilis oleh perusahaan software ternama di Amerika Serikat, yaitu Adobe System Incorporated.
Flash CS5 yang sekarang banyak dikenal dengan kemampuan yang andal dalam membuat animasi-animasi, tetapi tidak jarang yang mengenal sisi lain dari kelebihan Flash ini. Salah satunya adalah mempunyai bahasa pemrograman yang sangat ampuh dalam segala hal, yaitu Action Script yang sekarang sudah dirilis samapai ke versi 3.0 yang dimiliki oleh Flash CS3,CS4, dan CS5.
Adobe Flash CS5 menawarkan beberapa pembaruan yang komplet dengan penawaran penggunaan lebih menyenangkan. Fasilitas seperti 3D Effect atau transformations yang sangat menarik dapat digunakan untuk membuat efek-efek animasi 3 dimensi yang menarik. Berbagai fasilitas dan fitur terbaru telah disediakan untuk kemudahan dalam pengolahan para penggunanya. Adobe Flash CS5 merupakan penyempurnaan dari versi sebelumnya (CS4)[14].
2.4.1. Pengenalan Tool dalam Adobe Flash CS5
Beberapa komponen kerja program Adobe Flash CS5 telah ditampilkan sebagai tampilan standart. Masih banyak lagi komponen yang masih tersembunyi sehingga memerlupan perintah tertentu untuk menampilkannya. Berikut ini adalah beberapa komponen kerja dari Adobe Flash CS5[14]:
1. Toolbox. 2. Timeline
Timeline berguna untuk menentukan durasi animasi, jumlah layer, frame, menempatkan script dan beberapa keperluan animasi lainnya. Semua bentuk animasi yang Anda buat akan diatur dan ditempatkan pada layer dalam timeline.
3. Output.
4. Compiler errors. 5. Motion Editor
Motion editor berguna untuk melakukan control animasi yang telah dibuat seperti: mengatur motion, transformasi, pewarnaan, filter dan parameter animasi lainnya.
6. Stage
Stage adalah lembar kerja yang digunakan untuk membuat atau mendesain objek yang akan dianimasikan. Objek yang dibuat dalam lembar kerja dapat berupa objek vector, movie clip, text, button dan lain-lain. 7. Properties, library.
8. Color, swatches. 9. Align, info, transform.
2.5. Pemrograman Berorientasi Objek
Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkatl unak berorientasi objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Metode berorientasi objek meliputi rangkaian aktivias analisis berorientasi objek, perancangan berorientasi objek, pemrograman berorientasi objek, dan pengujian berorientasi objek.
Pada saat ini, metode berorientasi objek banyak dipilih karena metodologi lama banyak menimbulkan masalah seperti adanya kesulitan pada saat mentransformasi hasil dari suatu tahap pengembangan ke tahap berikutnya, misalnya pada metode pendekatan terstruktur, jenis aplikasi yang dikembangkan saat ini berbeda dengan masa lalu. Aplikasi yang dikembangkan pada saat ini sangat beragam (aplikasi bisnis, real-time, utility, dan sebagainya) dengan platform yang berbeda-beda, sehingga menimbulkan tuntutan kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi tersebut [12].
Keuntungan menggunakan metodologi berorientasi objek adalah sebagai berikut [12]:
1. Meningkatkan produktivitas
Karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat dipakai ulang untuk masalah lainnya yang melibatkan objek tersebut (reusable).
2. Kecepatan pengembangan
Karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnya kesalahan pada saat pengkodean.
3. Kemudahan pemeliharaan
Karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering berubah-ubah. 4. Adanya konsistensi
Karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan maupun pengkodean.
5. Meningkatkan kualitas perangkat lunak
Karena pendekatan pengembangan lebih dekat dengan dunia nyata dan adanya konsistensi pada saat pengembangannya, perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan.