• Tidak ada hasil yang ditemukan

Penerapan CRUD pattern dalam server sistem penilangan kendaraan bermotor Polres Bogor

N/A
N/A
Protected

Academic year: 2017

Membagikan "Penerapan CRUD pattern dalam server sistem penilangan kendaraan bermotor Polres Bogor"

Copied!
181
0
0

Teks penuh

(1)

GAOS IRWANA. Implementation of CRUD Pattern on the Server of Polres Bogor Vehicle Traffic Ticket System. Under the supervision of Endang Purnama Giri.

CRUD pattern is a pattern in interface class that has create, retrieve, update and delete method that serves to manage the database on a system. This research compared two systems that consist of a system that built by implementing CRUD pattern and a system that does not implement CRUD pattern. The results of the research are supported by the results of a survey of 5 respondents. Implementation of CRUD Pattern can improve communication between the developers of the system (1), it can give a general visualization of process that occurs in the system (2), it facilitates the coding and accelerating at the process of system development (3), and it enables to reuse of part of the program code (4), however system that implements CRUD Pattern consumes more memory than system that does not implement CRUD Pattern (5). Based on the results of the survey 80% of respondents agreed with statement 1, 60% of respondents agreed with statement 2, statement 3 and statement 4, and 20% of respondents agreed with statement 5.

(2)

PENERAPAN CRUD PATTERN DALAM SERVER

SISTEM PENILANGAN KENDARAAN BERMOTOR

POLRES BOGOR

GAOS IRWANA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

PENERAPAN CRUD PATTERN DALAM SERVER

SISTEM PENILANGAN KENDARAAN BERMOTOR

POLRES BOGOR

GAOS IRWANA

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(4)

GAOS IRWANA. Implementation of CRUD Pattern on the Server of Polres Bogor Vehicle Traffic Ticket System. Under the supervision of Endang Purnama Giri.

CRUD pattern is a pattern in interface class that has create, retrieve, update and delete method that serves to manage the database on a system. This research compared two systems that consist of a system that built by implementing CRUD pattern and a system that does not implement CRUD pattern. The results of the research are supported by the results of a survey of 5 respondents. Implementation of CRUD Pattern can improve communication between the developers of the system (1), it can give a general visualization of process that occurs in the system (2), it facilitates the coding and accelerating at the process of system development (3), and it enables to reuse of part of the program code (4), however system that implements CRUD Pattern consumes more memory than system that does not implement CRUD Pattern (5). Based on the results of the survey 80% of respondents agreed with statement 1, 60% of respondents agreed with statement 2, statement 3 and statement 4, and 20% of respondents agreed with statement 5.

(5)

Bogor Nama : Gaos Irwana NRP : G64052697

Menyetujui: Dosen Pembimbing,

Endang Purnama Giri, S.Kom, M.Kom NIP: 19821010 200604 1 027

Dr. Ir. Sri Nurdiati, M.Sc NIP: 19601126 198601 2 001

Tanggal lulus:

(6)

ii Alhamdulillahirabbil ‘alamin, puji dan syukur penulis panjatkan kepada Allah SWT atas segala curahan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan tugas akhir ini.

Terima kasih penulis ucapkan kepada semua pihak yang telah membantu dalam penyelesaian tugas akhir ini, antara lain kepada:

1 Kedua orang tua tercinta Ibunda Yati dan Ayahanda Alm. Moch. Isya yang telah membesarkan, mendidik, memberikan kasih sayang, dukungan serta do’a yang tulus untuk kemajuan putranya. 2 Bapak Endang Purnama Giri, S.Kom, M.Kom selaku pembimbing tugas akhir yang telah

memberikan bimbingan, dukungan, serta perhatian dan kesabarannya kepada penulis, sehingga penulis dapat menyelesaikan penelitian ini.

3 Bapak Hendra Rahmawan, S.Kom, M.T. dan Bapak Sony Hartono Wijaya, S.Kom, M.Kom selaku penguji tugas akhir dalam penelitian ini yang telah memberikan begitu banyak pelajaran dan masukan kepada penulis sehingga penulis dapat memperbaiki berbagai kesalahan dalam penelitian ini.

4 PT. Astaga Karya Mandiri yang telah memberikan dukungan dan Fasilitasnya kepada penulis dalam melakukan penelitian ini, terutama kepada Bapak Priyo, Bapak Totok, Bapak Haris, Desca, Fakhri dan segenap karyawan PT. Astaga Karya Mandiri.

5 Ibnu Bima, Syariful Mizan, Sutanto, Auriza, Desca dan Fathoni yang telah memberikan dukungan dan bantuannya dalam pengisian kuesioner.

6 Seluruh kakak dan paman penulis, Teh Entik, Teh Hilda, Teh Lina, Teh Lilis, Teh Wida, Teh Nia Mang Hendar dan Mang Haji yang telah memberikan dorongan, dukungan dan perhatiannya kepada penulis dari awal hingga penulis menyelesaikan penelitian ini.

7 Kepada Nurfillah Rahayu atas kesabaran, dukungan, bantuan serta doa-nya selama ini.

8 Kepada Wikhdal, Anindra, Fakhri, Wawan, Fahmi, Furqon, Elfian, Makinun dan Rofiq atas segala bantuan dan kebersamaannya selama ini.

9 Teman-teman Ilkomerz 42 atas bantuan dan dukungannya.

10 Seluruh staf pengajar dan staf karyawan di Departemen Ilmu Komputer atas segala bantuannya. Akhirnya penulis berharap semoga tulisan ini dapat bermanfaat bagi pihak yang memerlukannya, amin.

Bogor, Februari 2011

(7)

iii Penulis dilahirkan di Bogor Jawa Barat, tepatnya pada tanggal 24 April 1987, dari ayah bernama Mochammad Isya dan ibu bernama Yati. Penulis merupakan anak ke-lima dari lima bersaudara.

(8)

iv Halaman

DAFTAR GAMBAR ... v

DAFTAR LAMPIRAN ... v

PENDAHULUAN ... 1

Latar Belakang ... 1

Tujuan ... 1

Ruang Lingkup ... 1

Manfaat Penelitian ... 2

TINJAUAN PUSTAKA ... 2

Design Patterns ... 2

Database Patterns ... 2

CRUD Pattern... 2

Metode Pengembangan Perangkat Lunak Waterfall ... 3

Java Interface ... 3

Sistem Manajemen Database ... 3

Unified Modeling Language (UML) ... 4

Entity-Relationship Diagram (ERD) ... 5

Metode Pengujian Perangkat Lunak Black Box ... 5

METODOLOGI PENELITIAN ... 5

Perumusan Masalah dan Studi Literatur ... 6

Pengembangan Perangkat Lunak ... 6

Wawancara ... 6

Analisis Kebutuhan Sistem ... 6

Perancangan Sistem dan Perangkat Lunak ... 6

Implementasi dan Pengujian Unit ... 6

Integrasi dan Pengujian Sistem ... 6

Operasi dan Pengelolaan ... 7

Analisis Perbandingan ... 7

Lingkungan Pengembangan ... 7

HASIL DAN PEMBAHASAN... 7

Analisis Kebutuhan Sistem ... 7

1 Deskripsi Umum Sistem ... 7

2 Analisis Kebutuhan Pengguna ... 7

3 Analisis Kebutuhan Sistem ... 8

4 Analisis Pengguna ... 8

Perancangan Sistem dan Perangkat Lunak ... 8

1 Perancangan Input ... 8

2 Perancangan Output ... 8

3 Perancangan Database Lojik ... 8

4 Perancangan Database Fisik... 8

5 Perancangan Model dan CRUD Pattern ... 8

5 Perancangan Antarmuka ... 9

5 Perancangan Proses ... 9

Implementasi dan Pengujian Unit ... 9

1 Implementasi Database ... 9

2 Implementasi Model dan CRUD Pattern ... 9

3 Implementasi Antarmuka... 10

Integrasi dan Pengujian Sistem ... 11

Operasi dan Pengelolaan ... 11

(9)

v

KESIMPULAN DAN SARAN... 14

Kesimpulan ... 14

Saran ... 14

DAFTAR PUSTAKA ... 114

LAMPIRAN ... 16

DAFTAR GAMBAR Halaman 1 Hubungan antar database pattern ... 2

2 Proses pengembangan perangkat lunak dengan metode Waterfall ... 3

3 Basic agregation ... 4

4 Composition aggregation... 4

5 Inheritance/generalization ... 4

6 Realization ... 4

7 Elemen use case diagram ... 5

8 Contoh sequence diagram ... 5

9 Skema pengujian black box ... 5

10 Metodologi penelitian ... 6

11 Perancangan antarmuka untuk pelanggar... 9

12 Perancangan antarmuka untuk administrator ... 9

13 Struktur package kelas DTO ... 10

14 Package kelas controller pada sistem yang menerapkan CRUD pattern ... 10

15 Package kelas controller pada sistem yang tidak menerapkan CRUD pattern ... 10

16 Struktur folder antarmuka Server Polimat ... 11

17 Sarana pengintegrasian subsistem Mobile dan Security ... 11

DAFTAR LAMPIRAN Halaman 1 Use case diagram Server Polimat ... 17

2 Fungsi aplikasi Server Polimat ... 18

3 Karakteristik pengguna ... 20

4 ERD Server Polimat ... 22

5 Skema database Server Polimat ... 23

6 Class diagram Server Polimat ... 24

7 Sequence diagram Server Polimat ... 26

8 Implementasi database ... 31

9 Implementasi CRUD pattern ... 32

10 Implementasi antarmuka Server Polimat ... 33

11 Program HTML untuk menu Server Polimat ... 34

12 Dokumen uji aplikasi Server Polimat ... 35

13 Kuesioner penerapan design pattern ... 72

(10)

1 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),

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

(11)

2 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

Adalah patterns yang digunakan sebagai suatu teknik dalam melakukan store objek ke dalam database. Design patterns ini dapat diadaptasikan 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 (Grand 2002) .

pattern sebagai berikut:

Persistence layer pattern, menggambarkan bagaimana menjaga kelas dari suatu objek tetap dan kelas yang menggunakan objek tetap tersebut, 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 melakukan 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.

Gambar 1 Hubungan antar database pattern (Grand 2002).

CRUD Pattern

(12)

3 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 (Bartalos & Bielikova 2003).

Metode Pengembangan Perangkat Lunak

Waterfall

Model proses perangkat lunak adalah sebuah representasi abstrak dari proses perangkat lunak. Setiap model proses merepresentasikan sebuah proses hanya dari satu perspektif tertentu sehingga hanya memberikan sebagian informasi dari proses tersebut. Ada sejumlah model proses yang cukup umum digunakan. Model waterfall mengambil aktivitas proses spesifikasi, pengembangan, validasi, evolusi dan merepresentasikannya sebagai fase proses yang terpisah seperti spesifikasi kebutuhan, implementasi, pengujian, dan proses selanjutnya (Sommerville 2001).

Gambar 2 Proses pengembangan perangkat lunak dengan metode Waterfall (Sommerville 2001).

Menurut Sommerville (2001), tahapan-tahapan penting dari model Waterfall dapat dipetakan menjadi aktivitas-aktivitas pengembangan berikut:

1. Analisis dan definisi kebutuhan. Layanan, batasan, dan tujuan sistem ditetapkan melalui pembicaraan dengan pengguna sistem. Informasi tersebut kemudian

spesifikasi sistem.

2. Perancangan sistem dan perangkat lunak. Perancangan sistem berfungsi untuk menetapkan arsitektur sistem secara keseluruhan. Perancangan perangkat lunak meliputi identifikasi dan deskripsi abstraksi sistem perangkat lunak.

3. Implementasi dan pengujian unit. Pengujian unit meliputi verifikasi bahwa setiap unit memenuhi spesifikasinya. 4. Integrasi dan pengujian sistem. Seluruh unit

perangkat lunak diuji sebagai sebuah sistem secara keseluruhan untuk memastikan bahwa kebutuhan perangkat lunak telah terpenuhi.

5. Operasi dan pengelolaan. Pada tahap ini sistem telah digunakan. Pemeliharaan meliputi perbaikan error yang tidak diketahui saat pengembangan, pengembangan sistem dan penambahan layanan baru. Proses pengembangan perangkat lunak ini diperlihatkan pada Gambar 2.

Java Interface

Java interface adalah sekumpulan konstanta dan metode abstrak, dimana metode abstrak merupakan sebuah metode yang tidak memiliki implementasi. Dengan kata lain tidak ada tubuh dari kode yang didefinisikan untuk metode tersebut.

Menurut Deitel (2004) java interface menggambarkan sekumpulan metode yang dapat dipanggil pada objek, metode ini berfungsi memberitahukan objek untuk melakukan beberapa tugas atau mengembalikan beberapa bagian informasi. Pendeklarasian interface dimulai dengan keyword interface dan hanya mengandung metode abstrak. Tidak seperti kelas-kelas, semua anggota interface harus public, dan interface tidak boleh menentukan implementasinya secara detail.

Sebuah kelas yang melakukan implementasi terhadap kelas interface harus menyediakan sebuah pendefinisian untuk semua metode dalam interface tersebut. compiler akan menghasilkan error jika ada metode dalam interface yang tidak didefinisikan dalam kelas yang mengimplementasikannya.

Sistem Manajemen Database

(13)

4 Database merepresentasikan entitas, atribut,

dan relasi lojik di antara keduanya. Entitas adalah suatu objek nyata (orang, tempat, benda, konsep, atau peristiwa) dalam suatu organisasi. Sebuah atribut adalah sifat yang menggambarkan beberapa aspek dari objek yang hendak disimpan, dan relasi adalah asosiasi antar entitas.

Sistem manajemen database adalah suatu sistem perangkat lunak yang memungkinkan pengguna-penggunanya untuk mendefinisikan, membuat, memelihara, dan mengontrol akses terhadap database (Connolly 2002).

Unified Modeling Language (UML)

UML adalah sebuah standar untuk membuat model yang merepresentasikan perangkat lunak berorientasi objek dan business sistems. UML menstandardisasi notasi tetapi tidak menentukan bagaimana mengimplementasikan notasi tersebut (Pender 2002). UML mendefinisikan beberapa jenis diagram yang berbeda, beberapa elemen yang terkandung dalam UML ini adalah:

• Diagram kelas (class diagram), adalah diagram yang merepresentasikan kelas-kelas, bagian komponennya, dan cara dimana kelas-kelas dari objek-objek tersebut berelasi satu sama lain. Sebuah kelas adalah sebuah definisi untuk sebuah tipe objek. Relasi antara suatu kelas dengan kelas yang lainnya digambarkan dalam beberapa jenis relasi yang bebeda. Beberapa dari jenis relasi tersebut dapat berupa:

a) Basic Agregation (Gambar 3) menggambarkan bahwa suatu kelas merupakan bagian dari kelas yang lainnya. Pada relasi ini kelas anak dapat berdiri sendiri atau memiliki usia yang lebih lama dari kelas induknya.

Gambar 3 Basic agregation (Donald 2004).

b) Composition aggregation (Gambar 4) menggambarkan bahwa suatu kelas merupakan bagian dari kelas yang lainnya, dimana kelas anak bergantung kepada kelas induknya, sehingga ketika kelas induk dihapus/rusak maka kelas anak akan secara otomatis dihapus/rusak pula.

Gambar 4 Composition aggregation (Donald 2004).

c) Inheritance/Generalization (Gambar 5) merupakan relasi yang menggambarkan hubungan pewarisan (inheritance) antara kelas induk dengan kelas turunannya.

Gambar 5 Inheritance/generalization (Donald 2004).

d) Realization (Gambar 6) merupakan relasi yang menggambarkan hubungan suatu kelas yang melakukan implementasi terhadap kelas interface.

Gambar 6 Realization (Donald 2004). • Use case diagram adalah suatu grafik yang

(14)

5 Gambar 7 Elemen use case diagram

(Pender 2002).

Sequence diagram adalah diagram yang mengilustrasikan interaksi di antara objek-objek. Interaksi menunjukkan kepada kita bagaimana objek-objek berkomunikasi satu sama lain. Setiap waktu suatu objek berkomunikasi kepada yang lainnya yang dilakukan dalam sebuah operasi/proses. Jadi jika kita dapat memodelkan interaksi antar objek, kita dapat menemukan operasi-operasi yang dibutuhkan oleh objek-objek tersebut. Contoh dari sequence diagram diperlihatkan pada Gambar 8.

Gambar 8 Contoh sequence diagram (Pender 2002).

Entity-Relationship Diagram (ERD)

ERD adalah alat pemodelan data semantik yang digunakan untuk menyelesaikan tujuan dari pendeskripsian secara abstrak atau melukiskan data. Pendeskripsian secara abstrak dari data disebut model konseptual. Model konseptual itu akan memimpin kita kepada sebuah “skema”. Sebuah skema menyatakan sebuah ketetapan, penggambaran tetap dari

Skema ini digambarkan dalam suatu diagram yang memperlihatkan entitas-entitas beserta atributnya, serta hubungan satu sama lainnya dalam suatu database.

Metode Pengujian Perangkat Lunak Black

Box

Pengujian black box berfokus pada persyaratan fungsional perangkat lunak yang memungkinkan perekayasa perangkat lunak (analis) mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black box merupakan pendekatan komplementer yang kemungkinan besar mampu menemukan kesalahan dalam kategori sebagai berikut:

• fungsi-fungsi yang tidak benar atau hilang, • kesalahan antarmuka,

• kesalahan dalam struktur data atau akses database eksternal,

• kesalahan kinerja, dan

• inisialisasi dan kesalahan terminasi (Pressman 2001). Skema pengujian ini diperlihatkan pada Gambar 9.

Gambar 9 Skema pengujian black box (Pressman 2001).

(15)

6 Gambar 10 Metodologi penelitian.

Perumusan Masalah dan Studi Literatur Pada tahapan ini, dirumuskan segala hal yang menjadi alasan perlunya untuk mengembangkan sistem dalam penelitian, dimana alasan-alasan itu menjadi latar belakang dari penelitian ini.

Studi literatur dilakukan dengan mempelajari sumber-sumber tertulis yang berhubungan dengan masalah penelitian, baik dalam bentuk dokumen ataupun text book. Pengembangan Perangkat Lunak

Pada tahap ini akan dikembangkan dua buah jenis sistem dengan spesifikasi yang sama dan dengan metode pengembangan perangkat lunak yang sama pula yaitu melalui metode pengembangan perangkat lunak waterfall, serta sama-sama menerapkan konsep Object Oriented Programming (OOP). Namun sistem yang pertama dibuat tanpa menggunakan CRUD pattern sedangkan sistem yang kedua dibuat dengan menerapkan CRUD pattern.

Wawancara

Wawancara adalah bagian dari proses pengembangan sistem yang dilakukan sebelum proses pengembangan perangkat lunak dilaksanakan. Wawancara dilakukan kepada kepala unit (Kanit) penilangan di POLRES Bogor, dengan mengajukan beberapa pertanyaan yang berhubungan dengan kebutuhan dari sistem yang akan dikembangkan. Beberapa pertanyaan yang penting bagi perolehan informasi dalam penelitian ini adalah:

• Data apa saja yang perlu diketahui dari pihak tertilang (terkena tilang) dan yang perlu dicatat oleh petugas di lapangan? • Informasi unique apa yang digunakan oleh

pihak kepolisian untuk mengidentifikasi atau memperoleh informasi pihak tertilang saat datanya diperlukan?

• Data history apa yang perlu diketahui oleh petugas di lapangan tentang pihak tertilang? • Data apa saja yang perlu diketahui

berkenaan dengan petugas yang melakukan penilangan?

Dari hasil wawancara ini, diperoleh informasi mengenai data yang harus dicatat dalam server dan informasi yang harus tersampaikan kepada petugas tilang.

Analisis Kebutuhan Sistem

Tahap analisis dilakukan saat tahapan studi literatur, studi perbandingan dan wawancara telah selesai dilaksanakan. Pada tahapan ini dilakukan analisis terhadap data dan informasi yang diperoleh dari tahapan sebelumya untuk membuat spesifikasi dari kebutuhan sistem yang akan dibuat.

Perancangan Sistem dan Perangkat Lunak Perancangan sistem dan perangkat lunak dilakukan sebelum pembuatan aplikasi berjalan. Pada tahap ini akan dirancang suatu representasi dari sistem yang akan dibuat, baik itu sistem dengan penerapan CRUD pattern ataupun sistem yang tidak menerapkan CRUD pattern. Representasi ini digambarkan dalam suatu pemodelan berbentuk notasi grafis menggunakan UML. Pemodelan dalam UML yang akan digunakan di antaranya adalah use case diagram, class diagram dan sequence diagram.

Implementasi dan Pengujian Unit

Pada tahap ini dibuat dua buah sistem server penilangan kendaraan bermotor. Sistem 1 adalah sistem tanpa menggunakan CRUD pattern, sedangkan sistem 2 adalah sistem yang menerapkan CRUD pattern. Masing-masing sistem dibuat utuh sesuai dengan spesifikasi yang diperlukan.

Integrasi dan Pengujian Sistem

(16)

7 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.

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 terhadap Server Polimat terdiri atas:

• 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

(17)

8 • Manajemen data pelanggaran untuk

menyimpan dan mengelola data pelanggaran lalu lintas.

• Pencetakan data slip untuk mencetak slip tilang berdasarkan nomor tilang tertentu. Kebutuhan pengguna ini ditunjukkan pada use case diagram pada Lampiran 1, bagian yang diberi lingkaran adalah ruang lingkup dari Server Polimat.

c. Analisis Kebutuhan Sistem

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. 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.

b. Perancangan Output

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. Perancangan Database Lojik

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. 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 entitas-entitasnya, 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.

(18)

9 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 ini merupakan kelas-kelas yang dihasilkan dari implementasi kelas-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

Form

autentikasi Form cetak slip tilang

Footer

Gambar 11 Perancangan antarmuka untuk pelanggar.

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

Gambar 11 dan Gambar 12. Logo

Polantas Banner

Menu Content

Footer

Gambar 12 Perancangan antarmuka untuk administrator.

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. 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.

(19)

10 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.

Gambar 13 Struktur package kelas DTO.

Gambar 14 Package kelas controller pada sistem yang menerapkan CRUD pattern.

Kelas controller dikelompokkan dalam package polimatPackages.pattern. Untuk sistem yang menerapkan CRUD pattern, package ini memiliki kelas CRUDInterface.java (Gambar

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. 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 masing-masing. 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).

(20)

11

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

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 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:

(21)

12 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. Tabel 1 Rangkuman jawaban kuesioner

Responden 1 2 3 4 5

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

pernyataan ini, sedangkan satu orang di antaranya menyatakan tidak setuju.

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 masing-masing 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

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.

(22)

13 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

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

(23)

14 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 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.

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.

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

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.

DAFTAR PUSTAKA

Bagui S, Richard E. 2003. Database Design Using Entity-Relationship Diagrams. Florida: CRC Press Company.

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].

Connolly TM, Begg CE. 2002. A practical Approach to Design, Implementation, and Management. England: Addison Des Wesley.

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

(24)

15 Practitioner’s Approach 5th Edition.

Singapore: McGraw-Hill.

Reejusri, Venkatesh. 2009. What are Advantages and Disadvantages of

Design Patterns.

http://www.allinterview.com/showanswe r/35464.htm

[18 Nov 2010]

.

Sommerville I. 2001. Software Engineering 6th Edition. England: Pearson Education. Wahab, H. 2007. Struts Framework dan J2EE

Pattern dalam Pengembangan Sistem Informasi Akademik IPB. [Skripsi]. Bogor: Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.

Wikipedia. 2010. Design pattern (computer science).

(25)
(26)

17 <<exten

d>> <<extend>>

(27)

18 Kode fungsi Deskripsi

[POLIMAT-001] Mencetak slip penilangan

[POLIMAT-002] Melakukan autentikasi terhadap pengguna (login) [POLIMAT-003] Melihat list data penilangan

[POLIMAT-004] Mencari data penilangan [POLIMAT-005] Melihat detail data penilangan

[POLIMAT-006] Mencetak slip penilangan dari detail penilangan [POLIMAT-007] Menambah data penilangan

(28)

19 Kode fungsi Deskripsi

[POLIMAT-035] Mencari data slip biru [POLIMAT-036] Melihat detail data slip biru [POLIMAT-037] Menambah data slip biru [POLIMAT-038] Mengubah data slip biru [POLIMAT-039] Menghapus data slip biru [POLIMAT-040] Melihat list data slip merah [POLIMAT-041] Mencari data slip merah [POLIMAT-042] Melihat detail data slip merah [POLIMAT-043] Menambah data slip merah [POLIMAT-044] Mengubah data slip merah [POLIMAT-045] Menghapus data slip merah [POLIMAT-046] Melihat list data lokasi [POLIMAT-047] Mencari data lokasi [POLIMAT-048] Melihat detail data lokasi [POLIMAT-049] Menambah data lokasi [POLIMAT-050] Mengubah data lokasi [POLIMAT-051] Menghapus data lokasi [POLIMAT-052] Melihat list data user akses [POLIMAT-053] Mencari data user akses [POLIMAT-054] Melihat detail data user akses [POLIMAT-055] Menambah data user akses [POLIMAT-056] Mengubah data user akses [POLIMAT-057] Menghapus data user akses

(29)

20 Kategori Pengguna Hak akses ke aplikasi Keterangan Super Administrator [POLIMAT-001], [POLIMAT-002], [POLIMAT-003],

[POLIMAT-004], [POLIMAT-005], [POLIMAT-006], [POLIMAT-007], [POLIMAT-008], [POLIMAT-009], [POLIMAT-010], [POLIMAT-011], [POLIMAT-012], [POLIMAT-013], [POLIMAT-014], [POLIMAT-015], [POLIMAT-016], [POLIMAT-017], [POLIMAT-018], [POLIMAT-019], [POLIMAT-020], [POLIMAT-021], [POLIMAT-022], [POLIMAT-023], [POLIMAT-024], [POLIMAT-025], [POLIMAT-026], [POLIMAT-027], [POLIMAT-028], [POLIMAT-029], [POLIMAT-030], [POLIMAT-031], [POLIMAT-032], [POLIMAT-033], [POLIMAT-034], [POLIMAT-035], [POLIMAT-036], [POLIMAT-037], [POLIMAT-038], [POLIMAT-039], [POLIMAT-040], [POLIMAT-041], [POLIMAT-042], [POLIMAT-043], [POLIMAT-044], [POLIMAT-045], [POLIMAT-046], [POLIMAT-047], [POLIMAT-048], [POLIMAT-049], [POLIMAT-050], [POLIMAT-051], [POLIMAT-052], [POLIMAT-053], [POLIMAT-054], [POLIMAT-055], [POLIMAT-056], [POLIMAT-057], [POLIMAT-058]

Super Administrator dapat melihat dan melakukan manajemen terhadap semua data pada Server Polimat

Administrator [POLIMAT-001], [POLIMAT-002], [POLIMAT-003], [POLIMAT-004], [POLIMAT-005], [POLIMAT-006], [POLIMAT-007], [POLIMAT-008], [POLIMAT-009], [POLIMAT-010], [POLIMAT-011], [POLIMAT-012], [POLIMAT-013], [POLIMAT-014], [POLIMAT-015], [POLIMAT-016], [POLIMAT-017], [POLIMAT-018], [POLIMAT-019], [POLIMAT-020], [POLIMAT-021], [POLIMAT-022], [POLIMAT-023], [POLIMAT-024], [POLIMAT-025], [POLIMAT-026], [POLIMAT-027], [POLIMAT-028], [POLIMAT-029], [POLIMAT-030], [POLIMAT-031], [POLIMAT-032], [POLIMAT-033], [POLIMAT-034], [POLIMAT-035], [POLIMAT-036], [POLIMAT-037], [POLIMAT-038], [POLIMAT-039], [POLIMAT-040], [POLIMAT-041], [POLIMAT-042], [POLIMAT-043], [POLIMAT-044], [POLIMAT-045], [POLIMAT-046], [POLIMAT-047], [POLIMAT-048], [POLIMAT-049], [POLIMAT-050], [POLIMAT-051], [POLIMAT-058]

Administrator dapat melihat dan melakukan manajemen terhadap semua data POLIMAT kecuali data user akses.

Operator [POLIMAT-001], [POLIMAT-002], [POLIMAT-003], [POLIMAT-004], [POLIMAT-005], [POLIMAT-006], [POLIMAT-007], [POLIMAT-008], [POLIMAT-009], [POLIMAT-010], [POLIMAT-011], [POLIMAT-012], [POLIMAT-013], [POLIMAT-014], [POLIMAT-015], [POLIMAT-016], [POLIMAT-017], [POLIMAT-018], [POLIMAT-019], [POLIMAT-020], [POLIMAT-021], [POLIMAT-022], [POLIMAT-023], [POLIMAT-024], [POLIMAT-025], [POLIMAT-026], [POLIMAT-027], [POLIMAT-028], [POLIMAT-029], [POLIMAT-030], [POLIMAT-031], [POLIMAT-032], [POLIMAT-033], [POLIMAT-046], [POLIMAT-047], [POLIMAT-048], [POLIMAT-049], [POLIMAT-050], [POLIMAT-051], [POLIMAT-058]

Operator hanya dapat

(30)

21 Kategori Pengguna Hak akses ke aplikasi Keterangan

Warga [POLIMAT-001] Warga (user)

(31)
(32)

23 T_warga

sin nama jalan rt Rw desa_kelurahan kecamatan kab_kota provinsi Kodepos

tempatlahir tanggallahir Jeniskelamin golongandarah agama profesi Pendidikan

T_polisi

Nrp sin pangkat jabatan satuan

T_kendaraan

nopolisi Sin jenis_model jumlahroda merk_type norangka nomesin Nobpkb

tahunpembuatan tahunperakitan isisilinder_hp warnakb warnatnkb bahanbakar

T_pelanggaran

notilang Sin nopolisi nrp kodeslip jeniskendaraan barangbukti Tanggalpelanggaran

waktupelanggaran areapelanggaran lokasipelanggaran status

T_slip T_slipbiru kodeslip jenisslip

T_slipmerah

notilang tanggalsidang Jam subsidar biayaperkara leges lokasisita

T_poinpelanggaran

notilang id_pasal Keterangan denda

T_pasal

id_pasal no_pasal no_ayat isi_ayat denda

T_area

kode_area nama_area

T_lokasi

kode_lokasi kode_area nama_lokasi

T_userakses

id_user username Password keyword user_level user_akses

T_wordlist Word

(33)
(34)

25 b. Class diagram sistem tanpa CRUD pattern

(35)

26 1. Fungsi autentikasi

(36)

27 2. Fungsi retrieve dan search pelanggaran

Untuk melihat list data penilangan, administrator harus meng-klik link pelanggaran, kemudian PelanggaranBeanImplement akan melakukan perintah retrieve() untuk menampilkan seluruh data pelanggaran. WargaBeanImplement akan melakukan retrieve nama pelanggar berdasarkan pada sin yang diperoleh dari PelanggaranBean. List pelanggaran kemudian dikirimkan pada halaman r_pelanggaran.jsp.

(37)

28 3. Fungsi input pelanggaran

Administrator melakukan input data pelanggaran baru pada form pelanggaran, kemudian menekan tombol SIMPAN. PelanggaranBeanImplement akan melakukan input dalam tiga tahapan setelah administrator menekan tombol SIMPAN, yaitu:

1. Input data pelanggaran. Jika input data pelanggaran berjalan dengan baik maka akan dilanjutkan pada input data poin pelanggaran, tapi jika ada data yang tidak sesuai atau ada data kosong, maka akan muncul jendela peringatan pada sistem, kemudian dikembalikan ke halaman form input pelanggaran.

2. Input data poin pelanggaran. Jika input data poin pelanggaran berjalan dengan baik maka akan dilanjutkan pada input data slip, tapi jika ada data yang tidak sesuai atau ada data kosong, maka akan muncul jendela peringatan pada sistem, kemudian sistem dikembalikan ke halaman form input pelanggaran, dengan menghapus data sebelumnya.

3. Input data slip berdasarkan kode slip yang dimasukkan. SlipBeanImplement akan melakukan proses input berdasarkan jenis slip yang digunakan. Jika input data slip berjalan dengan baik maka proses input telah selesai, kemudian administrator diberikan halaman r_pelanggaran.jsp, tapi jika ada data yang tidak sesuai atau ada data kosong, maka akan muncul jendela peringatan pada sistem, kemudian dikembalikan ke halaman c_pelanggaran.jsp dan melakukan delete terhadap data sebelumnya.

(38)

29 4. Fungsi update pelanggaran

Administrator memilih data pelanggaran yang akan dirubah dari list data pelanggaran, kemudian melakukan update terhadap data pelanggaran tersebut, kemudian menekan tombol UBAH. PelanggaranBeanImplement akan melakukan update dalam tiga tahapan setelah administrator menekan tombol UBAH, yaitu:

1. Update data pelanggaran. Jika update data pelanggaran berjalan dengan baik maka akan dilanjutkan pada delete dan input untuk data poin pelanggaran, tapi jika ada data yang tidak sesuai atau ada data kosong, maka akan muncul jendela peringatan pada sistem, kemudian dikembalikan ke halaman form update pelanggaran.

2. Update data poin pelanggaran. Jika proses delete dan input data poin pelanggaran berjalan dengan baik maka akan dilanjutkan pada proses delete dan input untuk data slip, tapi jika ada data yang tidak sesuai atau ada data kosong, maka akan muncul jendela peringatan pada sistem, kemudian sistem dikembalikan ke halaman form update pelanggaran.

(39)

30 5. Fungsi delete pelanggaran

Administrator memilih data pelanggaran yang akan dihapus dari list data pelanggaran, kemudian menekan tombol Hapus. PelanggaranBeanImplement akan melakukan proses delete dalam tiga tahapan setelah administrator menekan tombol Hapus, yaitu:

1. Delete data pelanggaran. Jika delete data pelanggaran berjalan dengan baik maka akan dilanjutkan pada delete untuk data poin pelanggaran, tapi jika gagal maka akan muncul jendela peringatan pada sistem, kemudian dikembalikan ke halaman sebelumnya.

2. Delete data poin pelanggaran. Jika proses delete data poin pelanggaran berjalan dengan baik maka akan dilanjutkan pada proses delete untuk data slip, tapi jika gagal maka akan muncul jendela peringatan pada sistem, kemudian sistem dikembalikan ke halaman sebelumnya.

3. Delete data slip. SlipBeanImplement akan melakukan proses delete berdasarkan jenis slip yang digunakan. Jika proses delete data slip berjalan dengan baik maka proses delete telah selesai dan pengguna diberikan halaman r_pelanggaran.jsp, tapi jika gagal maka akan muncul jendela peringatan pada sistem, kemudian dikembalikan ke halaman sebelumnya.

Controller: PelanggaranBeanImplement Pelanggaran: PelanggaranBean PoinPelanggaran: PoinPelanggaranBean

Pilih pelanggaran yang akan dihapus dari list pelanggaran kemudian tekan link “Hapus”

getNotilang()

Forward ke r_pelanggaran.jsp

SlipBiru: SlipBiruBean

Administrator SlipMerah: SlipMerahBean

[kodeSlip=001]

[kodeSlip=002] SlipBeanImplement

alt delete(notilang)

delete(notilang)

failed

succes

Alert “Gagal”

delete(notilang) delete(notilang) notilang

[If failedalert “Gagal” ]

[ If failedalert “Gagal” ]

status

status

(40)

31

Nama Tipe Primary key Deskripsi

T_warga Tabel sin Berisi data warga

T_polisi Tabel nrp Menyimpan data petugas kepolisian T_kendaraan Tabel nopolisi Menyimpan data kendaraan T_slip Tabel Kodeslip Berisi data dari slip penilangan

yang berlaku di Bogor

T_slipbiru Tabel notilang Menyimpan data penilangan yang termasuk dalam kategori slip biru T_slipmerah Tabel notilang Menyimpan data penilangan dengan

kategori slip merah

T_pelanggaran Tabel notilang Digunakan untuk menyimpan data pelanggaran

T_poinpelanggaran Tabel Notilang, id_pasal

Menyimpan data dari poin-poin yang dilanggar dari suatu pelanggaran lalu lintas

T_pasal Tabel Id_pasal Berisi data pasal-pasal lalu lintas yang biasa digunakan dalam proses penilangan

T_area Tabel kode_area Berisi data area di wilayah tertentu T_lokasi Tabel kode_lokasi Berisi data lokasi berdasarkan area

tertentu

T_userakses Tabel Id_user Berisi data pengguna sistem, yang akan membatasi dan membedakan hak akses untuk setiap pengguna T_wordlist Tabel - Berisi kata-kata yang digunakan

Gambar

Gambar 1 Hubungan antar  database pattern (Grand 2002).
Gambar 6 Realization (Donald 2004).
Gambar 9
Gambar 10 Metodologi penelitian.
+7

Referensi

Dokumen terkait

Waktu perolehannya harta tersebut yaitu, harta yang diperoleh baik sendiri-sendiri atau bersama suami-istri selama dalam ikatan perkawinan berlangsung tanpa mempersoalkan

selaku Dosen Pembimbing I yang telah berkenan meluangkan waktu, tenaga dan pikiran dengan penuh kesabaran dalam memberikan bimbingan, dukungan dan pengarahan serta

Secara garis besar terdapat dua (2) Kajian Utama dari materi perkuliahan tatap muka yang melatarbelakangi penentuan Judul-judul Praktikum Kimia Anorganik, yaitu:

Perangkat lunak sistem atau sistem operasi merupakan software yang berfungsi melakukan operasi yang mengurusi tentang segala aktifitas komputer seperti mendukung

Hasil dari program kerja KKI dan juga capaian KKI di tahun 2012 dalam bidang pendidikan antara lain telah mensahkan revisi standar pendidikan dan standar

dalam Pasal 14 dan rincian data pasokan Bahan Baku dan/atau Bahan Penolong sebagaimana dimaksud dalam Pasal 16 disampaikan kepada menteri yang menyelenggarakan koordinasi,

Sekali lagi ini adalah bertentangan dengan seseorang yang ingin memberi makan dunia, jadi aku tidak dapat mencegah untuk berpikir bahwa kita sedang berbicara tentang sesuatu yang

Pelaksanaan bekerja dari rumah (work from home) di Kementerian Kesehatan dikecualikan bagi pegawai pada fasilitas pelayanan kesehatan, terutama yang berhubungan langsung