72
Lampiran 13 Kuesioner penerapan design pattern KUESIONER PENERAPAN DESIGN PATTERN DALAM SUATU RANGKAIAN
PENGEMBANGAN SISTEMPERANGKAT LUNAK Identitas Pengisi
Nama :………………………………………………………………………………
Pekerjaan :………………………………………………………………………………
Tanda tangan : ……………………………………………………
1.1 Design patterns
Design pattern adalah solusi umum yang dapat digunakan kembali untuk menyelesaikan masalah yang seringkali berulang dalam pembuatan perangkat lunak. Dalam bukunya yang berjudul Design
patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson dan John Vlissides yang dikenal sebagai Gang Of Four membagi katalog design patterns
mereka dalam tiga kategori: yaitu creational patterns factory method, abstract factory, builder, singleton, prototype, structural patterns decorator, composite, proxy, adapter, bridge, flyweight,
facade, dan behavioral patterns srategy, iterator, template method, mediator, observer, chain of responsibility, memento, command, state, visitor, interpreter.
• Creational patterns berhubungan dengan penciptaan obyek.
• Structural patterns berhubungan dengan struktur statis obyek dan kelas.
• Behavioral patterns melakukan karakterisasi cara dimana kelas dan objek berinteraksi dan
mendistribusikan kepentingannya GOF 1995.
1.2 Database Patterns
Adalah patterns yang digunakan sebagai suatu teknik dalam melakukan store objek ke dalam database patterns ini dapat di adaptasikan untuk bekerja dengan objek yang disimpan dalam berbagai
jenis media penyimpanan tetap. Semenjak database menjadi media penyimpanan yang umum digunakan untuk objek, patterns ini telah ditulis dengan asumsi bahwa objek disimpan dalam sebuah
database Mark Grand 2002 .
Database pattern terdiri atas beberapa pattern sebagai berikut: •
Persistence layer pattern, menggambarkan bagaimana menjaga kelas dari suatu objek tetap dan kelas yang menggunakan objek tetap, independen terhadap mekanisme berulang yang
digunakan. •
CRUD pattern menggambarkan bagaimana cara merancang interface methods dari implementasi persistance layar pattern.
• Stale object pattern menerangkan bagaimana untuk membuat rancangan metode update
menggunakan CRUD pattern menjadi lebih kuat. •
Type Conversion pattern menggambarkan bagaimana cara melekukan manajemen terhadap perbedaan dalam cara runtime environment dan representasi data dalam database.
• Dirty pattern digunakan dalam implementasi dari CRUD pattern untuk menghindari update
yang tidak perlu terhadapa objek tetap. •
Lazy retrieval pattern menggambarkan sebuah optimisasi kepada persistance layer pattern untuk menghindari diperolehnya kembali objek dari database yang sudah tidak diperlukan
lagi. Hubungan antar database pattern dapat dilihat pada Gambar 1.
73 Lampiran 13 Lanjutan
Gambar 1 Hubungan antar database pattern Mark Grand 2002.
CRUD pattern
CRUD merupakan kependekan dari crate, retrieve, update dan delete yang merupakan istilah atau proses umum yang sering digunakan dalam database. Realisasi dari CRUD pattern, dapat berupa
metode-metode berikut: create method, dipanggil ketika akan membuat objek data baru.
retrieve operation, untuk memperoleh objek dari database. update operation, merupakan kombinasi dari delete dan create operation
delete operation, merupakan operasi penghapusan instance dari tempat penyimpanan data berdasarkan pada objek yang diberikan Peter Bartalos dan Maria Bielikova 2003.
Dalam penelitian ini saya membuat dua buah sistem aplikasi server penilangan kendaraan bermotor yang terdiri atas satu sistem yang tidak menggunakan design pattern dan satu sistem yang
menerapkan design pattern. CRUD pattern inilah yang diterapkan dalam sistem yang saya buat. Pada dasarnya design pattern ini merupakan suatu pola yang menggambarkan metode-metode yang
terdapat dalam suatu sistem yang kemudian dirangkum dalam satu class interface, dimana metode tersebut akan digunakan secara berulang-ulang dalam proses manajemen objek data dari sistem ini.
Metode-metode yang terkumpul dalam satu interface class ini akan di implementasi oleh setiap class yang akan melakukan manajemen terhadap objek data yang secara umum membutuhkan metode-
metode tersebut. Dengan adanya class interface ini, proses secara umum dari sistem dapat tergambarkan dari satu interface class tersebut.
Dari penelitian yang saya lakukan, ada beberapa pertimbangan yang perlu mendapat kepastian dari pihak yang berpengalaman dalam dunia design pattern. Terutama programmer perusahaan IT yang
telah berpengalaman dalam bidang ini. Untuk itu beberapa pendapat ini saya kemukakan sesuai dengan hasil temuan dari penelitian saya, yang akan menjadi bahan pertimbangan dalam
penyususunan tugas akhir saya.
1. Apa yang anda ketahui tentang design pattern?
………………………………………………………………………………………………… ………………………………………………………………………………………….
2. Design pattern apa yang sedangpernah anda gunakan creationalstructuralbehavioral?
……………………………………………………………………………………………. 3.
Mengapa alasan anda menggunakan design pattern tersebut? …………………………………………………………………………………………………
………………………………………………………………………………………….. 4.
Apa peranfungsi design pattern dalam bidang yang anda jalani? …………………………………………………………………………………………………
………………………………………………………………………………………….. 5.
Berikut adalah beberapa keuntungan dan kerugian dari penerapan design pattern.
74 Lampiran 13 Lanjutan
a Dalam
suatu literatur
yang saya
baca di
http:www.allinterview.comshowanswer35464.htm disebutkan bahwa salah satu keuntungan dari menggunakan design pattern dalam perancangan atau pengembangan
suatu sistem adalah dapat membantu meningkatkan komunikasi di antara para pengembang. Bagaimana menurut pendapat anda?
…………………………………………………………………………………………… ……………………………………………..………………………………………
b Jika diibaratkan dalam sistem yang saya buat terdiri atas tiga jenjang pengembang yang
meliputi sistem analis, senior programmer dan junior programmer. Dimana sistem analis menerangkan secara umum sistem yang akan dibuat kepada senior programmer,
kemudian senior programmer menggambarkan use case diagram berikut:
Dari usecase diagram di atas senior programmer merumuskan secara umum proses- proses apa saja yang harus ada untuk pengguna “Operator” dalam sebuah interface class
berikut:
Dari kelas interface di atas junior programmer harus melakukan pengkodean untuk melakukan manajemen terhadap masing-masing entitas, tentunya dengan melakukan
implementasi terhadap kelas interface di atas. Menurut pendapat anda apakah gambaran di atas mewakili peran dari design pattern
dalam membantu meningkatkan komunikasi di antara para pengembang yatidak? …………………………………………………………………………………………
c Dari
literature lain
http:www.research.ibm.comdesignpatternsexample.html Keuntungan lainnya dari penerapan design pattern adalah bahwa dengan menerapkan
design pattern maka akan memudahkan kita dalam memahami dan mengetahui
75 Lampiran 13 Lanjutan
proses yang terjadi dalam suatu perangkat lunak secara umum tanpa harus melihat kode program secara keseluruhan. Bagaimana menurut anda?
…………………………………………………………………………………………… ……………………………………………………………………………………..
d Berikut adalah bagian dari class diagram yang saya rancang dalam penelitian saya.
a. Diagram class dengan CRUD pattern
b. Diagram class tanpa CRUD pattern
Dari dua class diagram di atas, manakah yang lebih memudahkan anda mengetahui proses apa saja yang akan bekerja dari sistem yang saya buat?
…………………………………………………………………………………………… ……………………………………………………………………………………..
e Di http:id.wikipedia.orgwikiDesign_pattern_computer_science disebutkan bahwa
penerapan design pattern dalam suatu sistem dapat mempercepat proses pengembangan dari sistem tersebut. Bagaimana menurut pendapat anda?
…………………………………………………………………………………………… ……………………………………………………………………………………..
f Dari sistem yang menerapkan CRUD pattern yang saya buat, saya merancang satu class
interface yang akan diimplementasi oleh setiap class yang melakukan manajemen proses terhadap suatu objek. Berikut adalah kode program dari class interface tersebut:
76 Lampiran 13 Lanjutan
Kelas interface di atas memudahkan saya dalam membuat kelas implementasinya karena sudah merangkum metode-metode apa saja yang harus ada dalam melakukan manajemen
terhadap suatu objek. Sehingga, setiap kali ada penambahan kelas objek maka saya akan dengan mudah membuat kelas yang melakukan manajemen terhadap kelas objek
tersebut. Dari 12 kelas objek yang ada, adalah sebagai berikut:
1.
AreaBean 2.
KendaraanBean 3.
LokasiBean 4.
PasalBean 5.
PelanggaranBean 6.
PoinPelanggaranBean 7.
PolisiBean 8.
SlipBean 9.
SlipBIruBean 10.
SlipMerahBean 11.
UserBean 12.
WargaBean Dengan mudah saya membuat kelas implementasi dari interface untuk melakukan
manajemen terhadap kelas-kelas objek tersebut hanya dengan melihat atribut dari kelas- kelas objek tersebut. Berikut adalah implementasi dari interface class untuk melakukan
manajemen terhadap setiap objek di atas:
1. AreaBeanImplement 2. KendaraanBeanImplement
3. LokasiBeanImplement 4. PasalBeanImplement
5. PelanggaranBeanImplement 6. PoinPelanggaranBeanImplement
7. PolisiBeanImplement 8. SlipBeanImplement
9. SlipBIruBeanImplement
public interface CRUDInterfaceBusinessObject { public void createBusinessObject theObject throws SQLException;
public PreparedStatement retrievethrows SQLException; public BusinessObject retrieveString key, boolean forUpdatethrows SQLException;
public PreparedStatement retrieveSearchString keythrows SQLException; public PreparedStatement retrieveString keythrows SQLException;
public void updateBusinessObject theObjectthrows SQLException; public void deleteString idthrows SQLException;
}
77 Lampiran 13 Lanjutan
10. SlipMerahBeanImplement 11. UserBeanImplement
12. WargaBeanImplement Tanpa menggunakan CRUD pattern kelas-kelas implementasi di atas saya buat dalam
jangka waktu yang lebih lama dari yang menggunakan CRUD pattern, karena tidak ada pola yang menjadi patokan. Selain itu proses pengembangan penambahan modul, objek,
proses dsb terhadap sistem yang dibuat menjadi lebih mudah. Apakah itu sesuai dengan pengalaman anda?
…………………………………………………………………………………………… ……………………………………………………………………………………..
g Dari http:www.research.ibm.comdesignpatternsexample.htm juga disebutkan bahwa
dengan menerapkan design pattern memungkinkan adanya penggunaan kembali reusability suatu fungsi dari suatu perangkat lunak. Bagaimana pendapat anda?
…………………………………………………………………………………………… ……………………………………………………………………………………..
h Dalam sistem yang menerapkan CRUD pattern yang saya buat terdapat satu class
interface yang merupakan suatu patokan umum dari proses-proses yang akan terjadi terhadap suatu objekdata. Class ini akan selalu diakses oleh setiap proses yang
berhubungan dengan fungsi create, retrieve, update ataupun delete terhadap suatu objek. Dalam satu kali proses terhadap suatu objekdata, maka akan terjadi satu kali akses
terhadap class ini reusability = n. Kelas interface ini masih dapat digunakan untuk membuat sistem lain yang menjalankan fungsi create, retrieve, update ataupun delete.
Menurut anda apakah interface class ini memenuhi sifat reusability suatu design pattern?
…………………………………………………………………………………………… ……………………………………………………………………………………..
i Pada http:www.allinterview.comshowanswer35464.html selain dari keuntungan-
keuntungan yang disebutkan di atas dalam situs ini disebutkan bahwa design pattern juga memiliki beberapa kerugian, salah satunya adalah konsumsi memori yang lebih
besar karena
adanya penulisan
formatfungsi secara
umum, untuk
menyimpanmemproses setiap jenis data. Bagaimana pendapat anda? ……………………………………………………………………………………………
…………………………………………………………………………………….. j
Dalam dua buah sistem yang saya buat berikut adalah penggunaan kelas dari masing- masing sistem:
a. Sistem tanpa CRUD pattern.
78 Lampiran 13 Lanjutan
b. Sistem dengan CRUD pattern.
Dari dua kelas diagaram di atas, menurut anda manakah yang akan mengkonsumsi memori lebih banyak?
……………………………………………………………………………………… ………………………………………………………………………………..
6. Selain dari keuntungan dan kerugian di atas keuntungan dan kerugian apa yang anda ketahui
dari penerapan design pattern? …………………………………………………………………………………………………
…………………………………………………………………………………………..
79 Lampiran 14 Jawaban kuesioner
14.1 Jawaban kuesioner partisipan 1 Auriza AkbarMahasiswa 1.
Design pattern
○
penjelasan dari apa yang diketahui oleh desainer yang berpengalaman,
○
petunjukpengingat dalam memilih class dan method,
○
higher-order abstraction untuk organisasi program,
○
untuk mendiskusikan, mempertimbangkan dan merekam design tradeoff,
○
untuk menghindari batasan dari bahasa implementasi. 2.
Saya hanya menggunakan architectural pattern MVC untuk pengembangan aplikasi web. Pattern yang lain jarang saya pakai, karena saya juga jarang menggunakan OOP.
3. MVC digunakan untuk memisahkan domain logic dari user interface, sehingga tiap komponen
dapat dikembangkan secara independen. 4.
Design pattern berfungsi sebagai acuan dan sumber inspirasi dalam mendesain program. 5.
a. Secara umum saya setuju. b.
Ya, tapi hal tersebut juga tergantung pada kemampuan junior programmer dalam penguasaan design pattern.
c. Setuju, hanya dengan menyebut nama suatu pattern, secara umum kita tahu proses yang
terjadi di belakangnya. d.
Diagram kelas b. e.
Setuju, dengan menggunakan design pattern, kita dapat menghindari ‘reinventing the wheel’. f.
Ya, untuk kasus saya, dengan pattern template method maka penulisan kode dapat dipersingkat.
g. Setuju.
h. Menurut saya, hal tersebut lebih mengarah kepada fleksibilitas dan skalabilitas program,
bukan reusability. i.
Saya belum pernah meneliti tentang pengaruh design pattern pada kinerja program. Secara umum, pemrograman OO lebih lambat dari pemrograman prosedural.
j. Tidak tahu.
6. Design pattern adalah sebuah alternatif solusi. Baik dan tidaknya penerapan design pattern
tergantung pada penguasaan seseorang tentang hal tersebut.
80 Lampiran 14 Lanjutan
14.2 Jawaban kuesioner partisipan 2 Desca Marwan ToniSenior Programmer 1.
Design pattern adalah pola teratur yang digunakan untuk mendevelop software dengan tujuan untuk meningkatkan kemudahan dan efisiensi pembuatan software.
2. Design pattern creational.
3. Lebih memudahkan untuk digunakan kembali untuk hal-hal yg bersifat berulang.
4. Untuk meningkatkan efisiensi dalam proses pembuatan prangkat lunak.
5. a. Setuju, Karena dengan adanya design pattern, maka pola pembagian pekerjaan
pengembang menjadi semakin jelas dan mudah untuk dikombinasikan. b.
Menurut saya iya. c.
Setuju, karena design pattern memang bertujuan untuk itu. d.
Diagram a dengan menggunakan pattern. e.
Iya, karena proses sudah terstruktur, dan apabila ingin dikembangkan, maka tidak perlu repot lagi untuk mendesain dari awal.
f. Iya, kami pun juga merasakan hal yang sama.
g. Iya betul sekali, fungsi inilah yang akan membuat prosesnya menjadi lebih efisien.
h. Iya.
i. Iya. Namun keuntungannya lebih banyak daripada kerugiannya.
j. Diagram b.
6. Kekuranganya belum terlalu banyak programmer yang mengetahui dan memahami penggunaan
design pattern ini.
81 Lampiran 14 Lanjutan
14.3 Jawaban kuesioner partisipan 3 Ifnu BimaDeveloper 1.
Design pattern adalah kumpulan dari pola-pola yang sering digunakan dalam development, pola- pola ini berusaha menyelesaikan masalah yang muncul berulang-ulang, sehingga perlu dibuat
nama yang jelas. Gunanya terutama untuk memudahkan pembacaan kode, dengan begitu kode akan mudah dimantain. Seperti yang banyak dipahami developer bahwa kode ditulis sekali dan
dibaca ribuan kali, didevelop beberapa bulan dimantain puluhan tahun.
2. DAO, Service, MVC, Factory, Event-trigger-listener, DTO. Ini adalah pattern yang saya
gunakan dalam kode sendiri, sisanya lebih banyak berada dalam framework, seperti proxy yang ada di spring, decorator ada di Sitemesh, flyweight di Swing, dan seterusnya.
3. Memudahkan kode untuk dipelihara selama bertahun-tahun.
4. Agar kode mudah dibaca dan dimantain selama bertahun-tahun.
5. a. Sangat setuju, selain memudahkan untuk dibaca, istilah-istilah dalam design pattern
memudahkan developer, system analyst dan semua stakeholder aplikasi membicarakan arsitektur sistem.
b. Ya.
c. Setuju, tepat sekali.
d. Di java sekarang, saya tidak menggunakan DDD, jadi dipisahkan antara class yang fungsinya
sebagai “State” atau data atau representasi dari table atau biasa dikenal dengan Entity, kemudian ada DAO yang isinya semua kata kerja diatas : save, getById, delete, getAll dan
seterusnya.
e. Setuju, kalau komunikasi lancar kode jadi lebih bersih dari bug dan salah analisis.
f. Tidak sesuai, pertama menthrow balik SQLException itu nggak ada gunaya. Kalau sudah ada
SQLException kode diatasnya controller tidak akan bisa menangani error, karena SQLException itu kalau kutukannya Harry Potter adalah avrakedavra, tak termaafkan. Jadi
harus dicatch di dalam DAO atau service. Kode di dalam controllernya servlet nggak perlu tahu menahu tentang implementasi DAO, sehingga nggak perlu menghandle SQLException.
g. Ya setuju.
h. Reusability untuk fungsi-fungsi dasar seperti create, delete dan update sih pasti besar banget.
Karena setiap operasi data perlu salah satu dari fungsi tersebut. i.
Salah besar lah. Bottleneck aplikasi berbasis database selalu ada di management koneksi aplikasi ke database. Makanya dikenalkan adanya konsep cache dimana hasil query dicache
di memory sehingga kalau ada fungsi yang sama memanggil tinggal cek cachenya, kalau data udah ada di dalam cache tidak perlu hit database. Menurut penelitian, data itu dibaca
miliaran kali lebih sering dibanding ditulis aplikasi web, sehingga cache untuk mengurangi hit ke database akan meningkatkan performa aplikasi hingga berkali-kali.
j. Ga bisa dilihat dengan mata, harus dibuat aplikasinya terus lakukan Load testing
menggunakan tools seperti Jmeter, lihat execution time. Memory banyak dipake tapi kalau kinerja tinggi jauh lebih berharga daripada memory hemat tapi dihit user sedikit aja aplikasi
collapse.
6. Design Pattern itu segalanya tentang readibility dan maintenability kode. Kode yang gak bisa
dibaca dan gak bisa dimantain itu ga ada harganya. Performance aplikasi itu dikaitkan dengan arsitektur aplikasi, bukan design pattern.
82 Lampiran 14 Lanjutan
14.4 Jawaban kuesioner partisipan 4 SutantoMahasiswa 1.
Design pattern merupakan suatu solusi umum mengenai sebuah permasalahan umum yang sering terjadi dalam pengembangan perangkat lunak.
2. Creational.
3. Saat itu saya ingin hanya ada satu object yang mengakses sebuah resource yang saya gunakan
dalam membuat aplikasi, jadi dalam aplikasi hanya ada satu object yang punya hak untuk menggunakan resource tersebut.
4. Mempercepat pencarian solusi dari permasalahan umum yang sering terjadi dalam
pengembangan perangkat lunak. 5.
a. Saya setuju, karena design pattern merupakan solusi yang diketahui secara umum, sehingga konsep yang didapat dari sebuah design pattern yang sama juga akan sama antar
developer. b.
Ya. c.
Tidak, karena menurut saya design pattern tidak ada hubungannya dengan source code program, design pattern merupkan design umum untuk solusi dari sebuah permasalahan yang
sering terjadi dalam pengembangan software. d.
Diagram kelas a. e.
Setuju. f.
Iya. g.
Reusability menurut saya lebih cenderung kearah konsep OOP, mungkin karena design pattern juga sering diterapkan dengan konsep OOP makanya juga dibilang reusability.
h. Tidak, karena kelas interface tidak berisi fungsi secara penuh, hanya nama fungsi dan
argument. i.
Tidak, setahu saya design pattern merupakan solusi terbaik untuk masalah tertentu yang sering terjadi dalam pengembangan perangkat lunak.
j. Yang pertama.
6. Keuntungan:
- Cepat menemukan solusi untuk masalah umum yang sering terjadi.
- Kesamaan konsep antar developer dalam team.
Kerugian: -
Mempercayakan sepenuhnya kualitas program yang kita buat pada penemu design pattern.
83 Lampiran 14 Lanjutan
14.5 Jawaban kuesioner partisipan 5 Syariful MizanKonsultan 1.
Salah satu solusi untuk menyelesaikan masalah yang sering ditemui dengan lebih dinamis. 2.
Singleton. 3.
Mudah dipelajari. 4.
Untuk saat ini tidak terlalu banyak. 5.
a. Setuju, karena developer akan lebih mudah dalam memahami pekerjaan developer yang lain dengan adanya fasilitas ini.
b. Tidak.
c. Untuk melihat proses aplikasi secara umum tentu kita telah memiliki desain tersendiri yang
merupakan skenario awal Blueprint yang sudah disepakati oleh kedua belah pihak Client Developer jadi sebetulnya peran dari design pattern sendiri disini hanyalah sebagai alat
bantu dalam menerjemahkan setiap skenario tadi sehingga lebih mudah untuk didevelop oleh programer.
d. Dengan CRUD tampaknya akan lebih mudahlebih terkontrol dalam pengerjaannya. Karena
setiap developer sudah disediakan pattern yang bisa dipakain sesuai kebutuhan. e.
Tentu akan lebih cepat dan mudah karena developer sudah memiliki arahan dalam mengerjakan setiap fungsi yang akan disediakan, hal ini tentunya tidak semua akan bisa
ditangani oleh desain pattern. f.
Untuk saat ini belum. g.
Iya saya setuju. h.
Iya. i.
Tentunya ini tergantung design pattern apa yang digunakan karena dengan pengembangan yang cepat dari design pattern tentu akan lebih memberi keuntungan tersendiri bagi client
lebih dari masalah konsumsi memori yakni waktu pengerjaan yg lebih cepat. j.
Tentu ini tidak bisa dilihat secara langsung, konsumsi memori mungkin akan lebih banyak dalam akses database yang dilakukan di antara dua konsep tersebut.
6. Pengerjaan lebih cepat dengan biaya murah.
1
PENDAHULUAN Latar Belakang
Penilangan adalah suatu tindakan yang merupakan bagian dari proses penegakan
hukum dalam aktivitas lalu lintas. Penyediaan sarana atau fasilitas yang digunakan dalam
pelaksanaan tindakan ini harus dapat memenuhi kebutuhan akan informasi yang diperlukan, baik
informasi mengenai data tertilang, informasi kendaraan, ataupun sejarah history dari
pelanggaran yang dilakukan oleh tertilang. Hal tersebut mutlak diperlukan untuk mengetahui
validitas data yang dimiliki oleh pelaku pelanggaran.
Sistem informasi penilangan yang ada saat ini tidak dapat memenuhi kebutuhan akan
informasi yang diperlukan dalam kegiatan penilangan. Sistem tersebut berbasis desktop
dengan data yang tidak terintegrasi. Tidak adanya sarana yang menghubungkan antara
petugas tilang dan pusat data, menyebabkan tindakan penilangan hanya berdasarkan pada
pelanggaran yang terjadi saat itu.
Manajemen data yang baik merupakan syarat yang harus dipenuhi agar informasi yang
benar dapat tersampaikan, sehingga dapat diambil tindakan yang tepat. Data yang dikelola
harus terintegrasi dalam satu pusat pengelolaan data, agar tidak terjadi duplikasi data ataupun
perolehan data yang tidak lengkap. Hal ini diperlukan terutama untuk melihat informasi
pelanggaran sebelumnya history yang pernah dilakukan oleh tertilang dalam kurun waktu
tertentu yang dapat membedakan jenis sanksi yang akan dikenakan kepadanya. Selain itu,
data dan informasi harus senantiasa dapat diakses, karena penilangan dapat terjadi
kapanpun dan dimanapun.
Penggunaan teknologi yang tepat diperlukan untuk dapat memenuhi kebutuhan dari sistem
yang akan dibuat. Menurut hasil penelitian yang dilakukan oleh Wahab 2007, penerapan design
pattern membuat aplikasi menjadi lebih terstruktur, akses ke data sumber menjadi lebih
fleksibel, proses pengiriman data menjadi sederhana dan mudah dilakukan dan membuat
aplikasi menjadi mudah dikelola.
Pengelolaan data dalam suatu database melibatkan proses-proses yang meliputi proses
penyimpanan, proses
pengubahan, proses
penghapusan dan proses untuk menampilkan data. CRUD pattern merupakan pattern yang
tepat untuk diimplementasikan terhadap sistem tersebut selanjutnya disebut Server Polimat,
karena dapat menunjang fungsi create, retrieve, update dan delete.
Tujuan
Tujuan dari penelitian ini adalah: 1
Menerapkan CRUD pattern dalam server sistem penilangan kendaraan bermotor
Polres Bogor
untuk kemudian
membandingkannya dengan sistem yang dikembangkan tanpa menggunakan CRUD
pattern.
2 Menyediakan sarana pengintegrasian sistem
dari tiga subsistem penilangan dalam satu database yang dikelola di server.
Ruang Lingkup
Beberapa lingkup penelitian ini meliputi: 1
Sistem yang dibuat merupakan sistem yang digunakan
untuk melakukan
proses pengiriman data penilangan yang dilakukan
oleh petugas tilang di lapangan melalui telpon genggam ke pusat penyimpanan data
di server. Secara keseluruhan sistem ini terdiri atas tiga subsistem utama yaitu:
a Sistem
Mobile digunakan
untuk mengirimkan data penilangan ke server
dari tempat terjadinya pelanggaran. b
Sistem Security
digunakan untuk
melakukan perlindungan
keamanan terhadap data yang dikirimkan dari
lapangan ke pusat data di server. c
Sistem Server digunakan sebagai pusat penyimpanan serta pengelolaan data
penilangan.
2 Penelitian ini hanya berfokus pada poin c
yaitu pengelolaan data di server. 3
Spesifikasi sistem dibuat berdasarkan pada alur proses penilangan yang berlaku di
wilayah Bogor. 4
Data yang digunakan adalah data yang bersifat dummy.
5 Hasil
yang diperoleh
terbatas pada
perbedaan dalam kemudahan komunikasi di antara
para pengembang,
kemudahan pemahaman proses secara umum, akselerasi
pemrograman, reuseability dan skalabilitas penggunaan memori antara sistem yang
menerapkan CRUD pattern dengan sistem yang tidak menerapkan CRUD pattern.
6 Partisipan yang dilibatkan dalam pengisian
kuesioner adalah
partisipan yang
2 berpengalaman dalam menerapkan design
pattern. Manfaat Penelitian
Manfaat dari
penelitian ini
adalah dihasilkannya sistem yang mengelola data
penilangan secara terintegrasi dalam satu pusat data, yang akan memenuhi kebutuhan informasi
dalam proses penilangan. Dari penelitian ini juga diharapkan dapat ditegaskan kembali
manfaat dari penerapan design pattern secara umum dan penerapan CRUD pattern secara
khusus dalam suatu sistem, sehingga dapat diketahui keuntungan ataupun kerugiannya.
TINJAUAN PUSTAKA Design Patterns
Design pattern adalah solusi umum yang dapat digunakan kembali untuk menyelesaikan
masalah yang seringkali berulang dalam pembuatan perangkat lunak. Dalam bukunya
yang berjudul Design Patterns: Elements of Reusable Object-Oriented Software, Erich
Gamma, Richard Helm, Ralph Johnson dan John Vlissides yang dikenal sebagai Gang Of
Four membagi katalog Design patterns mereka dalam tiga kategori: yaitu creational patterns
factory method, abstract factory, builder, singleton,
prototype, structural
patterns decorator, composite, proxy, adapter, bridge,
flyweight, facade, dan behavioral patterns srategy, iterator, template method, mediator,
observer, chain of responsibility, memento, command, state, visitor, interpreter.
• Creational patterns berhubungan dengan
penciptaan objek. •
Structural patterns berhubungan dengan struktur statis objek dan kelas.
• Behavioral patterns melakukan karakterisasi
cara dimana kelas dan objek berinteraksi dan mendistribusikan
kepentingannya GOF
1995. Database Patterns