Rancang bangun sistem repostitory surat keputusan (SK) dengan memanfaatkan zkoss Framework (studi kasus: sub bagian organisasi tata laksana dan perundang-undangan Universitas Islam Negeri Syarif Hidayatullah Jakarta)

(1)

i

undangan Universitas Islam Negeri Syarif Hidayatullah Jakarta)

Skripsi

Disusun Oleh :

FAUZI RAHMAN

107091000614

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI

SYARIF HIDAYATULLAH

JAKARTA

2011 M/ 1432 H


(2)

i

RANCANG BANGUN SISTEM REPOSITORY SURAT

KEPUTUSAN (SK) DENGAN MEMANFAATKAN

ZKOSS FRAMEWORK

(Studi Kasus : Sub Bagian Organisasi Tata Laksana dan Perundang-undangan Universitas Islam Negeri Syarif Hidayatullah Jakarta)

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh :

FAUZI RAHMAN

107091000614

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI

SYARIF HIDAYATULLAH

JAKARTA

2011 M/ 1432 H


(3)

(4)

(5)

iv

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN. SUMBER INFORMASI YANG BERASAL ATAU DIKUTIP DARI KARYA ILMIAH YANG DITERBITKAN MAUPUN TIDAK DITERBITKAN DARI PENULIS LAIN TELAH DISEBUTKAN DALAM TEKS DAN DICANTUMKAN DALAM DAFTAR PUSTAKA DI BAGIAN AKHIR SKRIPSI INI.

Jakarta, 13 Desember 2011

Fauzi Rahman


(6)

v

ABSTRAK

Fauzi Rahman, Rancang Bangun Sistem Repository Surat Keputusan (SK) dengan Memanfaatkan Zkozz Framework (Studi Kasus : Sub Bagian Organisasi Tata Laksana dan Perundang-undangan Universitas Islam Negeri Syarif Hidayatullah Jakarta) dibawah bimbingan HUSNI TEJA SUKMANA, Ph.D dan

MUHAMMAD FAUZI MURTADLO, S.Kom, M.IT.

Sistem Repository SK adalah sebuah sistem online berbasis Web yang dapat menangani penyimpanan berkas secara digital dan dapat menampung berkas SK untuk 14 Unit Kerja/Fakultas yang ada di UIN Jakarta dengan pembatasan masalah yaitu untuk 4 kategori SK. Dalam pembuatan aplikasi web ini penulis menggunakan metode pengembangan sistem Rapid Application Development (RAD) dan untuk pembuatan aplikasi menggunakan Zkoss Framewok. Pada akhirnya, sistem ini dapat memberikan keluaran kepada penggunanya berupa berkas digital yang dapat diakses secara real time, penyimpanan dan pencarian berkas menjadi lebih mudah dan cepat. Aplikasi ini dapat dikembangkan lagi dengan penambahan modul-modul kategori SK lainnya mengingat banyaknya kategori SK yang ada di Subbag Ortala.


(7)

vi

KATA PENGANTAR

Assalamu’alaikum Warahmatullahi Wabarakatuh

Segala puji kehadirat Allah AWT yang telah memberikan taufiq dan hidayah-Nya, rahmat dan maghfirah-Nya sehingga penulis dapat menyelesaikan skripsi ini dengan baik. Shalawat serta salam selalu tersampaikan kepada Rasulullah SAW yang telah menyampaikan ajaran Islam sehingga menyejukan hati ini dalam menyelesaikan skripsi ini.

Penulis menyadari bahwa penulisan ini tidak dapat terselesaikan tanpa bantuan dari pihak lain. Oleh karena itu izinkanlah penulis mengucapkan terimakasih yang sebesar-besarnya kepada semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini, terutama kepada :

1. Bapak DR. Syopiansyah Jaya Putra, M.Sis, Selaku Dekan Fakultas Sains dan Teknologi.

2. Bapak Yusuf Durrachman, MIT, M.Sc dan Ibu Viva Arifin, M.Si selaku Ketua dan Sekretaris Program Studi Teknik Informatika yang dengan tulus membantu kelancaran penyelesaian skripsi ini.

3. Bapak Husni Teja Sukmana, Ph. D selaku dosen pembimbing I yang dengan ikhlas dan sabar dalam membimbing dan mengarahkan penulis dalam menyelesaikan skripsi ini.

4. Bapak Muhammad Fauzi Murtadlo, S.Kom, M.TI selaku dosen pembimbing II yang telah banyak memberikan bimbingan, nasihat, ilmu dan dukungan baik secaara moril maupun secara teknis kepada penulis dalam menyelesaikan skripsi ini.

5. Seluruh Dosen, staf karyawan Fakultas Sains dan Teknologi, khususnya Program Studi Teknik Informatika yang telah membimbing penulis selama menuntut ilmu, berbagi pengalaman dan pengetahuan dalam menyelesaikan skripsi ini.


(8)

vii

6. Ayahanda Suryono dan Ibunda Ilah Carmillah serta kakak tercinta (Beni Aprijiani) dan kedua adik tersayang (Fajar Ramdhani dan Fikar Ardiansyah) yang tidak henti-hentinya mendo’akan, memotivasi, dengan tulus ikhlas serta curahan perhatian dalam lahir maupun batin sepanjang penulis mengikuti masa proses kuliah hingga masa proses penyusunan skripsi ini. 7. Untuk kawan saya Hendra Kurniawan dan Sufyan Sidqy yang telah

memberikan dukungan serta ilmu yang dapat membantu saya dalam penyusunan skripsi ini.

8. Sahabat seperjuangan Uyun, Siti maryam, Dwi Vollina, Miftah Haris, Muhammad Affandy dan teman-teman CCNA Academy tercinta yang telah memberikan motivasi bagi penulis dalam proses penyelesaian skripsi ini. 9. Mery Andriyani Putri tercinta yang selalu memberi semangat serta motivasi

kepada penulis dari awal hingga selesainya skripsi ini.

Akhir kata Kesempurnaan hanya milik Allah SWT, begitu juga dengan skripsi ini dan penulis mengharapkan kritik serta saran yang membangun dari pembaca untuk penulisan skripsi yang lebih baik lagi. Semoga skripsi ini bermanfaat bagi semua pembaca. Amin

Wassalamu’alaikum Warahmatullahi Wabarakatuh

Jakarta, 13 Desember 2011


(9)

viii

DAFTAR ISI

Halaman

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

Daftar Simbol...xviii

BAB I PENDAHULUAN 1 1.1 Latar Belakang ... 1

1.2 Rumusan Masalah... 4

1.3 Pembatasan Masalah ... 4

1.4 Tujuan Penelitian ... 5

1.5 Manfaat Penelitian ... 6

1.5.1 Bagi Pengguna Siste... 6

1.5.2 Bagi Penulis ... 6

1.5.3 Bagi Akademik ... 7

1.6 Metodologi Penelitian ... 7

1.6.1 Metodologi Pengumpulan Data ... 7

1.6.2 Metodologi Pengembangan Sistem... 8

1.7 Sistematika Penulisan ... 8

BAB II LANDASAN TEORI... 10

2.1 Konsep Dasar Sistem... 10

2.1.1 Pengertian Sistem... 10


(10)

ix

2.1.3 Klasifikasi Sistem ... 12

2.2 Konsep Dasar Informasi ... 14

2.2.1 Data Versus Informasi... 14

2.2.2 Siklus Informasi... 15

2.2.3 Nilai Informasi ... 16

2.3 Konsep Dasar Sistem Informasi ... 17

2.3.1 Pengertian Sistem Infromasi ... 17

2.3.2 Komponen Sistem Informasi... 18

2.4 Repository... 19

2.5 Surat ... 20

2.6 Konsep Basis Data dan DBMS (Database Management System) ... 22

2.6.1 Definisi Basis Data (Database)... 23

2.6.2 DBMS (Database Management System)... 26

2.7 Object Relational Mapping (ORM) ... 27

2.7.1 Alasan Memilih ORM... 28

2.7.2 Keunggulan ORM ... 28

2.8 SQL (Structured Query Language) ... 29

2.9 PostgreSQL ... 30

2.10 Web ... 31

2.10.1 Arsitektur Web Tradisional ... 32

2.10.2 Aplikasi Web ... 34

2.11 Unified Modeling Language (UML) ... 35

2.11.1 Use Case Diagram ... 37

2.11.2 Activity Diagram ... 38

2.11.3 Sequence Diagram ... 38

2.11.4 Class Diagram ... 39

2.11.5 Statechart Diagram ... 41

2.12 Java ... 41

2.12.1 Kelebihan Java ... 42

2.12.2 Kekurangan Java ... 44


(11)

x

2.14 Zkoss Framework ... 47

2.14.1 Alasan Memilih Teknologi Zkoss... 48

2.14.2 Karakteristik Utama ZK... 49

2.15 Perbandingan Framework ZK dengan Struts... 52

2.16 Pengujian Blackbox ... 53

2.17 Studi Literatur ... 54

BAB III METODOLOGI PENELITIAN ... 64

3.1. Metode Pengumpulan Data ... 64

3.1.1. Studi Lapangan ... 64

3.1.1.1 Observasi ... 64

3.1.1.2 Wawancara ... 65

3.1.2 Studi Pustaka ... 67

3.2 Metode Pengembangan Sistem (RAD) ... 68

3.2.1 Alasan Menggunakan RAD... 68

3.2.2 Fase-fase RAD ... 70

3.2.3 Kelebihan RAD ... 76

3.2.4 Kekurangan RAD... 77

3.3 Kerangka Berpikir Penelitian ... 78

BAB IV PEMBAHASAN ... 79

4.1 Perencanaan Persyaratan (Requirement Planning)... 79

4.1.1 Sekilas Tentang UIN Syarif Hidayatullah Jakarta ... 80

4.1.2 Visi, Misi dan Tujuan UIN ... 80

4.1.3 Subbagian Ortala UIN... 82

4.1.4 Struktur Organisasi ... 83

4.1.5 Analisa Sistem Yang Sedang Berjalan... 84

4.1.6 Identifikasi Masalah ... 85

4.1.7 Analisa Kebutuhan Sistem ... 86

4.1.7.1 Identifikasi Strategi IT ... 87


(12)

xi

4.1.7.3 Kebutuhan Fungsional Sistem ... 88

4.1.7.4 Kebutuhan Non Fungsional Sistem ... 88

4.1.8 Tujuan Pengembangan Sistem ... 89

4.1.9 Analisa Proses Bisnis Sistem yang Diusulkan ... 90

4.1.10 Membuat Use Case Diagram ... 91

4.1.10.1 Use Case Secenario... 93

4.2 Workshop Design ... 106

4.2.1 Design System ... 106

4.2.1.1 Membuat Activity Diagram ... 106

4.2.1.2 Membuat Sequence Diagram ... 138

4.2.1.3 Desain Basis Data ... 157

4.2.1.4 Perancangan Desain Interface... 161

4.2.2 Build System ... 172

4.2.2.1 Bahasa Pemrograman dan Komponen ... 172

4.3 Implmentasi ... 173

4.3.1 Perangkat Keras (Hardware) ... 173

4.3.2 Perangkat Lunak Sistem ... 174

4.3.3 Platform Arsitektur Teknologi ... 175

4.3.4 Topologi Infrastruktur ... 176

4.3.5 Pengujian Sistem... 177

4.3.6 Acceptance Testing (Pengujian Penerimaan) ... 188

BAB V KESIMPULAN DAN SARAN ... 189

5.1 Kesimpulan ... 189

5.2 Saran ... 190

DAFTAR PUSTAKA ... 191 LAMPIRAN-LAMPIRAN


(13)

xii

DAFTAR GAMBAR

Gambar 2.1. Siklus Informasi ... 16

Gambar 2.2. Komponen Sistem Informasi ... 19

Gambar 2.3 Jenjang dari data ... 24

Gambar 2.4 Interaksi antara pengguna dan server Web ... 33

Gambar 2.5 Contoh Use CaseDiagram ... 37

Gambar 2.6 Contoh Activity Diagram ... 38

Gambar 2.7 Contoh Sequence Diagram ... 39

Gambar 2.8 Contoh Class Diagram ... 41

Gambar 2.9 Contoh Statechart Diagram ... 41

Gambar 2.10 Struts Framework Bekerja Dalam Aplikasi Web... 46

Gambar 3.1 Fase RAD (Kendall & Kendall) ... 70

Gambar 3.2 Kerangka Berfikir Penlitian ... 78

Gambar 4.1 Struktur Organisasi Biro AUK UIN Syarif Hidayatullah Jakarta.. 83

Gambar 4.2.Rich Picture Sistem Berjalan ... 85

Gambar 4.3. Bisnis Sistem Usulan... 90

Gambar 4.4. Use Case Diagram yang diusulkan... 92

Gambar 4.5 Activity diagramuse caselogin ... 107

Gambar 4.6Activity diagram use case Lihat Struktur Organisasi... 108

Gambar 4.7Activity diagram use case Lihat Kontak ... 109

Gambar 4.8Activity diagram tambah berkas SK... 110


(14)

xiii

Gambar 4.10Activity diagram fungsi Cari Berkas SK Admin... 112

Gambar 4.11Activity diagram fungsi Cari Berkas SK User... 113

Gambar 4.12Activity diagram fungsi Validasi Berkas SK ... 114

Gambar 4.13Activity diagram fungsi Detail Berkas SK... 116

Gambar 4.14Activity diagram fungsi Download Berkas SK ... 117

Gambar 4.15Activity diagram Tambah Kategori... 118

Gambar 4.16Activity diagram Edit Kategori ... 120

Gambar 4.17Activity diagram Delete Kategori... 121

Gambar 4.18Activity diagram Tambah Indeks ... 123

Gambar 4.19Activity diagram Edit Indeks... 125

Gambar 4.20Activity diagram Delete Kategori ... 126

Gambar 4.21Activity diagram Tambah User Account... 128

Gambar 4.22Activity diagram Edit User Account ... 129

Gambar 4.23Activity diagramDelete User... 131

Gambar 4.24Activity diagram Tambah Role... 133

Gambar 4.25Activity diagramEdit Role... 134

Gambar 4.26Activity diagramDelete Role ... 136

Gambar 4.27Activity diagram use case logout ... 137

Gambar 4.28 Sequence diagram use case login User... 138

Gambar 4.29Sequence diagram use case login Admin ... 139

Gambar 4.30Sequence diagram use case Validasi I Berkas... 140

Gambar 4.31Sequence diagram use case Validasi II Berkas ... 141


(15)

xiv

Gambar 4.33Sequence diagram use case cari/detail/download Berkas ... 144

Gambar 4.34Sequence diagram use case cari/detail/download Berkas ... 146

Gambar 4.35Sequence diagram use case Input/Edit/Delete Kategori... 148

Gambar 4.36Sequence diagram use case Input/Edit/Delete Indeks ... 150

Gambar 4.37Sequence diagram use case Input/Edit/Delete User Account... 152

Gambar 4.38Sequence diagram use case Input/Edit/Delete Role... 154

Gambar 4.39Sequence diagram use case logout User... 155

Gambar 4.40Sequence diagram use case logout Admin ... 156

Gambar 4.41 Class Diagram ... 157

Gambar 4.42 Desain Interface Login... 161

Gambar 4.43 Desain Interface Beranda (User) ... 162

Gambar 4.44 Desain Interface Beranda Admin Ortala ... 162

Gambar 4.45 Desain Interface Beranda(Admin TU Rektorat) ... 163

Gambar 4.46 Desain Interface Beranda(Super Admin)... 163

Gambar 4.47 Desain Interface Struktur Organisasi... 164

Gambar 4.48 Desain Interface Kontak ... 164

Gambar 4.49 Desain Interface lihat berkas (user) ... 165

Gambar 4.50 Desain Interface lihat berkas (Admin TU Rektorat)... 165

Gambar 4.51 Desain Interface lihat/hapus berkas ... 166

Gambar 4.52 Desain Interface validasi berkas (Admin Ortala) ... 166

Gambar 4.53 Desain Interface validasi berkas (Admin TU Rektorat) ... 167

Gambar 4.54 Desain Interface Tambah Berkas/ Edit Berkas ... 167


(16)

xv

Gambar 4.56 Desain Interface Detail Berkas/ Download Berkas(Ortala) ... 168

Gambar 4.57 Desain Interface Detail Berkas/ Download Berkas(Rektorat) ... 169

Gambar 4.58 Desain Interface Tambah/ Edit / Delete Indeks ... 169

Gambar 4.59 Desain Interface Tambah/ Edit / Delete Kategori... 170

Gambar 4.60 Desain Interface Tambah/Edit/Hapus User ... 170

Gambar 4.61 Desain Interface Pengaturan Hak Akses ... 171

Gambar 4.62 Desain Interface Logout ... 171

Gambar 4.63 Platform Arsitektur Teknologi ... 175


(17)

xvi

DAFTAR TABEL

Tabel 4.1 Identifikasi Strategi IT... 87

Tabel 4.2 Identifikasi Pola Solusi ... 87

Tabel 4.3 Identifikasi Actor dengan Deskripsi ... 91

Tabel 4.4 Use Case Secenario Login... 93

Tabel 4.5 Use Case Scenario Telusur SK... 94

Tabel 4.6 Use Case Secenario Lihat Beranda ... 94

Tabel 4.7 Use Case Secenario Lihat Struktur Organisasi... 95

Tabel 4.8 Use Case Secenario Lihat Kontak... 96

Tabel 4.9 Use Case Secenario Lihat koleksi SK (User)... 96

Tabel 4.10 Use Case Secenario Lihat koleksi SK (Admin)... 97

Tabel 4.11 Use Case Secenario View Detail... 98

Tabel 4.12 Use Case Secenario Download SK... 98

Tabel 4.13 Use Case Secenario Delete ... 99

Tabel 4.14 Use Case Secenario Tambah SK... 100

Tabel 4.15 Use Case Secenario Validasi SK ... 101

Tabel 4.16 Use Case Secenario Role ... 102

Tabel 4.17 Use Case Secenario Tambah / edit / delete Indeks/Unit kerja ... 103

Tabel 4.18 Use Case Secenario Tambah / edit / delete Kategori ... 103

Tabel 4.19 Use Case Secenario Tambah / edit / delete user... 104

Tabel 4.20 Use Case Secenario Logout... 105


(18)

xvii

Tabel 4.22 Tabel indeks... 158

Tabel 4.23 Tabel berkas... 159

Tabel 4.24 Tabel tbmuser ... 159

Tabel 4.25 Tabel tbmaccount... 160

Tabel 4.26 Tabel tbmrole... 160

Tabel 4.27 Tabel refpage ... 161

Tabel 4.28 Testing role User ... 177

Tabel 4.29 Testing role Admin Ortala ... 179

Tabel 4.30 Testing role Admin TU Rektorat... 182

Tabel 4.31 Testing role Super Admin... 184


(19)

xviii

DAFTAR SIMBOL (Sholiq:2006:59-77)

Simbol Arti

Actor

Use Case

Association

Extends

Includes


(20)

xix

SIMBOL ACTIVITY DIAGRAM (Sholiq:2006:42:&161)

Simbol Arti

Activity

Initiate Activities

Start of the Process

Termination of the Process

Synchronization Bar


(21)

xx

SIMBOL CLASS DIAGRAM (Sholiq:2006:103-135)

Simbol Arti

Class

Ket :

1. Class name 2. Attributes 3. Behaviors

Association

Agregation


(22)

xxi

SIMBOL SEQUENCE DIAGRAM (Sholiq:2006:94-97)

Simbol Arti

Object

Lifeline

Message


(23)

1

1.1. Latar Belakang

Perkembangan aplikasi web yang semakin pesat sejak munculnya teknologi internet sangat membantu dalam kemudahan serta kecepatan pengiriman, penyampaian dan penerimaan informasi. Mulai dari perusahaan-perusahaan, sekolah-sekolah, perguruan tinggi, dan lembaga atau organisasi lainnya telah banyak memanfaatkan aplikasi web dalam kegiatan penjualan, promosi, belajar dan kegiatan lainnya dimana dibutuhkan pengiriman, penyebaran dan penerimaan informasi sehingga memberikan kemudahan bagi pengguna (user) yang membutuhkan.

Aplikasi web atau bisa disebut juga dengan perangkat lunak berbasis web telah berkembang dengan pesat baik dari segi penggunaan, ukuran, bahasa yang digunakan dan kompleksitasnya. Aplikasi web pada mulanya hanya berupa situs web yang bersifat statis dan navigated oriented, serta lebih banyak digunakan sebagai brosur produk atau profil perusahaan online. Pada saat ini aplikasi web telah banyak yang bersifat dinamis, interaktif dan task oriented untuk digunakan dalam sistem informasi, telekomunikasi, perdagangan, perbankan dan lain-lain.

Penggunaan sistem Informasi untuk membantu kinerja organisasi semakin dibutuhkan. Dengan didukung oleh kecanggihan teknologi informasi, telah memungkinkan pengembangan sistem informasi yang


(24)

semakin handal. Informasi merupakan salah satu sumber daya penting dalam menajemen moderen. Banyak keputusan strategis yang bergantung kepada informasi.

Repository adalah suatu tempat dimana data disimpan dan dipelihara. Sebuah Repository juga dapat berupa tempat dimana database

atau file disimpan untuk kemudian didistribusikan dengan menggunakan jaringan komputer. Repository SK (Surat Keputusan) adalah sebuah tempat Online untuk mengumpulkan dan menyebarkan suatu data dalam bentuk digital, yang mana merupakan output dari proses pengajuan atau usulan pembuatan sebuah SK yang telah terbit atau yang siap untuk diterbitkan.

UIN Syarif Hidayatullah Jakarta merupakan institusi perguruan tinggi yang memiliki jumlah pegawai yang cukup besar serta unit kerja yang cukup banyak. Untuk memudahkan pengolahan kearsipan maka selain melakukan kegiatan kearsipan secara manual, maka dibutuhkan suatu aplikasi sistem yang dapat menangani penyimpanan arsip secara digital, pencarian terhadap suatu arsip yang telah dibuat, dan lain sebagainya yaitu dengan sebuah sistem yang dinamakan Sistem

Repository SK.

Subbagian Organisasi Tata laksana dan Perundang-undangan UIN Jakarta mempunyai tugas melakukan administrasi organisasi, tata laksana dan perundang-undangan sekaligus mengarsipkan berkas-berkas yang dihasilkan disubbagian tersebut. Berdasarkan hasil observasi dan


(25)

wawancara penulis dengan Kasubbag Ortala dan staf-stafnya, proses penyimpanan berkas SK yang sudah disahkan masih dilakukan secara tradisional yaitu penyimpanan secara fisik pada lemari arsip. Belum dilakukan penyimpanan secara digital dalam suatu database.

Mengingat pentingnya surat-surat yang diarsipkan tersebut terutama arsip yang terkait dengan Surat Keputusan (SK) yang akan dan telah diterbitkan, maka dibutuhkan suatu konsep pengolahan penyimpanan arsip secara digital di lingkungan UIN Jakarta dalam bentuk Repository berbasis website agar kelak dapat memudahkan dalam pencarian kembali, dapat diakses oleh pimpinan dari masing-masing unit kerja dan pimpinan direktoratpada saat dibutuhkan secara real time serta mengurangi resiko terjadinya kehilangan file SK yang telah dibuat.

Berdasarkan penjelasan diatas, penulis tertarik untuk melakukan penelitian dalam rangka skripsi dengan tema “Rancang Bangun Sistem

Repository Surat Keputusan (SK) Dengan Memanfaatkan ZKOSS

Framework Studi Kasus: Subbagian Organisasi Tata Laksana dan Perundang-undangan Pusat UIN Syarif Hidayatullah Jakarta”.

Harapan dari penelitian ini adalah agar skripsi ini dapat memberikan solusi sebagai pemecahan masalah pengolahan dan penyimpanan serta publikasi Surat Keputusan dilingkungan dalam UIN Jakarta pada Subbagian Ortala UIN Jakarta.


(26)

1.2. Rumusan Masalah

Berdasarkan latar belakang tersebut, maka penulis merumuskan masalah yang akan dihadapi dalam penelitian dan pengembangan sistem sebagai berikut :

1. Bagaimana kegiatan Penyimpanan/Kearsipan dari SK yang telah diterbitkan ke dalam sebuah database agar dapat diakses kembali jika sewaktu-waktu dibutuhkan?

2. Bagaimana menjadikan Sistem Repository SK menjadi sebuah sumber informasi dan diakui legalitas serta keaslian datanya? 3. Bagaimana Sistem Repository SK dapat menampilkan berkas SK

secara utuh?

4. Bagaimana Sistem Repository SK dapat menjadi sebuah media sentrasilisasi berkas (SK) dilingkungan UIN Jakarta?

1.3. Pembatasan Masalah

Dalam pengembangan Sistem Repository SK ini, penulis membatasi masalah sebagai berikut :

1. Perancangan database yang akan menampung arsip digital berupa Surat Keputusan (SK) yang akan dan telah diterbitkan didalam lingkungan UIN Jakarta.

2. Perancangan dan pembangunan aplikasi berbasis web menggunakan bahasa pemrograman JAVA dan Zkoss Framework.


(27)

3. Penelitian dibatasi hanya untuk penyimpanan SK Kelembagaan yang terdiri dari 4 kategori Surat Keputusan (SK) pada 14 Unit Kerja yang ada dilingkungan UIN Jakarta.

4. Usulan rancangan sistem tidak membahas sistem keamanan yang digunakan.

5. Dalam melakukan perancangan aplikasi, penulis menggunakan bahasa pemodelan UML.

6. Pengguna sistem ini nantinya adalah admin Tata Usaha rektorat, Admin Ortala, pimpinan yang berwenang pada masing-masing unit kerja/fakultas, pihak PUSKOM sebagai administrator sistem.

1.4. Tujuan Penelitian

Tujuan yang ingin dicapai penulis dari penelitian ini adalah :

a. Menganalisis sistem yang ada (current system) pada Subbagian Ortala Pusat UIN Jakarta.

b. Merancang dan membangun Aplikasi Sistem Repository SK yang dapat menunjang aktivitas pada Subbag Ortala dan lingkungan dalam UIN Jakarta yang berkaitan dengan penyimpanan surat keputusan (SK) kedalam aplikasi Repository SK.

c. Tersedianya media publikasi SK secara online yang diterbitkan pada lingkungan UIN Jakarta.

d. Terjadinya sentralisasi penyimpanan SK yang dapat menjaga keaslian dari berkas yang disimpan tersebut.


(28)

e. Memudahkan dalam proses pencarian kembali berkas SK.

f. Menguji Aplikasi Sistem Repository SK dengan metode blackbox testing.

1.5. Manfaat Penelitian

1.5.1. Bagi Pengguna Sistem khususnya Subbagian Organisasi Tata Laksana dan Perundang-undangan UIN Jakarta.

Manfaat yang dapat dipetik oleh Subbagian Ortala UIN Jakarta dari penelitian ini antara lain :

a. Tersedianya aplikasi sistem Repository SK yang didukung dengan database sebagai tempat penyimpanan berkas SK secara digital yang dapat menampilkan konsep SK secara utuh.

b. Membantu dalam proses penyimpanan berkas SK secara digital dengan tetap menjaga keaslian dari SK.

c. Memudahkan dalam pencarian dan publikasi SK yang akan dan telah diterbitkan.

1.5.2. Bagi Penulis

Banyak sekali menfaat yang bisa penulis petik dalam penelitian skripsi ini, diantaranya adalah sebagai berikut :

a. Menambah wawasan penulis tentang teknologi informasi, khususnya dalam membangun sistem informasi berbasis web. b. Dapat mengimplementasikan ilmu yang didapat di bangku


(29)

1.5.3. Bagi Akademik

a. Mengetahui kemampuan mahasiswa dalam penguasaan materi dan penerapan ilmu yang telah didapat di bangku kuliah. b. Memberikan gambaran tentang kesiapan mahasiswa dalam

menghadapi dunia kerja dari hasil yang diperoleh selama pembelajaran pada masa kuliah.

1.6. Metodologi Penelitian

Metode penelitian yang digunakan dan diterapkan dalam penulisan tugas akhir ini meliputi :

1.6.1. Metodologi Pengumpulan Data

Dalam proses penulisan skripsi ini, bentuk metodologi pelaksanaan yang akan dilakukan antara lain :

a. Studi Lapangan, dalam studi lapangan terbagi menjadi dua bagian diantaranya:

- Observasi, yakni proses pengambilan data dalam penelitian dimana penelitian atau pengamat melihat langsung keadaan permasalahan penelitian yaitu sistem yang berjalan saat ini. - Wawancara, yakni mengumpulkan data melalui tanya jawab

dan diskusi dengan pihak-pihak bagian kepegawaian. b. Studi Pustaka, yakni mengumpulkan data melalui buku

maupun artikel yang berhubungan dengan penulisan skripsi ini.


(30)

1.6.2. Metodologi Pengembangan Sistem

Pengembangan sistem dalam penelitian ini penulis menggunkan metode RAD(Rapid Application Development). RAD adalah suatu pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup metode pengembangan serta perangkat-perangkat lunak Model RAD ini terdiri atas tiga tahapan utama, antara lain: requirements planning(perencanaan syarat-syarat), RAD design workshop (workshop desain RAD) dan

implementation(implementasi). (Kendall & Kendall, 2003:237)

1.7. Sistematika Penulisan

Untuk mendapatkan gambaran umum secara menyeluruh dari penulisan skripsi ini, maka dapat dijelaskan mengenai penulisan yang ada pada sub bab ini. Sistematika penulisan skripsi ini terdiri dari lima bab yang masing-masing memiliki kaitan yang jelas. Berikut ini adalah ringkasan dari tiap-tiap bab tersebut :

BAB I PENDAHULUAN

Bab ini menjelaskan mengenai masalah yang melatarbelakangi penulisan skripsi ini. Selain itu bab ini juga membahas ruang lingkup, pembahasan masalah, tujuan yang ingin dicapai dan manfaat yang dapat diperoleh dengan adanya sistem yang baru. Bab ini juga membahas mengenai metodologi pengembangan


(31)

sistem yang digunakan serta sitematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi tentang teori-teori yang digunakan sebagai dasar dalam pengembangan aplikasi sistem ini.

BAB III METODOLOGI PENELITIAN

Penjelasan mengenai metode pengumpulan data dan metode pengembangan sistem yang digunakan untuk sistem yang dibuat pada skripsi ini.

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang analisis terhadap kebutuhan sistem, serta implementasi pengembangan secara nyata.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang dapat dibuat dari hasil analisis, pengembangan, serta pengujian sistem yang telah dilakukan. Selain itu juga terdapat saran-saran yang dapat digunakan untuk pengembangan sistem lebih lanjut di masa yang akan datang.


(32)

10

2.1 Konsep Dasar Sistem

Sistem merupakan sekumpulan dari subsistem-subsistem yang saling terintegrasi untuk mencapai tujuan tertentu. Untuk lebih mendalami suatu konsep dasar dari sistem terdapat beberapa ahli yang berpendapat mengenai apa itu sistem, karakteristik sistem dan klasifikasi sistem.

2.1.1. Pengertian Sistem

“Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu” (Jogiyanto, 2001). Sedangkan menurut (Kadir, 2003). “Sistem adalah sekumpulan elemen yang saling terkait atau terpadu yang dimaksudkan untuk mencapai suatu tujuan”.

2.1.2. Karakteristik Sistem

Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu, (Jogiyanto, 2001), yaitu :

1. Komponen Sistem (components)

Suatu sistem terdiri dari sejumlah komponen atau elemen yang saling berinteraksi, artinya komponen atau elemen yang saling bekerja sama dalam bentuk satu kesatuan. Komponen atau elemen sistem dapat berupa subsistem atau bagian dari sistem. Setiap subsistem mempunyai sifat-sifat dari sistem. Untuk menjalankan


(33)

suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan.

2. Batas Sistem (boundary)

Batas sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luar. Batas suatu sistem menunjukan lingkup (scope) dari sistem tersebut.

3. Lingkungan Luar Sistem (environments)

Lingkungan luar dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi dari sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan juga merugikan. Lingkungan luar yang menguntungkan merupakan energi dari sistem dan demikian harus dijaga dan dipelihara. Sedangkan lingkungan yang merugikan harus ditahan dan dikendalikan, jika tidak maka akan mengganggu kelangsungan hidup sistem.

4. Penghubung Sistem (interface)

Penghubung sistem merupakan media penghubung antara satu subsistem dengan subsistem yang lain untuk dapat berinteraksi membentuk suatu kesatuan.

5. Masukan Sistem (input)

Masukan sistem merupakan energi yang dimasukan ke dalam sistem yang berupa masukan perawatan (maintenance input) dan keluaran sinya (signal output). Maintenance input adalah energi yang


(34)

dimasukan supaya sistem tersebut dapat beroperasi. Signal output

adalah energi yang diproses untuk mendapatkan keluaran.

6. Keluaran Sistem (output)

Keluaran sistem adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan.

7. Pengolahan Sistem (process)

Suatu sistem dapat mempunyai suatu bagian pengolahan yang akan merubah masukan menjadi keluaran yang berguna.

8. Sasaran Sistem (objective) atau tujuan sistem (Goal)

Suatu sistem harus mempunyai sasaran, karena sasaran sangat menentukan sekali masukan yang dibutuhkan oleh sistem dan keluaran yang akan dihasilkan sistem. Suatu sistem dikatakan berhasil apabila mengenai sasaran atau tujuan.

2.1.3. Klasifikasi Sistem

Sistem merupakan suatu bentuk integrasi antara suatu komponen dengan komponen lain, karena sistem memiliki sasaran yang berbeda untuk setiap kasus yang terjadi ada dalam sistem tersebut. Suatu sistem dapat diklasifikasikan kedalam beberapa sudut pandang, diantaranya adalah sebagai berikut (Ladjmudin, 2005).

a. Sistem Abstrak dan Sistem Fisik

Sistem abstrak (abstract system) adalah sistem yang berupa pemikiran atau ide-ide yang tampak secara fisik. Misalnya sistem


(35)

teologi, yaitu sistem yang berupa pemikiran-pemikiran hubungan antara manusia dengan Tuhan. Sistem fisik (physical system)

merupakan sistem yang ada secara fisik. Misalnya sistem komputer, sistem akuntansi, sistem produksi dan lain sebagainya.

b. Sistem Alamiah dan Sistem Buatan Manusia

Sistem alamiah (natural system) adalah sistem yang terjadi karena proses alam yang tidak dibuat oleh manusia (ditentukan dan tunduk kepada kehendak sang pencipta alam). Misalnya sistem perputaran bumi, sistem pergantian siang dan malam. Sistem buatan manusia (human made system) adalah sistem yang dirancang oleh manusia. Sistem buatan manusia yang melibatkan interaksi manusia dengan mesin yang disebut dengan human-machine system.

c. Sistem Tertentu dan Sistem Tak Tentu

Sistem tertentu (deterministic system) beroperasi dengan tingkah laku yang sudah dapat diprediksi. Interaksi diantara bagian-bagiannya dapat dideteksi dengan pasti, sehingga keluaran dari sistem dapat diramalkan. Sistem komputer adalah contoh dari sistem tertentu yang tingkah lakunya dapat dipastikan berdasarkan program-program yang dijalankan. Sistem tak tentu (probabilistic system) adalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilitas.


(36)

d. Sistem Tertutup dan Sistem Terbuka

Sistem tertutup (closed system) merupakan sistem yang tidak berhubungan dan tidak terpengaruh dengan lingkungan luarnya. Sistem ini bekerja secara otomatis tanpa adanya turut campur tangan dari pihak diluarnya.

Sistem terbuka (open system) adalah sistem yang berhubungan dan terpegaruh dengan lingkungan luarnya. Sistem ini menerima masukan dan menghasilkan keluaran untuk lingkungan luar atau subsistem yang lainnya. Karena sistem sifatnya terbuka dan terpengaruh oleh lingkungan luarnya, maka suatu sistem harus mempunyai suatu sistem pengendalian yang baik.

2.2. Konsep Dasar Informasi

Untuk lebih mengenal apa itu data dan apa itu informasi, terlebih dahulu harus mengenal definisi dari data dan informasi itu sendiri.

2.2.1. Data Versus Informasi

Data adalah deskripsi dari sesuatu atau kejadian yang kita hadapi (the description of things and events that we face). Definisi data yang lain adalah data merupakan kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Kesatuan nyata adalah berupa suatu objek nyata seperti tempat, benda dan orang yang betul-betul ada dan terjadi. Untuk pengambilan keputusan bagi manajemen,


(37)

maka faktor-faktor tersebut harus diolah lebih lanjut untuk menjadi suatu informasi. (Ladjamudin, 2005).

Informasi adalah data yang telah diproses sehingga lebih bermakna. (McLeod, 2004:12). Definisi lain menyebutkan bahwa informasi adalah data yang telah diproses atau disusun kedalam suatu format lebih berarti untuk seseorang. Informasi dibentuk dari data yang dengan penuh harapan dapat mempunyai arti bagi penerimanya. (Whitten, 2004:27).

2.2.2. Siklus Informasi

Data merupakan bentuk yang masih mentah, belum dapat bercerita banyak, sehingga harus diolah lebih lanjut. Data diolah melalui suatu model untuk menghasilkan suatu informasi. Data dapat berbentuk simbol-simbol semacam huruf-huruf atau alphabet, angka-angka, bentuk-bentuk suara, sinyal-sinyal, gambar-gambar, dan sebagainya (Jogiyanto, 1999). Jadi, pada intinya adalah bahwa hasil dari pengolahan data adalah berupa informasi yang sangat diperlukan oleh penerimanya. Ini dapat dilihat pada gambar 2.1 yang dikemukakam oleh Ladjmudin, berpendapat bahwa untuk memperoleh informasi yang bermanfaat bagi penerimanya, perlu untuk dijelaskan bagaimana siklus yang terjadi atau dibutuhkan dalam menghasilkan informasi (Ladjmudin, 2005). Siklus informasi atau siklus pengolahan data adalah sebagai berikut :


(38)

Gambar 2.1. Siklus Informasi (Ladjamudin, 2005)

2.2.3. Nilai Informasi

Nilai dari informasi ditentukan oleh dua hal, yaitu : manfaat dan biaya mendapatkannya. Suatu informasi dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya untuk mendapatkannya. Akan tetapi, perlu diperhatikan bahwa informasi yang digunakan didalam suatu sistem informasi umumnya digunakan untuk beberapa kegunaan. Sehingga tidak memungkinkan dan sulit untuk menghubungkan suatu bagian informasi pada suatu masalah tertentu dengan biaya untuk memperolehnya, karena sebagian besar informasi dinikmati tidak hanya oleh satu pihak didalam perusahaan (Jogiyanto, 2005). Tidak jauh beda dengan pendapat (Ladjamudin, 2005), yang berpendapat bahwa suatu informasi dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya untuk mendapatkannya dan sebagian informasi tidak dapat tepat ditaksir keuntungannya dengan suatu nilai uang, tetapi dapat ditaksir nilai efektivitasnya. Pengukurannya dapat menggunakan analisis cost effectivennes atau cost benefit.

M asukan (Data)

Proses (M odel)

Keluaran (Informasi)


(39)

2.3. Konsep Dasar Sistem Informasi

Informasi merupakan hal yang sangat penting bagi manajemen dalam menunjang suatu pengambilan keputusan, maka sistem informasi sangat diperlukan dalam hal mendapatkan informasi.

2.3.1. Pengertian Sistem Informasi

Menurut (Jogiyanto, 1999) sistem informasi didefinisikan sebagai suatu sistem didalam suatu organisasi yang merupakan kombinasi dari orang-orang, fasilitas, teknologi, media prosedur-prosedur dan pengendalian yang ditujukan untuk mendapatkan jalur komunikasi penting, memproses tipe transaksi rutin tertentu, memberi sinyal kepada manajemen dan yang lainnya terhadap kejadian-kejadian

internal dan eksternal yang penting dan menyediakan suatu dasar informasi untuk pengambilan keputusan yang cerdik (Jogiyanto, 1999). Sedangkan, Ladjamudin menjelaskan suatu sistem informasi dapat didefinisikan sebagai berikut (Ladjamudin, 2005).

1. Suatu sistem yang dibuat oleh manusia yang terdiri dari komponen-komponen dalam organisasi untuk mencapai suatu tujuan yaitu menyajikan informasi.

2. Sekumpulan prosedur organisasi yang pada saat dilaksanakan akan memberikan informasi bagi pengambil keputusan dan atau untuk mengendalikan organisasi.

3. Suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi, mendukung operasi, bersifat


(40)

manajerial, dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan.

2.3.2. Komponen Sistem Informasi

Dalam suatu sistem informasi terdapat komponen-komponen yaitu hardware, software, prosedur, brainware, database, jaringan komputer dan komunikasi data (Kadir, 2003).

a. Perangkat keras (hardware)

Mencakup piranti-piranti fisik seperti komputer, printer, monitor. b. Perangkat lunak (software)

Sekumpulan intruksi yang memungkinkan perangkat keras untuk memproses data.

c. Prosedur

Sekumpulan aturan yang dipakai untuk mewujudkan pemrosesan data dan pembangkitan keluaran yang dikehendaki.

d. Pengguna (brainware)

Semua pihak yang bertanggung jawab dalam pengembangan sistem informasi, pemrosesan, dan penggunaan keluaran sistem informasi. e. Basis data (database)

Sekumpulan tabel, hubungan, dan lain-lain yang berkaitan dengan penyimpanan data.


(41)

Sistem penghubung yang memungkinkan sumber (resources)

dipakai secara bersama atau diakses oleh sejumlah pemakai.

Menurut (Ladjamudin, 2005) keenam komponen diatas diklasifikasikan menjadi tiga bagian yaitu sebagai berikut :

1. Hardware (perangkat keras) dan Software (perangkat lunak) yang berfungsi sebagai mesin.

2. People dan Prosedur merupakan manusia dan tatacara menggunakan mesin.

3. Data merupakan jembatan penghubung antara manusia dan mesin agar terjadi suatu proses pengolahan data.

Gambar 2.2. Komponen Sistem Informasi (Ladjamudin, 2005)

2.4. Repository

Repository adalah tempat penyimpanan atau gudang (John M. Echols, 2006). Sebuah repository dapat berupa :

1. Tempat dimana data disimpan.

2. Tempat dimana secara khusus data dalam format digital disimpan. Hardw are

(Perangkat Keras)

Soft w are

(Perangkat Lunak)

People

(M anusia)

Procedures

(Prosedur) DATA


(42)

3. Tempat dimana eprint diletakkan.

4. Tempat dimana beberapa database atau file diletakaan untuk didistibusikan secara jaringan komputer.

5. Tempat dimana sesuatu disimpan yang kemungkinan untuk digunakan lagi.

Sebuah repository SK adalah sebuah tempat online untuk mengumpulkan dan menyebarkan berkas SK dalam bentuk digital, yang mana merupakan output dari institusi khusunya hasil dari sebuah keputusan pimpinan yang harus diakui bersama.

2.5. Surat

Surat adalah sesuatu yang ditulis, yang tertulis atau tulisan. Sedangkan keputusan memiliki arti prihal yang berkaitan dengan putusan atau segala putusan yang telah ditetapkan (sudah dipertimbangkan dan dipikirkan) (Dept. Pendidikan Nasional, 2008).

Dalam kehidupan sehari-hari terdapat bermacam jenis-jenis surat yang berdar, baik antar organisasi, antar instansi maupun antar perusahaan. Dalam hal-hal tertentu jelas ada perbedaan-perbedaan, baik asal surat, sifat surat, tujuan, cara pembuatan ataupun cara pengirimannya.

Jenis-jenis surat dapat ditinjau dari beberapa segi sebagai mana yang diuraikan berikut ini. Berdasarkan Sifatnya Surat dapat digolongkan menjadi 5 jenis :


(43)

a. Surat Pribadi

Adalah surat-surat yang bersifat kekeluargaan, surat-surat yang berisi masalah keluarga, baik tentang kesehatan, keuangan keluarga dan sebagainya.

Contoh:

- Surat dari orang tua kepada anaknya. - Surat persahabatan.

- Surat perkenalan dan sebagainya.

b. Surat Dinas Pribadi

Disebut juga surat setengah resmi adalah surat-surat yang dikirimkan dari seseorang kepada instansi-instansi, perusahaan-perusahaan ataupun jawatan-jawatan.

Contoh:

- Surat lamaran kerja.

- Surat permohonan tidak masuk kerja dan sebagainya.

c. Surat Dinas Swasta

Disebut juga surat resmi adalah surat-surat yang dibuat oleh instansi-instansi swasta, yang dikirimkan untuk para karyawannya ataupun untuk para relasinya atau langganannya atau instansi-instansi yang terkait.


(44)

- Surat undangan rapat untuk para karyawan. - Surat undangan pertemuan untuk para relasi.

- Surat rapat tahunan para pemegang saham dan sebagainya.

d. Surat Niaga

Adalah surat yang berisi soal-soal perdagangan yang dibuat oleh perusahaan yang dikirimkan kepada para pelanggan.

Contoh:

- Surat perkenalan barang. - Surat penawaran barang.

- Surat pesanan barang dan sebagainya.

e. Surat Dinas Pemerintah

Adalah surat-surat yang berisi masalah-masalah administrasi pemerintahan yang dibuat oleh instansi pemerintah.

Contoh:

- Surat keputusan. - Surat instruksi. - dll.

2.6. Konsep Basis Data dan DBMS (Database Management System)

Ada dua pendekatan untuk menyimpan data dalam sistem yang berdasarkan komputer (Kendal dan Kendall, 2003). Metode yang pertama adalah menyimpan data dengan file individu, masing-masing khusus untuk aplikasi tertentu. Pendekatan kedua untuk penyimpanan data dalam sistem


(45)

berdasarkan komputer meliputi membangun basis data. Basis data didefinisikan secara formal dan mengontrol penyimpanan data terpusat yang dimaksud untuk penggunaan dalam banyak aplikasi berbeda.

2.6.1. Definisi Basis Data (Database)

Basis data (database) merupakan kumpulan dari data yang saling berhubungan satu dengan lainnya, tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya (Jogiyanto, 1999). Penjelasan lain dikemukakan bahwa basis data tidak hanya kumpulan file, lebih dari itu, basis data adalah pusat sumber data yang caranya dipakai oleh banyak pemakai untuk berbagai aplikasi. Inti dari basis data adalah database management system (DBMS), yang membolehkan pembuatan, modifikasi, dan pembaharuan basis data (Kendall dan Kendall, 2003). Sedangkan Hariyanto menjelaskan dalam bukunya Sistem Manajemen Basis data, basis data adalah kumpulan data (elementer) yang secara logic berkaitan dalam mempresentasikan fenomena / fakta secara terstruktur dalam domain tertentu untuk mendukung aplikasi dalam sistem tertentu (Hariyanto, 2004). Jadi, basis data merupakan suatu komponen utama sistem informasi karena semua informasi untuk pengambilan keputusan berasal dari data yang ada pada basis data.


(46)

Gambar 2.3 Jenjang dari data (Jogiyanto, 1999)

Sampai dengan membentuk suatu database, data mempunyai jenjang yang dapat dilihat pada gambar 2.3 (Jogiyanto, 1999)

a. Characters

Characters merupakan bagian data yang terkecil, dapat berupa karakter numerik, huruf ataupun karakter-karakter khusus (special Characters) yang membentuk suatu item data atau Field.

b. Field

Field menggambarkan suatu atribut dari record yang menunjukkan suatu item dari data, seperti misalnya nama, alamat, dan lain sebagainya. Kumpulan dari Field membentuk suatu

record.

Dat abase

File

Record

Data It em atau Field


(47)

1. Nama dari Field (Field name)

Field harus diberi nama unruk membedakan Field yang satu dengan Field yang lainnya.

2. Representasi dari Field (Field representation)

Representasi dari Field menunjukan tipe dari Field (Field type) dapat berupa tipe numeric, karakter atau huruf, tanggal, dan memo. Serta lebar dari Field (Field width) menunjukan ruang maksimum dari Field yang dapat diisi dengan karakter-karakter data.

3. Nilai dari Field(Field value)

Nilai dari Field menunjukan isi dari Field untuk masing-masing record.

c. Record

Record merupakan kumpulan dari Field yang membentuk suatu

record. Record menggambarkan suatu unit data individu tertentu. Kumpulan dari record membentuk suatu file. Misalnya file

mahasiswa, tiap-tiap record dapat mewakili data tiap-tiap mahasiswa.

d. File

File terdiri dari record-record yang menggambarkan suatu kesatuan data yang sejenis. Misalnya file mata kuliah berisi data tentang semua mata kuliah yang ada.


(48)

e. Database

Database merupakan kumpulan dari file yang membentuk suatu

database. Tujuan basis data yang efektif termuat di bawah ini (Kendall dan Kendall, 2003).

1. Memastikan bahwa data dapat dipakai diantara pemakai untuk berbagai aplikasi.

2. Memelihara data baik keakuratan maupun konsistensi. 3. Memastikan bahwa semua data yang diperlukan untuk

aplikasi sekarang dan yang akan datang akan disediakan secara cepat.

4. Membolehkan basis data untuk berkembang dan kebutuhan pemakai untuk berkembang.

5. Membolehkan pemakai untuk mengembangkan pandangan personalnya tentang data tanpa memperhatikan cara data disimpan secara fisik.

2.6.2. DBMS (Database Management System)

Database Management System (DBMS atau DMS) adalah paket perangkat lunak yang kompleks digunakan untuk memanipulasi

database (Jogiyanto, 1999). Lebih detail lagi dijelaskan oleh Hariyanto bahwa DBMS adalah perangkat lunak ntuk mendefinisikan, menciptakan, mengelola dan mengendalikan pengaksesan basis data (Hariyanto, 2004).


(49)

Semua operasi input dan output yang berhubungan dengan

database harus menggunakan DBMS. Bila pemakai akan mengakses

database, DBMS menyediakan penghubung (interface) antara pemakai dengan database (Jogiyanto, 1999).

Hubungan pemakai dengan database dapat dilakukan dengan dua cara :

a. Secara interaktif menggunakan bahasa pertanyaan (query language).

b. Dengan menggunakan program aplikasi.

2.7. Object Relational Mapping (ORM)

ORM (Object Relational Mapping) adalah sebuah teknik pemrograman yang menghubungkan perbedaan tipe data pada konsep pemrograman yang berorientasi obyek dengan konsep RDBMS. Dengan mengimplementasikan ORM, developer bisa lebih berfikir secara obyek dibanding dengan tabel dan kolom-kolom yang menjadi ciri dari model relasional. ORM digunakan untuk menjaga kemurnian pola pikir developer

atas pemrograman berorientasi obyek. (Object Relational Mapping (ORM) Object Oriented Programming, 2010).

Konsep ORM adalah konsep dimana dilakukan mapping dari tabel menjadi obyek. Kolom-kolom yang ada pada tabel nantinya akan menjadi


(50)

Karena merupakan obyek, untuk mengakses beberapa row sekaligus, dapat disamakan dengan mengakses array dari obyek.

2.7.1.Alasan Memilh ORM

Beberapa alasan mengapa penulis memilih konsep ORM sebagai konsep dalam memodelkan basis data. Yang pertama karena, ORM secara otomatis object-to-table dan table-to object conversion, yang menyederhanakan pengembangan aplikasi. Perkembangan pasar kini lebih disederhanakan menuju ke kecepatan waktu dan mengurangi biaya pengembangan dan pemeliharaan. Selanjutnya, ORM membutuhkan sedikit kode dibandingkan dengan menggunakan perintah SQL. ORM menyediakan caching transparan obyek pada klien dengan demikian meningkatkan kinerja sistem. Sebuah ORM yang baik adalah solusi yang sangat optimal yang akan membuat aplikasi lebih cepat dan lebih mudah.

2.7.2. Keunggulan ORM

ORM memiliki kemampuan untuk menciptakan obyekdatabase virtual, yaitu suatu model database yang direpresentasikan kedalam sebuah obyek pada bahasa pemrograman OOP. Berikut ini adalah beberapa kelebihan yang dimiliki ORM, antara lain:

1. Mempercepat pengembangan program. Contohnya, mengurangi perulangan kode query, memudahkan pemakaian karena tabel-tabel ter-representasikan dalam bentuk obyek.


(51)

2. Membuat akses data menjadi lebih abstrak dan portable. Hal ini dikarenakan ORM menanganigenerate (pembangkitan) syntax SQL berdasarkan vendor database-nya (contoh MySQL, PostgreSQL, Oracle, DbDerby, dll).

3. Mendukung enkapsulasi business rule pada lapisan Data Access. 4. Dapat melakukan generateboilerplate code (unit kode yang

reusable) untuk fungsi dasar CRUD (create, retrieve, update, delete).

2.8.SQL (Structured Query Language)

SQL (dibaca “es-que-el” atau “sequel”) singkatan dari Structured Query Language. SQL adalah bahasa yang digunakan untuk berkomunikasi dengan database. Menurut ANSI (American National Standards Institute),

bahasa ini merupakan standar untuk relationaldatabase management system

(RDBMS) (Sidik, 2004). Menurut (Hariyanto,2004) SQL adalah bahasa yang menghubungkan fitur-fitur bahasa query formal aljabar relasional dan bahasa

query formal kalkulus relasional. SQL tidak hanya bahasa untuk query

terhadap basis data. SQL juga berisi fasilitas untuk pendefinisian struktur data, modifikasi struktur data dan data di basis data, serta juga digunakan untuk menspesifikasi konstrain-konstrain integritas dan keamanan (Hariyanto, 2004).

Beberapa software RDBMS dapat menggunakan SQL, seperti:


(52)

PostgreSQL. Setiap software database mempunyai bahasa perintah/sintaks yang berbeda, namun pada prinsipnya mempunyai arti dan fungsi yang sama. Perintah-perintah tersebut antara lain “Select”, “Insert”, “Update”, “Create”, dan “Drop”, yang dapat digunakan untuk mengerjakan hampir semua kebutuhan untuk memanipulasi sebuah database.

2.9. PostgreSQL

PostgreSQL merupakan sebuah Objek Relasional Data Base Management System (ORDBMS) yang dikembangkan oleh Brekely

Computer Science Departement. Sistem yang ditawarkan PostgreSQL diharapkan sanggup dan dapat mencukupi untuk kebutuhan proses aplikasi data masa depan. PostgreSQL juga menawarkan tambahan-tambahan yang cukup signifikan yaitu class, inheritance, type, dan function. Tambahan keistimewaan lain yang tidak dimiliki database management system yang lain berupa constraint, triggers, rule, dan transaction integrity, dengan adanya

feature (keistimewaan) tersebut maka para pemakai dapat dengan mudah mengimplementasikan dan menyampaikan sistem ini. Sejak tahun 1996 PostgreSQL mengalami kemajuan yang sangat berarti, berbagai keistimewaan dari PostgreSQL sanggup membuat database ini melebihi database lain dari berbagai sudut pandang.

Pada awal pembuatannya di University of California Berkeley (1977-1985) PostgreSQL masih mempunyai banyak kekurangan bila dibandingkan dengan database lain, namun seiring dengan berjalannya waktu tepatnya pada


(53)

tahun 1996 PostgreSQL berubah menjadi sebuah database yang menawarkan standar melebihi standar ANSI-SQL92 dan sanggup memenuhi permintaan dunia open source akan server database SQL. Standar ANSI-SQL92 merupakan standar yang ditetapkan untuk sebuah database bersekala besar seperti Oracle, Interbase, DB2 dan yang lainnya.

PostgreSQL adalah object-relational database management system

yang datang begitu banyak fitur, diantaranya multivision concurency control

(MVCC), mendukung hampir semua aturan SQL dan memiliki banyak dukungan bahasa pemrograman lain seperti C/ C++, TCL, Java, Perl dan Python. Dengan berbagai fitur tersebut, layaknya PostgreSQL mengklaim dirinya sebagai most advanced database system. Proyek open source yang hebat umumnya relatif sulit digunakan. Begitu pun dengan PostgreSQL. Dibandingkan dengan MySQL, PostgreSQL relatif lebih sulit digunakan karena kompleksitasnya yang begitu besar. Namu, bagi pengguna yang lebih peduli untuk merancang database yang bagus dan hanya sekedar menggunakannya, maka PostgreSQL tetap layak digunakan dan dapat dipelajari dalam waktu yang singkat, dengan catatan pengguna tersebut telah memahami konsep database dan SQL secara umum.

2.10. Web

Pada tahun 1991, Tim Berners-Lee mengembangkan visi untuk

Network Information Project pada le Centre Europeen de Recherche Nucleaire (CERN) di Swiss. Misinya adalah untuk menciptakan sistem


(54)

informasi global yang mudah, namun kuat berdasarkan pada hiperteks. Dua bagian utama yang muncul dari proyek ini adalah HyperText Markup Language (HTML) dan HyperText Transfer Protocol (HTTP).

HTML adalah bahasa markup untuk menyebarkan informasi pada Web. Ketika merancang HTML, ide ini diambil dari Standard Generalized Markup Language (SGML). SGML adalah cara yang terstandarisasi dari pengorganisasian dan informasi yang terstruktur di dalam dokumen atau sekumpulan dokumen. Walaupun HTML tidak dengan mudah dapat dipahami kebanyakakn orang, ketika diterbitkan penggunanya menjadi jelas. HTTP adalah protokol komunikasi stateless yang berbasiskan pada TCP yang awalnya digunakan untuk mengambil kembali file-file HTML dari server Web ketika dirancang pada tahun 1991.(Simarmata, 2010)

HTML dan HTTP telah dikembangkan lebih lanjut sejak keduanya pertama kali diusulkan. World Wide Web Consortion (W3C) pada awal Oktober 1994 dan temuan Tim Berners-Lee telah menyatu dan memimpin evolusi teknis dari Web. Sekarang ini, W3C mempunyai lebih dari 500 anggota organisasi. Microsoft, IBM dan Ericsson adalah beberapa diantaranya yang menjadi anggota W3C.

2.10.1.Arsitektur Web Tradisional

Ada dua komponen dasar di dalam arsitektur Web, yaitu

browser Web dan server Web. Browser Web menawarkan antarmuka grafis untuk pengguna dan bertanggung jawab untuk komunikasi dengan server Web. Protokol komunikai antara browser


(55)

dan server Web mengikuti protokol HTTP yang distandarisasi. (Lindskog, 2003)

Gambar 2.4 Interaksi antara pengguna dan server Web (Lindskog, 2003) 1. Pengguna meminta suatu layanan dengan mengklik tautan (link)

atau dengan mengetikkan sebuah perintah melalui keyboard.

Browser Web menangkap perintah tersebut dan menerjemahkannya ke dalam permintaan HTTP.

2. Browser kemudian meneruskan permintaan yang baru saja diciptakan kepada server Web dari penyedia konten. Ketika server

menerima sebuah permintaan, permintaan tersebut akan diproses. 3. Ketika pemrosesan dilakukan, server Web kemudian mengirimkan

kembali respon tersebut ke browser.

4. Ketika browser menerima respon tersebut, browser

menerjemahkannya ke dalam bentuk yang dapat dibaca oleh manusia.

Antar muka antara pengguna dan browser adalah bahasa HTML yang terstandarisasi. Sedangkan komunikasi antara browser


(56)

2.4 hanya mengilustrasikan bentuk komunikasi yang paling sederhana antara pengguna dan server Web.

2.10.2. Aplikasi Web

Aplikasi Web adalah sebuah sistem informasi yang mendukung interaksi pengguna melalui antarmuka berbasis Web. Fitur-fitur aplikasi Web biasanya berupa data persistence, mendukung transaksi dan komposisi halaman Web dinamis yang dapat dipertimbangkan sebagai hibridisasi, antar hipermedia dan sistem informasi. (Simarmata, 2010)

Aplikasi Web adalah bagian dari client-side yang dapat dijalankan oleh browser Web. Client-side mempunyai tanggung jawab untuk pengeksekusian proses bisnis. Interaksi Web dibagi kedalam tiga langkah, yaitu permintaan, pemrosesan dan jawaban.

1. Permintaan

Penggunaan mengirimkan permintaan ke server Web, biasanya

via halaman Web yang ditampilkan pada browser Web.

2. Pemrosesan

Server Web menerima permintaan yang dikirimkan oleh pengguna, kemudian memproses permintaan tersebut.

3. Jawaban

Browser menampilkan hasil dari permintaan pada jendela


(57)

Halaman Web bisa terdiri dari beberapa jenis informasi grafis (tekstual dan multimedia). Kebanyakan komponen grafis dihasilkan dengan perkakas (tools) khusus, menggunakan manipulasi langsung dan editor WYSIWIG.

Halaman Web juga dapat dibuat dengan menggunakan berbagai program agar dapat menampilkan suatu informasi di dalam

browser (misalnya, Java atau PHP). Pembangunan aplikasi Web membutuhkan beberapa kualifikasi yang berbeda. Biasanya, para

developer dalam pembangunan Web akan memegang peranan berikut:

1. Pemasaran, untuk menetapkan target pengunjung Web dan konten untuk diserahkan.

2. Perancangan grafis, untuk menetapkan tampilan visual (meliputi tata letak halaman, huruf, warna, gambar dan film). 3. Integrator HTML, untuk mengembangkan halaman HTML. 4. Pemrogram, untuk menulis program (didalam Java, PHP atau

bahasa pemrograman lainnya, yang dapat dikombinasikan dengan HTML).

2.11. Unified Modeling Language (UML)

UML (Unified Modeling Language) pertama kali dikenalkan pada tahun 1990-an ketika Grady Booch dan Ivan Jacobson dan James Rumbaugh mulai mengadopsi ide-ide serta kemampuan-kemampuan


(58)

tambahan dari masing-masing metodenya dan berusaha membuat metodologi terpadu yang kemudian dinamakan UML (Unified Modeling Language). UML merupakan metode pengembangan perangkat lunak (sistem informasi) dengan metode grafis yang relatif mudah dipahami. (Nugroho, 2005:20)

Menurut Fowler, UML adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OO).

UML merupakan standar yang relatif terbuka yang dikontrol oleh

Object Management Group (OMG), sebuah konsorsium terbuka yang terdiridari banyak perusahaan. OMG dibentuk untuk membuat standar-standar yang mendukung interoperabilitas, khususnya interoperabilitas

sistem berorientasi objek.

UML menyediakan beberapa diagram visual yang menunjukan berbagai aspek dalam sistem. Beberapa diagram yang disediakan pada UML

standard version 2.0 OMG antara lain (Martin Fowler, 2004)

1. Use case diagram 2. Activity diagram 3. Sequence diagram 4. Class diagram 5. Statechart diagram


(59)

Dengan menggunakan UML maka dapat membuat model untuk semua jenis aplikasi piranti lunak, selain itu UML memudahkan user untuk melihat gambaran model konseptual piranti lunak dari suatu bahasa pemrograman yang tekstual sehingga dapat dimengerti oleh user non-programmer. Selain itu UML lebih cocok untuk penulisan piranti lunak berorientasi objek karena pada konsep dasarnya UML menggunakan class

dan operation.

2.11.1. Use Case Diagram

Use case atau use casediagram adalah abstraksi dari interaksi antar sistem dan aktor. Diagram use case menunjukan 3 aspek dari sistem yaitu aktor, use case dan sistem/sub sistem boundary. Aktor mewakili peran orang, sistem yang lain atau alat ketika berkomunikasi dengan use case. Gambar 2.6 mengilustrasikan aktor,

use case dan boundary.


(60)

2.11.2. Activity Diagram

Activity diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah diagram bisa mendukung perilaku pararel sedangkan flowchart tidak bisa.(Munawar, 2005).

Gambar 2.6 Contoh Activity Diagram (Sholiq, 2006:9)

2.11.3. Sequence Diagram

Sequence diagram atau Diagram Sikuensial digunakan untuk menggambarkan perilaku pada sebuah secenario. Diagram ini menunjukan sejumlah contoh objek dan message (pesan) yang diletakan diantara objek-objek ini di dalam use case. Komponen utama sequence diagram terdiri atas objek yang dituliskan dengan kotak segiempat bernama. Message diwakili oleh garis dengan tanda panah dan waktu yang ditunjukan dengan progres vertical. Contoh sequence diagram :


(61)

Gambar 2.7 Contoh Sequence Diagram (Sholiq, 2006:10)

2.11.4. Class Diagram

Class Diagram atau Diagram Kelas menggambarkan struktur dan deskripsi class, package dan objek beserta interaksi antar kelas dalam sistem. Class memiliki tiga area pokok :

1. Nama (dan stereotype) 2. Atribut

3. Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut :

Private, tidak dapat dipanggil dari luar class yang bersangkutan.


(62)

Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya

Public, dapat dipanggil oleh siapa saja. Adapun hubungan antar Class yaitu :

1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class

lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. 2. Agregasi, yaitu relasi sebuah objek terhadap objek yang

lainnya dimana merupakan bagian dari objek tersebut. 3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat

diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.

4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di

passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram

yang akan dijelaskan kemudian. Contoh class diagram :


(63)

Gambar 2.8 Contoh Class Diagram (Sholiq, 2006:13)

2.11.5. Statechart Diagram

Statechart diagram menyediakan sebuah cara untuk memodelkan bermacam-macam keadaan yang mungkin dialami oleh sebuah objek. Diagram statechart digunakan untuk memodelkan tingkah laku dinamik sistem.

Gambar 2.9 Contoh Statechart Diagram (Sholiq, 2006:15)

2.12. Java

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James


(64)

Gosling saat masih bergabung di Sun Microsystems yang saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model obyek yang lebih sederhana serta dukungan rutin-rutin atas bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi kedalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose) dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi Java mampu berjalan di beberapa platform sistem operasi yang berbeda, Java dikenal pula dengan slogannya WORA write ones run anywhere "Tulis sekali, jalankan di mana pun". Saat ini Java merupakan bahasa pemrograman yang paling populer digunakan dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.

2.12.1.Kelebihan Java

Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan dibeberapa platform/ sistem operasi komputer. Dengan kelebihan tersebut, pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin/ bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program


(65)

berbasis Java dikerjakan diatas sistem operasi Linux tetapi dijalankan dengan baik diatas Microsoft Windows. Platform

yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan

bytecode tersebut.

OOP (Object Oriented Programming - Pemrogram

Berorientasi Objek) yang artinya semua aspek yang terdapat di

Java adalah Object. Java merupakan salah satu bahasa pemrograman yang murni berbasis obyek. Semua tipe data diturunkan dari kelas dasar yang disebut object. Hal ini sangat memudahkan pemrogram untuk melakukan desain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi-fungsi yang

advance seperti komunikasi antara komputer sekalipun.

Kepustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/ kepustakaan (kumpulan program program yang disertakan dalam pemrograman Java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini


(66)

ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat berbagai kepustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.

2.12.2.Kekurangan Java

Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan yang lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.

Penggunaan memori yang banyak. Penggunaan memori untuk

program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.

2.13. Framework

Framework memiliki arti kerangka kerja, dalam pemrograman framework dapat diartikan sebagai koleksi atau kumpulan potongan-potongan program yang disusun atau diorganisasikan sedemikian rupa, sehingga dapat digunakan untuk membantu membuat aplikasi utuh tanpa harus membuat semua kodenya dari awal.(Basuki, 2010:3).


(67)

Berikut adalah beberapa jenis framework berbasis Java yang saat ini masih terus dikembangkan:

1. Hibernate

Hibernate is an open source ORM service implementation. Hibernate is an ambitious project that aims to be a complete solution to the problem of managing persistent data in Java. It mediates the application’s interaction with a relational database, leaving the developer free to concentrate on the business problem at hand. Hibernate is a nonintrusive solution.(Bauer & King, 2007)

Dari pengertian di atas dapat disimpulkan, bahwa yang dimaksud dengan Hibernate ORM adalah sebuah aplikasi yang mendefinisikan kelas-kelas persistan yang dipetakan (mapping) ke dalam tabel-tabel tertentu yang ada disistem basis data yang mendasari aplikasi yang berkaitan.

2. Sruts Framework

Struts adalah web development framework yang berada di bawah payung Apache Software Foundation. Struts menggunakan pola kerja Model-View-Controller (MVC) dengan memanfaatkan Java Bean


(68)

Gambar 2.10 Struts Framework Bekerja Dalam Aplikasi Web (Arianto, 2008) Pada saat web container mendeploy aplikasi, Action Servlet akan membaca file struts-config.xml yang berisi semua konfigurasi yang diperlukan untuk menjalankan sistem ini. Ketika ada request dari browser, langkah-langkah berikut akan dijalankan:

a. Request data akan secara otomatis dibungkus ke dalam sebuah obyek

Action Form.

b. Action Servlet akan mencari controller (Action class) yang sesuai dengan path yang di-request oleh browser.

c. Action class memiliki satu method utama dengan nama execute, yang akan dijalankan untuk melayani request. Semua pemrosesan yang dibutuhkan seperti akses database, perhitungan dan lain lain dijalankan di dalam method ini. Disini objek model dimasukkan kedalam variable HTTP request atau HTTP session, yang selanjutnya akan dipanggil dari halaman JSP.


(69)

d. Setelah pemrosesan selesai, method execute tersebut akan mengembalikan return value yang akan menunjukkan Status dari

processing.

e. Selanjutnya, status dari Action class tersebut akan digunakan untuk menentukan halaman JSP mana yang akan ditampilkan.

f. JSP dievaluasi, obyek model di-render ke dalam halaman HTML dan respon dikirimkan ke browser.

2.14. ZK Framework

ZK is an event-driven, component-based framework to enable rich user interfaces for web applications. ZK includes an Ajax-based event driven engine, a rich set of XML User Interface Language (XUL) and XHTML components, and a markup language called ZK User Interface Markup Language (ZUML). (Chen & Cheng, 2007)

Dari kutipan di atas, dapat diketahui bahwa ZK adalah framework

berbasis komponen (componen-based) yang menyediakan tampilan antar muka (interfaces) yang kaya, dinamis dan interaktif bagi pengembangan web aplikasi. ZK menyertakan sebuah engineevent-driven berbasis AJAX, yaitu sekumpulan komponen-komponen beraneka ragam (rich) yang terdiri dari XML User Interface Language (XUL), XHTML dan ZK User Interface Markup Language disingkat ZUML (markup language milik ZK).

Engineevent-driven sendiri merupakan sebuah engine yang dapat memungkinkan untuk melakukan model pemrograman desktop ke model


(70)

pemrograman web programming. Maksudnya, konsep-konsep pemrograman pada aplikasi desktop yang dilakukan dengan cepat dan mudah atau istilah

tren-nya drag and drop, dapat dilakukan pada lingkungan web. Para

programmer dapat menampilkan aplikasinya dalam fitur komponen rich

XUL dan XHMTL.

2.14.1.Alasan Memilih Teknologi Zkoss

Ada beberapa alasan mengapa penulis memilih teknologi ZK sebagai teknologi pemrograman untuk penelitian ini. Pertama, ZK merupakan framework Ajax + Mobile enterprise yang terkemuka dan merupakan cara termudah dalam membangun aplikasi web modern berbasis Java yang hebat. (Chen & Cheng, 2007)

Selanjutnya, berikut alasan mengapa ZK dikatakan sebagai

framework enterprise yang terkemuka: 1. Enterprise. Trusted. Established.

ZK telah dipercaya dan diakui oleh berbagai industri sebagai pilihan framework yang unggul. Hal ini dapat dilihat dari sudah lebih dari 1.500.000 kali, ZK di-download dan diberdayakan oleh berbagai macam perusahaan dan institusi baik industri kecil dan maupun besar. (Potix Corporation, 2011)

2. Transparan Ajax with Java

ZK menyediakan bagi para pengembang suatu fasilitas yang sederhana dan transparan dari penggunaan Rich Internet


(71)

Application (RIA) menggunakan Java. Model event-driven

merefleksikan keahlianpemrograman desktop tanpa pengembang tersebut harus terfokus dengan pemrograman

Java Script, isu-isu penggunaan browser yang berbeda, komunikasi Ajax yang terkesan kompleks dan faktor-faktor lain yang dapat menyia-nyiakan waktu serta biaya dalam pengembangan Aplikasi Web pada level enterprise.

3. Rich Modular UI

ZK menyediakan lebih dari 200 komponen yang unggul yang dapat menyebarkan fungsi polimorfisme (plymorphic). Para pengguna dapat dengan mudah melakukan penyusunan komponen-komponen program seperti halnya permainan LEGO yaitu dengan membangun blok-blok yg berkelanjutan dalam membuat disain UI. ZK menyediakan dua metodologi untuk mengimplementasikan aplikasi UI yaitu dengan menggunakan kode Java atau XML markup.

Maka, berdasarkan ketiga alasan di ataslah, maka penulis memilih framework ZK sebagai framework dalam mendukung pembangunan sistem repository SK.

2.14.2.Karakteristik Utama ZK

ZK memiliki tiga karakteristik utama yang terdapat pada dirinya. Karakteristik tersebut secara tidak langsung menunjukkan keunggulan ZK dibanding framework yang mengatur layer view


(72)

yang lain. Karakteristik yang pertama menjelaskan tentang fokus ZK dalam tier application. ZK dibangun memang benar-benar untuk memperkaya tingkatan view dari konsep MVC (model view control).

Karakteristik kedua, menjelaskan tentang bagaimana ZK dapat menjadi solusi dari permasalahan komunikasi antara komponen AJAX dengan Server. ZK menampilkan teknologi

framework berbasis komponen yang mudah untuk dijalankan pada Server apapun.

Dan karakteristik yang ketiga, menjelaskan tentang bagaimana peranan ZK sebagai framework yang dapat membawa konsep pemrograman desktop kepada model pemrograman web.

1. A Presentation Layer (Layer Presentasi)

ZK memang dirancang seringan mungkin dan hanya berfokus pada layer presentation. Lebih jauh, ZK tidak bergantung pada teknologi back-end dibelakangnya, atau semua aplikasi middleware yang mungkin banyak disukai seperti Java Database Connectivity (JDBC), Hibernate, Java Mail, Enterprise Java Beans (EJBs) dan Java Message Service (JMS). Pekerjaan middleware tersebut dapat dikerjakan secara tepat oleh ZK.

2. A Server-Centric Event-Driven Framework (Framework Dengan Server Terpusat)


(73)

Diketahui, bahwa sebagian besar framework berbasis AJAX menyebabkan peran sebuah server menjadi pasif. Hal ini dikarenakan sebuah server hanya bertanggung jawab sebagai penyedia respon ketika ada request datang dari sisi klien. Komunikasi yang terbangun antar komponen-komponennya pun cukup kompleks dan membutuhkan banyak kode JavaScript, belum lagi masalah ketidaksesuaian antara JavaScript dan

browser.

Sebaliknya, ZK menjadi solusi dalam menangani masalah tersebut. Semua komponen ZK dibuat pada sisi Server, hal ini mengakibatkan komunikasi yang terbangun antar komponen lebih mudah karena komponen-komponen itu dapat diakses dengan segera pada Server. Selain itu, cara komunikasi antar komponen yang satu dengan lainnya juga dilakukan dengan event-driven. Artinya, interaksi dapat digerakkan oleh aktifitas user pada sisi klien atau dengan lemparan event dari komponen lain. Sederhananya, ZK mencerminkan kesederhanaan untuk membuat aplikasi desktop dalam pengembangan aplikasi web dan komunikasi yang lebih interaktif serta responsif bagi para pengguna.

3. A Component-Based GUI Toolkit

ZK merupakan toolkit GUI (graphical user interface) berbasis komponen. ZK menyediakan lebih dari 70 komponen


(1)

this.status = status;

//this.berkasSk = berkasSk; this.validasi1 = validasi1; this.validasi2 = validasi2; }

public Berkas(Index index, Kategori kategori, String keyPencarian,

String ringkasan, String asal, String kepada, Date thnTerbit,

String status, String berkasSk, String validasi1, String validasi2) {

this.index = index;

this.kategori = kategori;

this.keyPencarian = keyPencarian; this.ringkasan = ringkasan;

this.asal = asal; this.kepada = kepada;

this.thnTerbit = thnTerbit; this.status = status;

//this.berkasSk = berkasSk; this.validasi1 = validasi1; this.validasi2 = validasi2; }

@Id

@GeneratedValue(strategy = IDENTITY)

@Column(name = "id", unique = true, nullable = false) public Integer getId() {

return this.id; }


(2)

this.id = id; }

@ManyToOne(cascade = CascadeType.REMOVE) @JoinColumn(name = "id_index", nullable=true) public Index getIndex() {

return this.index; }

public void setIndex(Index index) { this.index = index;

}

@ManyToOne(cascade=CascadeType.REMOVE)

@JoinColumn(name = "id_kategori", nullable=true) public Kategori getKategori() {

return this.kategori; }

public void setKategori(Kategori kategori) { this.kategori = kategori;

}

@Column(name = "key_pencarian", nullable = false, length = 50)

public String getKeyPencarian() { return this.keyPencarian; }

public void setKeyPencarian(String keyPencarian) { this.keyPencarian = keyPencarian;


(3)

@Column(name = "ringkasan", nullable = false, length = 65535)

public String getRingkasan() { return this.ringkasan; }

public void setRingkasan(String ringkasan) { this.ringkasan = ringkasan;

}

@Column(name = "asal", nullable = false, length = 50) public String getAsal() {

return this.asal; }

public void setAsal(String asal) { this.asal = asal;

}

@Column(name = "kepada", nullable = false, length = 50)

public String getKepada() { return this.kepada; }

public void setKepada(String kepada) { this.kepada = kepada;

}


(4)

@Temporal (TemporalType.DATE) public Date getThnTerbit() {

return thnTerbit; }

public void setThnTerbit(Date thnTerbit) { this.thnTerbit = thnTerbit;

}

@Column(name = "status", nullable = true, length = 20) public String getStatus() {

return this.status; }

public void setStatus(String status) { this.status = status;

}

/*@Column(name = "berkas_sk", nullable = true) public String getBerkasSk() {

return this.berkasSk; }

public void setBerkasSk(String berkasSk) { this.berkasSk = berkasSk;

}*/

@Column(name = "validasi1", nullable = true) public String getValidasi1() {


(5)

}

public void setValidasi1(String validasi1) { this.validasi1 = validasi1;

}

@Column(name = "validasi2", nullable = true) public String getValidasi2() {

return validasi2; }

public void setValidasi2(String validasi2) { this.validasi2 = validasi2;

}

@Column(name = "filecontent", nullable = true) public Blob getFileContent() {

return fileContent; }

public void setFileContent(Blob fileContent) { this.fileContent = fileContent;

}

@Column(name = "mimetype", nullable = true) public String getMimeType() {

return mimeType; }


(6)

this.mimeType = mimeType; }

@Column(name = "filename", nullable = true) public String getFileName() {

return fileName; }

public void setFileName(String fileName) { this.fileName = fileName;

}