masing-masing sistem. Jika semua proses berjalan dengan benar maka aplikasi dinyatakan sukses. Jika ada proses yang belum berjalan maka aplikasi kembali diperbaiki sampai tahap uji mencapai sukses. Operasi dan Pengelolaan Operasi dan pengelolaan adalah tahapan dimana sistem yang telah dibuat dioperasikan atau dijalankan dan dikelola. Analisis Perbandingan Pada tahap ini dilakukan analisis perbandingan terhadap sistem yang tidak menerapkan CRUD pattern dengan sistem yang menerapkan CRUD pattern. Perbandingan ini dilakukan pada poin-poin yang telah disebutkan di ruang lingkup penelitian ini. Dari perbandingan tersebut dapat dilihat kembali keuntungan ataupun kerugian dari penerapan CRUD pattern pada suatu sistem. Dari hasil perbandingan ini kemudian dilakukan survey terhadap partisipan yang berpengalaman dalam menerapkan design pattern untuk melihat kembali kesesuaian antara hasil yang diperoleh dari penelitian dengan pengalaman mereka di dunia industri. Lingkungan Pengembangan Lingkungan pengembangan yang digunakan dalam penelitian ini adalah sebagai berikut: Perangkat lunak: • Windows XP Professional Service Pack 2 • Notepad++ v5.7 • Netbeans IDE 6.8 • Apache Tomcat 6.0.20 • Mozilla Firefox 3.6.10 • Oracle 10g Express Edition • Java version 1.6.0_14 • jasperreports-3.7.3 • iReport-3.7.3 Perangkat keras: • Processor Intel Dual Core T4300 (2.10 GHz) • 1024 Mbyte RAM.
HASIL DAN PEMBAHASAN Analisis Kebutuhan Sistem Berdasarkan hasil wawancara dan analisis terhadap prosedur yang sudah ada, dilakukan analisis terhadap kebutuhan sistem yang akan dibuat. Hal-hal yang dianalisis pada tahap ini meliputi: a. Deskripsi Umum Sistem Server Polimat adalah sistem perangkat lunak berbasis web yang digunakan sebagai pusat pengelolaan data pelanggaran lalu lintas di Polres Bogor dan berfungsi sebagai server. Pengelolaan data yang dilakukan berupa proses penambahan, penghapusan, perubahan dan menampilkan data pelanggaran beserta data pendukungnya. Serta dapat melakukan proses pencetakan slip tilang berdasarkan nomor tilang tertentu. b. Analisis Kebutuhan Pengguna Kebutuhan pengguna Polimat terdiri atas:
terhadap
Server
• Manajemen data pengguna yang akan membatasi hak akses terhadap sistem. • Manajemen data warga yang digunakan untuk melakukan proses penyimpanan serta pengelolaan data warga. • Manajemen data kepolisian yang digunakan untuk melakukan proses penyimpanan serta pengelolaan data anggota kepolisian. • Manajemen data kendaraan yang digunakan untuk melakukan proses penyimpanan serta pengelolaan data kendaraan. • Manajemen data pasal yang digunakan untuk melakukan proses penyimpanan serta pengelolaan data pasal yang sering digunakan dalam penilangan. • Manajemen data slip untuk menyimpan dan mengelola data slip penilangan yang berlaku di Indonesia. • Manajemen data lokasi yang digunakan untuk melakukan proses penyimpanan serta pengelolaan data lokasi dimana dimungkinkannya terjadi penilangan. • Manajemen data area yang digunakan untuk melakukan proses penyimpanan serta pengelolaan data area yang memiliki aktivitas lalu lintas.
7
• Manajemen data pelanggaran untuk menyimpan dan mengelola data pelanggaran lalu lintas.
b. Perancangan Output
Kebutuhan pengguna ini ditunjukkan pada use case diagram pada Lampiran 1, bagian yang diberi lingkaran adalah ruang lingkup dari Server Polimat.
Server Polimat melakukan beberapa jenis output sesuai dengan kebutuhan pengguna. Secara umum output yang dihasilkan pada aplikasi ini adalah berupa halaman web yang ditampilkan melalui browser dan bersifat dinamis sesuai dengan data yang diakses dari database. Selain itu sistem ini juga menyediakan output berformat PDF untuk melakukan pencetakan terhadap slip penilangan.
c. Analisis Kebutuhan Sistem
c. Perancangan Database Lojik
Agar sistem yang dibuat memenuhi kebutuhan dari setiap pengguna, maka diperlukan adanya pendefinisian terhadap spesifikasi kebutuhan (requirement) dengan berdasarkan pada fungsi apa saja yang akan dikerjakan oleh sistem ini. Fungsi aplikasi dari Server Polimat dapat dilihat pada Lampiran 2.
Desain database menghasilkan rancangan database yang akan digunakan dalam sistem ini. Perancangan database ini dimodelkan dalam pemodelan database relasional, dimana komponen dan relasi dari setiap tabel digambarkan dalam suatu diagram yang disebut Entity-Relationship Diagram (ERD). ERD dari Server Polimat dapat dilahat pada Lampiran 4.
• Pencetakan data slip untuk mencetak slip tilang berdasarkan nomor tilang tertentu.
d. Analisis Pengguna Pengguna pada Server Polimat dibedakan menjadi warga dan administrator, warga hanya dapat mencetak slip pada halaman awal sistem. Di sisi lain, administrator dibagi lagi menjadi dua jenis yaitu administrator dan super administrator. Super administrator memiliki hak akses penuh atas sistem, sedangkan administator dibatasi untuk tidak dapat melakukan akses terhadap manajemen user, manajemen slip biru dan manajemen slip merah. Batasan dari setiap pengguna ini dapat dilihat pada Lampiran 3. Perancangan Sistem dan Perangkat Lunak Setelah proses analisis terhadap kebutuhan sistem selesai dilaksanakan, selanjutnya proses perancangan dilakukan untuk mendapatkan rancangan abstrak ataupun dalam bentuk visual dari sistem Server Polimat ini. Proses perancangan ini meliputi tahap-tahap berikut: a. Perancangan Input Perancangan input digunakan untuk merancang fasilitas input apa saja yang akan digunakan pada sistem. Pada Server Polimat input yang digunakan berupa karakter text yang dihasilkan dari tombol keyboard dan aksi klik dari mouse. Text terutama digunakan untuk mengisi form autentikasi (login), form input, form update, form pencarian ataupun form pencetakan slip tilang. Klik pada mouse digunakan saat mengakses link untuk melakukan perpindahan halaman.
d. Perancangan Database Fisik Perancangan database yang dihasilkan dari perancangan lojik diimplementasikan kedalam tabel-tabel, sehingga diperoleh tiga belas jenis tabel dalam satu database sistem. Tabel-tabel ini digambarkan dalam suatu skema database yang memperlihatkan komponen-komponen dari masing-masing tabel beserta entitasentitasnya, gambar anak panah menunjukkan hubungan atau relasi antara primary key dan foreign key di antara masing-masing tabel. Skema database dari Server Polimat dapat dilihat pada Lampiran 5. e. Perancangan Model dan CRUD Pattern Perancangan sebelumnya pada dua sistem yang akan dibuat adalah sama persis. Perbedaan dari keduanya adalah pada perancangan model. Masing-masing perancangan model dari dua sistem ini digambarkan dalam class diagram. Class diagram dari sistem tanpa CRUD pattern dan class diagram untuk sistem yang menerapkan CRUD pattern masing-masing dapat dilihat pada Lampiran 6. Dari dua class diagram tersebut dapat dilihat bahwa masing-masing model sama-sama menggunakan DTO (Data Transfer Objek) dan controller. DTO adalah objek-objek yang merupakan hasil representasi dari tabel-tabel dalam database, class diagram untuk DTO dapat dilihat pada Lampiran 6. Kelas DTO tersebut menggambarkan hubungan antar kelas dalam Server Polimat, dalam sistem ini terdapat 12 kelas yang merupakan cetak biru (blue print) dari objek yang terlibat dalam sistem tersebut. Relasi pada diagram kelas tersebut
8
menunjukkan bahwa kelas PelanggaranBean merupakan kelas utama dalam sistem ini, kelas ini memiliki kelas-kelas pendukung yang berfungsi sebagai pelengkap data untuk kelas tersebut. Kelas controller adalah kelas-kelas yang digunakan sebagai pemroses DTO dan berfungsi sebagai penghubung antara antarmuka dan database, kelas-kelas ini merupakan kelaskelas yang dihasilkan dari implementasi kelas CRUDInterface pada sistem yang menerapkan CRUD pattern, sedangakan untuk sistem yang tidak menerapkan CRUD pattern, kelas-kelas ini merupakan kelas-kelas yang independen. Kelas-kelas controller tersebut disesuaikan berdasarkan kelas DTO yang akan diprosesnya, karena kelas-kelas ini yang akan melakukan pengendalian terhadap proses-proses yang menyangkut proses penyimpanan, proses pengubahan, proses penghapusan, proses pencarian serta proses menampilkan data dari database. Perbedaan dari kedua model ini dapat terlihat dari penggunaan class CRUDInterface. Class ini merupakan class pattern yang berfungsi untuk mempolakan proses-proses yang sering terjadi dan dilakukan secara berulang-ulang pada sistem. Model tanpa penerapan CRUD pattern tidak menggunakan class ini, sedangkan model yang menerapkan CRUD pattern menggunakan class ini sebagai pattern dari sistem tersebut. f. Perancangan Antarmuka Logo Polantas
Banner
dari antarmuka tersebut dapat dilihat pada Gambar 11 dan Gambar 12.
Form cetak slip tilang
Footer
Banner
Menu
Content
Footer Gambar
12
Perancangan antarmuka administrator.
untuk
g. Perancangan Proses Perancangan proses digunakan untuk menggambarkan input yang akan terjadi pada sistem serta output yang diharapkan akan dihasilkan dari input tersebut setelah dilakukan proses oleh sistem. Alur proses dari Server Polimat ini digambarkan dalam sequence diagram yang menggambarkan input, objek yang terlibat serta output yang dikembalikan kepada pengguna. Beberapa contoh proses yang terjadi pada Server Polimat dapat dilihat pada Lampiran 7 Sequence diagram Server Polimat. Implementasi dan Pengujian Unit Pada tahap ini dilakukan proses implementasi terhadap semua perancangan yang dilakukan pada tahap sebelumnya, dan kemudian dilakukan pengujian untuk tiap unit terkecil dari hasil implementasi tersebut. Tahap implementasi untuk Server Polimat terdiri dari: a.
Form autentikasi
Logo Polantas
Implementasi Database
Hasil perancangan database dari tahap sebelumnya di implementasikan ke dalam Database Management Sistem (DBMS) Oracle. Sebagaimana disebutkan sebelumnya pada lingkungan pengembangan sistem. Hasil dari implementasi database ini dapat dilihat pada Lampiran 8.
Gambar 11 Perancangan antarmuka untuk pelanggar.
b.
Perancangan antarmuka dari Server Polimat dibedakan menjadi dua jenis dengan pola yang sama. Antarmuka yang pertama digunakan oleh pelanggar lalu lintas yang memiliki nomor tilang tertentu untuk mencetak slip tilang serta digunakan juga oleh administrator untuk proses autentikasi. Sedangkan antarmuka yang kedua merupakan antarmuka yang digunakan oleh administrator sebagai tempat melakukan manajemen terhadap database. Masing-masing
Model diimplementasikan dalam dua kelompok kelas utama, yaitu kelompok kelas DTO dan kelompok kelas controller. Kedua kelompok kelas ini terdapat pada sistem yang tidak menerapkan CRUD pattern ataupun pada sistem yang menerapkan CRUD pattern. Kelaskelas ini diimplementasikan dalam bahasa pemrogramman Java. Implementasi dari kelas ini dikelompokkan dalam package bernama admin dan polimatPackages.classes, struktur
Implementasi Model dan CRUD Pattern
9
dari package tersebut dapat dilihat pada Gambar 13. Package admin digunakan untuk mengelompokkan kelas-kelas yang berhubungan dengan proses autentikasi pengguna. Sedangkan package polimatPackages.classes digunakan untuk mengelompokkan kelas-kelas objek pada sistem. Struktur package tersebut digunakan pada sistem yang menerapkan CRUD pattern ataupun pada sistem yang tidak menerapkan CRUD pattern. Perbedaannya terdapat pada komponen package polimatPackage.Pattern.
14) di dalamnya, sedangkan untuk sistem yang tidak menerapkan CRUD pattern tidak memiliki kelas tersebut (Gambar 15) di dalamnya.
Gambar 15 Package kelas controller pada sistem yang tidak menerapkan CRUD pattern. Pada sistem yang menerapkan CRUD pattern, kelas pattern yang diimplementasikan dalam sebuah class interface akan diimplementasi oleh kelas-kelas controller. Implementasi dari CRUD pattern ini diperlihatkan pada Lampiran 9. c.
Gambar 13 Struktur package kelas DTO.
Gambar 14 Package kelas controller pada sistem yang menerapkan CRUD pattern.
Implementasi Antarmuka
Sebagaimana telah dijelaskan pada perancangan antarmuka sebelumnya, bahwa sistem yang tidak menerapkan CRUD pattern dan sistem yang menerapkan CRUD pattern memiliki antarmuka yang sama. Perancangan tersebut diimplementasikan dalam halaman HTML dengan menggunakan Java Server Page (JSP) sebagai bahasa pemrogrammannya. Dalam implementasinya antarmuka untuk setiap objek dikelompokkan dalam folder-folder yang dinamai sesuai dengan nama objek masingmasing. Struktur untuk folder-folder tersebut diperlihatkan pada Gambar 16. Setiap melakukan akses terhadap objek, halaman ini akan melakukan perintah pemanggilan objek untuk mengirimkan proses yang akan dilakukan oleh controller. Misalkan untuk pemanggilan objek pasal, maka perintah yang akan dilakukan adalah new PasalBean (id_pasal, no_pasal, no_ayat, isi_ayat, denda). Implementasi dari rancangan antarmuka untuk pelanggar dan implementasi rancangan antarmuka untuk administrator diperlihatkan pada Lampiran 10.
Kelas controller dikelompokkan dalam package polimatPackages.pattern. Untuk sistem yang menerapkan CRUD pattern, package ini memiliki kelas CRUDInterface.java (Gambar
10
empat komponen pertimbangan pengujian yang meliputi deskripsi uji, kondisi awal sistem, skenario uji serta hasil yang diharapkan. Deskripsi dan hasil uji untuk setiap modul pada Server Polimat diperlihatkan pada Lampiran 12.
Gambar 16 Struktur folder antarmuka Server Polimat. Integrasi dan Pengujian Sistem Integrasi dan pengujian Server Polimat dilakukan oleh programmer sistem tersebut. Proses pengintegrasian dilakukan dengan menyediakan link-link untuk setiap bagian proses objek yang dapat dilakukan pada Server Polimat. Link-link tersebut diimplementasikan ke dalam menu dalam bahasa HTML yang akan menunjuk pada bagian dari sistem yang disebutkan pada nama menu tersebut, sehingga akan mengantarkan pengguna pada bagian sistem yang sesuai setelah melakukan klik pada menu tersebut. Program HTML untuk link-link tersebut diperlihatkan pada Lampiran 11. Server Polimat juga menyediakan sarana pengintegrasian untuk subsitem Mobile dan subsistem Security, sarana pengintegrasian ini disediakan dalam dua buah package yang berbeda seperti diperlihatkan pada Gambar 17. Subsistem Mobile dapat melakukan akses terhadap sistem melalui program servlet java yang disediakan dalam package polimatPackage.mobileConnect. Package ini terdiri dari InputMobile.java yang digunakan untuk melakukan input data penilangan melalui telpon genggam, historyCheck.java digunakan untuk melihat data history pelanggaran yang pernah dilakukan oleh pelaku pelanggaran, kendaraanCheck.java digunakan untuk melakukan pengecekan data kendaraan berdasarkan nomor polisi dari kendaraan tersebut, loginMobile.java digunakan untuk melakukan proses login dari telpon genggam. Subsistem security dapat melakukan pengkodean melalui file yang disediakan pada package polimatPackage.java. Pengujian pada kedua sistem Server Polimat ini dilakukan menggunakan metode pengujian black box, dimana penguji melakukan proses input terhadap modul-modul yang ada pada sistem yang kemudian melihat kesesuaian output atau hasil yang diharapkan. Pengujian ini dilakukan dengan terlebih dahulu menetapkan
Gambar 17 Sarana pengintegrasian subsistem Mobile dan Security. Operasi dan Pengelolaan Operasi dan pengelolaan dilakukan saat sistem telah digunakan. Pada tahap ini dilakukan pemeliharaan, perbaikan ataupun pengembangan sistem. Analisis Perbandingan Hasil analisis yang dilakukan terhadap dua buah sistem yang dibuat melibatkan pula para partisipan yang berpengalaman dalam menerapkan design pattern melalui survey dengan menggunakan kuesioner. Kuesioner yang dibuat adalah berbentuk esai, agar para partisipan dapat mengutarakan pendapat mereka dengan lebih mudah. Kuesioner ini terdiri dari enam pertanyaan utama tentang design pattern, pertanyaan nomor 1, 2, 3, 4 dan 6 dimaksudkan untuk mengetahui pengalaman atau pengetahuan responden tentang design pattern, sedangkan pertanyaan nomor lima menyangkut keuntungan dan kerugian dari penerapan design pattern yang didasarkan pada sumber tertentu, serta berdasarkan dari hasil penelitian penulis. Pertanyaan nomor 5 ini terdiri dari 10 pertanyaan yang terdiri dari poin a sampai dengan j. Setiap pertanyaan diawali dengan pertanyaan tentang keuntungan atau kerugian dari penerapan design pattern secara umum, yang kemudian diikuti oleh pertanyaan tentang penerapan CRUD pattern pada sistem yang penulis buat. Kuesioner penerapan design pattern ini dapat dilihat pada Lampiran 13. Analisis perbandingan yang dilakukan difokuskan pada poin-poin yang telah ditetapkan sebelumnya. Poin-poin ini terdapat pada pertanyaan nomor 5 dalam kuesioner. Berikut adalah poin-poin yang ditanyakan pada kuesioner tersebut: 1 Penerapan design pattern pada suatu sistem dapat membantu meningkatkan komunikasi di antara para pengembang (Reejusri dan Venkatesh 2009).
11
2 Penerapan design pattern pada suatu sistem dapat memudahkan dalam memahami dan mengetahui proses yang terjadi dalam suatu perangkat lunak secara umum tanpa harus melihat kode program secara keseluruhan (IBM 2001). 3 Penerapan design pattern pada suatu sistem dapat memudahkan pengembang dalam melakukan proses pengkodean, sehingga dapat mempercepat proses pengembangan sistem (Wikipedia 2010). 4 Penerapan design pattern pada suatu sistem dapat memungkinkan adanya penggunaan kembali (reusability) suatu fungsi dari suatu perangkat lunak (IBM 2001). 5 Penerapan design pattern pada suatu sistem dapat mengakibatkan konsumsi memori yang lebih besar (Reejusri dan Venkatesh 2009). Rangkuman jawaban dari hasil survey terhadap lima orang partisipan untuk lima poin pertanyaan diatas diperlihatkan pada Tabel 1, sedangkan jawaban untuk masing-masing partisipan dapat dilihat pada Lampiran 14. Baris dari tabel menunjukkan pertanyaan pada kuesioner yang dikelompokkan dalam lima jenis pertanyaan, sedangkan kolom pada tabel menunukkan partisipan yang melakukan pengisian kuesioner. Huruf dari tabel adalah jawaban dari setiap partisipan. Berikut adalah keterangan dari jawaban tersebut: Y = Menyatakan kesetujuan (Ya). T = Menyatakan penyangkalan (Tidak). B = Menyatakan belum berpengalaman. R = Menyatakan kondisi ketergantungan. D = Menyatakan Tidak dapat ditentukan. H = Menyatakan Ketidaktahuan.
1
Partisipan 1 Partisipan 2 Partisipan 3 Partisipan 4 Partisipan 5
a Y Y Y Y Y
2 b Y Y Y Y T
c Y Y Y T Y
3 d T Y D Y Y
e Y Y Y Y Y
4 f Y Y T Y B
g Y Y Y Y Y
5 H T Y Y T Y
Sistem yang menerapkan CRUD pattern memiliki sebuah kelas pattern berbentuk interface. Dengan melihat isi dari kelas interface tersebut, serta use case diagram dan class diagram sistem, para pengembang dapat mengetahui relasi dari setiap class sehingga dapat ditarik kesimpulan bahwa setiap proses yang dilakukan pada sistem merupakan hasil implementasi dari kelas interface yang memiliki method create, retrieve, update dan delete. Berdasarkan informasi ini pengembang dapat mengetahui proses apa saja yang akan terjadi pada sistem tersebut. Hal ini menunjukkan bahwa sistem yang menerapkan CRUD pattern dapat membantu meningkatkan komunikasi di antara para pengembang. Sistem yang tidak menerapkan CRUD pattern tidak memiliki kelas yang berfungsi mempolakan proses yang umum terjadi pada sistem tersebut. Masing-masing kelas yang berfungsi sebagai controller melakukan akses terhadap kelas objek secara mandiri, sehingga untuk mengetahui proses yang terjadi pada sistem secara umum, pengembang harus melihat isi dari masingmasing kelas controller tersebut. Hal ini menunjukkan bahwa sistem yang tidak menerapkan CRUD pattern akan menyulitkan komunikasi di antara para pengembang. 2 Analisis Perbandingan dalam Kemudahan Memahami dan Mengetahui Proses yang Terjadi Secara Umum dalam Suatu Perangkat Lunak
Tabel 1 Rangkuman jawaban kuesioner Responden
pernyataan ini, sedangkan satu orang di antaranya menyatakan tidak setuju.
i Y Y T T R
j H Y D T T
1 Analisis Perbandingan dalam Peningkatan Komunikasi Di antara Para Pengembang Berdasarkan hasil survey yang dilakukan pada lima orang responden, secara umum semuanya sepakat dengan pernyataan pada poin 1. Sedangkan untuk sistem yang menerapkan CRUD pattern empat dari lima orang responden menyatakan setuju dengan
Berdasarkan hasil survey yang dilakukan pada lima orang responden, secara umum empat orang di antaranya setuju dengan pernyataan poin 2. Sedangkan satu orang menyatakan tidak setuju karena menurut pendapatnya design pattern tidak ada hubungannya dengan source code program. Sedangkan untuk sistem yang menerapkan CRUD pattern satu orang menyatakan tidak setuju, sedangkan satu orang lagi memiliki perbedaan cara dalam melakukan perancangan sistem sehingga tidak dapat menentukan jawabannya. Analisis terhadap pernyataan ini sebenarnya telah terjawab pada analisis untuk poin 1, yaitu dengan melihat class CRUDInterface yang merupakan class pattern dari sistem yang menerapkan CRUD
12
pattern, ditambah class diagram sistem, dapat kita ketahui bahwa implementasi yang dilakukan oleh setiap class controller terhadap kelas interface menunjukkan bahwa setiap kelas controller akan melakukan proses override terhadap method pada kelas yang diimplementasinya, sehingga ketika kelas interface memiliki method tertentu, maka kelas yang melakukan implementasi terhadap kelas tersebut akan memiliki method yang sama persis. Berdasarkan hal inilah dapat kita simpulkan bahwa penerapan CRUD pattern pada suatu sistem dapat memudahkan kita dalam memahami dan mengetahui proses yang terjadi dalam sistem tersebut secara umum, tanpa harus melihat kode program secara keseluruhan. Sedangkan untuk sistem yang tidak menerapkan CRUD pattern, kita perlu mengetahui masing-masing proses yang dilakukan oleh setiap kelas controller untuk dapat mengetahui proses apa saja yang akan terjadi pada sistem. 3 Analisis Perbandingan dalam Kemudahan Melakukan Proses Pengkodean dan Mempercepat Proses Pengembangan Sistem Berdasarkan hasil survey yang dilakukan pada lima orang responden, secara umum menyatakan setuju dengan pernyataan poin 3. Sedangkan untuk sistem yang menerapkan CRUD pattern satu orang menyatakan tidak berpengalaman dalam pengembangan sistem, sedangkan satu orang lagi menyatakan ketidaksesuaian dalam menerapkan pengkodean dari kelas pattern yang dibuat. Hal ini dikarenakan adanya perbedaan pada gaya pemrograman untuk setiap programmer. Pada sistem yang menerapkan CRUD pattern sebagaimana telah dijelaskan sebelumnya, memiliki satu kelas pattern (CRUDInterface) yang merangkum method umum yang menggambarkan proses apa saja yang akan terjadi pada sistem tersebut. Selain manfaat yang disebutkan sebelumnya, kelas tersebut berfungsi juga sebagai patokan atau referensi dalam proses pengkodean. Suatu referensi berfungsi untuk memberikan gambaran atau pemahaman secara umum ataupun mendetail dari hal yang mengacu kepadanya. Pada sistem ini semua kelas controller mengacu pada kelas pattern tersebut, sehingga untuk melakukan pengkodean dan pengembangan pada sistem ini, para pengembang hanya perlu melakukan implementasi terhadap kelas
yang menjadi referensi (kelas pattern). Hal inilah yang menyebabkan mudahnya proses pengkodean dan cepatnya proses pengembangan pada sistem tersebut. Sistem yang tidak menerapkan CRUD pattern tidak memiliki kelas yang menjadi acuan untuk melakukan pengkodean ataupun pengembangan terhadap sistem tersebut, sehingga para pengembang perlu mendefinisikan proses apa saja yang harus berjalan pada sistem untuk setiap kali terjadi penambahan objek. Pendefinisian proses yang dilakukan pada setiap penambahan objek baru inilah yang mengakibatkan proses pengkodean dan pengembangan pada sistem yang tidak menerapkan CRUD pattern menjadi lebih lambat. 4 Analisis Perbandingan dalam Penggunaan Kembali (Reusability) Suatu Fungsi dari Suatu Perangkat Lunak Berdasarkan hasil survey yang dilakukan pada lima orang responden, secara umum semuanya sepakat dengan pertanyaan pada poin ini. Sedangkan untuk sistem yang menerapkan CRUD pattern tiga dari lima orang setuju dengan pernyataan 4, sedangkan satu orang menyatakan bahwa hal ini lebih mengarah pada fleksibilitas dan skalabilitas dari program, satu orang lagi menyatakan tidak setuju karena kelas interface tidak berisi fungsi secara penuh, hanya nama fungsi dan argument. Dengan menerapkan CRUD pattern memungkinkan adanya penggunaan kembali (reusability) suatu fungsi dari suatu perangkat lunak. Kelas CRUDInterface pada sistem yang menerapkan CRUD pattern merupakan kelas independen yang dapat digunakan kembali untuk membuat sistem lainnya yang sama-sama melakukan proses CRUD. Pada sistem yang tidak menerapkan CRUD pattern tidak terdapat kelas yang dapat digunakan secara umum (mencakup semua objek), selain itu setiap kelas yang berfungsi sebagai controller hanya melakukan proses terhadap satu objek saja. 5 Analisis Perbandingan dalam Konsumsi Memori yang Lebih Besar Dari lima orang responden, secara umum dua orang menyatakan setuju dengan pernyataan 5, dua di antaranya menyatakan bahwa hal itu tergantung dari jenis design pattern yang digunakan, satu orang
13
menyatakan tidak setuju karena design pattern adalah solusi terbaik untuk masalah tertentu yang sering terjadi dalam pengembangan perangkat lunak. Sedangkan untuk sistem yang menerapkan CRUD pattern hanya satu orang yang menyatakan setuju, satu orang menyatakan sistem tanpa CRUD pattern akan menggunakan memori lebih banyak, satu orang yang lain menyatakan tidak mengetahui akan hal tersebut, dua orang yang lain menyatakan bahwa itu hanya dapat ditentukan melalui pengukuran.
(reusability) suatu fungsi dari sistem. Di sisi lain kerugian dari penerapan CRUD pattern dalam Server Polimat adalah konsumsi memori yang lebih besar dibandingkan dengan sistem yang tidak menerapkan CRUD pattern. Server Polimat juga telah menyediakan sarana pengintegrasian sistem dari tiga sub sistem penilangan kendaraan bermotor. Saran Perlu adanya pengukuran secara numerik terhadap penggunaan memori dari sistem yang menerapkan CRUD pattern dan sistem yang tidak menerapkan CRUD pattern, agar diketahui penggunaan memori dari kedua sistem dengan lebih akurat. Penerapan terhadap database pattern lainnya diperlukan untuk menyempurnakan sistem tersebut.
Konsumsi memori pada sistem yang menerapkan CRUD pattern lebih besar dari pada sistem yang tidak menerapkan CRUD pattern dikarenakan adanya penulisan format secara umum yang berfungsi untuk menyimpan atau memproses setiap jenis data. Pada sistem ini terdapat kelas interface yang dapat menyimpan dan melakukan proses terhadap semua variabel dan objek yang terdapat pada sistem. Kelas ini digunakan oleh semua kelas controller yang mengacu padanya, sehingga ketika kelas controller tertentu bekerja, maka sebagai kelas hasil implementasi dari kelas interface, selain melakukan akses terhadap kelas DTO, ia juga akan melakukan akses terhadap kelas interface yang diimplementasi olehnya, proses inilah yang akan menambah jumlah konsumsi memori pada sistem tersebut.
Bagui S, Richard E. 2003. Database Design Using Entity-Relationship Diagrams. Florida: CRC Press Company.
Pada sistem yang tidak menerapkan CRUD pattern, proses yang terjadi pada sistem yang dilakukan oleh controller hanya melibatkan kelas DTO saja, sehingga memori yang digunakan akan lebih kecil dari memori yang digunakan pada sistem yang menerapkan CRUD pattern.
Connolly TM, Begg CE. 2002. A practical Approach to Design, Implementation, and Management. England: Addison Des Wesley.
KESIMPULAN DAN SARAN Kesimpulan CRUD pattern dalam server sistem penilangan kendaraan bermotor telah berhasil diterapkan. Beberapa keuntungan dari penerapan CRUD pattern adalah dapat membantu meningkatkan komunikasi di antara para pengembang, memudahkan dalam memahami dan mengetahui proses yang terjadi dalam suatu perangkat lunak secara umum tanpa harus melihat kode program secara keseluruhan, memudahkan pengembang dalam melakukan proses pengkodean, sehingga dapat mempercepat proses pengembangan, serta memungkinkan adanya penggunaan kembali
DAFTAR PUSTAKA
Bartalos, P., Bielikova, M. 2003. CRUD Pattern Support for Semantic Web [Jurnal]. Slovakia: Slovak University of Technology in Bratislava. Bell D. 2004. UML Basics: The Class Diagram. http://www.ibm.com/developerworks/rat ional/library/content/RationalEdge/sep04 /bell/ [18 Nov 2010].
Deitel HM. 2004. Java How to Program 6th Edition. New Jersey: Prentice Hall. Gamma E, Helm R, Johnson R, Vlissides J. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Publishing Company. Grand M. 2002. Java Enterprise Design Patterns. New York: John Wiley & Sons. IBM.
2001. Design Pattern. http://www.research.ibm.com/designpatt erns/example.html [17 Nov 2010].
Pender TA. 2002. UML Weekend Crash Course. New York: Wiley Publishing.
14