perancangan, implementasi dan analisis 3d graphics framework

advertisement
Tugas Akhir - 2009
PERANCANGAN, IMPLEMENTASI DAN ANALISIS 3D GRAPHICS FRAMEWORK
EXTENSI M3G FRAMEWORK
Mirza Akhena¹, Dana Sulistyo Kusumo², Adiwijaya³
¹Teknik Informatika, Fakultas Teknik Informatika, Universitas Telkom
Abstrak
Framework adalah reusable object oriented library berupa sekumpulan class atau library yang
digunakan untuk menyelesaikan domain problem tertentu pada software application. Framework
terdiri dari koleksi API yang sangat banyak. Hal ini dikarenakan framework harus mampu
mengakomodasi berbagai macam skenario penggunaan dari yang paling simpel hingga yang
paling kompleks. Namun kenyataannya sebagian besar developer hanya menggunakan sebagian
kecil dari sejumlah skenario yang ditawarkan.
Tugas akhir ini bertujuan untuk membuat sebuah framework baru yang dikembangkan dari
sebuah high level API library yang stabil dan telah banyak digunakan untuk pembuatan content
3D pada mobile device yang dikenal dengan nama M3G. Penggunaan M3G untuk skenario yang
paling sederhana masih terlalu rumit, oleh karenanya akan dibuat sebuah framework yang mudah
penggunaannya dibandingkan dengan menggunakan M3G. Framework ini juga menerapkan
design pattern dalam perancangannya. Analisa yang dilakukan dalam tugas akhir ini adalah
membandingkan penggunaan dan arsitektur framework yang dibangun dari M3G dengan
framework M3G sendiri. Hasilnya, framework yang dikembangkan mampu menangani skenario
penggunaan yang simpel dari M3G dengan baik dibandingkan dengan M3G itu sendiri. Hal ini
ditunjukkan dengan jumlah penulisan kode yang lebih sedikit dan lebih terstruktur.
Kata Kunci : Desain Framework, Design Pattern, M3G
Abstract
Framework is a reusable object oriented library which is formed in a group of a class or a library
whic is used for finishing a certain domain problem in a software application. Framework
contains a lot of API collection. Due to the framework must be able to accomodate many kinds of
using scenario from the simplest one to the most complex. But the fact that most of of developer
use only small part from the whole possible scenario.
In this final assessment, the writer tries to make a new framework which is developed from a
stable high level API library and commonly used for creating 3D content in a mobile device,
known as M3G. According to the writer, using M3G for the simplest scenario is still complex so
the writer tries to make an easy-to-use framework which is better than M3G. The writer also
applies design pattern in designing this framework. This final assessment’s analysis is only
focused on comparing the usability and framework architecture, which the writer has developed
from M3G, to M3G itself. The result is the framework, which the writer has developed, can be
better in handling a simple scenario from M3G than M3G itself. This is shown by the amount of
code line which is less and more structured.
Keywords : Framework Design, Design Pattern, M3G
Fakultas Teknik Informatika
Powered by TCPDF (www.tcpdf.org)
Program Studi S1 Teknik Informatika
Tugas Akhir - 2009
1. Pendahuluan
1.1
Latar belakang
Seringkali seorang developer dalam rutinitasnya mengembangkan suatu
aplikasi menemukan beberapa bagian yang sama yang dilakukan secara berulangulang. Dari hal ini para developer mengetahui bahwa mereka bisa
mengabstraksikan proses low-level yang dilakukan berulang-ulang ini ke level
yang lebih tinggi. Sehingga muncullah konsep library. Library bisa sangat
meningkatkan produktifitas developer dalam mengembangkan aplikasi karena
bisa menambahkan hal yang baru tanpa harus mengulang apa yang sudah dibuat
sebelumnya.
Kemunculan konsep Object Oriented Programming (OOP) juga sangat
berperan dalam perkembangan library. Saat ini kita sangat dimudahkan dengan
library yang bisa dipakai ulang dan berorientasi objek. Reusable library ini
dikenal dengan istilah framework. Saat ini ada banyak framework yang sedang
dikembangkan oleh para designer framework. Beberapa yang terkenal adalah
framework .NET, framework Java, Spring, Symfony dan Prado untuk PHP, XNA
dari .NET khusus untuk membuat game, dan masih banyak framework-framework
lainnya
Pada umumnya, sebuah framework terdiri dari kumpulan API yang sangat
banyak. Hal ini disebabkan karena sebuah framework harus bisa mengakomodasi
berbagai macam skenario penggunaan, dari yang paling sederhana hingga yang
paling kompleks. Namun faktanya, sebagian besar developer hanya menggunakan
sebagian kecil saja dari skenario yang ditawarkan sehingga sebenarnya hanya
sebagian kecil saja dari framework yang sering digunakan.
Dalam Tugas Akhir ini akan dibuat sebuah framework yang akan dibangun dari
framework lain namun dengan tingkat abstraksinya yang lebih tinggi sehingga
bisa menyederhanakan operasi yang dilakukan berulang-ulang pada penggunaan
framework aslinya. Framework yang akan dibangun diharapkan bisa
mengakomodasi beberapa skenario umum yang sering dihadapi oleh developer
pembuat aplikasi atau game berbasiskan 3D yang berjalan diatas mobile device.
Perancangan sebuah framework yang berkualitas membutuhkan usaha yang
sungguh-sungguh untuk membuatnya. Karena framework yang berkualitas akan
mudah dipelajari dalam waktu yang singkat yang pada akhirnya akan
meningkatkan produktivitas para developer pengguna framework.
1
Fakultas Teknik Informatika
Program Studi S1 Teknik Informatika
Tugas Akhir - 2009
1.2
Perumusan masalah
Masalah utama dalam Tugas akhir ini adalah bagaimana merancang sebuah
framework serta menerapkan prinsip desain untuk membangun sebuah framework
yang lebih sederhana, mudah digunakan dan tetap bisa dikembangkan.
Yang dimaksud dengan sederhana adalah kode yang harus ditulis pada saat
penggunaan lebih sedikit karena beberapa nilai awal sudah didefinisikan
sebelumnya. Sedangkan arti kata mudah disini adalah mudah karena
penggunaannya langsung terfokus pada apa yang akan dibuat dan tidak terlalu
terkonsentrasi pada hal-hal teknis yang terlalu spesifik dan mendetail.
1.3
Batasan masalah
Untuk menghindari terlalu meluasnya pembahasan, Maka batasan masalah
dalam Tugas Akhir ini adalah:
Framework yang akan dibangun dalam Tugas Akhir ini akan
membahas domain problem pada salah satu bidang multimedia yaitu
grafis 3 dimensi.
Framework yang akan dibangun akan menggunakan resource pada
framework standar untuk membuat model 3D pada mobile device,
yaitu Mobile 3D Graphics API library yang disingkat M3G (JSR-184)
Framework yang akan dibangun hanya menyederhanakan sebagian
kecil proses saja dari framewok aslinya (fungsionalitas pada
framework yang akan dibuat adalah subset dari framework aslinya).
Oleh sebab itu, analisis perbandingan yang akan dilakukan adalah
berdasarkan pada apa yang dimiliki pada framework yang dibuat
bukan pada framework asal.
Karena framework adalah skeleton dari aplikasi maka tidak semua
fungsionalitas akan disediakan. Oleh karena itu akan diasumsikan
bahwa beberapa fungsionalitas tersebut bisa dibuat dikembangkan.
Sehingga kelengkapan fungsionalitas tidak menjadi patokan.
Analisis yang dilakukan tidak berdasarkan kemampuan fungsionalitas.
namun dilakukan dari sisi arsitektur frameworknya.
Framewok yang akan dibangun, dibuat diatas framework lain, sehingga
pada level teknisnya akan lebih banyak menggunakan class dan
pemanggilan method akan lebih sering terjadi sehingga dapat
dipastikan menjadi lebih lambat dan lebih banyak menggunakan
resource memory. Oleh karena itu, TA ini tidak befokus pada
parameter kecepatan, ukuran memory atau biaya komputasi yang
digunakan.
Framework yang akan dibangun akan memiliki cara kerja dan sudut
pandang tersendiri yang berbeda dari framework aslinya serta memiliki
level abstraksi yang lebih tinggi. Sebagian adalah gagasan yang baru.
Tugas Akhir tidak berfokus pada sisi teknis seperti penggunaan IDE,
cara membuat project, cara mengimpor package, cara meng-compile,
serta cara men-deploy aplikasi.
2
Fakultas Teknik Informatika
Program Studi S1 Teknik Informatika
Tugas Akhir - 2009
Pada level fungsionalitas, Tugas Akhir ini tidak terfokus pada sisi
perhitungan matematis dan kompleksitas algoritma dari fungsionalitas
yang ada.
Pada level penggunaan diasumsikan pengguna (user) adalah seorang
programmer yang mengerti tentang paradigma OOP.
1.4
Tujuan
Tujuan dari penyusunan Tugas Akhir ini adalah:
1. Membangun sebuah framework baru yang dikembangkan dari framework
lain yang berkonsentrasi pada bidang pemodelan grafis 3D.
2. Membandingkan framework yang dibangun dengan framework aslinya dari
sisi arsitektur perancangan dan kesederhanaan serta kemudahan
penggunaannya.
1.5
Metodologi penyelesaian masalah
Metodologi yang akan digunakan dalam merealisasikan Tugas Akhir ini adalah
dengan menggunakan langkah-langkah berikut ini:
1. Mengumpulkan literatur-literatur yang relevan dengan permasalahan yang
menjadi bahasan tugas akhir ini, meliputi studi pustaka dan referensi
tentang desain framework, design pattern, object oriented programming,
konsep grafis 3d, pemrograman Java dengan platform J2ME, dan M3G
framework.
2. Mempelajari object oriented programming dengan menggunkan bahasa
pemrograman java dengan platform J2ME.
3. Mempelajari beberapa design pattern yang akan diimplementasikan
kedalam framework yang akan dibangun.
4. Mempelajari panduan tentang desain framework yang baik.
5. Mempelajari beberapa hal tentang konsep grafis 3D yang berkaitan dengan
framework yang dibangun
6. Membuat, mendesain, dan melakukan eksperimen dengan hasil rancangan
yang dibangun dengan mengimplementasikan model kedalam bentuk
framework.
7. Mempelajari dan melakukan eksperimen dengan framework M3G.
8. Mereview dan mempelajari model perancangan yang sudah dibuat dan
menyesuaikan dengan framework M3G.
9. Kembali melakukan perancangan dan pengembangn model yang telah
disesuaikan dengan framework M3G kedalam bentuk framework baru.
10. Menganalisa dan membandingkan antara framework yang sudah
dikembangkan dengan framework aslinya dari sisi kemudahan penggunaan
dan arsitektur rancangan.
3
Fakultas Teknik Informatika
Program Studi S1 Teknik Informatika
Tugas Akhir - 2009
1.6
Sistematika Penulisan
Tugas akhir ini disusun dengan sistematika penulisan sebagai berikut :
BAB I
Pendahuluan
Bab ini berisi latar belakang, perumusan masalah, tujuan dan
batasan masalah dari tugas akhir, metodologi yang digunakan
dalam menyelesaikan tugas akhir ini serta sistematika penulisan
buku tugas akhir.
BAB II Landasan Teori
Bab ini berisi uraian teori mengenai framework, design pattern,
grafis 3D, platform J2ME, dan framework M3G.
BAB III Perancangan Framework
Bab ini berisi rancangan framework yang dimodelkan dalam
bentuk kode program dan Unified Manipulation Language (UML).
BAB IV Analisis Hasil Perancangan Framework
Bab yang berisi uraian hasil perancangan framework yang dibuat
dengan melakukan perbandingan dengan framework aslinya.
BAB V Kesimpulan dan Saran
Berisi tentang kesimpulan yang didapat dari pelaksanaan tugas
akhir ini dan saran-saran yang diperlukan untuk perbaikan maupun
pengembangannya lebih lanjut.
4
Fakultas Teknik Informatika
Powered by TCPDF (www.tcpdf.org)
Program Studi S1 Teknik Informatika
Tugas Akhir - 2009
5. Kesimpulan dan Saran
5.1
Kesimpulan
Berdasarkan hasil pengujian analisis yang telah dilakukan di bab 4, diperoleh
beberapa kesimpulan sebagai berikut :
Dengan menggunakan framework Mir3G, maka penggunaan aplikasi menjadi
lebih terstrukur karena Mir3G menerapkan Design Pattern Template Method
dan Strategy.
Kode yang ditulis dalam Mir3G relatif lebih pendek dari pada M3G. Hal ini
bisa dilihat dari contoh skenario pembuatan world dan objek.
Kode pada Mir3G lebih fokus pada goal skenario dibandingkan M3G yang
masih harus mendefinisikan skenario secara sangat mendetail spesifik. Hal ini
bisa dilihat pada kasus pendefinisian Objek 3D (mesh) pada M3G yang sangat
mendetil pendefinisiannya dan dibandingkan dengan Mir3G yang hanya
mendefinisikan komponen yang diperlukan saja.
5.2
Saran
Pada Mir3G harus dilakukan refactoring lagi misalnya pada segi penamaan
method dan class, butuh melibatkan ahli bahasa. Mir3G langsung dikembangkan
dari low level (OpenGL ES) bukan dari M3G. Dan untuk kedepannya Mir3G
dapat dikembangkan untuk komputer desktop.
34
Fakultas Teknik Informatika
Powered by TCPDF (www.tcpdf.org)
Program Studi S1 Teknik Informatika
Tugas Akhir - 2009
Daftar Pustaka
[1] Maclaughin, Brett D and Police, Gary and West, David. Head First
Object-Oriented Analysis & Design. O’reilly. America. 2004.
[2] Freeman, Eric and Freeman Elisabeth. Head First Design Pattern.
O’reilly. America. 2004.
[3] Astle, Dave and Hawkins, Kevin. Beginning Open GL Game
Programming. Thomson Course Technology. America. 2004.
[4] Wells, Martin. J2ME Game
Technology. America. 2004.
Programming.
Thomson
Course
[5] Larman, Craig . Applying UML and Patterns :An Intriduction to ObjectOriented Analysis and Iterative Development. Prentice Hall PTR.
America. 2004
[6] Gamma, Erich . Design Pattern : Elements of reusable Object-Oriented
Software . Addison-Wesley Professional. America. 1994.
[7] Cwalina, Krzysztof and Abrams, Brad. Framework Design Guidlines :
Conventions, Idioms, and Patterns for Reusable .Net Libraries. AddisonWesley Professional. America. 2005.
[8] Hofele, Claus. Mobile 3D Graphics: Learning 3D Graphics with the Java
Micro Edition. Addison-Wesley Professional. America. 2005.
[9] Fowler, Martin. Refactoring: Improving the Design of existing code . The
Addision-Wesley Professional. America. 1999
[10] Kerievsky, Joshua. Refactoring to Patterns . The Addision-Wesley
Professional. America. 2004.
[11] Pulli, Kari and Aarnio, Tomi. Mobile 3D Graphics with OpenGL ES and
M3G . Morgan Kaufman. America. 2008
[12] Framework Engineering Conference by Krzysztof Cwalina as Program
Manager from Microsoft. Architecting, Designing, and Developing
Reusable Libraries. 2008
[13] Professional Developer Conference 2008 by Krzysztof Cwalina and
Brad Abrams. Framework Design Guidline.2008
Lampiran A : Contoh Implementasi Mir3G
35
Fakultas Teknik Informatika
Powered by TCPDF (www.tcpdf.org)
Program Studi S1 Teknik Informatika
Download