IMPLEMENTASI DESIGN PATTERN PADA PENGEMBANGAN APLIKASI BERBASIS JAVA DENGAN MENGGUNAKAN MODEL VIEW CONTROLLER PATTERN IMPLEMENTATION OF DESIGN PATTERN BASES ON JAVA USING
MODEL VIEW CONTROLLER PATTERN
Mochamad Firman Nurdiansyah¹, -²
¹Teknik Informatika, Fakultas Teknik Informatika, Universitas Telkom
Abstrak
Dalam perancangan aplikasi berbasis web, pemisahan antara tampilan (user interface) dan implementasi (business logic) menjadi salah satu prinsip dasar dalam perancangan aplikasi dengan menggunakan pendekatan object oriented. Pemisahan antara bagian tampilan dengan bagian implementasi ini bertujuan untuk mengurangi saling ketergantungan antarbagian di dalam aplikasi, sehingga akan memudahkan dalam proses perbaikan atau pengembangan suatu modul dengan tidak menimbulkan efek pada modul lainnya. Modul-modul yang independen juga memungkinkan penggunaan ulang (reuse) dari modul-modul tersebut.
Pemisahan antara bagian tampilan dengan bagian implementasi, dapat diimplementasikan dengan menggunakan Model View Controller (MVC) Pattern. MVC Pattern adalah pattern dasar yang memisahkan program menjadi tiga buah bagian yang terpisah. Bagian pertama berfungsi untuk menginterpretasi permintaan dari pengguna (HTTP request), bagian yang kedua berfungsi untuk memodelkan problem domain atau business logic dan bagian ketiga berfungsi untuk mengelola tampilan yang akan dikirimkan ke pengguna.
Pada Tugas Akhir ini telah dibangun sebuah aplikasi berbasis web yang mengimplementasikan pattern, dengan studi kasus aplikasi File Kontrol Nasional di PT Telkom. Aplikasi ini
dikembangkan menggunakan java dengan framework Struts dan iBatis sebagai ORM.
Kata Kunci : Object Oriented, Design Pattern, MVC Pattern, Class, Java, Struts, iBatis
Abstract
On design of web base application, separating between view (user interface) and implementation (business logic) will be crucial on application design using object oriented technology. The purpose of separating between part of view and implementation is to decrease dependency between parts on the application and to make easier for recovery process or to enhance modul without making influence to the others. Independent of moduls also can reuse from the using the moduls.
Separating between part of view and implementation can be implemented using Model View Controller (MVC) pattern. MVC pattern is a pattern base to separating program become three separated part, the function of the first part is to interperete the request from user (HTTP request), the second function is to create model of domain problem or business logic and the function of the last part is to control the view that will be send to user.
In this final project, developed a web base application to implementing the pattern with the case is National Control File Applicationat at PT Telkom. This application will be develop using java with struts framework and iBatis as ORM.
Keywords : Object Oriented, Design Pattern, MVC Pattern, Class, Java, Struts, iBatis
BAB 1 PENDAHULUAN
Dalam bab ini akan dijabarkan secara detail mengenai latar belakang masalah, perumusan masalah, batasan masalah, maksud dan tujuan penulisan, metodologi penulisan, dan sistematika penulisan.
1.1 Latar Belakang Masalah
Pengembangan sebuah aplikasi yang berbasis web memerlukan lebih dari pengetahuan bagaimana mengkodekan dalam bahasa pemograman khusus dalam hal ini ke dalam bahasa pemrograman Java. Pada kenyataannya, banyak pengembang menganggap pengkodean salah satu fase paling sederhana dalam proses pengembangan perangkat lunak, sehingga melupakan masalah utama dalam melakukan perubahan atau pengembangan dari sebuah aplikasi, yaitu saling ketergantungan yang tinggi antara bagian tampilan (user interface) dan bagian implementasi (business logic). Tingkat ketergantungan yang rendah akan memudahkan dalam proses perbaikan atau pengembangan suatu modul dengan tidak menimbulkan efek pada modul lainnya. Modul-modul yang independen juga memungkinkan penggunaan ulang (reuse) dari modul-modul tersebut.
Pemisahan antara bagian tampilan (user interface) dengan bagian implementasi (business logic) dapat diimplementasikan dengan menggunakan MVC Pattern. MVC Pattern adalah pattern dasar yang memisahkan program menjadi tiga buah class yang terpisah. Class pertama berfungsi untuk menginterpretasi permintaan dari pengguna (HTTP request), class yang kedua berfungsi untuk memodelkan problem domain atau business logic dan class ketiga berfungsi untuk mengelola tampilan yang akan dikirimkan ke pengguna.
1.2 Perumusan Masalah
Tingkat ketergantungan yang tinggi antara bagian tampilan (user interface) dan bagian implementasi (business logic) akan menyulitkan dalam proses perbaikan atau pengembangan suatu aplikasi. Ini dikarenakan modul-
10
Fakultas Teknik Informatika Program Studi S1 Teknik Informatika
BAB 1 Pendahulan 11
modul yang ada tidak bersifat independen sehingga akan menimbulkan efek pada modul lainnya jika salah satu modul diperbaiki, juga tidak memungkinkan penggunaan ulang (reuse) dari modul-modul tersebut.
1.3 Maksud dan Tujuan
Secara umum tujuan dari tugas akhir ini, sebagai berikut :
1. Mendisain dan mengimplementasikan design pattern pada aplikasi yang berbasis java dengan menggunakan MVC Pattern.
2. Mengimplementasikan design pattern di dalam pembuatan service layer.
3. Menganalisa program, yaitu dengan membandingkan efisiensi ukuran kode program antara JSP Model 1 dan JSP Model 2 serta menganalisis penggunaan pattern di dalam pembuatan sebuah service layer.
1.4 Batasan Masalah
Pembahasan tentang implementasi dari pattern ini mempunyai cangkupan yang cukup luas, sehingga penulis membatasi masalah yang akan dibahas dalam tugas akhir ini dengan database yang digunakan Oracle 9i dan JDBC sebagai API untuk koneksi ke database. Serta pattern-pattern yang digunakan adalah Singleton serta Proxy dan Facade sebagai service layer. Adapun aplikasi yang dibangun menggunakan MVC pattern.
Implementasi dari tugas akhir ini menggunakan framework Struts yang berbasis MVC dan iBatis sebagai Object Relationship Mapping (ORM) dengan studi kasus pada modul workorder dari aplikasi File Kontrol Nasional (FKN) di PT Telkom dimana ini disebut dengan JSP Model 2 dan membandingkan hasilnya dengan program yang existing, dimana program ini tidak mengimplementasikan model MVC atau disebut juga dengan JSP Model 1. Adapun kegiatan analisis yang dilakukan yaitu analisis efisiensi ukuran program dengan membandingkan antara kode program yang mengimplementasikan design pattern dan yang tidak mengimplementasikan design pattern serta meng-analisis penggunaan pattern didalam pembuatan sebuah service layer.
Sekolah Tinggi Teknologi TELKOM
1.5 Metodologi
Metodologi yang dilakukan oleh penulis untuk tugas akhir ini adalah, sebagai berikut:
1. Studi literatur
Pencarian referensi
Pendalaman materi
2. Perancangan dan pembangunan perangkat lunak
Spesifikasi sistem
Untuk melakukan spesifikasi sistem ini dilakukan survey langsung ke ISC PT Telkom di bagian SCM/RM untuk mengetahui business process dan sistem yang akan dibuat.
Analisis kebutuhan
Pada bagian ini dibahas tentang kebutuhan perangkat lunak yang diperlukan dan kubutuhan perangkat keras yang diperlukan untuk mendukung perangkat lunak tersebut.
Desain sistem
Pemodelan dibuat menggunakan notasi UML (Unified Modeling Language).
3. Implementasi perancangan perangkat lunak
Pemrograman menggunakan Java dengan menggunakan framework Struts dan iBatis sebagai Object Relational Mapping (ORM).
4. Analisis
Berisi analisa perbandingan antara web aplikasi berbasis J2EE yang menggunakan Model 1 dengan Model 2.
5. Kesimpulan
Sekolah Tinggi Teknologi TELKOM
Fakultas Teknik Informatika Program Studi S1 Teknik Informatika
BAB 1 Pendahulan 13
1.6 Sistematika Penulisan
Untuk mempermudah dan memperjelas pembahasan, maka penulisan tugas akhir ini disusun dalam sistematika sebagai berikut :
BAB 1 Pendahuluan
Bab ini akan dimuat latar belakang masalah, perumusan masalah, batasan masalah, maksud dan tujuan penulisan, metodologi penulisan, dan sistematika penulisan.
BAB 2 Landasan Teori
Bab ini berisi teori-teori yang relevan dengan masalah yang akan dibahas yaitu teori yang berhubungan dengan prinsip dan konsep dari object oriented, design pattern dan Model View Controller (MVC) Pattern.
BAB 3 Analisa dan Perancangan
Bab ini berisi tentang analisis kebutuhan dan perancangan perangkat lunak yang akan diimplementasikan dengan menggunakan pattern. Pada analisis kebutuhan akan diimplementasikan dengan menggunakan notasi UML.
BAB 4 Implementasi dan Pengujian
Bab ini membahas tentang implementasi perangkat lunak yang dirancang pada bab III ke dalam dunia nyata. Dan membahas tentang skenario pengujian dan analisis terhadap hasil dari pengujian yang dilakukan pada program yang mengimplementasikan pattern dengan yang tidak mengimplementasikan pattern.
BAB 5 Kesimpulan dan Saran
Bab ini menjelaskan tentang kesimpulan dan saran untuk pengembangan sistem berikutnya.
Sekolah Tinggi Teknologi TELKOM
BAB 5 KESIMPULAN DAN SARAN
Bab ini menjelaskan tentang kesimpulan dan saran untuk pengembangan sistem berikutnya.
5.1 Kesimpulan
Dari hasil pengerjaan Tugas Akhir ini dapat diambil beberapa kesimpulan sebagai berikut :.
1 Dengan mengimplementasikan pattern, akan memberikan mekanisme pengelolaan yang terkendali terhadap business object dalam aplikasi serta dapat diimplementasikan untuk membangun sebuah aplikasi yang berbasis service layer yang reliable, scalable, dan maintainable.
2 Penggunaan pattern akan mempermudah di dalam pengelolaan terhadap service layer yang ada di dalam aplikasi, ini dikarenakan kita bisa mengenkapsulasikan layanan dari concrete object.
3 Peng-enkapsulasi-an object object yang menyediakan layanan bisnis dalam layer terpisah (service layer) sangat diperlukan. Hal ini dimaksudkan supaya dependensi terhadap business object bisa di minimalkan, serta skalabilitas dan kemudahan dalam pemeliharaan bisa ditingkatkan.
4 Program yang mengimplementasikan design pattern dapat meningkatkan efisiensi jika dilihat dari ukuran kode program yang dihasilkan. Pada studi kasus untuk proses monitoring, ukuran kode program yang mengimplementasikan design pattern berkurang sebanyak 42.73% dalam metriks LoC dan berkurang sebesar 35,46% dalam metriks ABC.
44
Fakultas Teknik Informatika Program Studi S1 Teknik Informatika
BAB 5 Kesimpulan Dan Saran 45
5.2 Saran
Untuk pengembangan lebih lanjut dari Tugas Akhir ini, terdapat beberapa saran yang dapat penulis sampaikan, antara lain :
1 Pengamatan yang penulis lakukan adalah penerapan pola MVC dengan menggunakan Struts atau diistilahkan dengan Model 2 dibandingkan dengan JSP Model 1. Diharapkan dapat dilakukan penelitian penerapan MVC dengan membandingkan Struts Framework dengan Framework yang lain (seperti JSF, Spring dll) serta untuk logic menggunakan Enterprise Java Beans (EJB) atau Hibernate.
2 Untuk penelitian selanjutnya dalam membuat sebuah service layer, diharapkan dapat diimplementasikan command dan factory pattern.
3 Analisis mengenai pattern di dalam pembangunan sebuah aplikasi enterprise dirasakan masih sangat sederhana, untuk itu perlu dilakukan pengembangan di dalam melakukan analisis mengenai pemanfaatan pattern ini.
Sekolah Tinggi Teknologi TELKOM
46
DAFTAR PUSTAKA
[1] Bambang Hariyanto. Rekayasa Sistem Berorientasi Objek. Informatika, Bandung, April, 2004.
[2] Davis, Malcolm. 2001. Struts an open-source MVC Implementation.
http://www-106.ibm.com/developerworks/java/library/j-struts/
[3] Gamma, Helm, Johnson dan Vlissides. 1996. Design Pattern.
[4] Http://www.gematel.com/Edisi28/Artikel%20Lepas/lepas3.html.
[5] Http://www.apache.org/dist/jakarta/struts/
[6] Http://www.ilmukomputer.com/
[7] Http://www.ibatis.org
[8] Larman, Craig. 1998. Applying UML and Patterns.
[9] Lee, Scott. 2001. Building Framework With Design Pattern.
http://www3.sympatico.ca/scottlee/java/article/PatterninRoja.doc.
[10] M. Farid Azis. Object Oriented Programming dengan PHP , Jakarta, 2005.
[11] Sigh, Inderjeet / Stearns, Beth / Johnson, mark / The Enterpris Team.
2002. Designing Enterprise Application with the J2EE Platform, Second Edition. California :Sun Microsystem Inc
Powered by TCPDF (www.tcpdf.org)
Fakultas Teknik Informatika Program Studi S1 Teknik Informatika