Post on 09-Mar-2016
SKRIPSI
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
ABSTRAK
Andi Mulya Indrianto, Penerapan Codeigniter Framework dalam Pengembangan
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)
v
DAFTAR ISI
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
Halaman
BAB II LANDASAN TEORI
2.1. Penerapan ..................................................................................... 8
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
ix
2.10.2. Kelebihan PHP ................................................................. 24
2.10.3. Kekurangan PHP .............................................................. 25
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
x
4.2.1. Alur Kerja Sistem Berjalan............................................... 42
4.2.2. Identifikasi Masalah ......................................................... 43
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
xi
DAFTAR ISTILAH
Activity diagram : menggambarkan berbagai alir aktivitas dalam sistem yang
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
xvii
Class diagram : sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah
objek dan merupakan inti dari pengembangan dan
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.
xviii
Flowchart : Diagram yang menunjukan alur data melalui program atau sistem
penanganan informasi dan operasi-operasi yang
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.
xix
Dengan adanya Query ini, merupakan kemudahan
bagi suatu bahasa pemrograman terhadap
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).
xx
Sequence diagram : menggambarkan interaksi antar objek di dalam dan di sekitar
sistem (termasuk pengguna, display, dan
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.
xxi
Validasi : Operasi pemeriksaan data untuk untuk memastikan data tersebut
adalah benar.
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.
xxii
DAFTAR GAMBAR
Halaman
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
xii
Gambar 4.17. Activity diagram edit sidang......................................................... 60
Gambar 4.18. Activity diagram delete sidang..................................................... 61
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
xiii
DAFTAR TABEL
Halaman
Tabel 4.1. Kamus data sistem informasi sidang keliling.................................... 87
Tabel 4.2 Hasil Pengujian Mandiri .................................................................... 99
Tabel 4.3 Pengujian Lapangan.......................................................................... 101
xii
BAB I
PENDAHULUAN
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-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.
1
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
2
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 ?
3
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.
4
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.
5
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.
6
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.
7
BAB II
LANDASAN TEORI
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
8
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
9
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
10
yang digunakan pada Rails tetapi Rails yang digunakan pada Ruby.(
Rnn 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.
Gambar 2.1 Interaksi MVC
11
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
cara menampilkan halaman website dan controller untuk logika aplikasi.
12
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
permintaan dari View kedalam struktur data didalam Model.
13
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.
14
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. (OBrien, 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
dalam suatu organisasi. (Laudon, 2004)
15
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
diakses oleh sejumlah pemakai.
16
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.
17
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
18
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
19
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.
Class diagram 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
statechart diagram).
20
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
dan di sekitar sistem (termasuk pengguna, display, dan sebagainya)
21
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
juga dari komponen-komponen yang lebih kecil.
22
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
PHP dan ditambah begitu lengkapnya function yang dimilikinya (tersedia
23
lebih dari 400 function di PHP yang sangat berguna) tidak heran jika
PHP semakin menjadi tren di kalangan programmer web.
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
pengembangannya.
24
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
akan menjadi lebih cepat.
25
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
26
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
27
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.
28
BAB III
METODOLOGI PENELITIAN
3.1. Tempat dan Waktu Penelitian
Penelitian 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.
29
30
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.
31
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).
Perancangan database
32
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
mapping dengan baik seperti kondisi pada dunia nyata dan
33
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.
34
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
35
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.
BAB IV
ANALISIS DAN PERANCANGAN SISTEM
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
36
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
37
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.
38
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
Terwujudnya pelayanan peradilan agama yang prima.
39
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 syariah
secara cepat, sederhana dan biaya ringan.
4.1.3. Struktur Organisasi
Gambar 4.1 Struktur Organisasi Badan Peradilan Agama
40
Gambar 4.2 Struktur Organisasi Pengadilan Tinggi Agama
Gambar 4.3 Struktur Organisasi Pengadilan Agama
41
Sub kepaniteraan
Banding /
Sub kepaniteraan
Hukum /
Sub Bagian Kepegawai
an
Sub Bagian Keuangan
Sub Bagian Umum
Kelompok Fungsional Kepaniteraan :
Panitera Pemgganti
KetuaWakil Ketua
Majelis Hakim
Panitera / SekretarisWakil Panitera Wakil Sekretaris
Sub kepaniteraan
Banding /
Sub kepaniteraan
Hukum /
Sub Bagian Kepegawai
Sub Bagian Keuangan
Sub Bagian Umum
Kelompok Fungsional Kepaniteraan :
Panitera PemggantiJuru sita / Juru sita Pengganti
KetuaWakil KetuaMajelis
Hakim
Panitera / SekretarisWakil Panitera Wakil Sekretaris
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.
42
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 :
43
Pihak Badilag PihakPengadilan Agama
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.
44
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.
45
Gambar flowchart dari sistem yang penulis usulkan ini adalah sebagai
berikut :
Gambar 4.5 Flowchart sistem yang ditawarkan
46
AdminBadan Peradilan agama
UserPengadilan Agama
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.
47
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.
48
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
Aktor yang terlibat Admin
49
Trigger Admin ingin menambahkan Pengadilan Tinggi Agama
Pre condition Login sebagai adminPengadilan Tinggi Agama belum terdaftar
Action Controller/adminSave 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 AdminTrigger Dibutuhkan perubahan data
Pengadilan Tinggi AgamaPre condition Login sebagai admin
Pengadilan Tinggi Agama telah terdaftar
Action Controller/adminUpdate 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, UserTrigger Aktor membutuhkan data
Pengadilan Tinggi Agama.Pre condition Pengadilan Tinggi Agama
telah ada di dalam databaseAction Controller/admin/view_ptaPost condition Data Pengadilan Tinggi
Agama ditampilkan
d. Hapus Pengadilan Tinggi Agama
50
Nama Use case Hapus Pengadilan Tinggi Agama
Aktor yang terlibat AdminTrigger Pengadilan Tinggi Agama
sudah tidak aktifPre condition Login sebagai admin
Pengadilan Tinggi Agama telah terdaftar
Action Controller/adminDelete Pengadilan Tinggi Agama
Post condition Pengadilan Tinggi Agama terhapus dari database
e.Input data Pengadilan Agama
Nama Use case Input data Pengadilan AgamaAktor yang terlibat AdminTrigger Admin ingin menambahkan
Pengadilan AgamaPre condition Login sebagai admin
Pengadilan Agama belum terdaftar
Action Controller/adminSave data Pengadilan Agama
Post condition Pengadilan Agama baru masuk ke dalam database
f. Edit data Pengadilan Agama
Nama Use case Edit data Pengadilan AgamaAktor yang terlibat AdminTrigger Dibutuhkan perubahan data
Pengadilan AgamaPre condition Login sebagai admin
Pengadilan Agama telah terdaftar
Action Controller/adminUpdate data Pengadilan Agama
Post condition Data yang telah diubah tersimpan ke dalam database
51
g. Lihat data Pengadilan Agama
Nama Use case Lihat data Pengadilan AgamaAktor yang terlibat Admin, UserTrigger Aktor membutuhkan data
Pengadilan Agama.Pre condition Pengadilan Agama telah ada
di dalam databaseAction Controller/admin/view_ptaPost condition Data Pengadilan Agama
ditampilkan
h. Hapus Pengadilan Agama
Nama Use case Hapus Pengadilan AgamaAktor yang terlibat AdminTrigger Pengadilan Agama sudah
tidak aktifPre condition Login sebagai admin
Pengadilan Agama telah terdaftar
Action Controller/adminDelete Pengadilan Agama
Post condition Pengadilan Agama terhapus dari database
i. Input data Sidang Keliling
Nama Use case Input data Sidang KelilingAktor yang terlibat Admin, UserTrigger Admin ingin menambahkan
Sidang KelilingPre condition Login sebagai admin
Sidang Keliling belum terdaftar
Action Controller/adminSave data Sidang Keliling
Post condition Sidang Keliling baru masuk ke dalam database
52
j. Edit data Sidang Keliling
Nama Use case Edit data Sidang KelilingAktor yang terlibat Admin, UserTrigger Dibutuhkan perubahan data
Sidang KelilingPre condition Login sebagai admin
Sidang Keliling telah terdaftarAction Controller/admin
Update data Sidang KelilingPost condition Data yang telah diubah
tersimpan ke dalam database
k. Lihat data Sidang Keliling
Nama Use case Lihat data Sidang KelilingAktor yang terlibat Admin, UserTrigger Aktor membutuhkan data
Sidang Keliling.Pre condition Sidang Keliling telah ada di
dalam databaseAction Controller/admin/view_ptaPost condition Data Sidang Keliling
ditampilkan
l. Hapus Sidang Keliling
Nama Use case Hapus Sidang KelilingAktor yang terlibat AdminTrigger Sidang Keliling sudah tidak
aktifPre condition Login sebagai admin
Sidang Keliling telah terdaftarAction Controller/admin
Delete Sidang KelilingPost condition Sidang Keliling terhapus dari
database
m. Export data
Nama Use case Export data
53
Aktor yang terlibat Admin, UserTrigger Aktor membutuhkan dokumen
tersimpanPre condition Sidang Keliling telah ada di
dalam databaseAction Export dataPost condition File report data tampil
n. Lihat Sistem log
Nama Use case Lihat Sistem LogAktor yang terlibat AdminTrigger Aktor ingin mengetahui kapan
terakhir kali data di update / modified
Pre condition Login sebagai adminData Sidang Keliling telah di update / modified
Action Controller/adminView system log
Post condition Data system log tampil
4.3. Object-Oriented Design
4.3.1. Perancangan Activity Diagram
Activity Diagram merupakan diagram yang menggambarkan
berbagai aliran aktivitas yang terjadi di dalam sistem, yang meliputi
bagaimana sebuah proses dapat terjadi, kemungkinan-kemungkinan yang
bisa terjadi, serta bagaimana akhir dari proses tersebut. Mengingat adanya
proses-proses yang memiliki kesamaan alur, maka pada sistem ini, penulis
hanya memaparkan 13 (dua belas) macam Activity diagram yang mungkin
terjadi yaitu :
\
54
1. Activity Diagram untuk Login
Gambar 4.7 Activity Diagram Login
Activity diagram ini merupakan rancangan rangkaian proses yang
akan terjadi ketika aktor memilih untuk melakukan login. Ketika sisem
dibuka, maka akan langsung menampilkan form login. Aktor lalu dapat
memasukkan Username dan password yang sesuai. Setelah itu sistem akan
melakukan pengecekan terhadap Username dan password yang
dimasukkan oleh aktor meliputi kesesuaian Username dengan password,
serta mengecek level aktor apakah level admin atau level user. Jika
Username dan password yang dimasukkan sesuai dengan yang ada di
database, maka login Username tersebut sukses dan aktor tersebut
memiliki kewenangan sesuai dengan levelnya di dalam sistem.
2. Activity Diagram untuk Pemasukan Data PTA
Gambar 4.8 Activity Diagram input PTA
55
Activity diagram diatas merupakan rancangan proses yang akan
terjadi ketika admin akan memasukkan data Pengadilan Tinggi Agama
baru, meliputi nama PTA, alamat, nomer telepon, email dan website.
Setelah mengisi form dan menekan tombol simpan maka data akan
tersimpan di dalam database.
3. Activity Diagram untuk Perubahan Data PTA
Gambar 4.9 Activity Diagram Edit PTA
Activity diagram ini merupakan rangkaian proses yang akan
dilakukan oleh sistem ketika admin akan mengubah data PTA yang telah
ada di dalam database. Dari list PTA yang ada, jika admin menekan
tombol edit, maka sistem akan menahan id_pta untuk dijadikan parameter
dan akan metampilkan form isian untuk mengubah data yang ada. Setelah
admin mengubah data di form tersebut dan menekan tombol update,
sistem akan meng-update data PTA tersebut.
56
4. Activity Diagram untuk Penghapusan Data PTA
Gambar 4.10 Activity Diagram Delete PTA
Activity diagram ini merupakan rangkaian proses yang akan
dilakukan oleh sistem ketika admin akan menghapus data PTA yang telah
ada di dalam database. Dari list PTA yang ada, jika admin menekan
tombol hapus, maka sistem akan menahan id_pta untuk dijadikan
parameter dan akan metampilkan pop-up konfirmasi untuk menghapus
data yang ada di database.
5. Activity Diagram untuk Melihat Detail Data
PTA
Gambar 4.11 Activity Diagram View PTA
Activity diagram ini merupakan rangkaian proses yang akan
dilakukan oleh sistem ketika admin atau user akan melihat detail data PTA
yang telah ada di dalam database. Dari halaman home setelah login, jika
admin atau user memilih menu view data PTA, maka akan ditampilkan
detail data PTA yang ada di database.
57
6. Activity Diagram untuk Pemasukan Data PA