Design patterns Database Patterns

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