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
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
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
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.
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.
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
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
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
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
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.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
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.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
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.6 Activity diagram use case Lihat Struktur Organisasi... 108
Gambar 4.7 Activity diagram use case Lihat Kontak ... 109
Gambar 4.8 Activity diagram tambah berkas SK... 110
xiii
Gambar 4.10 Activity diagram fungsi Cari Berkas SK Admin... 112
Gambar 4.11 Activity diagram fungsi Cari Berkas SK User... 113
Gambar 4.12 Activity diagram fungsi Validasi Berkas SK ... 114
Gambar 4.13 Activity diagram fungsi Detail Berkas SK... 116
Gambar 4.14 Activity diagram fungsi Download Berkas SK ... 117
Gambar 4.15 Activity diagram Tambah Kategori... 118
Gambar 4.16 Activity diagram Edit Kategori ... 120
Gambar 4.17 Activity diagram Delete Kategori... 121
Gambar 4.18 Activity diagram Tambah Indeks ... 123
Gambar 4.19 Activity diagram Edit Indeks... 125
Gambar 4.20 Activity diagram Delete Kategori ... 126
Gambar 4.21 Activity diagram Tambah User Account... 128
Gambar 4.22 Activity diagram Edit User Account ... 129
Gambar 4.23 Activity diagramDelete User... 131
Gambar 4.24 Activity diagram Tambah Role... 133
Gambar 4.25 Activity diagramEdit Role... 134
Gambar 4.26 Activity diagramDelete Role ... 136
Gambar 4.27 Activity diagram use case logout ... 137
Gambar 4.28 Sequence diagram use case login User... 138
Gambar 4.29 Sequence diagram use case login Admin ... 139
Gambar 4.30 Sequence diagram use case Validasi I Berkas... 140
Gambar 4.31 Sequence diagram use case Validasi II Berkas ... 141
xiv
Gambar 4.33 Sequence diagram use case cari/detail/download Berkas ... 144
Gambar 4.34 Sequence diagram use case cari/detail/download Berkas ... 146
Gambar 4.35 Sequence diagram use case Input/Edit/Delete Kategori... 148
Gambar 4.36 Sequence diagram use case Input/Edit/Delete Indeks ... 150
Gambar 4.37 Sequence diagram use case Input/Edit/Delete User Account... 152
Gambar 4.38 Sequence diagram use case Input/Edit/Delete Role... 154
Gambar 4.39 Sequence diagram use case logout User... 155
Gambar 4.40 Sequence 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
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
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
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
xviii
DAFTAR SIMBOL (Sholiq:2006:59-77)
Simbol Arti
Actor
Use Case
Association
Extends
Includes
xix
SIMBOL ACTIVITY DIAGRAM (Sholiq:2006:42:&161)
Simbol Arti
Activity
Initiate Activities
Start of the Process
Termination of the Process
Synchronization Bar
xx
SIMBOL CLASS DIAGRAM (Sholiq:2006:103-135)
Simbol Arti
Class
Ket :
1. Class name 2. Attributes 3. Behaviors
Association
Agregation
xxi
SIMBOL SEQUENCE DIAGRAM (Sholiq:2006:94-97)
Simbol Arti
Object
Lifeline
Message
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.
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.
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”.
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.
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.
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
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
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
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
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 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)
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
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
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
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
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.
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.
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.
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.
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.
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.
- 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)
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)
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
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
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
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
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:
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:
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.
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
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
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
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
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)
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)
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.
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
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
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
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
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
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.
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
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
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.
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).
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
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