penerapan codeigniter framework …repository.uinjkt.ac.id/dspace/bitstream/123456789/2013/1...dan...

117
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

Upload: hoangnguyet

Post on 03-Mar-2019

249 views

Category:

Documents


0 download

TRANSCRIPT

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

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.

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

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 syari’ah

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

Gambar 4.12 Activity Diagram Input PA

Activity diagram diatas merupakan rancangan proses yang akan

terjadi ketika admin akan memasukkan data Pengadilan Agama baru,

meliputi nama PTA diatasnya, nama PA, alamat, nomer telepon, email dan

website. Setelah mengisi form dan menekan tombol simpan maka data

akan tersimpan di dalam database.

7. Activity Diagram untuk Perubahan Data PA

Gambar 4.13 Activity Diagram Edit PA

Activity diagram ini merupakan rangkaian proses yang akan

dilakukan oleh sistem ketika admin akan mengubah data PA yang telah

ada di dalam database. Dari list PA yang ada, jika admin menekan tombol

edit, maka sistem akan menahan id_pa untuk dijadikan parameter dan

58

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.

8. Activity Diagram untuk Penghapusan Data PA

Gambar 4.14 Activity Diagram Delete PA

Activity diagram ini merupakan rangkaian proses yang akan

dilakukan oleh sistem ketika admin akan menghapus data PA yang telah

ada di dalam database. Dari list PA yang ada, jika admin menekan tombol

hapus, maka sistem akan menahan id_pa untuk dijadikan parameter dan

akan metampilkan pop-up konfirmasi untuk menghapus data yang ada di

database.

9. Activity Diagram untuk Melihat Detail Data PA

Gambar 4.15 Activity Diagram View PA

59

Activity diagram ini merupakan rangkaian proses yang akan

dilakukan oleh sistem ketika admin atau user akan melihat detail data PA

yang telah ada di dalam database. Dari halaman home setelah login, jika

admin atau user memilih menu view data PA, kemudian memilih PTA

yang berada diatas PA yang akan dipilih, maka akan ditampilkan detail

data PA yang ada di database.

10. Activity Diagram untuk Pemasukan Data Sidang

Gambar 4.16 Activity Diagram Input Sidang

Activity diagram diatas merupakan rancangan proses yang akan

terjadi ketika admin akan memasukkan data Sidang keliling baru. Setelah

mengisi form dan menekan tombol simpan maka data akan tersimpan di

dalam database.

11. Activity Diagram untuk Perubahan Data Sidang

Gambar 4.17 Activity Diagram Edit Sidang

60

Activity diagram ini merupakan rangkaian proses yang akan

dilakukan oleh sistem ketika admin akan mengubah data sidang yang telah

ada di dalam database. Dari list sidang yang ada, jika admin atau user

menekan tombol edit, maka sistem akan menahan id_sidang 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 sidang tersebut.

12. Activity Diagram untuk Penghapusan Data Sidang

Gambar 4.18 Activity Diagram Delete Sidang

Activity diagram ini merupakan rangkaian proses yang akan

dilakukan oleh sistem ketika admin akan menghapus data Sidang yang

telah ada di dalam database. Dari list Sidang yang ada, jika admin

menekan tombol hapus, maka sistem akan menahan id_sidang untuk

dijadikan parameter dan akan metampilkan pop-up konfirmasi untuk

menghapus data yang ada di database.

61

13. Activity Diagram untuk Menampilkan Detail Sidang

Gambar 4.19 Activity Diagram View Sidang

Activity diagram ini merupakan rangkaian proses yang akan

dilakukan oleh sistem ketika admin atau user akan melihat detail data

Sidang yang telah ada di dalam database. Dari halaman home setelah

login, jika admin atau user memilih menu view data Sidang, kemudian

memilih PA pelaksana sidang dan tahun peaksanaan, maka akan

ditampilkan detail data sidang yang ada di database.

14. Activity Diagram untuk Melakukan Pencarian

Data Sidang

Gambar 4.20 Activity Diagram Search Data Sidang

62

Activity diagram ini merupakan rangkaian proses yang akan

dilakukan oleh sistem ketika admin atau user akan melakukan pencarian

data Sidang yang telah ada di dalam database. Setelah login, admin atau

user memasukan keyword pada form pencarian di header halaman, maka

sistem akan menampilkan hasil pencarian sesuai dengan keyword.

15. Activity Diagram untuk Report Data Sidang

Gambar 4.21 Activity Diagram Report Data Sidang

Activity diagram ini merupakan rangkaian proses yang akan

dilakukan oleh sistem ketika admin atau user akan melakukan report data

Sidang yang telah ada di dalam database. Setelah login, admin atau user

masuk halaman view data sidang, kemudian jika admin atau user menekan

tombol report maka data sidang akan tersimpan di komputer dalam format

pdf

16. Activity Diagram untuk View System Log.

63

Gambar 4.22 Activity Diagram View System Log

Activity diagram ini merupakan rangkaian proses yang akan

dilakukan oleh sistem ketika admin melihat system log yang telah ada di

dalam database. Dari halaman home setelah login, jika admin memilih

menu view system log, maka akan ditampilkan detail data sidang yang

terakhir kali di modified yang ada di database.

4.3.2. Perancangan Sequence Diagram

1. Sequence Diagram untuk Login

Gambar 4.23 Sequence Diagram Login

Untuk melakukan login, seorang admin harus memasukkan

username dan password. Jika username dan/atau password yang

dimasukkan salah, maka sistem akan menampilkan error page, serta

konfirmasi kesalahan kepada aktor. Namun, ketika masukan username dan

password yang dimasukkan sudah benar, maka sistem akan memberikan

konfirmasi bahwa proses login telah berhasil.

64

2. Sequence Diagram untuk Pemasukan Data PTA / PA / Sidang

Gambar 4.24 Sequence Diagram Input

Pada saat aktor akan melakukan pemasukan data PTA, PA atau

Sidang baru, maka aktor harus melakukan login terlebih dahulu dengan

username dan password aktor yang tepat. Setelah mendapat konfirmasi

bahwa aktor telah berhasil login, maka aktor sudah dapat memasukkan

data PTA, PA atau Sidang baru.

Data-data yang dimasukkan oleh aktor ini akan divalidasi oleh

sistem. Jika ternyata terdapat kesalahan masukan yang diberikan, sistem

akan memberikan pemberitahuan kesalahan kepada aktor. Jika masukan-

masukan yang diberikan oleh aktor sudah sesuai, maka data akan sukses

tersimpan dan sistem akan memberikan konfirmasi bahwa data telah

tersimpan.

65

3. Sequence Diagram untuk Perubahan Data PTA / PA / Sidang

Gambar 4.25 Sequence Diagram Edit

Untuk melakukan perubahan data PTA, PA atau Sidang, maka

terlebih dahulu harus dilakukan login. Setelah login berhasil dan

mendapatkan konfirmasi, kemudian aktor harus memilih menu view PTA,

PA atau sidang melihat detail datanya, selanjutnya tekan tombol edit pada

PTA, PA atau Sidang yang akan dirubah datanya. Setelah itu akan muncul

form edit.

Jika terdapat kesalahan pada saat pengisian form tersebut, maka

sistem akan memberikan konfirmasi error kepada aktor sehingga aktor

harus mengecek kembali masukan yang ia berikan. Setelah semua field

terisi dengan benar, maka proses validasi perubahan data telah berhasil

dilakukan. Sistem akan memberikan pemberitahuan bahwa perubahan data

66

telah berhasil dilakukan dan data yang diubah akan tersimpan dalam

database. Meskipun proses perubahan data PTA, PA atau sidang sama,

namun yang bisa merubah data PTA dan PA hanyalah aktor yang login

sebagai admin.

4. Sequence Diagram untuk Penghapusan

Data PTA / PA / Sidang

Gambar 4.26 Sequence Diagram Delete

Untuk melakukan penghapusan data PTA, PA atau Sidang, maka

terlebih dahulu harus dilakukan login. Setelah login berhasil dan

mendapatkan konfirmasi, kemudian aktor harus memilih menu view PTA,

PA atau sidang melihat detail datanya, selanjutnya tekan tombol hapus

pada PTA, PA atau Sidang yang akan dihapus datanya. Setelah itu akan

muncul pertanyaan untuk mengkonfirmasi penghapusan.

Jika aktor menjawab “yes”, maka sistem akan menghapus data dan

akan memberikan pemberitahuan bahwa penghapusan data telah berhasil

67

dilakukan. Jika menjawab “no”, maka data tidak jadi dihapus. Meskipun

proses penghapusan data PTA, PA atau sidang sama, namun yang bisa

menghapus data PTA dan PA hanyalah aktor yang login sebagai admin.

5. Sequence Diagram untuk View Data PTA

Gambar 4.27 Sequence Diagram View PTA

Untuk melihat detail data PTA, aktor harus login sebagai admin

atau user. Selanjutnya aktor memilih menu view data PTA, maka sistem

akan menampilkan semua data PTA.

6. Sequence Diagram untuk View data PA

Gambar 4.28 Sequence Diagram View PA

Untuk melihat detail data PA, aktor harus login sebagai admin atau

user. Selanjutnya aktor memilih menu view data PA, kemudian memilih

68

PTA yang berada diatas PA yang akan dilihat, maka sistem akan

menampilkan semua data PA yang kedudukannya berada dibawah PTA

yang telah dipilih.

7. Sequence Diagram untuk View Data Sidang

Gambar 4.29 Sequence Diagram View Sidang

Untuk melihat detail data Sidang, aktor harus login sebagai admin

atau user. Selanjutnya aktor memilih menu view data sidang, kemudian

memilih PTA, maka sistem akan menampilkan list PA pelaksana sidang

yang kedudukannya berada dibawah PTA yang telah dipilih. Setelah itu,

pilih tahun pelaksanaan sidang, maka sistem akan menampilkan detail data

sidang.

8. Sequence Diagram untuk Search Data Sidang

69

Gambar 4.30 Sequence Diagram Search Sidang

Untuk melakukan pencarian data Sidang, aktor harus login sebagai

admin atau user. Selanjutnya aktor memasukan keyword pencarian pada

form pencarian di bagian header halaman. Setelah aktor menekan tombol

enter maka hasil pencarian berdasarkan keyword akan ditampilkan.

9. Sequence Diagram unutk Report Data

Sidang

Gambar 4.31 Sequence Diagram Report Sidang

Untuk melakukan pencarian data Sidang, aktor harus login sebagai

admin atau user. Selanjutnya aktor masuk ke halaman view data sidang.

Setelah aktor menekan report maka data sidang akan tersimpan di

komputer dalam format pdf.

70

10. Sequence Diagram untuk View System Log

Gambar 4.32 Sequence Diagram View System Log

Untuk melihat detail data sidang yang terakhir kali di modified /

system log, aktor harus login sebagai admin. Selanjutnya aktor memilih

menu view system log, maka sistem akan menampilkan semua data sidang

yang terakhir kali di modified.

4.3.3. Perancangan Class Diagram

71

Gambar 4.33 Class diagram

Pada class diagram diatas merupakan representasi dari tabel-tabel

yang ada di database.

4.3.4. Spesifikasi Basis Data

Spesifikasi basis data sistem informasi sidang keliling antara lain :

1. Nama file : Admin

Primary key : admin_id

Foreign key : level_id

Struktur file :

No Field Type Field size Keterangan1. admin_id Int 4 Id admin2. level_id Int 4 Level admin3. admin_nama Varchar 255 Nama admin4. admin_username Varchar 255 Username admin5. admin_password Varchar 255 Password admin

2. Nama file : Level

Primary key : level_id

Foreign key : -

Struktur file :

No Field Type Field size Keterangan1. level_id Int 4 Id level2. level_nama Varchar 255 Nama level3. level_keterangan Varchar 255 Keterangan level

72

3. Nama file : PTA

Primary key : pta_id

Foreign key : -

Struktur file :

No Field Type Field size Keterangan1. pta_id Int 4 Id PTA2. nama_pta Varchar 255 Nama PTA3. alamat Varchar 255 Alamat PTA4. kodepos Varchar 255 Kodepos PTA5. kode_sljj Varchar 255 Kode SLJJ PTA6. no_telp Varchar 255 Nomer telphone7. no_fax Varchar 255 Nomer fax8. website Varchar 255 Website9. email Varchar 255 Email

4. Nama file : PA

Primary key : pa_id

Foreign key : pta_id

Struktur file :

No Field Type Field size Keterangan1. pa_id Int 4 Id PA2. pta_id Int 4 Id PTA3. Kelas Int 2 Kelas PA4. nama_pa Varchar 255 Nama PA5. alamat Varchar 255 Alamat PA6. kodepos Varchar 255 Kodepos PA7. kode_sljj Varchar 255 Kode SLJJ PA8. no_telp Varchar 255 Nomer telphone9. no_fax Varchar 255 Nomer fax10. website Varchar 255 Website11. email Varchar 255 Email

5. Nama file : Sidang

Primary key : sidang_id

73

Foreign key : pa_id

Struktur file :

No Field Type Field size Keterangan1. sidang_id int 4 Id sidang2. pa_id int 4 Id PA3. nama_pa int 2 nama PA4. alamat_sidang varchar 255 Alamat pelaksanaan sidang5. tahun year 4 Tahun perkara sidang6. tgl_sidang date 8 Tanggal pelaksanaan sidang7. status_sidang varchar 255 Status sidang8. jml_perkara int 50 Jumlah perkara9. jarak varchar 255 Jarak tempat sidang10. trans_jalur varchar 255 Jalur transportasi11. trans_status varchar 255 Status transportasi12. dsr_hkm varchar 255 Dasar hokum13. kor_inst varchar 255 Koordinasi institusi14. kor_bentuk varchar 255 Bentuk koordinasi15. st_balai_sidang varchar 255 Status balai sidang16. st_prasarana varchar 255 Status prasarana17. jml_hakim int 10 Jumlah hakim18. jml_pp int 10 Jumlah pengacara19. jml_js_jsp int 10 Jumlah jaksa20. jml_sekr int 10 Jumlah sekretaris21. anggaran int 50 Anggaran sidang22. realisasi int 50 Realisasi sidang

4.3.5. Kamus Data (Data Dictionary)

Berikut adalah tabel kamus data sistem informasi sidang keliling :

Tabel 4.1 Kamus data sistem informasi sidang keliling

admin

*file admin*

{@admin_id + level_id + nama_admin + username_admin

+ password_admin}

Level*file level*

{@level_id + level_nama + level_keterangan }PTA *file PTA*

74

{@pta_id + nama_pta + alamat + kodepos + kode_sljj +

no_telp + no_fax + website + email }

PA

*file PA*

{@pa_id + pta_id + kelas + nama_pa + alamat + kodepos +

kode_sljj + no_telp + no_fax + website + email }

Sidang

*file sidang*

{@sidang_id + pa_id + nama_pa + alamat_sidang + tahun +

tgl_sidang + status_sidang + jml_perkara + jaral +

trans_jalur + trans_status + dsr_hkm + kor_inst +

kor_bentuk + st_balai_sidang + st_prasarana + jml_hakim +

jml_pp + jml_jp_jsp + jml_sekr +anggaran + realisasi }

4.3.6. Perancangan User Interface

a. Halaman Login

Username

Password

Capcha

LOGIN

Gambar 4.34 Perancangan halaman login

b. Halaman Input Data PTA

75

Header Menu

Footer

Input Data PTA

Nama PTA

Alamat PTA

kodepos

No telp

No Fax

website

email

Simpan

Gambar 4.35 Perancangan halaman input data PTA

c. Halaman Input Data PA

Header Menu

Footer

Input Data PA

Nama PA

Alamat PA

kodepos

No telp

No Fax

website

email

Class PA

Nama PTA

Simpan

Gambar 4.36 Perancangan halaman input data PA

d. Halaman Input Data Sidang

Header Menu

Footer

Input Data Sidang

Alamat sidang

Tgl sidang

Jumlah perkara

Jumlah hakim

Jumlah Jaksa

Jumlah pengacara

Status sidang

Nama sidang

Simpan

Gambar 4.37 Perancangan halaman input data siding

e. Halaman View Data Sidang

76

Header Menu

Footer

NO | Nama Sidang | Alamat sidang | Tgl sidang | Jumlah Perkara | Jumlah Hakim

| | | | || | | | || | | | || | | | || | | | || | | | || | | | || | | | || | | | |

View Data Sidang

Gambar 4.38 Perancangan halaman view data sidang

4.4. Implementasi

Pada tahap ini dilaksanakanlah implementasi dari rancangan-

rancangan, baik rancangan basis data, rancangan aplikasi, maupun

rancangan tampilan.

4.4.1. Bahasa Pemrograman dan Komponen

Bahasa pemrograman dan komponen-komponen yang digunakan

dalam pengembangan aplikasi ini adalah :

1. Application Server : Apache 2.2.11

2. PHP 5.2.8

3. MySQL versi 5.1.30

4. Report Engine DomPDF

5. Chart Engine : FusionChart

6. Framework : Codeigniter 1.7.1

4.4.2. Struktur File

77

Karena aplikasi ini merupakan penerapan dari Codeigniter

Framework, maka dalam penyusunan struktur file juga harus

mengikuti standar baku yang dimiliki oleh Codeigniter Framework itu

sendiri.

Struktur File KeteranganSidang/system/application/config konfigurasi server dan database

Sidang/system/application/controller Source code logika aplikasiSidang/system/application/model Source code databaseSidang/system/application/view Source code tampilan

Sidang/system/application/library Source code library tambahan

4.4.3. Alur Keja Codeigniter Framework

Secara umum alur kerja framework codeigniter adalah seperti gambar

berikut :

Gambar 4.38 Alur kerja framework codeigniter

Index.php merupakan front controller atau file yang

berhubungan langsung dengan user. Saat user membuka index.php

dan melakukan request, akan dicek di Router alamat yang

dimasukan oleh user tersebut. Bila ada pada cache data, maka akan

langsung menuju ke Caching dan kembali lagi ke user. Bila di

78

cache tidak ada maka diteruskan lagi ke Security untuk

memvalidasi, menyaring dan mengamankan informasi yang

dimasukan user (bila ada). Lalu dari security informasi tersebut

dikirim ke Application Controller. Di Application Controller

informasi dan data akan diolah. Bila diperlukan, Application

Controller akan berhubungan dengan Model, Libraries, Helpers,

Plugins atau skrip lainnya. Application Controller akan

mengirimkan respon ke View untuk ditampilkan ke user. View akan

disimpan di Cache bila berikutnya melakukan request yang sama.

Sehingga mempercepat proses. Setelah dicache, maka akan

ditampilkan informasi kepada user.

Dalam implementasinya pada sistem informasi sidang

keliling dapat diuraikan sebagai berikut :

a. Routing

Ketika pertama kali mengakses aplikasi melalui web

browser, maka halaman yang pertama dipanggil adalah halaman

index.php pada folder aplikasi. Setelah itu file index.php

melakukan routing ke controller yang telah di config oleh

programmer pada file system/application/config/routes.php dimana

isinya adalah sebagai berikut :

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

$route['default_controller'] = "admin";

79

Dari code diatas, maka sistem akan menjalankan controller

admin.php yang sebagian berisi sebagai berikut :

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); Class Admin extends Controller{

function Admin(){

parent::Controller();$this->load->library (array('validation','auth','simplival','simpliauth','simpliparse','convert'));$this->load->model('supermodel');$this->load->helper (array('file','number','directory'));

}function index(){

$this->auth->restrict(TRUE);$value = array ('username','password','captcha');$this->simplival->setFields($value);$data = $this->simpliauth->setChaptcha();$this->load->view ('admin/login_form',$data);

}

Dari code controller admin.php pada baris akhir, sistem

memanggil file system/application/view/admin/login_form.php

yang berisi sebagai berikut :

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head>

<title>Restricted Area &raquo; <?=school()?></title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta http-equiv='expires' content='-1' /><meta http-equiv= 'pragma' content='no-cache' /><link rel="shorcut icon" href="<?=base_url()?

>asset/images/favicon.gif" />

80

<link rel="stylesheet" href="<?=base_url()?>asset/stylesheet/adminstyle.css" type="text/css" /></head><body>

<div id="header"> <div id="content">

<h2>Login</h2><img src= "<?=base_url()?>asset/images/login-welcome.gif" width="97" height="105" hspace="10" align="left"><?=form_open('admin/proses_login'); ?><table>

<tr><td>Username</td><td> : <input type="text" name="username"><? echo $this->validation-> username_error?></td></tr><tr><td>Password</td><td> : <input type="password" name="password"> <? echo $this->validation-> password_error?></td></tr><tr><td><?= $cap['image'] ?> </td><td> : <input type="text" name="captcha" /><? echo $this-> validation-> captcha_error?></td></tr><tr><td colspan="2" align="right"><input class="button" type="submit" value="Login"></td></tr>

</table><?=form_close();?>

</div></div>

</body></html>

Jadi secara singkat proses routing framework codeigniter yaitu

ketika user mengakses aplikasi pada web browser, maka sistem

akan memanggil controller yang telah di set pada file config

routes. Setelah itu controller memanggil file view, jadi halaman

yang tampil pada web browser adalah file view yang ditentukan

controller.

b. Sistem Informasi Data

81

Dalam sebuah sistem informasi tentunya ada proses create,

update, delete dan view data. Pada penerapannya dengan

framework codeigniter keempat proses tersebut tidak berbeda jauh

karena sama-sama melibatkan controller sebagai logika sistem,

model sebagai query database dan view sebagai tampilan, sehingga

penulis hanya akan menjelaskan proses view data.

Saat akan melakukan view data, maka user diharuskan login

terlebih dahulu. Setelah login, user mengklik menu view data

sidang. Pada menu view data sidang web browser mendapatkan link

“index.php/admin/view_sidang”, dari link tersebut dapat dijelaskan

bahwa sistem akan menuju “function view_sidang( )” yang berada

dalam file controller “admin” sebagai berikut :

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); Class Admin extends Controller{

function view_sidang(){

$this->auth->restrict();$data['sidang'] = $this->supermodel->get_sidang($id,$thn);

$this->load->view('admin/header');$this->load-> view('admin/view_sidang',$data);$this->load->view('admin/footer');

}}

Pada baris “$data['sidang'] = $this->supermodel->

get_sidang($id,$thn);”, fungsi get_sidang memanggil fungsi

82

get_sidang pada file supermodel.php yang terletak di

system/application/model/ yang isinya sebagai berikut :

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); Class Supermodel extends Model{function get_sidang($id,$thn)

{$this->db->select('*');$this->db->from('sidang');$this->db->where('pa_id',$id);$this->db->where('tahun',$thn);return $data = $this->db->get();

}}Pada baris code diatas melakukan query dalam sql sebagai berikut

“SELECT * FROM sidang WHERE pa_id = $id AND tahun =

$tahun”.

Kembali lagi fungsi view_sidang pada controller admin, setelah

memanggil query database dilanjutkan memanggil file view pada

baris “$this->load->view('admin/view_sidang',$data);”.

Baris tersebut memanggil fie view_sidang.php pada folder

“system/application/view/admin” yang nantinya akan ditampilkan

di web browser yang berisi sebagai berikut :

<html><head></head><body><table width="1800"><tr><th rowspan="2">No</th><th rowspan="2">Alamat Lengkap Tempat Sidang

Keliling</th><th rowspan="2">Mulai Tahun</th><th rowspan="2">Tanggal Pelaksanaan

Sidang<br>(Tahun-Bln-Tgl)</th><th rowspan="2">Status Sidang Keliling</th><th rowspan="2">Jumlah Perkara</th><th rowspan="2">Jarak PA dengan tempat

penyelenggaraan Sidang</th>

83

<th colspan="2">Transportasi</th><th rowspan="2">Dasar Hukum penyelenggaraan

sidang (No.SK:Msy.Prop/Msy/PTA/PA)</th><th colspan="2">Koordinasi / Kerjasama</th><th rowspan="2">Status Balai Sidang</th><th rowspan="2">Status Prasarana Lainnya</th><th colspan="4">Jumlah Petugas Pelaksana</th><th rowspan="2">Anggaran dana dalam DIPA

(Rp)</th><th rowspan="2">Realisasi</th></tr><tr><th> jalur</th>

<th>status</th> <th>instansi</th> <th>Bentuk Kerja sama</th> <th>Hakim</th> <th>PP</th> <th>JS/JSP</th> <th>Sekr</th> </tr> <? $baris=1; foreach($sidang->result() as $row): ?> <tr> <td><? echo $baris;?></td> <td><? echo $row->alamat_sidang?></td> <td><? echo $row->tahun?></td> <td><? echo $row->tgl_sidang?></td> <td><? echo $row->status_sidang?></td> <td><? echo $row->jml_perkara?></td> <td><? echo $row->jarak?></td> <td><? echo $row->trans_jalur?></td> <td><? echo $row->trans_status?></td> <td><? echo $row->dsr_hkm?></td> <td><? echo $row->kor_inst?></td> <td><? echo $row->kor_bentuk?></td> <td><? echo $row->st_balai_sidang?></td> <td><? echo $row->st_prasarana?></td> <td><? echo $row->jml_hakim?></td> <td><? echo $row->jml_pp?></td> <td><? echo $row->jml_js_jsp?></td> <td><? echo $row->jml_sekr?></td> <td><?php $in = $row->anggaran; echo $this->simpliparse->pecah($in);?></td> <td><? echo $row->realisasi?></td> </tr>

<?$baris++;endforeach;?></table><?=form_open('admin/cetak_sidang'); ?><?=form_hidden('pa_id',$row->pa_id)?><?=form_hidden('thn',$row->tahun)?><input class="button" type="submit" value="Report">

84

</body></html>

Pada akhirnya user akan melihat data-data sidang keliling di web

browser.

c. Penerapan Keamanan

Pada sisi keamanan di aplikasi ini akan diterapkan 2 metode yaitu

XSS filtering dan anti SQL injection menggunakan escaping

query.

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;

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.

85

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();

}

4.5. Pengujian

Setelah selesai melakukan pengembangan, maka aplikasi ini harus

diuji coba yang bertujuan untuk mengetahui sejauh mana aplikasi ini dapat

bekerja dengan baik dan apakah aplikasi ini dapat memenuhi tujuan yang

ingin diperoleh sebelum diserahkan kepada end user. Pengujian dilakukan

dalam 2 (dua) tahap yaitu pengujian mandiri yang dilakukan oleh penulis

sekaligus pengembang aplikasi, dan pengujian lapangan yang dilakukan

oleh calon pemakai aplikasi ini.

4.5.1. Pengujian Mandiri

Pada tahap ini, penulis melakukakn uji coba terhadap sistem yang telah

dikembangkan dengan hasil sebagai berikut :

Tabel 4.2 Hasil Pengujian Mandiri

No Modul Prasyarat Hasil yang diharapkan Hasil uji coba

1 Tambah PTA Login sebagai Admin

Dapat menambahkan data PTA baru ke dalam database

OK

2 View PTA Login sebagai admin, data PTA sudah ada

Dapat melihat data PTA yang ada di dalam database

OK

86

di 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 menambahkan 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 menambahkan 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

OK

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 DataSidang

Login sebagai admin, data

Dapat mencari data Sidang yang ada di dalam database

OK

87

sidang sudah ada di database

sesuai dengan keyword

15 View System Log

Login sebagai admin, data sidang sudah ada di database

Dapat melihat data sidang yang terakhir kali di modified

OK

4.5.2. Pengujian Lapangan

Pada tahap ini, penulis meminta 3 (tiga) orang responden untuk

melakukan uji coba terhadap aplikasi ini. Responden yang dipilih

terdiri atas 1 (satu) orang Kepala Badan Peradilan Agama, 2 (dua)

orang dari staff IT Badan Peradilan Agama, yang disesuaikan dengan

responden yang diwawancarai pada tahap sebelumnya, yaitu pada

pengumpulan data. Bukti terlampir uji coba yang dilakukan dapat

dilihat pada bagian lampiran. Secara ringkas, hasil pengujian yang

dapat penulis simpulkan adalah sebagai berikut :

Setelah melakukan pengujian mandiri maupun pengujian lapangan,

penulis mengambil kesimpulan bahwa secara fungsional aplikasi telah

berjalan sesuai dengan yang diharapkan.

88

Tabel 4.3 Pengujian Lapangan

No Pengujian Penilaian1. Fitur aplikasi secara keseluruhan Baik2. Fitur untuk Admin Baik3. Fitur untuk User Baik4. Tampilan Aplikasi Baik5. Kestabilan Aplikasi Baik6. Keamanan Aplikasi Baik7. Kesesuaian dengan Kebutuhan Baik

BAB V

KESIMPULAN DAN SARAN

Pengembangan sistem informasi Sidang Keliling dengan menggunakan

Codeigniter Framework di Badan Peradilan Agama Jakarta ini setidaknya dapat

mengurangi permasalahan-permasalahan yang berhubungan dengan sistem

informasi dan distribusi data persidangan baik masalah yang dialami oleh pihak

Pengadilan Agama maupun Badan Peradilan Agama sendiri.

Setelah melakukan serangkaian penelitian, seperti yang tertera pada bab III

dan Bab IV, maka pada bab ini penulis akan menguraikan kesimpulan yang dapat

ditarik dari rangkaian penelitian tersebut. Selain kesimpulan, penulis juga

memberikan saran yang akan bermanfaat bagi pihak-pihak yang akan melanjutkan

pengembangan penelitian ini.

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

90

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.

• 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

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

91

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

92

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

O’Brien, J.A., & Marakas, G.M. “Management Information Systems”, edisi ke-7.

McGraw-Hill, New York; 2006

93

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

Morgan, Oonagh , "Zend Announces Industry-wide PHP Collaboration Project at

its Inaugural PHP Conference" :2005

Rampersad, Ryan ,"The State of CakePHP" :2009

Rønn Jensen, Jesper, "Ruby on Rails as rapid prototyping tool" :2006

Supriyanto, S.Tp, “Perbandingan Metode Terstruktur (tradisional) dan Metode

Object-Oriented (OO) Pada Analisis dan Design”; 2008

Howe, Denis, http;//dictionary.reference.com/browse/framework diakses pada 14

November 2009 pukul 21.55 WIB

Pusat Bahasa Departemen Pendidikan Nasional,

http;//pusatbahasa.diknas.go.id/kbbi diakses pada 14 November 2009 pukul

22.15 WIB

Seidler, Kai, http://en.wikipedia.org/wiki/Xampp diakses pada 14 November

2009 pukul 22.24 WIB

http://id.wikipedia.org/wiki/PHP diakses pada 14 November 2009 pukul 22.32

WIB

http://ellislab.com/ diakses pada 14 November 2009 pukul 22.44 WIB

94

PENGEMBANGAN SISTEM INFORMASI SIDANG KELILING DENGAN PENERAPAN CODEIGNITER FRAMEWORK

(Studi kasus : Badan Peradilan Agama) Fakultas Sains dan Teknologi, Program Studi Teknik Informatika – UIN Syarif Hidayatullah Jakarta

Mahasiswa

Andi Mulya Indrianto e-mail : [email protected]

Pembimbing 1

Khodijah Hulliyah, M.Si

Pembimbing 2 Yusuf Durrachman, M.Sc., MIT e-mail : [email protected]

ABSTRACT 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). Keywords: Codeigniter Codeigniter Framework, Sistem Informasi, Sidang Keliling, OOAD (Object Oriented Analysis and Design)

1. PENDAHULUAN

Dalam Badan Peradilan Agama yang memimpin Pengadilan Agama yang tersebar diseluruh Indonesia, sering terjadi kesulitan dalam pengumpulan informasi pelaksanaan sidang keliling yang tersebar diseluruh indonesia. Kesulitan yang dialami misalnya terjadi perbedaan struktur form laporan sehingga Badan Peradilan Agama yang menerimanya sulit dalam pengorganisasian data yang diterima. Semua itu terjadi karena form laporan dibuat dengan cara yang berbeda disetiap daerah.

Untuk mencegah hal itu terjadi dan memudahkan Pengadilan Agama yang

memberikan laporan sidang keliling maupun Badan Peradilan Agama yang menerima laporan tersebut, maka pengembangan sistem dalam hal pengorganisasian laporan dinilai perlu untuk dilakukan.

Untuk itu dibutuhkanlah sebuah sistem yang dapat memberikan ekfiktifitas dan efisiensi dalam penyampaian informasi baik dalam hal efisiensi waktu maupun biaya. Oleh karena itu penulis akan mencoba membangun sebuah sistem penyampaian laporan sidang keliling berbasis web Adanya sistem seperti ini otomatis akan membantu setiap institusi baik yang mengirim maupun yang menerima laporan, serta memudahkan mencari laporan - laporan yang terdahulu

2. LANDASAN TEORI 2.1 Sistem Informasi

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, analisis, dan visualisasi dalam suatu organisasi. (Laudon, 2004)

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 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. Definisikan singkatan dan akronim sejak digunakan pertama kali dalam teks paper saudara. 2.3 Codeigniter

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. 2.4 MVC (Model, View, Controller)

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.

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

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.5 Metodologi Penelitian

2.5.1 Metode Pengumpulan Data

Pada metode pengumpulan data ini

penulis melakukan observasi dan wawancara. 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.

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.

2.5.2 Metode Pengembangan Sistem

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.

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 :

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

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:

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

Admin User

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

Gambar 3.7 Perancangan Basis Data

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

No

Modul Prasyarat Hasil yang diharapkan

Hasil uji

coba 1 Tambah

PTA Login sebagai Admin

Dapat menambahkan 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 menambahkan 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 menambahkan 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

OK

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 DataSidang

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.

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 .