Penerapan codelgniter framework dalam pengembangan sistem informasi sidang keliing : studi kasus badan peradilan

(1)

PENERAPAN CODEIGNITER FRAMEWORK DALAM PENGEMBANGAN SISTEM INFORMASI SIDANG KELILING

(Studi Kasus : Badan Peradilan Agama)

Oleh :

Andi Mulya Indrianto 105091002788

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA 2010


(2)

Sistem Informasi Sidang Keliling Studi Kasus : Badan Peradilan Agama Jakarta, dibimbing oleh Khodijah Hulliyah, M.Si dan Yusuf Durrachman, MSc, M.IT.

Pengadilan agama di seluruh Indonesia kini terdapat program sidang keliling yaitu sidang yang dilakukan tidak di pengadilan namun di tempat yang terdekat dari pendaftar sidang. Setiap bulannya pelaksanaan sidang keliling harus dilaporkan ke Badan Peradilan Agama Jakarta, pelaporan tersebut dilakukan melalui pos ataupun email. Pada proses pelaporan data melalui pos akan memakan banyak waktu dan juga pelaporan data melului pos ataupun email akan terjadi kesulitan dalam mengorganisir data persidangan keliling tersebut. Untuk membantu mengorganisir data sidang keliling tersebut, maka diperlukan suatu aplikasi yang dapat menyimpan dan mengorganisir data sehingga mudah untuk diakses oleh penggunanya. Aplikasi yang akan dibuat merupakan aplikasi berbasis web dengan menggunakan codeigniter framework dan mysql sebagai basis datanya. Aplikasi ini akan memudahkan pelaporan data sidang keliling sehingga informasi persidangan dapat tersampaikan dengan cepat dibandingkan dengan pelaporan data sidang dengan cara manual. Keamanan data dari aplikasi ini akan memanfaatkan keamanan standar dari codeigniter yang bisa mencegah XSS attack

dan SQL injection. Analisis dan perancangan sistem informasi siding keliling dilakukan dengan pendekatan OOAD (Object Oriented Analysis and Design).

Kata Kunci : Codeigniter Framework, Sistem Informasi, Sidang Keliling, OOAD

(Object Oriented Analysis and Design)


(3)

Halaman judul ... i

Persetujuan pembimbing ... ii

Halaman pengesahan ... iii

Halaman pernyataan ... iv

Abstrak ... v

Kata Pengantar ... vi

Daftar isi... viii

Daftar gambar ... xii

Daftar tabel ...xv

Daftar Lampiran ...xvi

Daftar Istiah ...xvii

BAB I PENDAHULUAN 1.1. Latar Belakang ... 1

1.2. Perumusan Masalah... 3

1.3. Pembatasan Masalah ... 4

1.4. Tujuan Penelitian... 4

1.5. Manfaat Penelitian ... 5

1.6. Metodologi Penelitian ... 5

1.7. Sistematika Penulisan ... 6

viii


(4)

2.2. Framework ... 8

2.2.1. Zend Framework ... 9

2.2.2. CakePHP ... 9

2.2.3. Ruby on Rails ... 10

2.2.4.Codeigniter Framework ... 11

2.3. Model View Controller (MVC)... 12

2.4.1. Model... 13

2.4.2. View... 13

2.4.2. Controller... 13

2.4. Pengembangan ...14

2.5. Konsep Sistem Informasi ...14

2.6.1. Pengertian Sistem ...15

2.6.2. Pengertian Informasi ...15

2.6.3. Pengertian Sistem Informasi ...15

2.6.4. Komponen Sistem Informasi ...16

2.6. Sidang Keliling ... 17

2.7. Object Oriented Analysis and Design (OOAD)... 17

2.8. Unified Modelling Language (UML) ... 19

2.9. PHP ... 23

2.10.1.Definisi PHP ... 23


(5)

2.10. MySQL ... 25

2.11. XAMPP Server ... 26

2.12. Studi Sejenis ... 26

BAB III METODOLOGI PENELITIAN 3.1. Tempat dan Waktu Penelitian... 29

3.2. Metode Pengumpulan Data ... 29

3.2.1. Observasi ... 29

3.2.2. Wawancara ... 30

3.3. Metode Pengembangan Sistem ... 30

3.3.1. Pemilihan Motode Object Oriented Analysis and Design 30 3.4. Pemilihan Codeigniter Framework... 34

BAB IV ANALISIS DAN PERANCANGAN 4.1. Sekilas Tentang Badan Peradilan Agama Jakarta... 36

4.1.1. Sejarah ... 36

4.1.2. Visi dan Misi ... 39

4.1.2.1. Visi dan Misi Mahkamah Agung... 39

4.1.2.2Visi dan Misi Direktorat Jendral Peradilan Agama 39 4.1.2.3.Visi dan Misi Peradilann Agama ... 40

4.1.3. Struktur Organisasi ... 40

4.2. Object-Oriented Analysis ... 42


(6)

4.2.3. Uraian Singkat Sistem yang Diusulkan ... 45

4.2.4. Perancangan Use-case Diagram...47

4.3. Object-Oriented Design... 54

4.3.1. Perancangan Activity Diagram... 54

4.3.2. Perancangan Sequence Diagram...64

4.3.3. Perancangan Class Diagram...71

4.3.4. Spesifikasi Basis Data...72

4.3.5. Kamus Data...74

4.3.6. Perancangan User Interface ... 75

4.4. Implementsi ... 77

4.4.1. Bahasa pemrograman dan Komponen ... 77

4.4.2. Struktur File ... 78

4.4.3. Alur Kerja Codeigniter Framework ... 78

4.5. Pengujian ... 86

4.5.1. Pengujian Mandiri ... 86

4.5.2. Pengujian Lapangan ...88

BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan ... 90

5.2. Saran ... 92

DAFTAR PUSTAKA ... 93 LAMPIRAN


(7)

sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.

Admin : Orang yang memeberikan pertanyaan kepada User Registrar untuk menganalisis status pengguna secara individual dan permasalahan yang ada, serta untuk membuat himpunan statistik.

Authentication: proses dalam rangka validasi user pada saat memasuki sistem. Nama dan password dari user dicek melalui proses yang mengecek langsung ke daftar mereka yang diberikan hak untuk memasuki sistem tersebut. Sifat mengetahui bahwa data yang diterima adalah sama dengan data yang dikirim dan bahwa pengirim yang mengklaim adalah benar-benar pengirim sebenarnya.

Cache : Memori yang memegang data terbaru yang diakses, yang dirancang untuk mempercepat akses berikutnya ke data yang sama


(8)

desain berorientasi objek.

Codeigniter : Sebuah PHP framework yang berbasis MVC.

Component diagram : menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya.

Database : Sekumpulan file yang saling terkait dan membentuk suatu bangun data. Database minimal terdiri dari satu file yang cukup untuk dimanipulasi oleh komputer sedemikian rupa.

Deployment/physical diagram : menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana

komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisik.

Filtering : Dalam konteks Web, merupakan proses pemindahan atau pengeditan content secara dinamis untuk tujuan pemeriksaan.


(9)

dikenakan pada data pada titik-titik yang penting di sepanjang jalur.

Form rendering : Fungsi untuk membuat sebuah form.

Framework : dalam sistem berorientasi objek, merupakan kumpulan class yang melambangkan bentuk abstrak untuk pemecahan sejumlah masalah yang berhubungan.

MVC : Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk.

Open source : Perintah-perintah program atau bahasa pemrograman yang tersedia secara gratis berikut dengan kode-kode dari bahasa pemrograman yang digunakan dan untuk digunakan oleh kalangan luas. Boleh dimodifikasi dan digunakan oleh siapa saja.

Query : Suatu nama yang diberikan kepada string untuk digunakan oleh bahasa pemrograman, yang dimanfaatkan untuk pengaksesan database. Pengakses dapat mengases data yang diperlukan untuk mendapatkan informasi.


(10)

kompatibilitas akses terhadap database tersebut. Query ini suatu extracting data dari suatu database dan menampilkannya untuk {pengolahan} lebih lanjut

Rapid Aplication Development : sebuah model proses perkembangan software sekuensial linier yang menekankan siklus perkembangan yang sangat cepat.

Rapid Prototype : Pembentukan model kerja modul perangkat lunak untuk menunjukkan kelayakan fungsi. Prototipe yang kemudian disempurnakan untuk dimasukkan ke dalam produk akhir.

Reporting engine : fungsi untuk membentuk sebuah laporan berformat file office

Routing : Jalur dari satu host ke host lainnya sehingga terjadi komunikasi dan pertukaran informasi antar komputer.

Ruby on Rails : framework yang menggunakan bahasa pemrograman ruby yang menggunakan pendekatan Model View Controller (MVC).


(11)

sebagainya) berupa message yang digambarkan terhadap waktu

SQL Injection : sebuah teknik untuk merubah database server melalui aplikasi client.

Statechart diagram : menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima.

Unified Modelling Language : notasi diagram untuk menggambarkan artefak pada Object-Oriented Analysis and Design (OOAD).

Use Case Diagram : menggambarkan fungsionalitas yang diharapkan dari sebuah sistem.

User : Pengguna. Biasanya ditujukan kepada pengguna suatu sistem yang umumnya adalah manusia. Misalnya pengguna komputer.

User Interface : Perantara yang disediakan untuk user, misalnya interaksi dari mesin komputer ke layar monitor, sehingga seorang user dapat mengetahui apa yang terjadi pada sistem yang digunakannya.


(12)

web based : sebuah sistem yang berbasiskan web sehingga bisa di akses mealui web browser

XSS : suatu cara memasukan code/script HTML kedalam suatu web site dan dijalankan melalui browser di client.


(13)

Gambar 2.1 Interaksi MVC 10... 11

Gambar 2.2 Struktur Direktori Codeigniter... 12

Gambar 2.3. Contoh Use-case Diagram... 19

Gambar 2.4. Contoh Class Diagram... 20

Gambar 2.5 Contoh Activity diagram... 21

Gambar 4.1 Struktur Organisasi Badan Peradilan Agama... 40

Gambar 4.2. Struktur Organisasi Pengadilan Tinggi Agama... 41

Gambar 4.3. Struktur Organisasi Pengadilan Agama... 41

Gambar 4.4. Flowchart Sistem yang sedang berjalan... 43

Gambar 4.5. Flowchart Sistem yang ditawarkan... 46

Gambar 4.6. Use Case Sistem yang ditawarkan... 49

Gambar 4.7. Activity diagram Login... 55

Gambar 4.8. Activity diagram input PTA... 55

Gambar 4.9. Activity diagram edit PTA... 56

Gambar 4.10. Activity diagram delete PTA... 57

Gambar 4.11. Activity diagram view PTA... 57

Gambar 4.12. Activity diagram input PA ... 58

Gambar 4.13. Activity diagram edit PA... 58

Gambar 4.14. Activity diagram delete PA... 59

Gambar 4.15. Activity diagram view PA... 59

Gambar 4.16. Activity diagram input sidang... 60


(14)

Gambar 4.19. Activity diagram view sidang... 62

Gambar 4.20. Activity diagram search data sidang... 62

Gambar 4.21. Activity diagram report data sidang... 63

Gambar 4.22. Activity diagram view system log...63

Gambar 4.23. Sequence diagram login... 64

Gambar 4.24. Sequence diagram input... 65

Gambar 4.25. Sequence diagram edit ... 66

Gambar 4.26. Sequence diagram delete... 67

Gambar 4.27. Sequence diagram vew PTA... 68

Gambar 4.28. Sequence diagram vew PA... 68

Gambar 4.29. Sequence diagram vew sidang... 69

Gambar 4.30. Sequence diagram search sidang... 69

Gambar 4.31. Sequence diagram report sidang... 70

Gambar 4.32. Sequence diagram view system log... 71

Gambar 4.33. Class diagram... 71

Gambar 4.34. Perancangan halaman login... 75

Gambar 4.35. Perancangan halaman input data PTA... 76

Gambar 4.36. Perancangan halaman input data PA... 76

Gambar 4.37. Perancangan halaman input data sidang... 76

Gambar 4.38. Perancangan halaman view data sidang... 77

Gambar 4.39. Alur kerja framework codeigniter... 78


(15)

Tabel 4.1. Kamus data sistem informasi sidang keliling... 87 Tabel 4.2 Hasil Pengujian Mandiri ... 99 Tabel 4.3 Pengujian Lapangan... 101


(16)

1.1. Latar Belakang

Dunia pemrograman saat ini, baik pemrograman desktop maupun web based, sudah semakin marak pengerjaannya dengan menggunakan framework. Framework memang dikembangkan untuk mempermudah dalam developing suatu aplikasi. Selain itu, dengan framework, waktu yang dihabiskan untuk membangun sebuah aplikasi dapat dikurangi secara signifikan (David Upton, 2007).

CI (codeigniter) Framework merupakan sebuah framework berbasis PHP yang mengorganisasi file menjadi 3 (tiga) kelompok, yaitu model yang merupakan kelompok file yang mengatur konfigurasi database, view yang merupakan kelompok file yang mengatur tampilan, dan controler yang merupakan kelompok file yang menghubungkan file model dengan file-file view.(Thomas Myer, 2008)

Dalam suatu institusi pemerintah yang memimpin institusi dibawahnya yang tersebar diseluruh Indonesia, sering terjadi kesulitan dalam pengumpulan informasi dari institusi yang lebih rendah yang tersebar diseluruh indonesia. Kesulitan yang dialami misalnya terjadi perbedaan struktur form laporan sehingga institusi pusat yang menerimanya sulit dalam pengorganisasian data yang diterima. Semua itu terjadi karena form laporan dibuat dengan cara yang berbeda disetiap daerah.


(17)

Untuk mencegah hal itu terjadi dan memudahkan institusi pemerintah yang berada di daerah yang memberikan laporan maupun institusi pemerintah yang berada di pemerintahan pusat yang menerima laporan tersebut, maka pengembangan sistem dalam hal pengorganisasian laporan dinilai perlu untuk dilakukan. Adanya sistem seperti ini otomatis akan membantu setiap institusi baik yang mengirim maupun yang menerima laporan, serta memudahkan mencari laporan - laporan yang terdahulu. Oleh karena itu, penulis ingin mencoba membangun sebuah aplikasi yang dapat mengorganisir data laporan dengan menggunakan CI (codeigniter) framework, karena dengan menggunakan CI (codeigniter) framework, pengembangan aplikasi ini dapat berjalan lebih cepat. Selain itu aplikasi akan menjadi lebih stabil dalam mengorganisir data yang banyak dan tampilan sesuai keinginan kita karena aplikasi ini berbasis web.

Objek penelitian yang diambil oleh penulis adalah Badan Peradilan Agama, mengingat institusi tersebut memimpin Pengadilan Tinggi Agama yang berada di tingkat propinsi dan Pengadilan Agama yang berada ditingkat kabupaten diseluruh Indonesia. Pada tahun 2009 ini Badan Peradilan Agama sedang mencanangkan program “justice for the poor” dimana pihak pengadilan mendatangi orang yang mendaftar ke pegadlian dan tidak mampu datang ke pengadilan karena jauh dari tempat pengadilan, sidang seperti itu disebut dengan sidang keliing. Mengingat program ini baru dibuat maka belum ada sistem untuk mengumpulan laporan sidang keliling dari berbagai daerah ke pemerintah pusat. Hal inilah yang mendorong penulis untuk


(18)

melakukan penelitian “PENERAPAN FRAMEWORK CI (CODEIGNITER) DALAM PENGEMBANGAN SISTEM INFORMASI SIDANG KELILING” dengan studi Kasus pada “Badan Peradilan Agama”. Nantinya, aplikasi ini diharapkan dapat memudahkan pengadilan agama diberbagai daerah dalam pelaporan pelaksanaan sidang keliling dan pencarian laporan sidang keliling yang telah terdahulu.

1.2. Perumusan Masalah

Berdasarkan penjabaran tersebut, penulis mengidentifikasikan masalah yang saat ini dihadapi adalah :

1. Belum adanya format laporan yang valid sehingga setiap daerah memberikan format laporan yang berbeda.

2. Pengiriman laporan melalui pos ataupun e-mail sehingga kurang terdistribusi dengan baik.

3. Pekerjaan pengorganisasian laporan sidang keliling masih dilakukan secara manual.

4. Akan munculnya kesulitan pencarian data laporan apabila data yang terkumpul sudah banyak.

Sehingga penulis merumuskan bahwa permasalahan yang akan diselesaikan dengan penelitian ini adalah : Bagaimana menggorganisasikan data laporan sidang keliling dengan menggunakan CI (Codeigniter) Framework ?


(19)

1.3. Pembatasan Masalah

Dalam perancangan sistem informasi sidang keliling ini, penulis membatasi masalah sebagai berikut :

1. Aplikasi ini hanya untuk intern Badan Peradilan Agama bukan untuk umum.

2. Analisis dan perancangan aplikasi berbasis web yang dapat mengakses informasi dari basis data tersebut kepada user.

3. Perancangan aplikasi sistem informasi sidang keliling berbasis web yang dapat mempermudah pencarian terhadap sidang tertentu.

4. Dalam melakukan perancangan aplikasi, penulis menggunakan Unified Modelling Language (UML) sebagai tools-nya.

5. Dalam implementasinya, penulis menggunakan CI Framework sebagai framework-nya, database yang digunakan adalah mysql, dan aplikasi dijalankan di web badilag.net. Sedangkan untuk reporting engine, penulis menggunakan dompdf.

1.4. Tujuan Penelitian

Tujuan yang ingin dicapai oleh penulis dari penelitian ini adalah : 1. Merancang sebuah aplikasi sistem informasi sidang keliling untuk

mendistribusikan dan mengorganisasikan data laporan sidang keliling. 2. Merancang aplikasi sistem informasi sidang keliling sehingga pemasukan

data dapat dilakukan secara otomatis ke dalam database melalui media web.


(20)

3. Merancang aplikasi sistem informasi sidang keliling yang dapat memudahkan pencarian serta pengorganisasian data.

1.5. Manfaat Penelitian

1.5.1. Bagi Badan Peradilan Agama

Manfaat yang dapat dipetik oleh Badan Peradilan Agama dari penelitian ini antara lain :

1. Pengorganisasian data sidang keliling dalam bentuk basis data. 2. Dapat mempermudah pihak badilag dalam mengorganisir data

sidang keliling.

3. Dapat mempermudah pihak badilag dalam pencarian maupun perubahan data sidang keliling.

1.5.2. Bagi Pengadilan Agama

Manfaat yang dapat diambil oleh dosen dari adanya sistem informasi sidang keliling ini antara lain :

1. Dapat mempermudah pihak pengadilan agama dalam memasukkan data sidang keliling

2. Dapat mempermudah pihak pengadilan agama dalam pencarian data sidang keliling.

1.6. Metodologi Penelitian 1.6.1. Metode Pengumpulan Data

Pada metode pengumpulan data ini penulis melakukan studi lapangan yang terdiri dari observasi dan wawancara.


(21)

Observasi dan wawancara dilakukan ke Badan Peradilan Agama Jakarta untuk mengumpulkan data mengenai proses yang terjadi dan sistem yang sedang berjalan di Badan Peradilan Agama Jakarta.

1.6.2. Metode Pengembangan Sistem

Proses pengembangan sistem informasi sidang keliling menggunakan OOAD (Object Oriented Analysis and Design) yang terdiri dari metode analisis dan metode perancangan. (Adi Nugroho, 2005). Alat bantu pemodelan sistem yang digunakan adalah Unified Modelling Language (UML).

1.7. Sistematika Penulisan

Dalam skripsi ini, penulis menjabarkan penelitian dalam Perancangan Sistem Informasi Sidang Keliling ini dalam 5 (lima) Bab, yaitu :

BAB I PENDAHULUAN

Bab ini berisi pengantar berupa latar belakang dilakukannya penelitian, perumusan masalah, pembatasan masalah, tujuan, serta manfaat yang dapat diambil dari penelitian ini.

BAB II LANDASAN TEORI

Bab ini berisi pembahasan teori-teori yang digunakan sebagai panduan dasar dalam pengembangan sistem ini.


(22)

BAB III METODOLOGI PENELITIAN

Bab ini berisi metodologi penelitian yang digunakan serta langkah-langkah yang digunakan terkait dengan penelitian yang dilakukan.

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis terhadap kebutuhan sistem, serta implementasi pengembangannya secara konkrit.

BAB V KESIMPULAN DAN SARAN

Bab ini merupakan bab penutup yang berisi kesimpulan serta saran yang dapat membantu pengembangan sistem informasi ini di masa yang akan datang.


(23)

2.1. Penerapan

Berdasarkan definisi yang diberikan oleh Kamus Besar Bahasa Indonesia (KBBI), penerapan, yang berasal dari kata dasar terap, berarti: proses, cara, perbuatan menerapkan.

(Pusat Bahasa Departemen Pendidikan Nasional, 2008).

Jadi, penerapan adalah sebuah cara untuk melakukan sesuatu berdasarkan aturan atau metode tertentu. Dalam konteks ini, aturan yang akan dijadikan acuan adalah Codeigniter Framework. Mengenai Codeigniter Framework, akan dijelaskan pada bagian berikutnya.

2.2. Framework

Framework dalam sistem berorientasi objek, merupakan kumpulan

class yang melambangkan bentuk abstrak untuk pemecahan sejumlah

masalah yang berhubungan.(Denis Howe, 1995).

Framework dalam dunia komputer digunakan sebagai sebuah acuan utama berupa kerangka program yang bersifat global, yang dapat

disesuaikan dengan keinginan penggunanya. Framework yang

dikembangkan saat ini telah mencakup berbagai macam bahasa

pemrograman. Pada pemrograman web, framework telah dikembangkan

untuk bahasa pemrograman antara lain PHP, dan Java. Untuk PHP,

framework yang banyak digunakan misalnya Zend Framework yang


(24)

dikembangkan oleh Zend Technologies, CodeIgniter yang dikembangkan

oleh Ellislab, Inc., dan Seagull Framework yang memiliki lisensi dibawah

BSD.

Sebuah framework selain menyediakan lingkungan pengembangan

sendiri juga menyediakan berbagai macam fungsi siap pakai yang bisa kita gunakan dalam pembuatan website.

2.2.1. Zend Framework

Zend framework merupakan sebuah open source framework yang berorientasi objek. Zend framework berjalan di bawah PHP 5 dan

memiliki lisensi new BSD. Struktur komponen dari zend framework

sangat unik, setiap komponennya bisa didesain dengan sedikit dependensi dengan komponen lainnya. Arsitektur tersebut memungkinkan pengembang untuk memakai komponen itu

sendiri-sendiri.(Morgan, 2005)

Komponen zend framework menawarkan implementasi MVC dengan performa tinggi, abstraksi basis data yang mudah digunakan,

dan form komponen seperti HTML form rendering, validasi dan

filtering.

2.2.2. CakePHP

CakePHP merupakan sebuah rapid development framework yang gratis dan sumber terbuka untuk PHP. CakePHP merupakan struktur pondasi bagi programer untuk membuat aplikasi web. Tujuan


(25)

utamanya adalah mempermudah programer bekerja secara terstruktur dan cepat tanpa kehilangan fleksibilitas.

CakePHP membuang proses monoton dalam pengembangan aplikasi web. CakePHP menyediakan semua alat bantu yang diperlukan untuk memulai tugas coding yang perlu diselesaikan: yaitu logika aplikasi. Daripada membuat sesuatu yang baru setiap memulai proyek baru, Anda bisa meninjau unduhan CakePHP dan mulai fokus

kepada logik aplikasi yang hendak dibangun. (Rampersad, 2009)

2.2.3. Ruby on Rails

Ruby diciptakan oleh Yukihiro “matz” Matsumoto. Ruby merupakan penggabungan dari bahasa-bahasa pemrograman lainnya seperti Perl, Smalltalk, Eiffel, dan Lisp.

Inti dari bahasa pemrograman Ruby yaitu semua objek. Setiap informasi dan kode dapat diberi property dan action. Dalam pemrograman berorientasi objek setiap pemanggilan property dan action dilakukan melalui metode.

Ruby on Rails merupakan Ruby-based framework yang menggunakan pendekatan Model View Controller (MVC). Jika ingin membangun suatu website dengan menggunakan Ruby, maka dibutuhkan Rails. Rails merupakan salah satu framework Ruby yang paling populer sekarang ini. Oleh karena itu dinamakan Ruby on Rails. Dilihat dari namanya sering ada salah pengertian bahwa bukan Ruby


(26)

yang digunakan pada Rails tetapi Rails yang digunakan pada Ruby.( Rønn Jensen, 2006)

2.2.4. CodeIgniter Framework

Codeigniter adalah aplikasi open source dan juga merupakan

salah satu PHP framework yang berbasiskan pada metode MVC

(Model, Controller, dan View) (Thomas Myer, 2008). Maksud dari MVC ini sendiri adalah memisahkan 3 hal pokok (basis data, tampilan situs web, dan logika aplikasi) di dalam pembuatan suatu situs web ke

dalam 3 bagian, yaitu bagian model untuk basis data, bagian view

untuk tampilan situs web, dan bagian controller untuk logika aplikasi.

Codeigniter dikembangkan oleh Rick Ellis, dengan versi awal yang dirilis pertama kali pada tanggal 28 Februari 2006. Dari tahun

itulah hingga sekarang, telah muncul banyak versi codeigniter yang

terus berkembang dengan penambahan fitur yang baru dari versi

sebelumnya. Untuk versi terbaru dari codeigniter adalah versi 1.7.2.


(27)

Gambar 2.2 Struktur Direktori Codeigniter

2.3. Model View Controller (MVC)

Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk.

Secara sederhana konsep MVC terdiri dari tiga bagian yaitu bagian

Model, bagian View dan bagian Controller. Didalam website dinamis

setidaknya terdiri dari 3 hal yang paling pokok, yaitu basis data, logika aplikasi dan cara menampilkan halaman wesite. 3 hal tersebut

direpresentasikan dengan MVC yaitu model untuk basis data, view untuk


(28)

2.3.1. Model

Merepresentasikan struktur data dari website yang bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks atau file xml.

Biasanya didalam model akan berisi class dan fungsi untuk mengambil,

melakukan update dan menghapus data website. Karena sebuah website

biasanya memnggunakan basis data dalam menyimpan data maka bagian

Model biasanya akan berhubungan dengan perintah-perintah query SQL.

Model khusus digunakan untuk melakukan koneksi ke basis data

oleh karena itu logika-logika pemrograman yang berada didalam model

juga harus yang berhubungan dengan basis data.

2.3.2. View

Merupakan informasi yang ditampilkan kepada pengunjung

website Sebisa mungkin didalam View tidak berisi logika-logika kode

tetapi hanya berisi variabel-variabel yang berisi data yang siap

ditampilkan. View bisa dibilang adalah halaman website yang dibuat

menggunakan HTMLdengan bantuan CSS atau JavaScript.

Didalam view tidak ada kode untuk melakukan koneksi ke

basisdata. View hanya dikhususkan untuk menampilkan data-data hasil

dari model dan controller.

2.3.3. Controller

Controller merupakan penghubung antara Model dan View. Di

dalam Controller inilah terdapat class dan fungsi-fungsi yang memproses


(29)

Controller juga tidak berisi kode untuk mengakses basis data.

Tugas controller adalah menyediakan berbagai variabel yang akan

ditampilkan di view, memanggil model untuk melakukan akses ke basis

data, menyediakan penanganan error, mengerjakan proses logika dari aplikasi serta melakukan validasi atau cek terhadap input.

2.4. Pengembangan

Definisi pengembangan menurut Kamus Besar Bahasa Indonesia adalah berasal dari kata dasar kembang, yakni suatu proses, cara, perbuatan menjadikan maju (baik, sempurna, dan sebagainya). Jadi, pengembangan merupakan sebuah tindakan untuk mengubah sesuatu menjadi lebih baik.

(Pusat Bahasa Departemen Pendidikan Nasional, 2008).

Dalam hal ini, pengembangan berarti sebuah tindakan, proses, dan cara untuk menjadikan distribusi data persidangan menjadi lebih baik, yaitu dari sistem yang masih manual menjadi sistem yang telah terkomputerisasi.

2.5. Konsep Sistem Informasi

Sistem informasi bertujuan untuk menyajikan informasi guna mendukung fungsi operasional, manajemen, dan pengambil keputusan dalam sebuah organisasi.


(30)

2.5.1. Pengertian Sistem

Sistem adalah sekelompok komponen yang saling berhubungan, yang bekerja bersama-sama untuk mencapai tujuan dengan menerima

input dan menghasilkan output melalui suatu proses transformasi yang

terorganisir.(O’Brien, 2006)

2.5.2. Pengertian Informasi

Informasi adalah data yang telah terorganisasi, dengan demikian

data tersebut memiliki arti dan nilai bagi si penerima. (Turban, 2005)

2.5.3. Pengertian Sistem Informasi

Sistem informasi merupakan suatu proses pengumpulan, pengolahan, penyimpanan, dan penyebaran informasi untuk tujuan tertentu, kebanyakan sistem informasi sudah terkomputerisasi.

(Turban, 2005)

Sistem Informasi adalah suatu pengaturan dari orang-orang, data, proses, dan teknologi informasi yang saling berinteraksi untuk mengumpulkan, memproses, menyimpan, dan menyediakan informasi

yang dibutuhkan. (Whitten, 2004)

Sistem informasi adalah komponen-komponen yang saling berhubungan dan bekerjasama untuk mengumpulkan, memproses, menyimpan, dan mendistribusikan informasi untuk mendukung pengambilan keputusan, koordinasi, kontrol, anlisis, dan visualisasi


(31)

Berdasarkan definisi di atas dapat disimpulkan bahwa, sistem informasi adalah sekumpulan komponen yang saling berinteraksi dimana data dikumpulkan, diproses menjadi informasi dan didistribusikan kepada pemakai untuk mendukung pengambilan keputusan dan mencapai sasaran.

2.5.4. Komponen Sistem Informasi

Dalam suatu sistem informasi terdapat komponen-komponen

seperti (Abdul Kadir, 2003) :

1. Perangkat keras (Hardware): mencangkup peranti-peranti fisik

seperti komputer dan printer.

2. Perangkat lunak (software) atau program: sekumpulan instruksi

yang memungkinkan perangkat keras untuk dapat memproses data. 3. Prosedur (orang): sekumpulan aturan yang dipakai untuk

mewujudkan pemrosesan data dan pembangkitan keluaran yang dikehendaki.

4. Orang: semua pihak yang bertanggung jawab dalam pengembangan sistem informasi, pemrosesan, dan penggunaan keluaran sistem informasi.

5. Basis data (database): sekumpulan tabel, hubungan, dan lain-lain

yang berkaitan dengan penyimpanan data.

6. Jaringan kompueter dan komunikasi data: sistem penghubung yang

memungkinkan sumber (resources) dipakai secara bersama atau


(32)

2.6. Sidang Keliling

Berdasarkan definisi yang diberikan oleh Kamus Besar Bahasa Indonesia (KBBI), sidang berarti pertemuan untuk membicarakan sesuatu. Sidang pengadilan berarti proses memeriksa dan mengadili perkara pidana di dalam ruang sidang pengadilan di bawah pimpinan hakim tunggal atau

majelis hakim. (Pusat Bahasa Departemen Pendidikan Nasional, 2008).

Menurut Drs. H. Wahyu Widiana, MA selaku Direktur Jendral Badan Peradilan Agama, Sidang Keliling adalah sidang yang dilakukan pengadilan agama dimana pelaksanaannya tidak di ruang sidang tetapi di tempat terdekat dengan tempat tinggal peserta sidang seperti di kantor desa atau kantor kecamatan. Sidang keliling ini diadakan dalam rangka program “justice for the poor”, yaitu program untuk masyarakat yang kurang mampu dan tinggal jauh dari pengadilan agama.

2.7. Object Oriented Analysis and Design (OOAD)

OOAD adalah metode analisis yang memerikasa requirements dari sudut pandang kelas kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem. OOAD merupakan cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas.


(33)

OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaiut analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD). OOA adalah metode analisis yang memerika requirement (syarat/keperluan) yang harus dipenuhi sebuah sistem) dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup perusahaan. Sedangkan OOD adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem.

2.8. Unified modeling Language (UML)

UML didefinisikan sebagai notasi diagram untuk menggambarkan

artefak pada Object-Oriented Analysis and Design (OOAD). Dengan

UML kita bisa memvisuallisasikan, menetapkan, membuat dan mendokumentasikan aplikasi software kita. Saat sistem software menjadi lebih besar dan lebih kompleks, kita perlu untuk mengatur kekompleksan tersebut dan dalam arti menyederhanakannya sehingga kita bisa lebih

mengertinya. (Sri Dharwiyanti, 2003)

Dengan menggunakan diagram-diagram UML, developer dapat

melakukan pemrograman kode yang biasa dikenal dengan sebutan

forward engineering, yaitu membuat kode dari model-model UML.

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk


(34)

memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software

Engineering). (Sri Dharwiyanti, 2003)

Diagram-diagram yang terdapat di dalam pemodelan UML adalah sebagai berikut :

1. Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem,

dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah

interaksi antara aktor dengan sistem.

Gambar 2.3 Contoh Use-case Diagram

2. Class Diagram

Class diagram adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan


(35)

dan desain berorientasi objek. Class diagram menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.

Classdiagram memiliki tiga area pokok : 1. Nama (dan stereotype)

2. Atribut 3. Metoda

Gambar 2.4 Contoh Class Diagram

3. Statechart Diagram

Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai

akibat dari stimuli yang diterima. Pada umumnya statechart diagram

menggambarkan class tertentu (satu class dapat memiliki lebih dari satu


(36)

4. Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal,

decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Gambar 2.5 Contoh Activity diagram

Activity diagram merupakan state diagram khusus, di mana

sebagian besar state adalah action dan sebagian besar transisi di-trigger

oleh selesainya state sebelumnya (internal processing). Oleh karena itu

activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

5. Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam


(37)

berupa message yang digambarkan terhadap waktu. Sequence diagram

terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).

Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa

yang menjadi trigger aktivitas tersebut, proses dan perubahan apa saja

yang terjadi secara internal dan output apa yang dihasilkan.

6. Collaboration Diagram

Collaboration diagram juga menggambarkan interaksi antar objek

seperti sequence diagram, tetapi lebih menekankan pada peran

masing-masing objek dan bukan pada waktu penyampaian message.

Setiap message memiliki sequence number, di mana message dari

level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.

7. Component Diagram

Component diagram menggambarkan struktur dan hubungan antar

komponen piranti lunak, termasuk ketergantungan (dependency) di

antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi

source code maupun binary code, baik library maupun executable, baik

yang muncul pada compile time, link time, maupun run time. Umumnya

komponen terbentuk dari beberapa class dan/atau package, tapi dapat


(38)

8. Deployment Diagram

Deployment/physical diagram menggambarkan detail bagaimana

komponen di-deploy dalam infrastruktur sistem, di mana komponen akan

terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal

lain yang bersifat fisik. Sebuah node adalah server, workstation, atau

piranti keras lain yang digunakan untuk men-deploy komponen dalam

lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan

requirement dapat juga didefinisikan dalam diagram ini. (Sri Dharwiyanti, 2003)

2.9. PHP

2.9.1. Definisi PHP

PHP adalah sebuah bahasa pemrograman yang didesain agar dapat disisipkan dengan mudah ke halaman HTML. PHP memberikan solusi sangat murah (karena gratis digunakan) dan dapat berjalan di berbagai

jenis platform. Pada awalnya memang PHP berjalan di sistem UNIX dan

variannya, namun kini dapat berjalan dengan lancar di lingkungan sistem operasi Windows. Suatu nilai tambah yang luar biasa karena proses

pengembangan program berbasis web dapat dilakukan lintas sistem

operasi.

Dengan luasnya cakupan sistem operasi yang mampu menjalankan


(39)

lebih dari 400 function di PHP yang sangat berguna) tidak heran jika

PHP semakin menjadi tren di kalangan programmerweb.

Penemu bahasa pemrograman ini adalah Rasmus Lerdorf, yang bermula dari keinginan sederhana Lerdorf untuk mempunyai alat bantu

dalam memonitor pengunjung yang melihat situs web pribadinya. Inilah

sebabnya pada awal pengembangannya, PHP merupakan singkatan dari

Personal Home Page tools, sebelum akhirnya menjadi Hypertext Preprocessor.

2.9.2. Kelebihan PHP

Di antara maraknya pemrograman server web saat ini, adalah ASP

yang berkembang menjadi ASP .NET, JSP, CFML, dan PHP. Jika

dibandingkan di antara 3 terbesar pemrograman server web di atas.

Terdapat kelebihan dari PHP itu sendiri, yaitu :

1. PHP merupakan sebuah bahasa script yang tidak melakukan

sebuah kompilasi dalam penggunaanya. Tidak seperti halnya

bahasa pemrograman aplikasi seperti Visual Basic dan Sebagainya.

2. PHP dapat berjalan pada web server yang dirilis oleh Microsoft,

seperti IIS atau PWS juga pada Apache yang bersifat open source.

3. Karena sifatnya yang open source, maka perubahan dan

perkembangan interpreter pada PHP lebih cepat dan mudah,

karena banyak milis-milis dan developer yang siap membantu


(40)

4. Jika dilihat dari segi pemahaman, PHP memiliki referensi yang begitu banyak sehingga sangat mudah untuk dipahami.

5. PHP dapat berjalan pada 3 operating system, yaitu: Linux, Unux,

dan Windows, dan juga dapat dijalankan secara runtime pada saat

consule.

2.9.3. Kekurangan PHP

Seperti pemrograman aplikasi atau web lainnya, PHP pun memiliki

beberapa kelemahan, di antaranya :

1. Tidak ideal untuk pengembangan skala besar.

2. Tidak memiliki sistem pemrograman berorientasi objek yang

sesungguhnya (sampai versi 4 ini). Namun pada versi PHP 5 sudah dilengkapi OOP yang sesungguhnya.

2.10. MySQL

MySQL adalah sistem manajemen database yang bersifat open

source. MySQL adalah pasangan serasi dari PHP. MySQL dibuat dan dikembangkan oleh MySQL AB yang berada di Swedia.

MySQL merupakan sistem manajemen database yang bersifat

relasional. Artinya data-data yang dikelola dalam database akan

diletakkan pada beberapa table yang terpisah sehingga manipulasi data


(41)

MySQL dapat digunakan untuk mengelola database mulai dari yang kecil sampai dengan yang sangat besar. MySQL juga dapat

menjalankan perintah-perintah Structured Query Language (SQL) untuk

mengelola database-database relasional yang ada di dalamnya.

2.11. XAMPP Server

XAMPP Server adalah perangkat lunak gratis, yang mendukung

banyak sistem operasi, merupakan kompilasi dari beberapa program

untuk menjankan fungsinya sebagai server yang berdiri sendiri, yang

terdiri atas program Apache HTTP Server, MySQL database, dan

penterjemah bahasa yang ditulis dengan bahasa pemrogramaan PHP dan

Perl. XAMPP adalah nama yang merupakan singkatan dari X berbagai

sistem operasi (linux, mac, windows), Apache, MySQL, PHP, PERL.

Program ini tersedia dalam GNU General Public License dan bebas,

merupakan web server yang mudah digunakan yang dapat mampu

melayani halaman dinamis. (Kai Seidler, 2008).

2.12. Studi Sejenis

Di bawah ini akan dipaparkan beberapa penelitian yang pernah ada yang berkaitan dengan codeigniter framework yang penulis gunakan sebagai bahan perbandingan.

Dhika Rizki Anbiya (2009) dalam tugas akhirnya yang berjudul “Pengembangan Aplikasi Social Networking Pada Program Studi TI UIN” menerapkan codeigniter dalam memangun aplikasi social


(42)

networking seperti yang sudah ada yaitu facebook. Metodologi penelitian yang digunakan dalam studi ini adalah Rapid Application Development.

Dalam tugas akhir I Wayan Agus Suryanegara (2009) yang berjudul “Analisis Perbandingan Penggunaan Framework Codeigniter Dan CakePHP Untuk Aplikasi WEB” dilakukan analisis perbandingan terhadap framework Codeigniter dan CakePHP yang diimplementasikan dalam pembangunan aplikasi web CMS (Content Management System) berdasarkan beberapa parameter pengujian, yaitu: arsitektur, ketersediaan fitur (authentication, validation, pagination, template system) dan performansi framework. Hasil yang didapatkan pada studi ini adalah dengan pemanfaatan association data mapping pattern pada arsitektur dan penyediaan fitur framework yang lebih baik untuk mendukung pembangunan aplikasi web, menjadikan CakePHP lebih mudah untuk digunakan oleh web developer daripada Codeigniter. Namun performansi aplikasi web yang dihasilkan dengan penggunaan CakePHP tidak lebih efisien dibandingkan dengan Codeigniter.

Dalam tugas akhir Riyan Fardian (2009) yang berjudul

“Perbandingan Pencegahan SQL Injection Menggunakan Regular

Expression ( Regex) Pada Aplikasi Web Berbasis ASP .NET 2.0 Dan PHP 5.0 CodeIgniter” memberikan salah satu solusi berupa modul aplikasi pencegahan SQL Injection dengan nama srex. Srex diintegrasikan pada aplikasi web berbasis PHP 5.0 Code Igniter dan ASP .NET 2.0 dengan berdasarkan rules yang ada pada regex. Terdapat dua bentuk pengujian


(43)

yaitu pengujian serangan SQL Injection terhadap kedua aplikasi web tanpa disisipkan modul srex dan pengujian serangan SQL Injection terhadap kedua aplikasi web dengan disisipkan modul srex. Hasil analisis berupa keefektifitasan ditanamkannya modul srex pada aplikasi web yang telah memiliki framework serta perbandingan tingkat keamanan PHP 5.0 CodeIgniter dan ASP .NET 2.0 dalam mempertahankan diri terhadap serangan SQL Injection.

Sedangkan dalam tugas akhir Devin Meidya Fonda (2009) yang berjudul “Analisis Perbandingan Cross-Site Scripting Pada Framework PHP CodeIgniter dan Ruby on Rails Analysis Comparison of Cross-Site Scripting on PHP CodeIgniter and Ruby on Rails Frameworks” mengimplementasikan aplikasi Review Buku Novel yang dibangun dengan menggunakan framework dan bahasa pemrograman yang berbeda yaitu PHP CodeIgniter dan Ruby on Rails, dimana didalamnya terdapat form yang berfungsi sebagai media untuk melakukan pengujian terhadap Cross- Site Scripting. Nantinya akan dilakukan pengujian beberapa vektor XSS terhadap aplikasi web yang masing-masing dibangun menggunakan PHP CodeIgniter dan Ruby on Rails. Sehingga akhirnya dapat diketahui perbandingan tingkat keamanan PHP CodeIgniter dan Ruby on Rails dalam hal vulnerabilitas terhadap Cross-Site Scripting.


(44)

3.1. Tempat dan Waktu Penelitian

Penulitian yang penulis lakukan bertempat di Badan Peradilan Agama Jakarta mulai dari bulan Oktober 2009 sampai bulan Januari 2010

3.2. Metode Pengumpulan Data

Pada metode pengumpulan data ini penulis melakukan observasi dan wawancara.

3.2.1. Observasi

Guna mengumpulkan informasi mengenai kebutuhan sistem (system requirements) penulis melakukan pengumpulan data dengan cara observasi di tempat penelitian. Penulis terjun langsung ke lapangan untuk mengetahui sistem yang sedang berjalan saat ini. Hal ini perlu dilakukan agar penulis dapat melakukan analisis terhadap sistem yang telah berjalan serta menentukan rancangan sistem baru yang akan dibangun agar tetap sinkron dengan sistem yang sudah ada.

Selain system requirements, pada langkah ini penulis juga mengumpulkan data-data yang diperlukan untuk pembangunan aplikasi. Data yang dimaksud adalah sample data sidang keliling yang sudah ada sebelumnya.


(45)

3.2.2. Wawancara

Pada metode wawancara ini, penulis melakukan wawancara terhadap Drs. H. Wahyu Widiana, MA selaku Direktur Jendral Badan Peradilan Agama dan Bapak Hirpan Hilmi selaku staff IT di Badan Peradilan Agama Jakarta unutk memperoleh data-data yang diperlukan dalam pembuatan sistem.

3.3. Metode Pengembangan Sistem

3.3.1. Pemilihan Motode Object Oriented Analysis and Design (OOAD) Metode pengembangan sistem yang penulis gunakan dalam penelitian ini adalah metode Object Oriented Analysis and Design (OOAD).

Pemilihan metode penelitian Object Oriented Analysis and Design (OOAD) ini dilakukan karena tiga alasan utama (Adi Nugroho, 2005) 1. Model analisis pada analisis dengan metode terstruktur tidak cukup

formal untuk diimplementasikan seacra langsung ke bahasa pemrograman.

2. Sistem nyata harus diadaptasi ke lingkungan dimana system kelak akan diimplementasi. Dalam hal ini, perlu dilakukan modifikasi-modifikasi model anlisis ke beberapa faktor yang berbeda seperti kebutuhan kinerja, perangkat keras dan perangakat lunak system, DBMS (Database Management System). Dan bahasa pemrograman yang akan digunakan.


(46)

3. Hasil analisis dapat divalidasi menggunakan perancangan berorientasi objek. Pada tahap ini, kita dapat memverifikasi apakah hasil dari analisis sesuai untuk membangun sistem dan kemudian, jika tidak sesuai, kita kembali secara iteratif ke tahap analisis, serta membuat perubahan yang perlu pada model analisis.

Metode OOAD dapat dibagi ke dalam dua tahapan utama yaitu : a. Object-oriented analysis.

Pada tahap ini dilakukan pengidentifikasian tujuan-tujuan dari aplikasi atau sistem dan dilakukan pengidentifikasian syaarat-syarat atau kebutuhan informasi bagi sistem yang diperoleh dari pengidentifikasian tujuan-tujuan tersebut. Menjelaskan masalah-masalah yang terjadi pada peradilan agama khususnya dalam pelaporan data sidang keliling, membuat flowchart sistem yang sedang berjalan dan sistem yang akan dibuat.

b. Object-oriented design.

Pada tahap ini dilakukan perancangan terhadap proses-proses yang akan terjadi di dalam sistem, meliputi:

• Perancangan Aplikasi

Pada tahap perancangan ini, penulis menggunakan Unified Modelling Language (UML) sebagai alat bantu (tools).


(47)

Pada tahap perancangan ini, penulis menggunakan Entity Relationship Diagram (ERD) sebagai alat bantu (tools).

• Perancangan Tampilan

Pada tahap ini, penulis melakukan perancangan terhadap user interface dari aplikasi ini. Perancangan yang dilakukan meliputi halaman-halaman yang ada di dalam sistem.

3.3.2.1. Kelebihan dan Kekurangan Object Oriented Analysis and Design (OOAD)

a. Kelebihan

1. Dibandingkan dengan metode terstruktur, OOAD lebih mudah digunakan dalam pembangunan system.

2. Dibandingkan dengan terstruktur, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD. 3. Tidak ada pemisahan antara fase desain dan analisis, sehingga

meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.

4. Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformulasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi. 5. Relasi obyek dengan entitas (thing) umumnya dapat di


(48)

keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain.

6. Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks. 7. Encapsulation data dan method, memungkinkan penggunaan

kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.

8. OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.

9. Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.

b. Kekurangan

1. Pada awal desain OOAD, system mungkin akan sangat simple.

2. Pada OOAD lebih fockus pada coding dibandingkan dengan terstruktur.


(49)

3. Pada OOAD tidak menekankan pada kinerja team seperti pada terstruktur.

4. Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.

5. Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis. (Supriyanto, 2008)

3.4. Pemilihan Codeigniter Framework

Framework yang penulis gunakan dalam penelitian ini adalah Codeigniter framework..

Pemilihan codeigniter framework ini dilakukan setelah melihat dari studi sejenis yang telah dijelaskan pada bab 2 membuktikan bahwa codeigniter framework lebih unggul dibanding framework lain.

Selain itu codeigniter framework juga memiliki beberapa kelebihan dibandingkan dengan framework lain yaitu :

1. Gratis.

CodeIgniter dilisensikan dibawah lisensi Apache/BSD style open source license, ini berarti kita dapat menggunakannya sesuai dengan keinginan kita.

2. Berjalan di PHP versi 4 dan 5

Sekarang ini PHP sudah mencapai versi ke 5, meskipun begitu masih banyak orang yang tetap menggunakan PHP versi 4, oleh


(50)

sebab itu CodeIgniter dikembangkan agar tetap kompatibel dengan PHP versi 4 dan dapat dijalankan pada PHP versi 5.

3. Ringan dan Cepat

Secara default CodeIgniter hanya berjalan dengan me-load beberapa pustaka saja, dengan demikian hanya membutuhkan resource yang sedikit sehingga ringan dan cepat dijalankan. Pustaka-pustaka lain yang nantinya akan digunakan bisa di load sesuai dengan kebutuhan.

4. Menggunakan MVC

CodeIgniter menggunakan lingkungan pengembangan dengan metode Model View Controller (MVC) yang membedakan antara logika dan presentasi/tampilan, sehingga tugas bisa lebih mudah dipecah-pecah.

5. Dokumentasi

Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benar-benar dikembangkan atau tidak bisa dilihat dari dokumentasinya. Adanya dokumentasi sangat memudahkan bagi pemula dalam mempelajari lingkungan pengembangan website dengan CodeIgniter.

6. Pustaka / library yang lengkap

CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan, misalnya saja koneksi database, email, session dan cookies, keamanan, manipulasi gambar dan banyak lagi.


(51)

4.1. Sekilas Tentang Badan Peradilan Agama 4.1.1. Sejarah

Perjalanan kehidupan pengadilan agama mengalami pasang surut. Adakalanya wewenang dan kekuasaan yang dimilikinya sesuai dengan nilai-nilai Islam dan kenyataan yang ada dalam masyarakat. Pada kesempatan lain kekuasaan dan wewenangnya dibatasi dengan berbagai kebijakan dan peraturan perundang-undangan, bahkan seringkali mengalami berbagai rekayasa dari penguasa dan golongan masyarakat tertentu agar posisi pengadilan agama melemah.

Dengan keluarnya Undang -undang Nomor 14 Tahun 1970 tentang Ketentuan-ketentuan Pokok Kekuasaan Kehakiman, maka kedudukan Peradilan Agama mulai Nampak jelas dalam sistem peradilan di Indonesia. Undang-undang ini menegaskan prinsip-prinsip sebagai berikut : Pertama, Peradilan dilakukan "Demi Keadilan Berdasarkan ketuhanan Yang Maha Esa". Kedua, Kekuasaan kehakiman dilakukan oleh pengadilan dalam lingkungan Peradilan Umum, Peradilan Agama, Peradilan Militer dan Peradilan Tata Usaha Negara. Ketiga, Mahkamah Agung adalah Pengadilan Negara Tertinggi. Keempat, Badan-badan yang


(52)

melaksanakan peradilan secara organisatoris, administratif, dan finansial ada di bawah masing-masing departemen yang bersangkutan. Kelima, susunan kekuasaan serta acara dari badan peradilan itu masing-masing diatur dalam undang-undang tersendiri.

Hal ini dengan sendirinya memberikan landasan yang kokoh bagi kemandirian peradilan agama, dan memberikan status yang sarna dengan peradilan-peradilan lainnya di Indonesia.

Lahirnya Undang-undang Nomor 1 Tahun 1974 tentang Perkawinan memperkokoh keberadaan pengadilan agama. Di dalam undang-undang ini tidak ada ketentuan yang bertentangan dengan ajaran Islam. Pasa12 ayat (1) undang-undang ini semakin memperteguh pelaksanaan ajaran Islam (Hukum Islam). Suasana cerah kembali mewarnai perkembangan peradilan agama di Indonesia dengan keluarnya Undang- undang Nomor 7 Tahun 1989 tentang Peradilan Agama yang telah memberikan landasan untuk mewujudkan peradilan agama yang mandiri, sederajat dan memantapkan serta mensejajarkan kedudukan peradilan agama dengan lingkungan peradilan lainnya.

Dati uraian singkat tentang sejarah perkembangan peradilan agama tersebut di atas dapat disimpulkan bahwa peradilan agama bercita-cita untuk dapat memberikan pengayoman dan pelayanan hukum kepada masyarakat. Agar pengayoman hukum dan


(53)

pelayanan hukum tersebut dapat terselenggara dengan baik, diperlukan perangkat sebagai berikut :

• Kelembagaan

Peradilan Agama yang mandiri sebagaimana lingkungan peradilan yang lain - yang secara nyata - didukung dengan sarana dan prasarana serta tatalaksana yang memadai dan memanfaatkan perkembangan ilmu pengetahuan dan teknologi.

• Materi hukum

Hukum Islam sebagai hukum materiil peradilan agama yang dituangkan dalam ketentuan perundang-undangan yang jelas. Dimulai dengan Kompilasi Hukum Islam, yang selanjutnya perlu disempurnakan dan dikembangkan, kemudian hukum mengenai shadaqah dan baitul mal segera dibentuk. Demikian pula dengan hukum formil peradilan agama perlu dikembangkan.

• Personil

Dalam melaksanakan tugas kedinasan ia sebagai aparat penegak hukum yang profesional, netral (tidak memihak) dan sebagai anggota masvarakat ia orang yang menguasai masalah keislaman, yang menjadi panutan dan pemersatu masyarakat sekelilingnya serta punya integritas sebagai seorang muslim.


(54)

4.1.2. Visi dan Misi

4.1.2.1. Visi dan Misi Mahkamah agung

• Visi

Mewujudkan supremasi hukum melalui Kekuasaan Kehakiman yang mandiri, efektif, efisien serta mendapat kepercayaan publik, professional dalam memberi pelayanan hukum yang berkualitas, etis terjangkau dan biaya rendah bagi masyarakat serta mampu menjawab panggilan pelayanan publik.

• Misi

1. Mewujudkan rasa keadilan sesuai dengan undang-undang dan peraturanserta keadilan masyarakat.

2. Mewujudkan peradilan yang mandiri dan independendari campur tangan pihak lain.

3. Memperbaiki akses pelayanan di bidang peradilan kepada masyarakat.

4. Memperbaiki kualitas input internal pada proses peradilan.

5. Mewujudkan institusi peradilan yang efektif, efisien, martabat dan dihormati.

6. Melaksanakan kekuasaan kehakimanyang mandiri, tidak memihak dan transparan.

4.1.2.2. Visi dan Misi Direktorat Jendral Peradilan Agama

• Visi


(55)

• Misi

1. Meningkatkan profesionalisme aparatur peradilan agama. 2. Mewujudkan manajemen peradilan agama yang modern.

4.1.2.3. Visi dan Misi Peradilan Agama

• Visi

Terwujudnya putusan yang adil dan berwibawa sehingga kehidupan masyarakat menjadi tenang, tertib dan damai, dibawah lindungan Allah SWT.

• Misi

Menerima, memeriksa, mengadili dan menyelesaikan perkara-perkara yang diajukan oleh umat islam Indonesia dibidang perkawinan, waris, wasiat, hibah, wakaf, zakat, infaq, sodaqoh dan ekonomi syari’ah secara cepat, sederhana dan biaya ringan.

4.1.3. Struktur Organisasi


(56)

Gambar 4.2 Struktur Organisasi Pengadilan Tinggi Agama

Gambar 4.3 Struktur Organisasi Pengadilan Agama Sub kepaniteraan Banding / Sub kepaniteraan Hukum / Sub Bagian Kepegawai Sub Bagian Keuangan Sub Bagian Umum Kelompok Fungsional Kepaniteraan : Panitera Pemgganti Wakil Majelis Hakim

Panitera / Sekretaris Wakil Panitera Wakil Sekretaris

Sub kepaniteraan Banding / Sub kepaniteraan Hukum / Sub Bagian Kepegawai Sub Bagian Keuangan Sub Bagian Umum Kelompok Fungsional Kepaniteraan : Panitera Pemgganti Juru sita / Juru sita Pengganti

Ketua Wakil Majelis

Hakim

Panitera / Sekretaris Wakil Panitera Wakil Sekretaris


(57)

4.2. Object-Oriented Analysis

4.2.1. Alur Kerja Sistem Berjalan

Berdasarkan pengamatan dan observasi yang dilakukan oleh penulis, pengorganisasian data sidang keliling yang terjadi di Badan Peradilan Agama masih dilakukan secara manual.

Pada permulaan sistem, pihak Badilag (Badan Peradilan Agama) memberikan format baku yang berisi form isian kepada setiap Pengadilan Agama di setiap daerah di Indonesia melalui pos ataupun email, yang terdiri atas field-field data tentang persidangan keliling yang harus diisi. Lalu setiap bulannya, semua pengadilan agama diharuskan untuk mengisi dan kemudian mengirimkannya kembali melalui pos ataupun email kepada pihak Badilag untuk digunakan sebagai arsip.

Kelemahan yang ada pada sistem yang sedang berjalan ini adalah jika melalui pos maka akan memakan banyak waktu sedangkan jika melalui email dapat terjadi berbagai kesalahan yang dilakukan oleh user (human error). Misalnya:

1. Terjadi kesalahan saat memasukkan alamat email sehingga data tidak tersampaikan ke tujuan.

2. File yang terkirim tidak sempurna / corrupt.

3. Terkadang pihak Pengadilan Agama tidak mengisi form sesuai format yang diberikan.


(58)

4. Memungkinkan terjadinya duplikasi file yang disebabkan tidak adanya system log jika adanya updating data.

Adapun gambaran alur kerja sistem yang sedang berjalan di Badan Peradilan Agama adalah sebagai berikut:

Gambar 4.4 Flowchart Sistem yang sedang berjalan

4.2.2. Identifikasi Masalah

Berdasarkan uraian singkat serta flowchart sistem yang sedang berjalan di Badan Peradilan Agama, maka dapat diidentifikasikan kelemahan-kelemahan dari sistem yang sedang berjalan ini, yaitu :

Pihak Badilag Pihak


(59)

a. Informasi mengenai sidang keliling yang dikirim lewat pos memakan banyak waktu dalam pengirimannya.

b. Informasi mengenai sidang keliling yang diarsipkan sangat rentan terhadap resiko kehilangan data yang dapat disebabkan oleh print-out yang hilang, rusak, basah, maupun robek.

c. Dari sisi ke-praktisannya, untuk mencari data sidang keiling tertentu, baik pihak pengadilan agama ataupun pihak badan peradilan agama harus mencari pada tumpukan data sidang yang telah diarsipkan. Hal ini tentu saja dapat menyulitkan.

d. Dari sisi kerapihan, meskipun pihak peradilan agama telah memberikan format yang baku, namun tetap saja bisa terjadi perbedaan-perbedaan dalam penulisan laporan data sidang tersebut, yang mungkin saja disebabkan oleh perbedaan perangkat lunak yang digunakan dalam pembuatan dokumen sidang keliling tersebut.

e. Pihak peradilan agama akan kerepotan dalam mengumpulkan serta mengorganisir data sidang keliling tersebut.

f. Jika ada perubahan data sehingga data sebelumnya harus di update, maka akan terjadi duplikasi file disebabkan tidak adanya sistem log.


(60)

4.2.3. Uraian Singkat Sistem yang Diusulkan

Untuk menjawab permasalahan-permasalahan yang dihadapi dalam pengimplementasian sistem yang masih manual tersebut, penulis bermaksud mengusulkan sebuah sistem untuk pengorganisasian data sidang keliling yang berbasis komputer. Pada pengembangannya, penulis melakukan studi kasus pada Badan Peradilan Agama. Usulan sistem yang dimaksud adalah sebagai berikut :

1. Staff IT Badan Peradilan Agama di dalam sistem ini berperan sebagai admin yang bertugas mengisi data-data semua Pengadilan Tinggi Agama dan Pengadilan Agama, sehingga nantinya data sidang keliling dapat diisi sesuai dengan Pengadilan Agama yang melaksanakannya. Admin juga membuka sistem log untuk mengetahui kapan terakhir kali informasi sidang di update / modified.

2. Setiap Pengadilan Agama memiliki user account yang sama dan memiliki kewenangan untuk mengisi dan mengubah data sidang keliling.

3. Data sidang keliing yang telah berada di dalam sistem juga dapat dibuat reportnya dalam format PDF, yang dapat dilakukan oleh Badan Peradilan Agama maupun Pengadilan Agama, sehingga ketika dilakukan pencetakan pada laporan sidang keliling, akan didapatkan format yang seragam.


(61)

Gambar flowchart dari sistem yang penulis usulkan ini adalah sebagai berikut :

Gambar 4.5 Flowchart sistem yang ditawarkan Admin

Badan Peradilan agama

User Pengadilan Agama


(62)

4.2.4. Perancangan Use Case Diagram

Use Case Diagram digunakan untuk menjelaskan apa yang akan dilakukan oleh sistem serta aktor-aktor yang akan berhubungan dengan proses-proses yang ada pada sistem.

a. Penentuan Aktor

Pada sistem yang diusulkan ini, penulis memisahkan Aktor menjadi 2 (dua) tingkatan, yaitu admin, dan user. Wewenang masing-masing aktor tersebut adalah sebagai berikut :

1. Admin

Admin merupakan aktor yang menempati tingkatan tertinggi pada sistem. Admin memiliki wewenang yaitu :

1. Memasukkan data Pengadilan Tinggi Agama dan Pengadilan Agama.

2. Melakukan perubahan data Pengadilan Tinggi Agama dan Pengadilan Agama.

3. Melakukan penghapusan data Pengadilan Tinggi Agama dan Pengadilan Agama.

4. Memasukkan data Sidang Keliling pada Pengadilan Agama tertentu.

5. Melakukan perubahan data Sidang Keliling pada Pengadilan Agama tertentu.

6. Melakukan penghapusan data Sidang Keliling pada Pengadilan Agama tertentu.


(63)

7. Melihat (browsing) data Sidang Keliling pada Pengadilan Agama tertentu. yang telah tersimpan.

8. Melihat sistem log untuk mengetahui kapan terakhir kali informasi sidang di update / modified.

9. Melakukan export atau menyimpan laporan yang berisikan informasi sidang keliling pada Pengadilan Agama tertentu dalam bentuk PDF.

2. User

Tingkatan dosen merupakan tingkatan yang berada di bawah admin pada sistem. Dosen memiliki wewenang yaitu :

1. Memasukkan data Sidang Keliling pada Pengadilan Agama tertentu.

2. Melakukan perubahan data Sidang Keliling pada Pengadilan Agama tertentu.

3. Melihat (browsing) data Sidang Keliling pada Pengadilan Agama tertentu. yang telah tersimpan.

4. Melakukan export atau menyimpan laporan yang berisikan informasi sidang keliling pada Pengadilan Agama tertentu dalam bentuk PDF.


(64)

Gambar 4.6 Use Case Sistem yang ditawarkan

b. Use Case Scenario

Use case scenario merupakan penjelasan yang lebih terperinci mengenai masing-masing use case yang terjadi di dalam sistem.

a.Input data Pengadilan Tinggi Agama

Nama Use case Input data Pengadilan Tinggi

Agama


(65)

Trigger Admin ingin menambahkan Pengadilan Tinggi Agama

Pre condition Login sebagai admin

Pengadilan Tinggi Agama belum terdaftar

Action Controller/admin

Save data Pengadilan Tinggi Agama

Post condition Pengadilan Tinggi Agama

baru masuk ke dalam database

b. Edit data Pengadilan Tinggi Agama

Nama Use case Edit data Pengadilan Tinggi

Agama

Aktor yang terlibat Admin

Trigger Dibutuhkan perubahan data

Pengadilan Tinggi Agama

Pre condition Login sebagai admin

Pengadilan Tinggi Agama telah terdaftar

Action Controller/admin

Update data Pengadilan Tinggi Agama

Post condition Data yang telah diubah

tersimpan ke dalam database

c.Lihat data Pengadilan Tinggi Agama

Nama Use case Lihat data Pengadilan Tinggi Agama

Aktor yang terlibat Admin, User

Trigger Aktor membutuhkan data

Pengadilan Tinggi Agama.

Pre condition Pengadilan Tinggi Agama

telah ada di dalam database

Action Controller/admin/view_pta

Post condition Data Pengadilan Tinggi

Agama ditampilkan


(66)

Nama Use case Hapus Pengadilan Tinggi Agama

Aktor yang terlibat Admin

Trigger Pengadilan Tinggi Agama

sudah tidak aktif

Pre condition Login sebagai admin

Pengadilan Tinggi Agama telah terdaftar

Action Controller/admin

Delete Pengadilan Tinggi Agama

Post condition Pengadilan Tinggi Agama

terhapus dari database

e.Input data Pengadilan Agama

Nama Use case Input data Pengadilan Agama

Aktor yang terlibat Admin

Trigger Admin ingin menambahkan

Pengadilan Agama

Pre condition Login sebagai admin

Pengadilan Agama belum terdaftar

Action Controller/admin

Save data Pengadilan Agama

Post condition Pengadilan Agama baru

masuk ke dalam database

f.Edit data Pengadilan Agama

Nama Use case Edit data Pengadilan Agama

Aktor yang terlibat Admin

Trigger Dibutuhkan perubahan data

Pengadilan Agama

Pre condition Login sebagai admin

Pengadilan Agama telah terdaftar

Action Controller/admin

Update data Pengadilan Agama

Post condition Data yang telah diubah


(67)

g. Lihat data Pengadilan Agama

Nama Use case Lihat data Pengadilan Agama

Aktor yang terlibat Admin, User

Trigger Aktor membutuhkan data

Pengadilan Agama.

Pre condition Pengadilan Agama telah ada

di dalam database

Action Controller/admin/view_pta

Post condition Data Pengadilan Agama

ditampilkan

h. Hapus Pengadilan Agama

Nama Use case Hapus Pengadilan Agama

Aktor yang terlibat Admin

Trigger Pengadilan Agama sudah

tidak aktif

Pre condition Login sebagai admin

Pengadilan Agama telah terdaftar

Action Controller/admin

Delete Pengadilan Agama

Post condition Pengadilan Agama terhapus

dari database

i. Input data Sidang Keliling

Nama Use case Input data Sidang Keliling

Aktor yang terlibat Admin, User

Trigger Admin ingin menambahkan

Sidang Keliling

Pre condition Login sebagai admin

Sidang Keliling belum terdaftar

Action Controller/admin

Save data Sidang Keliling

Post condition Sidang Keliling baru masuk


(1)

dalam pelaporan data sidang keliling, membuat flowchart sistem yang sedang berjalan dan sistem yang akan dibuat. 2. Object-oriented Design

Pada tahap ini dilakukan perancangan terhadap proses-proses yang akan terjadi di dalam sistem, meliputi:

• Perancangan Aplikasi

Pada tahap perancangan ini, penulis

menggunakan Unified Modelling Language (UML) sebagai alat bantu (tools).

• Perancangan database

• Perancangan Tampilan Pada tahap ini, penulis melakukan perancangan terhadap user interface dari aplikasi ini. Perancangan yang dilakukan meliputi halaman-halaman yang ada di dalam sistem.

2.6 Studi Sejenis

Dhika Rizki Anbiya (2009) dalam tugas akhirnya yang berjudul “Pengembangan Aplikasi Social Networking Pada Program Studi TI UIN” menerapkan codeigniter dalam memangun aplikasi social networking seperti yang sudah ada yaitu facebook.

Dalam tugas akhir I Wayan Agus Suryanegara (2009) yang berjudul “Analisis Perbandingan Penggunaan Framework Codeigniter Dan CakePHP Untuk Aplikasi WEB” dilakukan analisis perbandingan terhadap framework Codeigniter dan CakePHP yang diimplementasikan dalam pembangunan aplikasi web CMS (Content Management System) berdasarkan beberapa parameter pengujian, yaitu: arsitektur, ketersediaan fitur (authentication, validation, pagination, template system) dan performansi framework.

Dalam tugas akhir Riyan Fardian (2009) yang berjudul “Perbandingan Pencegahan SQL Injection Menggunakan Regular Expression ( Regex) Pada Aplikasi Web Berbasis ASP .NET 2.0 Dan PHP 5.0 CodeIgniter” memberikan salah satu solusi berupa modul aplikasi pencegahan SQL Injection dengan nama srex. Srex diintegrasikan pada aplikasi web berbasis PHP 5.0 Code Igniter dan ASP .NET 2.0 dengan berdasarkan rules yang ada pada regex.

Sedangkan dalam tugas akhir Devin Meidya Fonda (2009) yang berjudul “Analisis Perbandingan Cross-Site Scripting Pada Framework PHP CodeIgniter dan Ruby on Rails Analysis Comparison of Cross-Site Scripting on PHP CodeIgniter and Ruby on Rails Frameworks” mengimplementasikan aplikasi Review Buku Novel yang dibangun dengan menggunakan framework dan bahasa pemrograman yang berbeda yaitu PHP CodeIgniter dan Ruby on Rails, dimana didalamnya terdapat form yang berfungsi sebagai media untuk melakukan pengujian terhadap Cross- Site Scripting.

3. ANALISIS DAN PERANCANGAN SISTEM

3.1 Sistem yang Sedang Berjalan

Pada permulaan sistem, pihak Badilag (Badan Peradilan Agama) memberikan format baku yang berisi form isian kepada setiap Pengadilan Agama di setiap daerah di Indonesia melalui pos ataupun email, yang terdiri atas field-field data tentang persidangan keliling yang harus diisi. Lalu setiap bulannya, semua pengadilan agama diharuskan untuk mengisi dan kemudian mengirimkannya kembali melalui pos ataupun email kepada pihak Badilag untuk digunakan sebagai arsip.

Adapun gambaran alur kerja sistem yang sedang berjalan di Badan Peradilan Agama adalah sebagai berikut:


(2)

Gambar 3.1 Flowchart sistem yang sedang berjalan.

3.2 Sistem yang Ditawarkan

Usulan sistem yang dimaksud adalah sebagai berikut :

1. Staff IT Badan Peradilan Agama di dalam sistem ini berperan sebagai admin yang bertugas mengisi data-data semua Pengadilan Tinggi Agama dan Pengadilan Agama, sehingga nantinya data sidang keliling dapat diisi sesuai dengan Pengadilan Agama yang melaksanakannya.

2. Setiap Pengadilan Agama memiliki user account yang sama dan memiliki kewenangan untuk mengisi dan mengubah data sidang keliling.

3. Data sidang keliing yang telah berada di dalam sistem juga dapat dibuat

reportnya dalam format PDF, yang dapat dilakukan oleh Badan Peradilan Agama maupun Pengadilan Agama, sehingga ketika dilakukan pencetakan pada laporan sidang keliling, akan didapatkan format yang seragam.

Gambar flowchart dari sistem yang penulis usulkan ini adalah sebagai berikut :

Gambar 3.2 Flowchart Sistem yang ditawarkan.

Pihak

Badilag

Pihak

Pengadilan


(3)

3.3 Perancangan Sistem

Gambar 3.3 Use Case Diagram Sistem yang Ditawarkan.

Tabel 3.1 Use Case Scenario Input Data Sidang Keliling

Nama Use case

Input data Sidang

Keliling

Aktor yang

terlibat

Admin, User

Trigger

Admin

ingin

menambahkan

Sidang Keliling

Pre condition

Login

sebagai

admin

Sidang Keliling

belum terdaftar

Action

Controller/admin

Save

data Sidang

Keliling

Post condition

Sidang Keliling

baru masuk ke

dalam database

Gambar 3.4 Activity Diagram Input data Sidang Keliling

Gambar 3.5 Sequence Diagram Input data Sidang Keliling

Gambar 3.6 Perancangan Class Diagram


(4)

3.4 Penerapan Keamanan

Pada sisi keamanan di aplikasi ini akan diterapkan 2 metode yaitu XSS filtering dan anti SQL injection menggunakan escaping query. 1. XSS filtering

XSS adalah suatu cara memasukan code/script HTML kedalam suatu web site dan dijalankan melalui browser di client. Untuk menghindari hal tersebut maka configurasi XSS filtering pada codeigniter framework harus aktifkan. Cara mengaktifkannya adalah dengan merubah baris code pada application/config/config.php yang isinya :

$config['global_xss_filtering'] = FALSE; menjadi

$config['global_xss_filtering'] = TRUE; 2. Anti SQL Injection

SQL Injection adalah sebuah teknik untuk merubah database server melalui aplikasi client. Untuk menghindarinya maka digunakannya escaping query. Dalam penerapannya di aplikasi ini akan digunakan contoh proses pengambilan data sidang saat pencarian dengan keyword. function getData($keyword)

{

$sql = "SELECT * FROM sidang WHERE alamat_sidang like '%".$this->db-> escape_like_str($keyword)."%'";

$this->db->query($sql);

return $data = $this->db->get(); }

3.5 Pengujian

Tabel 3.2 Pengujian Mandiri

N o

Modul Prasyarat Hasil yang diharapkan Hasil uji coba 1 Tambah PTA Login sebagai Admin Dapat menambahk an data PTA baru ke dalam database OK 2 View PTA Login sebagai admin, data PTA sudah ada di Dapat melihat data PTA yang ada di dalam database OK database 3 Edit PTA Login sebagai admin, data PTA sudah ada di database Dapat merubah data PTA yang ada di dalam database OK 4 Hapus PTA Login sebagai admin, data PTA sudah ada di database Dapat menghapus data PTA yang ada di dalam database OK 5 Tambah PA Login sebagai admin Dapat menambahk an data PA baru ke dalam database OK 6 View PA Login sebagai admin, data PA sudah ada di database Dapat melihat data PA yang ada di dalam database

OK

7 Edit PA Login sebagai admin, data PA sudah ada di database Dapat merubah data PA yang ada di dalam database OK 8 Hapus PA Login sebagai admin, data PA sudah ada di database Dapat menghapus data PTA yang ada di dalam database OK 9 Tambah Sidang Login sebagai admin atau user Dapat menambahk an data Sidang baru ke dalam database OK 10 View Sidang Login sebagai user, data sidang sudah ada di database Dapat melihat data Sidang yang ada di dalam database


(5)

11 Edit Sidang Login sebagai admin atau user data sidang sudah ada di database Dapat merubah data Sidang yang ada di dalam database OK 12 Hapus Sidang Login sebagai admin, data sidang sudah ada di database Dapat menghapus data Sidang yang ada di dalam database OK 13 Report Data Sidang Login sebagai admin, data sidang sudah ada di database Dapat merubah data Sidang yang ada di dalam database menjadi file PDF OK 14 Search DataSid ang Login sebagai admin, data sidang sudah ada di database Dapat mencari data Sidang yang ada di dalam database sesuai dengan keyword

OK

Setelah melakukan pengujian mandiri maupun pengujian lapangan, penulis mengambil kesimpulan bahwa secara fungsional aplikasi telah berjalan sesuai dengan yang diharapkan.

4. KESIMPULAN DAN SARAN

4.1 Kesimpulan

Dari penelitian dan tulisan yang telah penulis uraikan, maka dapat ditarik kesimpulan sebagai berikut :

1. Aplikasi yang dikembangkan ini dapat memudahkan pihak Pengadilan Agama maupun Badan Peradilan Agama dalam mengumpulkan dan mengorganisir data persidangan.

2. Pengembangan aplikasi ini dengan menggunakan Codeigniter Framework dapat dilaksanakan sesuai dengan analisis dan perancangan yang telah dilakukan, yang juga sesuai dengan kebutuhan penggunanya.

3. UML dapat digunakan sebagai tools dalam melakukan analisis sistem informasi sidang keliling yang dibangun. 4. Proses Integrasi report, yang dibuat

dengan menggunakan report engine DomPDF pada Codeigniter Framework. 5. Penggunaan Codeigniter Framework

memiliki beberapa keunggulan dibanding dengan PHP tradisional diantaranya adalah

• URL nya lebih mudah dibaca atau search engine friendly

• Performanya lebih cepat

• Penulisan kode lebih efisien, tidak memerlukan banyak baris-baris kode.

Tabel 3.3 Pengujian Lapangan

No Pengujian Penilaian

1. Fitur aplikasi secara keseluruhan

Baik 2. Fitur untuk Admin Baik 3. Fitur untuk User Baik 4. Tampilan Aplikasi Baik 5. Kestabilan Aplikasi Baik 6. Keamanan Aplikasi Baik 7.

• Tinggkat keamanan lebih tinggi karena URL user friendly bisa menghindari remote file inclusion yang sering terjadi bila menggunakan PHP tradisional dan juga sudah terdapat konfigurasi XSS filtering untuk menghindari XSS attack.

6. Penggunaan Codeigniter Framework memiliki beberapa keunggulan dibanding dengan Framework lain diantaranya adalah

Kesesuaian dengan Kebutuhan

Baik

• Performanya lebih cepat

• Konfigurasi yang sangat minim

• Dokumentasi yang lengkap

• Mudah dipelajari

• Compatible dengan banyak hosting karena bisa berjalan dengan PHP 4 atau PHP 5.


(6)

4.2 Saran

Aplikasi ini tentu saja masih belum sempurna. Masih banyak hal yang dapat dilakukan untuk mengembangkan aplikasi ini agar menjadi lebih baik lagi, antara lain :

1. Dengan berkembangnya teknologi seluler, penulis berharap akan ada pengembangan lanjutan untuk akses aplikasi ini melalui ponsel.

2. Pengembangan juga dapat dilakukan dengan melakukan peningkatan keamanan yang lebih baik karena aplikasi ini hanya memanfaat fungsi keamanan standar dari Codeigniter.

DAFTAR PUSTAKA

Myer, Thomas, “Professional CodeIgniter”, Wiley Publishing; 2008

Upton, David,“CodeIgniter for Rapid PHP Application Development”, Packt Publishing; 2007

Fontoura, Marcus, “UML Profile for Framework Architectures”, Addison Wesley; 2001

Dharwiyanti, Sri, “Pengantar Unified Modelling Language (UML)”, Ilmu Komputer ; 2003

Pilone,Dan, “UML 2.0 in Nutshell”, O'Reilly ; 2005

Scach, R.Stephen,“Object Oriented and Classical Software Engineering”, Mc Graw Hill ; 2005 Pressman, Roger S,”Software Engineering A Practioner’s Approach 6th edition”, Mc Graw Hill ; 2005

Sommerville,Ian, “Software Engineering 7th edition”, 2004

Sukamto, Rosa A, “Rapid Application Development (RAD), Prototyping”, 2009

Whitten J.L,Bentley L.D., & Ditmann K.C, “System Analysis and Design Method. 6th Edition”, McGraw Hill Inc ; 2004

Turban, Efraim, Rainer R.Kelly Jr., & Potter, Richard E. ,” Introduction to Information

Technology. 2th Edition”. John Wiley and Sons. Inc; 2003

Laudon, Kenneth C dan Loudon, Jane P,” Essential of Management Information System : Managing the digital firm. 6th Edition”. Prentice Hall Inc;2003

Kadir, Abdul, “Pengenalan Sistem Informasi”, Penerbit Andi : 2003