RANCANG BANGUN SISTEM PENILAIAN PRAKTIKUM BERBASIS JSON WEB SERVICE PADA LAB. BASIS DATA UPN “VETERAN” JATIM.
LAB. BASIS DATA UPN “VETERAN” JATIM
SKRIPSI
Oleh:
DWI ENGGAL PRAYOGA 0735010038
JURUSAN SISTEM INFORMASI
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
JAWA TIMUR
(2)
ii
RANCANG BANGUN SISTEM PENILAIAN PRAKTIKUM
BERBASIS JSON WEB SERVICE PADA LAB. BASIS DATA
UPN ”VETERAN” JATIM
Disusun Oleh :
DWI ENGGAL PRAYOGA NPM. 0735010038
Telah disetujui untuk mengikuti Ujian Negara Lisan Gelombang III Tahun Akademik 2011/2012
Pembimbing 1, Pembimbing 2,
Nur Cahyo Wibowo, S.Kom, M.Kom Waldy Permana Agastya, S.Kom, MM.
NPT : 279 030 440 197 NIDN : 0713018502
Mengetahui,
Ketua Program Studi Sistem Informasi UPN “Veteran” Jawa Timur
Nur Cahyo Wibowo, S.Kom, M.Kom NPT : 279 030 440 197
(3)
RANCANG BANGUN SISTEM PENILAIAN PRAKTIKUM
BERBASIS JSON WEB SERVICE PADA LAB. BASIS DATA
UPN ”VETERAN” JATIM
Disusun Oleh :
DWI ENGGAL PRAYOGA NPM : 0735010038
Telah dipertahankan dihadapan dan diterima oleh Tim Penguji Skripsi Program Studi Sistem Informasi, Fakultas Teknologi Industri
Universitas Pembangunan Nasional “Veteran” Jawa Timur Pada tanggal 14 Desember 2011
PEMBIMBING : 1.
Nur Cahyo Wibowo, S.Kom, M.Kom NPT. 279 030 440 197
2.
Waldy Permana Agastya, S.Kom, M.M NIDN. 0713018502
TIM PENGUJI : 1.
Nur Cahyo Wibowo, S.Kom, M.Kom NPT. 279 030 440 197
2.
Moh. Irwan Afandi, ST, MSc NPT. 276 070 740 220 3.
Achmad Junaedi, S.Kom NPT. 378 110 401 991 Mengetahui
Dekan Fakultas Teknologi Industri
Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya
(4)
Alhamdulillahirobbil’alamin...
Dengan segala puja dan puji syukur atas kehadirat ALLAH SWT, yang maha pengasih lagi maha penyayang yang telah membuka pintu kemudahan,
sehingga penulis bisa menyelesaikan Tugas Akhir dengan judul RANCANG
BANGUN SISTEM PENILAIAN PRAKTIKUM BERBASIS JSON WEB SERVICE PADA LAB. BASIS DATA UPN “VETERAN” JATIM. Melalui Penulisan Tugas Akhir ini, penulis merasa mendapat kesempatan besar untuk lebih memperdalam ilmu pengetahuan yang diperoleh selama di perkuliahan. Namun demikian, penulis menyadari bahwa Tugas Akhir ini masih memiliki banyak kelemahan dan kekurangan. Oleh karena itu penulis sangat mengharapkan kritik dan sarannya untuk pengembangan ke depannya. Tak lupa, penulis ingin mengucapkan terimakasih yang sebanyak-banyaknya kepada pihak-pihak yang membantu kami dalam mencari pencerahan materi dan spiritual.
1. Kepada orang-tua penulis, yang tidak pernah lelah untuk memberi penulis
dorongan semangat, do’a yang tidak pernah putus, untuk kelancaran belajar dan masa depan penulis.
2. Bpk. Nur Cahyo Wibowo, S.Kom, M.Kom selaku pembimbing I, penguji
II seminar, dan penguji I lisan yang memberikan banyak motivasi dan bimbingan selama penyelesaian program ini.
3. Bpk. Waldy Permana Agastya, S.Kom, MM. Selaku pembimbing II yang
juga memberikan banyak saran, serta dukungan untuk menyelesaikan program ini. Yang tidak pernah lelah untuk memberikan bimbingan kepada penulis, walau itu diluar jam kampus.
4. Ibu Syurfah Ayu Ithriah, S.Kom. yang tidak pernah lelah mendorong, serta
memberikan dukungan kepada penulis untuk menyelesaikan program ini. Serta juga banyak memberi kritik dan saran yang membangun.
(5)
penyelesaian tugas akhir ini.
6. Bpk. Moh Irwan Afandi, ST, MSc selaku penguji II lisan yang
memberikan arahan dan bimbingan dalam penyelesaian tugas akhir.
7. Bpk. Achmad Junaedi, S.Kom selaku penguji III lisan yang memberikan
banyak saran yang membangun dalam penyelesaian tugas akhir ini.
8. Karya Yatsunori Mitsuda dan Linkin Park yang telah menjadi inspirator,
serta tempat beristirahat bagi hati dan pikiran penulis yang jenuh saat pembuatan sistem.
9. Tidak lupa kami mengucapkan terima kasih kepada rekan-rekan
mahasiswa karena dengan dorongan semangat, kritik dan saran serta dukungan merekalah yang membuat penulis untuk tetap bersemangat untuk menyelesaikan program ini.
Walaupun seringkali kami menemui persoalan yang menghalangi. Namun, dorongan serta dukungan dari orang-orang disekitar penulislah yang membuat penulis tetap berdiri dan terus berlari menuju keberhasilan. Terima kasih semuanya...
Surabaya, 09 Desember 2011
(6)
DAFTAR ISI
Halaman
ABSTRAK………..iii
KATA PENGANTAR ... iv
DAFTAR ISI...v
DAFTAR GAMBAR ... vi
DAFTAR TABEL ... vii
BAB I PENDAHULUAN ...1
1.1. Latar Belakang ...1
1.2. Rumusan Masalah...3
1.3. Batasan Masalah ...3
1.4. Tujuan ...3
1.5. Manfaat ...4
1.6. Metodologi Penelitian...4
1.7. Sistematika Penulisan ...5
BAB II TINJAUAN PUSTAKA...7
2.1. Rancang Bangun Sistem ...7
2.2. Sistem Penilaian Praktikum ...8
2.3. Web Service ...10
2.3.1. Arsitektur Web Service...11
2.3.2. JSON (JavaScript Object Notation)...12
2.3.3. XML (eXtensible Markup Language)...16
2.3.4. JSON dan XML Web Service...25
2.3.5. Profil Laboratorium Basis Data UPN “VETERAN” JATIM ..27
BAB III ANALISIS DAN PERANCANGAN SISTEM ...29
3.1. Analisa Sistem ...29
3.2. Perancangan Sistem ...37
(7)
3.2.2. Data Flow Diagram...39
3.2.3. Entity Relationship Diagram...43
3.2.4. Desain Interface ...48
3.2.5. Pseudo-code Program ...53
BAB IV IMPLEMENTASI SISTEM...56
4.1. Kebutuhan Sistem ...56
4.2. Penjelasan Pengguna Program ...57
4.3. Source Code Program ...62
BAB V UJI COBA SISTEM ...69
5.1. Hasil dan Pembahasan ...69
5.2. Penerapan JSON dan XML Web Service pada Sistem Penilaian Praktikum...73
5.3. Evaluasi Sistem...74
BAB VI PENUTUP...76
6.1. Simpulan ...76
6.2. Saran ...76
DAFTAR PUSTAKA ...78
LAMPIRAN 1 : Interview ...79
(8)
Tabel 3.1 Struktur Tabel Pengguna ...45
Tabel 3.2 Struktur Tabel Praktikan ...45
Tabel 3.3 Struktur Tabel Nilai...46
Tabel 3.4 Struktur Tabel Modul ...46
Tabel 3.5 Struktur Tabel Penjadwalan ...47
Tabel 3.6 Struktur Tabel Pengajar...47
Tabel 3.7 Struktur Tabel Sesi Praktikum ...47
Tabel 3.8 Struktur Tabel Praktikum ...48
(9)
Gambar 2.1 Arsitektur Web Service...11
Gambar 2.2 JSON (object) ...13
Gambar 2.3 JSON (array) ...14
Gambar 2.4 JSON (value) ...14
Gambar 2.5 JSON (string)...15
Gambar 2.6 JSON (number)...16
Gambar 2.7 Tampilan Dokumen XML pada Browser...18
Gambar 2.8 Dokumen XML yang Digabung Dalam HTML ...21
Gambar 2.9 Tampilan Dokumen XML pada Browser...23
Gambar 2.10 Contoh Dokumen XML...25
Gambar 3.1 Ilustrasi Arsitektur Sistem ...30
Gambar 3.2 System Flow Sistem Penilaian Praktikum...39
Gambar 3.3 Context Diagram...40
Gambar 3.4 DFD level 0 ...41
Gambar 3.5 DFD level 1 Olah Fungsi Web Service...42
Gambar 3.6 CDM (Conceptual Data Modelling)...43
Gambar 3.7 PDM (Physical Data Modelling) ...44
Gambar 3.8 Desain Interface Form Login...49
Gambar 3.9 Desain Interface Form Input Nilai Praktikum...49
Gambar 3.10 Desain Interface Form Log Nilai ...50
Gambar 3.11 Desain Interface Form Cek Laporan...50
Gambar 3.12 Desain Interface Form Modul ...51
Gambar 3.13 Desain Interface Form Menu Aktivasi...51
Gambar 3.14 Desain Interface Form Menu Utama...52
Gambar 3.15 Desain Interface Form Menu Laporan User...52
(10)
Gambar 4.3 Form Log Nilai ...59
Gambar 4.4 Form Cek Laporan ...59
Gambar 4.5 Form Modul...60
Gambar 4.6 Menu Utama. ...60
Gambar 4.7 Menu Laporan User...61
Gambar 4.8 Menu Laporan Admin ...61
Gambar 4.9 Menu Aktivasi ...62
Gambar 5.1 Proses Input Nilai ke Seluruh Praktikan...70
Gambar 5.2 Proses Input Nilai per Praktikan...71
Gambar 5.3 Pelaporan Internal Aplikasi Desktop (1) ...71
Gambar 5.4 Pelaporan Internal Aplikasi Desktop (2) ...72
Gambar 5.5 Pelaporan Internal Aplikasi Web...72
(11)
Pembimbing I : Nur Cahyo Wibowo, S.Kom, M.Kom
Pembimbing II : Waldy Permana Agastya, S.Kom, MM.
ABSTRAK
Perkembangan teknologi yang luar biasa telah membawa banyak perubahan pada arus teknologi. Namun pertukaran data informasi masih seringkali terkendala dengan adanya perbedaan platform yang memakan waktu dan biaya dalam pengoperasiannya. Sistem penilaian praktikum yang sebelumnya masih mengandalkan media cetak untuk pengolahan datanya terasa sangat menghambat pertumbuhan informasi. Untuk itu perlu dibangun sistem penilaian praktikum secara komputerisasi yang dapat di akses oleh pihak laboratorium dimanapun dan kapanpun.
Tugas Akhir ini membahas tentang bagaimana melakukan pertukaran data informasi pada sistem penilaian praktikum melalui dua aplikasi yang berbeda platform. Teknologi web service adalah solusi dari permasalahan yang dapat menjembatani perbedaan platform dalam pertukaran data informasi. JSON web service digunakan karena mempunyai fungsi atau layanan yang dapat diakses oleh platform berbasis dekstop maupun web, sehingga pertukaran data informasi tidak lagi terhambat.
Hasil dari tugas akhir ini berupa JSON web service yang dapat diakses oleh dua aplikasi yang berbeda platform, serta fungsi-fungsi web service yang dapat digunakan oleh lebih dari satu client, dalam penerapannya fungsi yang dimaksud adalah fungsi untuk menampilkan data nilai praktikan.
(12)
1.1 Latar Belakang
Praktikum Pemrograman Sistem Informasi merupakan salah satu praktikum yang diselenggarakan pada program studi Sistem Informasi UPN “VETERAN” Jawa Timur. Praktikum ini ditujukan untuk mengasah kemampuan mahasiswa dalam pengembangan Sistem Informasi dan Sistem Basis Data. Karena ke depannya para mahasiswa Sistem Informasi secara tidak langsung akan menerapkan ilmu yang didapat di dunia kerja.
Dalam proses belajar-mengajar di Laboratorium Basis Data ini terdapat sistem penilaian yang mengatur tentang pencatatan data hasil praktikum-praktikum mahasiswa. Dari sistem tersebut seharusnya dapat menampilkan informasi yang teratur dan mudah diakses oleh instruktur praktikum dan kepala laboratorium. Serta pengolahan data nilai praktikum yang efisien dan efektif (mudah dalam revisi nilai) bagi instruktur praktikum.
Berdasarkan hasil survey yang diperoleh di lapangan, saat ini informasi yang ditampilkan dari sistem penilaian praktikum pada Laboratorium Basis Data Sistem Informasi UPN “VETERAN” JATIM masih secara manual (dokumentasi masih secara tertulis) dan kurang teratur (tidak adanya catatan tentang segala aktivitas pihak instruktur maupun asisten dalam proses input data). Hal ini sering menyusahkan kepala laboratorium dalam memantau data nilai mulai nilai awal praktikum hingga akhir praktikum.
(13)
Untuk membuat sistem penilaian yang terintegrasi dengan baik, maka informasi yang dihasilkan harus tepat dan akurat serta data-data yang diperlukan berada di satu tempat (terpusat), sehingga pada saat mengolah data menjadi informasi tidak terjadi kesalahan, misalnya : data yang dimasukkan tidak valid, data yang dimasukkan tidak lengkap (data nilai dari praktikan yang tidak hadir), dan lain-lain. Dalam pembuatan sistem penilaian praktikum, cara manual dirasakan sangat tidak efisien sehingga diperlukan cara lain dalam pembuatannya, yaitu menggunakan metode komputerisasi. Dan ditambah lagi sistem penilaian ini akan menggunakan web service untuk mengatasi pertukaran data informasi dengan platform yang berbeda.
Dalam penelitian ini, merancang dan membangun prototype aplikasi JSON web service akan diterapkan pada sistem penilaian praktikum Laboratorium Basis
Data UPN “VETERAN” JATIM. Selain JSON, format data yang akan digunakan adalah XML yang merupakan format data pertama dari web service. JSON muncul sebagai alternatif format data web service yang menawarkan kecepatan dalam transaksi data. Alasan mengapa penelitian ini menggunakan web service dan dua platform yang berbeda, yaitu aplikasi berbasis dekstop dan web adalah aplikasi desktop sangat efektif dan efisien dalam transaksi data dan aplikasi web ditujukan untuk penyampaian informasi (nilai praktikum) yang dapat diakses oleh pihak manapun, sedangkan web service menjadi jembatan untuk transaksi data beda platform tersebut.
(14)
1.2 Rumusan Masalah
Dalam penelitian ini terdapat beberapa permasalahan yang akan dihadapi, antara lain :
a. Bagaimana merancang dan membangun sistem penilaian praktikum
berbasis JSON web service.
b. Bagaimana merancang dan membangun aplikasi penilaian praktikum
berbasis desktop dan web yang dapat berkomunikasi dengan JSON web
service.
1.3 Batasan Masalah
Batasan dari masalah yang dibahas adalah sebagai berikut :
a. Aplikasi yang akan dibangun hanya aplikasi web dan aplikasi desktop
yang terintegrasi dengan web service.
b. Response data web service yang digunakan dalam format JSON dan
XML.
c. Data mahasiswa yang digunakan untuk simulasi adalah data mahasiswa
SI angkatan 2007 sesi PSI – A1.
d. Untuk login kedua aplikasi tidak menggunakan fungsi web service.
e. Kedua aplikasi dan web service adalah sebuah prototype.
1.4 Tujuan
Adapun tujuan dari studi kasus ini adalah sebagai berikut :
a. Merancang dan membangun sistem penilaian berbasis JSON web
(15)
b. Merancang dan membangun aplikasi desktop dan web yang dapat berkomunikasi dengan JSON web service.
1.5 Manfaat
Manfaat yang dapat diperoleh dari penelitian ini adalah :
a. Cepat dalam proses input nilai, pemantauan proses olah nilai, dan
keakuratan pengolahan nilai akhir bagi praktikan (meminimalisir kesalahan perhitungan nilai praktikum).
b. Sistem pada aplikasi yang dibangun dalam penelitian ini dapat
dikembangkan lagi.
1.6 Metodologi Penelitian
Dalam pengerjaan proyek akhir ini meliputi langkah-langkah sebagai berikut :
a. Studi Literatur
Pada tahap ini dilakukan studi literatur dari beberapa referensi baik itu dari buku atau internet.
b. Perancangan Sistem
Pada tahap ini dilakukan perancangan sistem yang akan dibangun, meliputi perancangan database, perancangan sistem dan pembuatan user interface.
(16)
c. Persiapan Data
Data-data penunjang yang didapatkan berupa suatu kesimpulan, fakta-fakta dan aturan yang mengatur proses pencarian data yang saling berhubungan satu sama lain disimpan ke dalam Basis Data.
d. Pengujian dan Analisa
Pengujian dan analisa dimaksudkan untuk mengetahui sejauh mana sistem yang dibuat pada proyek akhir ini dapat berfungsi sesuai dengan proses sistem yang diharapkan.
e. Kesimpulan
Dibuat kesimpulan dari pengujian sistem proyek akhir dengan membandingkan apakah hasilnya seperti yang diharapkan pada tujuan proyek akhir sebelumnya.
f. Pembuatan Laporan
Membuat dokumentasi dari semua tahapan proses diatas berupa laporan yang berisi tentang dasar teori, hasil proyek akhir dan hasil analisa.
1.7 Sistematika Penulisan
Sistematika pembahasan yang akan diuraikan dalam buku laporan proyek akhir ini terbagi dalam beberapa bab yang akan dibahas sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisi tentang pendahuluan yang terdiri dari latar belakang, perumusan masalah, batasan masalah, tujuan dan sasaran, metodologi, serta sistematika pembahasan dari Proyek Akhir ini.
(17)
BAB II TINJAUAN PUSTAKA
Bab ini membahas mengenai teori-teori yang berkaitan dengan penyelesaian Proyek Akhir, yang didapatkan dari berbagai macam buku serta sumber-sumber terkait lainnya yang berhubungan dengan pembuatan Proyek Akhir ini.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas mengenai perancangan sistem, meliputi system flow, perancangan proses, dan perancangan user interface.
BAB IV IMPLEMENTASI SISTEM
Bab ini membahas mengenai implementasi sistem.
BAB VUJI COBA SISTEM
Bab ini menyajikan dan menjelaskan seluruh hasil dan analisa dalam pembuatan Proyek Akhir ini dan bagaimana penyelesaian dari setiap permasalahan error yang terjadi pada sistem operasi Windows
BAB VI PENUTUP
Bab ini berisi kesimpulan dari uji coba perangkat lunak, dan saran untuk pengembangan, perbaikan serta penyempurnaan terhadap aplikasi yang telah dibuat.
(18)
2.1 Rancang Bangun Sistem
Tahap rancang bangun sistem adalah tahap dimana harus dipastikan bahwa semua persyaratan untuk menghasilkan sebuah sistem informasi yang telah terpenuhi. Hasil sistem yang dirancang harus sesuai dengan kebutuhan user dalam mendapatkan informasi yang dibutuhkan. Dan tentunya sistem yang dirancang harus bisa dikembangkan lagi untuk pengembang lain yang ingin mengembangankan sistem yang dibangun. Apabila ada salah satu persyaratan yang kurang dalam merancang bangun sistem, bisa dipastikan sistem tersebut gagal dan harus membangun lagi dari awal.
Perancangan sistem harus dapat memberikan gambaran-gambaran yang jelas, berguna, serta lengkap kepada progammer dan ahli-ahli teknik yang terlibat. Hal ini harus diperhatikan bahwa sistem yang disusun harus dapat berkembang lagi. Dalam perencanaan sistem secara umum, langkah-langkah yang harus dilakukan adalah :
a. DocFlow (Document Flow)
b. SysFlow (System Flow)
c. DFD (Data Flow Diagram)
d. ERD (Entity Relationship Diagram)
Namun karena dalam rancang bangun sistem penilaian praktikum berbasis
JSON web service pada laboratorium basis data UPN “Veteran” Jatim bersifat
(19)
a. SysFlow (System Flow)
b. DFD (Data Flow Diagram)
c. ERD (Entity Relationship Diagram)
2.2 Sistem Penilaian Praktikum
Sistem adalah sekumpulan komponen yang dirangkai untuk suatu tujuan, sistem merupakan buatan manusia yang terdiri dari komponen-komponen yang terkomputerisasi yang mempunyai tujuan untuk mengumpulkan, menyimpan, memproses data dan menghasilkan informasi yang berguna untuk keputusan dan tindakan yang akan dilakukan.
Sistem informasi merupakan kumpulan data atau fakta yang terjadi dilingkup perangkat lunak (software) ataupun perangkat keras (hardware) maupun data yang diolah dan digunakan oleh sistem diatas untuk membentuk suatu model Sistem Informasi. Informasi sangat mutlak untuk dipergunakan dalam pembuatan Sistem Informasi, oleh karena itu data atau fakta harus
benar-benar valid dan terjamin akan kebenarannya sehingga dapat membantu
menentukan keputusan dan tindakan yang tepat. Sistem Informasi adalah satu set prosedur yang terdiri dari proses dan pengumpulan informasi yang mendukung pembuatan keputusan.
Keberadaan komputer disini dinilai sangat penting karena pemakaian komputer untuk mengolah data sangat cepat, akurat dan efektif, selain itu pentingnya pemakaian komputer sebagai alat bantu dalam sistem informasi adalah bahwa teknologi otomasi melalui komputerisasi sudah tersedia dimana-mana dan dapat diperoleh dengan sangat mudah dan murah.
(20)
Sistem Penilaian merupakan sistem yang dapat memberikan informasi yang berkaitan dengan hal-hal yang berhubungan dengan penilaian praktikan untuk membantu pembuatan laporan dibidang akademik, misalkan informasi tiap-tiap sesi praktikum, tiap-tiap modul, penghitungan nilai rata-rata praktikan, dan lain-lain. Sistem penilaian juga biasa digunakan dalam bidang pendidikan baik di lembaga-lembaga formal ataupun lembaga-lembaga non formal dimana aktifitas administrasinya tidak jauh dari kegiatan-kegiatan administrasi kantor-kantor lain sehingga jika diklasifikasikan, sistem penilaian juga dapat digolongkan sebagai sistem informasi manajemen tapi dalam lingkup yang kecil karena tidak seluruh kegiatan sistem informasi manajemen dilakukan disini namun lebih mengarah pada kegiatan pengolahan data.
Mengingat banyaknya pekerjaan yang dilakukan maka untuk satu permasalahan khususnya untuk menyelesaikan masalah nilai, lebih baik dikerjakan oleh lebih dari satu orang agar tidak membuat permasalahan menjadi semakin rumit, sebab informasi akan semakin tidak terintegrasi dan kadang memiliki resiko tidak dapat selesai tepat pada waktunya, dikarenakan salah satu penanggung jawab yang saling terkait tidak dapat mengerjakan dan memungkinkan terjadinya manipulasi nilai. Lain lagi saat menjelang pengumuman nilai akhir praktikum, pihak praktikan sering kesal jika ada instruktur praktikum yang terlambat memberikan nilai, sebab hal ini dapat menghambat perhitungan rata-rata untuk setiap nilai praktikan, total nilai, dan menentukan peringkat nilai (grade nilai).
(21)
2.3 Web Service
Web service adalah sebuah sistem perangkat lunak yang dirancang untuk
mendukung interaksi interoperabilitas mesin ke mesin melalui jaringan. Web service memiliki interface yang dijelaskan dalam mesin format processable
(khususnya WSDL). Sistem lain berinteraksi dengan web service melalui cara yang ditentukan oleh deskripsi sistem itu sendiri menggunakan pesan SOAP, biasanya disampaikan menggunakan HTTP dengan serialisasi XML dalam konjungsi dengan web terkait lainnya (Sumber : W3C Working Group, 2004).
Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu
website untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain,
sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan (service) yang disediakan oleh suatu sistem yang menyediakan web service. Web service menyimpan data informasi dalam format XML maupun
JSON, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler.
Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram
dan perusahaan, yang memungkinkan sebuah fungsi di dalam web service dapat dipinjam oleh aplikasi lain tanpa perlu mengetahui detail pemrograman yang terdapat di dalamnya.
Beberapa alasan mengapa digunakannya web service adalah sebagai berikut:
a. Web service dapat digunakan untuk mentransformasikan satu atau
(22)
lingkup yang menjadi satu, sehingga tingkat keamanan dapat ditangani dengan baik.
b. Web service memiliki kemudahan dalam proses deployment-nya, karena
tidak memerlukan registrasi khusus ke dalam suatu sistem operasi. Web service cukup di-upload ke web server dan siap diakses oleh pihak-pihak
yang telah diberikan otorisasi.
c. Web service berjalan di port 80 yang merupakan protokol standar HTTP,
dengan demikian web service tidak memerlukan konfigurasi khusus di sisi firewall.
(Sumber : Utama, 2010)
2.3.1 Arsitektur Web Service
Web service memiliki tiga entitas dalam arsitekturnya, yaitu:
a. Service Requester (peminta layanan)
b. Service Provider (penyedia layanan)
c. Service Broker/Registry (daftar layanan)
Gambar 2.1 Arsitektur Web Service
(23)
Service Provider: Berfungsi untuk menyediakan layanan/service dan
mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia. Service Broker/Registry: Berfungsi sebagai lokasi central yang
mendeskripsikan semua layanan/service yang telah di-register.
Service Requestor: Peminta layanan yang mencari dan menemukan
layanan yang dibutuhkan serta menggunakan layanan tersebut.
Dalam implementasi sistem penilaian praktikum sesuai gambar arsitektur sistem diatas, pihak instruktur praktikum, kepala laboratorium, dan praktikan
adalah pihak peminta layanan (Service Requester), web service sebagai daftar
layanan (Service Broker), dan pihak developer web service sebagai penyedia
layanan (Service Provider). Hanya pihak instruktur, kepala laboratorium, dan praktikan yang berhubungan dengan sistem, sedangkan developer web service berada di luar sistem karena hanya menyediakan layanan (service).
2.3.2 JSON (JavaScript Object Notation)
JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemrograman JavaScript, Standar ECMA-262 Edisi-3 – Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemrograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Phyton, dan lain-lain. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran data (Sumber : Crockford, 2006). Struktur JSON ada dua, antara lain :
(24)
a. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.
b. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa,
hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemrograman modern mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemrograman yang juga berdasarkan pada struktur data ini.
Bentuk-bentuk JSON antara lain :
a. Object, adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai
dengan “{” (kurung kurawal buka) dan diakhiri “}” (kurung kurawal tutup). Setiap nama diikuti dengan “:” (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh “,” (koma).
Gambar 2.2 JSON (object) (Sumber : Crockford, 2006)
(25)
b. Array, adalah kumpulan nilai yang terurutkan. Array dimulai dengan “[”
(kurung kotak buka) dan diakhiri dengan “]” (kurung kota tutup). Setiap nilai dipisahkan oleh “,” (koma).
Gambar 2.3 JSON (array) (Sumber : Crockford, 2006)
c. Value, dapat berupa string dalam kutip ganda, atau angka, atau true atau false
atau null, atau sebuah object atau sebuah array. Struktur-struktur tersebut
dapat disusun bertingkat.
Gambar 2.4 JSON (value) (Sumber : Crockford, 2006)
(26)
d. String, adalah kumpulan dari nol atau lebih karakter Unicode, yang
dibungkus dengan tanda kutip ganda. Didalam string dapat digunakan backslash escape “\” untuk membentuk karakter khusus. Sebuah karakter
mewakili karakter tunggal pada string. String sangat mirip dengan string C
atau Java.
Gambar 2.5 JSON (string) (Sumber : Crockford, 2006)
e. Number, sangat mirip dengan number di C atau Java, kecuali format oktal dan
(27)
Gambar 2.6 JSON (number) (Sumber : Crockford, 2006)
Spasi kosong (whitespace) dapat disisipkan di antara pasangan tanda-tanda tersebut, kecuali beberapa detail encoding yang secara lengkap dipaparkan oleh bahasa pemrograman yang bersangkutan.
2.3.3 XML (eXtensible Markup Language)
XML adalah sebuah markup language untuk dokumen yang berisi informasi terstruktur (Walsh, 1998). XML terletak pada inti web service, yang digunakan untuk mendeskripsikan data. Fungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi aplikasi eksternal dengan partner luaran. Dengan standarisasi XML, aplikasi-aplikasi yang berbeda dapat dengan mudah berkomunikasi antar satu dengan yang lain.
XML adalah singkatan dari eXtensible Markup Language. Bahasa markup mengkombinasikan text dan informasi tambahan mengenai text tersebut. Bahasa markup lain yang populer seperti HTML, menggambarkan kepada web browser
(28)
ketika sedang mengunjungi sebuah situs web. XML adalah sebuah bahasa markup yang digunakan untuk mengolah meta data (informasi tentang data) yang menggambarkan struktur dan maksud/tujuan data yang terdapat dalam dokumen XML, namun bukan menggambarkan format tampilan data tersebut. XML adalah sebuah standar sederhana yang digunakan untuk medeskripsikan data teks dengan
cara self-describing (deskripsi diri). XML juga dapat digunakan untuk
mendefinisikan domain tertentu lainnya, seperti musik, matematika, keuangan dan lain-lain yang menggunakan bahasa markup terstruktur (Sumber : Utama, 2010).
Berikut ini adalah contoh sebuah dokumen XML untuk informasi contact person :
<?xml version="1.0" encoding="ISO-8859-1"?><contact> <contact>
<name>Yadi Utama</name>
<company>PT. Gamatechno Indonesia</company> <address>Jl. Cik Di Tiro No.34</address>
<city>Yogyakarta</city> <state>Indonesia</state> <zip>55284</zip>
<phone>081328462499</phone> <email>yadi@gamatechno.com</email> </contact>
(Sumber : Utama, 2010)
Seperti halnya HTML, XML juga menggunakan elemen yang ditandai
dengan tag pembuka (diawali dengan ‘<’ dan diakhiri dengan ‘>’), tag
penutup(diawali dengan ‘</ ‘diakhiri ‘>’) dan atribut elemen(parameter yang dinyatakan dalam tag pembuka misal <form name=”isidata”>). Hanya bedanya, HTML medefinisikan dari awal tag dan atribut yang dipakai didalamnya, sedangkan pada XML bisa menggunakan tag dan atribut sesuai kebutuhan.
(29)
Standard Header Elemen root
Elemen child
Berikut ini adalah tampilan dokumen XML di atas apabila dijalankan pada sebuah browser :
Gambar 2.7 Tampilan Dokumen XML pada Browser (Sumber : Utama, 2010)
a. Struktur Penulisan Dokumen XML
Berikut ini adalah contoh sebuah struktur dokumen XML :
<?xml version="1.0" encoding="ISO-8859-1"?> <email>
<to>Andi </to>
<from>Yadi Utama</from> <subject>Hallo</subject>
<message>Selamat Pagi…</message> </email>
(Sumber : Utama, 2010)
Baris pertama pada dokumen XML di atas adalah deklarasi standar header yang mendefinisikan versi XML dan karakter encoding yang digunakan dalam dokumen XML. Dalam dokumen ini, XML mengacu pada versi 1.0 dan
(30)
menggunakan standar encoding karakter set ISO-8859-1 (Latin-1/West European).
Baris selanjutnya menggambarkan elemen induk (root) dokumen “<email>..</email>”, sebagaimana disebutkan bahwa “Dokumen ini adalah sebuah Email”. Kemudian baris ke 3-6 menggambarkan elemen anak (child) dari elemen induk dokumen.
Tag pada dokumen XML bersifat case sensitif di mana tag pembuka dan
tag penutup harus ekivalen. Seperti contoh tag pembuka “<email>” harus ditutup
dengan tag “</email>”.
Berikut ini adalah contoh penulisan dokumen XML yang tidak benar : “<email>….</Email>”
“<email>….</EMAIL>” “<Email>….</email>”
Berikut ini adalah contoh penulisan dokumen XML yang benar : “<email>….</email>”
“<EMAIL>….</EMAIL>” “<Email>….</Email>” (Sumber Utama, 2010)
Karena XML bersifat mudah untuk dibaca dan ditulis baik oleh manusia maupun komputer, maka XML merupakan sebuah format yang dapat digunakan untuk pertukaran data (interchange) antar aplikasi dan platform yang berbeda
(platform independent). Metode deskripsi data XML (self-describing)
membuatnya menjadi pilihan efektif untuk bisnis ke bisnis, solusi antar jaringan, e-business, dan aplikasi terdistribusi. XML juga bersifat dapat diperluas
(31)
dapat ditransfer dengan mudah melalui protokol standar internet seperti HTTP tanpa dibatasi oleh firewall.
Tidak seperti HTML, data-data dalam dokumen XML tidak dapat ditampilkan dalam format tampilan tertentu yang diinginkan dalam web browser. Namun XML dapat dimanipulasi sebagai “pulau data” untuk ditampilkan pada browser web melalui HTML sesuai dengan format tampilan yang diinginkan:
<xml id="contact-person"> <contact>
<name>Yadi Utama</name>
<company>PT. Gamatechno Indonesia</company> <address>Jl. Cik Di Tiro No.34</address>
<city>Yogyakarta</city> <state>Indonesia</state> <zip>55284</zip> <phone>081328462499</phone> <email>yadi@gamatechno.com</email> </contact> </xml>
(Sumber : Utama, 2010)
Dokumen XML ini dapat digabungkan dengan HTML untuk ditampilkan dalam sebuah web browser dengan membangun sebuah tabel dalam kode HTML dan mengasosiasikan nilai pada kolom-kolomnya dengan data dari elemen-elemen XML tersebut: <html> <body> <xml id="contact-person"> <contact> <name>Yadi Utama</name>
<company>PT. Gamatechno Indonesia</company> <address>Jl. Cik Di Tiro No.34</address>
<city>Yogyakarta</city> <state>Indonesia</state> <zip>55284</zip> <phone>081328462499</phone> <email>yadi@gamatechno.com</email> </contact> </xml>
(32)
<table border="1" datasrc="#contact-person">
<tr><th>Name</th> <td><span datafld="name"></span></td></tr> <tr><th>Company</th> <td><span datafld="company"></span></td></tr> <tr><th>Address</th> <td><span datafld="address"></span></td></tr> <tr><th>City</th> <td><span datafld="city"></span></td></tr>
<tr><th>State</th> <td><span datafld="state"></span></td></tr> <tr><th>ZIP</th> <td><span datafld="zip"></span></td></tr> <tr><th>Phone</th> <td><span datafld="phone"></span></td></tr> <tr><th>Email</th> <td><span datafld="email"></span></td></tr> </table>
</body> </html>
(Sumber : Utama, 2010)
Ketika ditampilkan melalui browser web, akan terlihat tampilannya sepeti ini:
Gambar 2.8 Dokumen XML yang Digabung Dalam HTML (Sumber : Utama, 2010)
Dikembangkan mulai tahun 1996 dan mendapatkan pengakuan dari W3C pada bulan Februari 1998. Teknologi yang digunakan pada XML sebenarnya bukan teknologi baru, tapi merupakan turunan dari SGML yang telah dikembangkan pada awal 80-an dan telah banyak digunakan pada dokumentasi teknis proyek-proyek berskala besar. Ketika HTML dikembangkan pada tahun
(33)
1990, para penggagas XML mengadopsi bagian paling penting pada SGML dan dengan berpedoman pada pengembangan HTML menghasilkan markup language yang tidak kalah hebatnya dengan SGML.
Seperti halnya HTML, XML juga menggunakan elemen yang ditandai
dengan tag pembuka (diawali dengan ‘<’ dan diakhiri dengan ‘>’), tag penutup (diawali dengan ‘</ ‘diakhiri ‘>’) dan atribut elemen (parameter yang dinyatakan
dalam tag pembuka misal <form name=”isidata”>). Hanya bedanya, HTML
medefinisikan dari awal tag dan atribut yang dipakai di dalamnya, sedangkan pada XML bisa menggunakan tag dan atribut sesuai kebutuhan. Untuk lebih jelasnya lihat contoh di bawah :
<pesan>
<dari>MIS Manager</dari> <buat>HRD Manager</buat> <buat>Bagian rekrut</buat>
<buat>Computer Suport team</buat>
<subyek>Permohonan Tenaga kerja baru</subyek>
<isi>Mohon diberikan tenaga kerja baru untuk mengisi lowongan di Departemen MIS</isi>
</pesan>
(Sumber : Utama, 2010)
Pada contoh di atas <pesan>, <dari> <buat>,dan <isi> bukanlah tag standard yang telah ditetapkan dalam XML. Tag itu dibuat sesuai kebutuhan. Sampai di sini XML tidak melakukan apapun. Yang ada hanyalah informasi yang dikemas dengan tag XML. Untuk mengirim, menerima atau menampilkan informasi di dalamnya, harus dibuat software lagi.
(34)
Gambar 2.9 Tampilan Dokumen XML pada Browser (Sumber : Utama, 2010)
XML untuk saat ini bukan merupakan pengganti HTML. Masing-masing dikembangkan untuk tujuan yang berbeda. Kalau HTML digunakan untuk menampilkan informasi dan berfokus pada bagaimana informasi terlihat, XML mendeskripsikan susunan informasi dan berfokus pada informasi itu sendiri. XML terutama dibutuhkan untuk menyusun dan menyajikan informasi dengan format
yang tidak mengandung format standard layaknya heading, paragraph, table dan
lain sebagainya.
Sama dengan HTML, File XML berbentuk teks sehingga bila diperlukan agar dapat membacanya tanpa memerlukan bantuan software khusus. Hal ini memudahkan pengembang aplikasi yang menggunakan XML untuk mendebug programnya. XML lebih fleksible dibanding HTML dalam hal kemampuannya menyimpan informasi dan data. Pada XML bisa menyimpan data baik dalam atribut maupun sebagai isi elemen yang diletakkan di antara tag pembuka dan tag penutup.
(35)
Kelebihan lain yang dimiliki XML adalah bahwa informasi bisa di pertukarkan dari satu sistem ke sistem lain yang berbeda platform. Misalnya dari Windows ke Unix, atau dari PC ke Machintosh bahkan dari internet ke handphone dengan teknologi WAP.
b. Bagian-Bagian dari Dokumen XML
Sebuah dokumen XML terdiri dari bagian bagian yang disebut dengan node. Node tersebut adalah:
Root nodeyaitu node yang melingkupi keseluruhan dokumen. Dalam satu
dokumen XML hanya ada satu root node. Node yang lainnya berada di
dalam root node.
Element nodeyaitu bagian dari dokumen XML yang ditandai dengan tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen kosong seperti <anggota nama=”budi”/> . Root node biasa juga disebut root element .
Attribute note termasuk nama dan nilai atribut ditulis pada tag awal
sebuah elemen atau pada tag tunggal.
Text node, adalah text yang merupakan isi dari sebuah elemen, ditulis
diantara tag pembuka dan tag penutup
Comment nodeadalah baris yang tidak dieksekusi oleh parser
Processing Instruction node, adalah perintah pengolahan dalam dokumen
XML. Node ini ditandai awali dengan karakter <? Dan diakhiri dengan ?>. Tapi perlu diingat bahwa header standard XML <?xml version=”1.0”
(36)
Standard Header
Attribute Root Node
Elemen kosong Comment
encoding=”iso-8859-1”?> bukanlah processing instruction node. Header
standard bukanlah bagian dari hirarki pohon dokumen XML. NameSpace Node, node ini mewakili deklarasi namespace.
<?xml version=”1.0” encoding=”iso-8859-1”?> <!--Dokumen ini menjelaskan tentang isi buku--> <Buku
Judul=”Teknik Membangun Web Service Dengan Menggunakan SOAP dan WSDL”
Penulis=”Yadi Utama”> <pengantar/>
<Bab No=”1”>Pengantar XML</Bab> <Bab No=”2”>Web Service</Bab> <Bab No=”3”>SOAP</Bab>
. . . </Buku>
Gambar 2.10 Contoh Dokumen XML (Sumber : Utama, 2010)
2.3.4 JSON dan XML Web Service
Dari kesimpulan di atas, JSON atau XML web service dapat didefinisikan sebagai aplikasi yang dapat diakses oleh aplikasi lain. Sesuai dengan namanya, JSON web service menyimpan datanya dalam format JSON dan XML web service dalam format XML. Berikut adalah salah satu contoh fungsi JSON web service dan XML web service.
(37)
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
Public Function updstatON(ByVal nmpilON As String) As String
strSql = "UPDATE praktikum SET status = 'ON' FROM praktikum WHERE nama_prak = '" & nmpilON & "'"
tabelname = "updtstatON"
If kon.State = Data.ConnectionState.Open Then
kon.Close() End If
kon.ConnectionString = "Data Source=4TH-PC\SQLEXPRESS;Initial Catalog=BasDat;Integrated Security=True"
kon.Open()
da = New SqlDataAdapter(strSql, kon) da.Fill(ds, tabelname)
da.MissingSchemaAction =
Data.MissingSchemaAction.AddWithKey Dim cb As SqlCommandBuilder cb = New SqlCommandBuilder(da) Dim MA()() As String = New
String(ds.Tables(tabelname).Rows.Count)() {} Dim j As Integer = 0
For Each dr As Data.DataRow In ds.Tables(tabelname).Rows MA(j) = New String() {dr("status").ToString()}
j += 1 Next
Dim js As New JavaScriptSerializer Dim myjson As String = js.Serialize(MA) Return myjson
End Function
Fungsi diatas adalah fungsi dengan format JSON untuk mengubah status praktikum yang aktif pada semester yang sedang berlangsung dengan parameter jenis praktikum yang dipilih user (contoh : ADBO, PSI, atau Basis Data).
b. XML Web Service
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Xml)> _ Public Function webvwSesi() As Data.DataSet
If kon.State = Data.ConnectionState.Open Then
kon.Close() End If
kon.ConnectionString = "Data
Source=4TH-PC\SQLEXPRESS;Initial Catalog=PrakBasDat;Integrated Security=True"
(38)
DMLSql.CommandText = "SELECT DISTINCT
sesi_praktikum.nama_sesi FROM sesi_praktikum INNER JOIN
praktikum ON sesi_praktikum.id_prak = praktikum.id_prak WHERE praktikum.status = 'ON'"
da = New SqlDataAdapter(DMLSql.CommandText, kon) da.Fill(ds, "webvwsesi")
da.MissingSchemaAction =
Data.MissingSchemaAction.AddWithKey Dim cb As SqlCommandBuilder cb = New SqlCommandBuilder(da) Return ds
End Function
Fungsi diatas adalah fungsi dengan format XML untuk menampilkan sesi praktikum yang aktif pada semester yang sedang berlangsung.
2.3.5 Profil Laboratorium Basis Data UPN “Veteran” Jawa Timur
Laboratorium Basis Data ditujukan untuk mengasah kemampuan mahasiswa dalam pengembangan Sistem Informasi dan Sistem Basis Data. Sejumlah fasilitas dan pengajar yang disediakan oleh laboratorium ini untuk praktikum Basis Data antara lain :
a. Personal Computer (PC) : 14 unit
b. Instruktur praktikum :
1. Waldy Permana Agastya, S.Kom., MM
2. Syurfah Ayu Ithriah, S.Kom
c. Jumlah praktikan per sesi : 20 Mahasiswa
d. Praktikum yang diselenggarakan Lab. Basis Data :
1. Basis Data
(39)
3. ADBO (Analisa dan Desain Berorientasi Objek)
e. Modul praktikum pemrograman sistem informasi :
1. Modul I : Pengenalan PL/SQL
2. Modul II : Cursor
3. Modul III : Form Dasar
4. Modul IV : LOV & Trigger pada Form
5. Modul V : Form Master Detail
6. Modul VI : Program Unit
7. Modul VII : Laporan & Grafik
8. Modul VIII : Menu & Shortcut
Selain untuk melayani praktikum mata kuliah basis data, ADBO, pengembangan sistem informasi, dan lain-lain, mahasiswa tingkat akhir juga dapat menggunakan laboratorium ini untuk mengerjakan tugas akhir ataupun penelitian.
(40)
3.1 Analisa Sistem
Pencatatan nilai praktikan yang masih dicatat secara manual mengakibatkan
munculnya salah perhitungan hasil akhir nilai praktikan. Pihak instruktur atau
asisten juga merasa kesulitan apabila menghadapi pilihan untuk mengubah nilai
praktikum dalam jumlah yang banyak. Penelitian ini dibangun untuk menghadapi
masalah tersebut. Sehingga instruktur tidak akan kerepotan dalam mengganti
maupun menghitung nilai akhir praktikan. Langkah awal dalam membangun sebuah sistem adalah menganalisa sistem, mencari tahu apa yang dibutuhkan oleh
user dan apa yang dipermasalahkan oleh user. Di dalam sistem penilaian
praktikum ini terdapat tiga user, antara lain instruktur praktikum, kepala
laboratorium, dan praktikan. Karena berhubungan dengan penilaian praktikum,
maka akan dibangun proses input nilai praktikum yang hanya akan bisa di akses
oleh para instruktur praktikum, sedangkan untuk kepala laboratorium dan
praktikan hanya mempunyai kepentingan untuk mengetahui nilai praktikum.
Untuk instruktur praktikum akan dibangun aplikasi penilaian berbasis desktop,
sedangkan untuk kepala laboratorium dan praktikan akan dibangun aplikasi
berbasis web. Aplikasi berbasis desktop dipilih untuk instruktur dikarenakan
aplikasi ini hanya boleh di akses oleh instruktur praktikum (bersifat rahasia). Dan
aplikasi berbasis web dipilih karena aplikasi ini akan dapat di akses baik oleh
kepala laboratorium, maupun oleh para praktikan (bersifat umum). Selain
(41)
dibangun sebuah web service yang menjadi pembahasan utama. Seperti yang telah
dijelaskan pada bab sebelumnya, sebuah web service adalah layanan web yang
menyediakan fungsi-fungsi yang dibutuhkan oleh proses-proses di dalam sistem
penilaian praktikum. Untuk membangun keseluruhan aplikasi dan web service,
dibutuhkan beberapa perangkat lunak pengembang (software development).
Perangkat lunak yang akan digunakan antara lain, Microsoft Visual Studio 2005,
Sybase Power Designer 6 32-bit, Microsoft Visio 2007, dan Microsoft SQL
Server 2005. Ilustrasi arsitektur sistem penilaian praktikum yang akan dibangun
dapat digambarkan seperti pada Gambar 3.1.
(42)
Berikut adalah penjelasan mengenai beberapa perangkat lunak yang akan
digunakan :
a. Microsoft Visual Studio 2005
Bahasa pemrograman yang akan digunakan dalam membangun
aplikasi keseluruhan adalah bahasa VB (Visual Basic). Sejarah Visual Basic
dimulai dari penemuan BASIC (Beginner’s All Purpose Symbolic
Instruction Code), sebuah bahasa yang mudah dipelajari dan digunakan bagi
progammer pemula, pada tahun 1964. Pada tahun 1975, ketika Microsoft
merupakan perusahaan baru, Microsoft BASIC dan produk sukses mereka
Quick BASIC (QBASIC) menjadi versi BASIC yang banyak digunakan. Quick BASIC bisa digunakan dalam Windows ketika diluncurkan, tetapi
masih diperlukan usaha lebih untuk pemrogaman Graphical User Interface
(GUI).
Microsoft mengeluarkan produk baru, yaitu Visual Basic 1.0 yang
merupakan bahasa pemrogaman berbasis GUI. Visual Basic merupakan
bahasa interpreter, yaitu bahasa yang menggunakan program khusus untuk
membaca dan menjalankan kode tanpa proses compile terlebih dahulu.
Proses compile adalah proses menterjemahkan kode dalam bahasa tingkat
tinggi menjadi bahasa mesin. Bahasa pemrogaman yang membutuhkan
proses compile disebut bahasa compiler. Visual Basic 1.0 bukanlah program
yang pertama kali muncul dengan model seperti itu, tapi program ini
menyediakan lingkungan yang cepat untuk membangun grafis antar muka
(43)
Basic adalah bahasa interpreter yang hasil tampilanya tidak terlalu bagus
apabila dibandingkan dengan Visual C++, Delphi, atau bahasa compiler lain.
Perubahan lain adalah kemampuan membuat komponen.
Membagi-bagi kode dalam suatu program adalah dengan menuliskanya sebagai
prosedur. Versi-versi baru Visual Basic dengan kemampuanya membuat
komponen-komponen menjadi semakin kompleks. Versi 4.0 yang
diluncurkan pada tahun 1996 merupakan versi pertama yang bisa membuat
komponen dan sekarang merupakan komponen penting dalam membuat
proyek pemrogaman.
Banyak tambahan fitur-fitur baru ke dalam Visual Basic, namun semuanya dibangun pada dasar-dasar yang sudah ada. Untuk menulis bahasa
baru yang terlepas dari bahasa sebelumnya membutuhkan banyak usaha.
Kelebihan dari bahasa baru adalah benar-benar terhindar dari kelemahan
bahasa progran yang lalu. Ini yang dilakukan oleh Microsoft pada waktu
berpindah dari Visual Basic 6.0 ke Visual Basic .NET. Bahasa ini ditulis
ulang untuk membuat versi yang benar-benar handal.
Visual Basic .NET dibangun diatas teknologi .NET, yaitu teknologi
dan konsep platform yang dapat digunakan mengembangkan aplikasi yang
terdistribusi melalui internet. Teknologi .NET ini tercermin dalam .NET
framework yang merupakan dasar untuk pengembangan aplikasi-aplikasi
berbasis .NET. .NET framework menyediakan dua hal penting. Yaitu
Common Language Runtime (CLR) dan Class Library. CLR merupakan
engine yang menjalankan aplikasi .NET dan menyediakan layanan-layanan
(44)
seperti sistem operasi yang menyediakan lapisan antara program dengan
kompleksitas sistem. Bahasa yang memenuhi Common Language
Specification (CLS) juga dapat menggunakan .NET framework. Class
Library menyediakan satu set besar fungsi wrapping dan abstraksi seperti
internet protokol, akses file system, manipulasi XML dan banyak lagi.
Karena dibangun berdasarkan teknologi .NET maka Visual Basic
.NET mampu untuk membuat aplikasi yang terdistribusi malalui internet
dimana client bukan lagi hanya PC, namun dapat berupa alat-alat yang lain
seperti mobile device dalam lingkungan yang terintegrasi. Visual Basic
.NET mampu membuat aplikasi server (ASP.NET, XML Web Service) dalam lingkungan yang terintegrasi.
Alasan mengapa menggunakan Visual Basic .NET 2005 ini karena
Microsoft Visual Basic adalah bahasa pemrogaman yang digunakan untuk
membuat aplikasi Windows yang berbasis grafis (GUI - Graphical User
Interface). Untuk mendesain tampilan yang kita inginkan, kita perlu
meletakan objek-objek grafis ke lembar (form) yang sudah tersedia ada
Visual Basic dan selanjutnya kita hanya perlu memikirkan struktur dan
logika data dari program utama.
Visual Basic merupakan salah satu bahasa pemrogaman yang
dikembangkan oleh Microsoft. Selain itu Visual Basic juga merupakan
sarana (tools) untuk menghasilkan program-program aplikasi berbasiskan
Windows. Beberapa kemampuan atau manfaat dari Visual Basic adalah bisa
(45)
objek- objek pembantu program seperti control ActiveX, file, help, aplikasi
internet dan sebagainya.
b. Microsoft SQL Server 2005
Microsoft SQL Server 2005 adalah perangkat lunak pengolahan
database yang sesuai untuk mengolah informasi dalam jumlah yang besar.
SQL Server adalah bagian dari Back Office Microsoft, yang juga
menyertakan Back Office Server, Exchange Server, Proxy Server, Site
Server, Small Bussiness Server, SNA Server, dan System Management Server.
Tahun 1993 SQL Server mulai dikembangkan oleh Microsoft. Pada SQL Server saat itu Microsoft merupakan porting partner bagi Sybase SQL
Server, karena itu tidak heran jika SQL Server yang dikembangkan ini
mempunyai arsitektur yang berbasis Sybase. Pada tahun 1995 dan 1996
secara berurutan, SQL Server versi 6.0 dan 6.4 akhirnya dirilis.
Setelah dirilisnya kedua versi tersebut, selanjutnya perbaikan SQL
Server direncanakan akan dirilis sebanyak tiga kali, yang pada setiap rilisnya
menitikberatkan pada hal yang berbeda. Rilis pertama fokus pada
pembangunan ulang arsitektur SQL Server agar sesuai untuk digunakan oleh
perusahaan, yaitu SQL Server 7.0. pembangunan arsitektur tidak dilakukan
dari awal, tapi dari arsitektur yang sudah ada dengan disertai penyesuaian
terhadap beberapa aplikasi yang telah berjalan pad SQL Server. Dengan rilis
pertama ini menjadikan SQL Server sebagai DBMS pertama yang dapat
(46)
2000. Pada versi ini ditambahkan fitur XML, data mining, upgrade OLAP
dari versi sebelumnya, dan fitur materialized views. Sedangkan rilis ketiga
yaitu SQL Server 2005.
Selain sejarah, rasanya perlu juga dikenalkan juga beberapa fitur yang
dimiliki oleh SQL Server 2005. Beberapa diantaranya adalah:
1. Upgrade menjadi SQL Server 2005, misalnya dari versi 2000, berbeda
dengan upgrading pada versi-versi sebelumnya, maka tidak perlu ada
migrasi database.
2. Perubahan tools sets dapat dikatakan dilakukan secara besar-besaran.
SQL Enterprise Manager dan Query Analyzer diganti dengan SQL Server Management Studio. Beberapa kemampuan Analysis Manager
juga telah tercakup pada SQL Server Management. The Client Network
Utility, server Network Utility, dan SQL Service Manager diganti
dengan SQL Server Configuration Manager MMC snap-in. selain itu
ada tambahan tool set baru, yaitu Business Intelligence Development
Studio, yang digunakan membangun aplikasi business intelligence.
Dengan adanya perubahan tool set secara besar-besaran ini dapat
mendukung fungsionalitas DBA secara keseluruhan yang tidak
didapatkan pada beberapa rilis sebelumnya.
3. SQL Server 2005 menggantikan Data Transformation Service (DTS)
pada SQL Server 7.0 dan 2000 dengan SQL Server Integration Services
(SSIS). Meski sangat mungkin untuk menjalankan package DTS di
SQL Server 2005, tidak ada lagi tools yang dapat mendukung
(47)
migrasi dari package DTS menjadi SSIS untuk melakukan
pengembangan baru, yaitu dengan Data Transformation Services
Migration Wizard.
4. Menambahkan dukungan untuk AMD dan Intel 64 bit pada arsitektur
x86, Itanium 64 bit, dan ekstensi untuk tuning system NUMA (
Non-Uniform Memory Access).
Berikut adalah alasan dan keunggulan menggunakan Microsoft SQL
Server 2005 sebagai manajemen pengolahan data, antara lain:
1. Menyediakan pengelolaan view secara dinamis, yaitu dengan adanya
catalog views, karena digantikanya sistem tabel menjadi sistem catalog.
Pengelolaan dalam DBMS dan memecahkan permasalahan dengan
adanya Dedicated Administrative Console dan melakukan tuning.
2. Mampu menyimpan dan memelihara mirror kopian database dari
server lain.
3. Mengurangi beban kerja DBA.
4. Upgrading dari versi sebelumnya tidak memerlukan migrasi database.
Selain perangkat lunak, perangkat keras (hardware) juga dibutuhkan
sebagai media untuk aplikasi yang dibangun. Berikut adalah penjelasan mengenai
standart minimum beberapa perangkat keras yang dibutuhkan :
a. Sistem Operasi : Standar minimum sistem operasi yang disarankan adalah
sistem operasi Microsoft Windows XP. Namun yang akan digunakan
(48)
Microsoft Windows dipilih karena aplikasi yang akan dibangun berbasis
Windows.
b. Media Output : Media untuk output program berupa monitor PC ataupun
monitor laptop.
c. Media Input : Media untuk input program berupa mouse, keyboard, keypad
laptop ataupun touchpad laptop.
3.2 Perancangan Sistem
Setelah tahap analisa sistem selesai dilakukan, tahap selanjutnya dalam
siklus pembuatan sistem adalah desain sistem. Pada tahap ini terdapat aktifitas
pendefinisian kebutuhan fungsional-fungsional dan persiapan untuk rancang bangun hingga implementasi dari sistem informasi. Langkah-langkah yang
dilakukan dalam tahap perancangan sistem adalah.
3.2.1 System Flow Penilaian
Aliran sistem adalah bagian yang menunjukkan arus kerja secara
menyeluruh dari suatu sistem terkomputerisasi yang menjelaskan urutan
prosedur-prosedur yang terdapat di dalam sistem. Dalam rancangan kerja aplikasi dalam hal
pemrosesan data nilai praktikum, terdapat dua entitas yang berhubungan dengan
proses. Namun hanya satu entitas yang berhubungan langsung dengan sistem. Dua
entitas tersebut adalah praktikan dan pengguna (instruktur praktikum dan kepala
laboratorium). Pihak instruktur praktikum bertanggung jawab atas nilai tiap
praktikan yang diinputkan ke dalam sistem dan juga mengecek nilai akhir
(49)
apabila terdapat permintaan revisi nilai dari para praktikan yang telah disetujui
oleh kepala laboratorium. Sedangkan untuk praktikan dan kepala laboratorium
hanya dapat melihat nilai matang praktikum setelah sesi praktikum berakhir
melalui aplikasi berbasis web yang telah disediakan.
Dalam rancangan sysflow (System Flow) sistem penilaian praktikum
laboratorium Basis Data UPN “VETERAN” Jawa Timur. Proses dimulai pada
menampilkan data nilai praktikan berdasarkan sesi praktikum, jenis nilai, dan
modul. Setelah itu proses dilanjutkan input nilai yang berdasarkan penilaian
instruktur terhadap kinerja tiap praktikan. Dilanjut kemudian ke proses simpan
nilai praktikan yang membutuhkan detail data pada entitas praktikan, pengguna, dan sesi praktikum yang kemudian nilai-nilai tersebut akan meng-update nilai
yang telah ada pada entitas nilai. Setelah proses menyimpan nilai selesai,
instruktur dapat mengecek ulang nilai praktikan yang telah tersimpan. Selanjutnya
adalah tugas untuk kepala laboratorium untuk melihat laporan nilai secara
keseluruhan dan memutuskan untuk mencetak laporan atau tidak. Dalam sistem
ini diberikan menu untuk rekapitulasi nilai akhir, yang dapat memudahkan kerja
instruktur dalam hal rekapitulasi (meng-update nilai total praktikum per modul,
nilai rata-rata, dan grade nilai) dengan waktu yang singkat serta tingkat akurat
data yang tinggi, sehingga meminimalisir adanya kesalahan pada proses nilai
akhir. Proses selengkapnya dalam sysflow penilaian praktikum dapat dilihat dalam
(50)
Gambar 3.2 System Flow Sistem Penilaian Praktikum
3.2.2 Data Flow Diagram
Data Flow Diagram (DFD) menggambarkan aliran data yang terjadi di
dalam sistem yang dirancang, sehingga dengan dibuatnya DFD ini akan terlihat
(51)
a. Context diagram
Context diagram menggambarkan proses aliran data yang terjadi
dalam sistem secara garis besarnya. Selanjutnya Context diagram dapat di
dekomposisi menjadi data flow diagram level 0 yang menjelaskan proses
level yang lebih tinggi. Selengkapnya dapat dilihat pada Gambar 3.3. Dapat
dijelaskan bahwasanya jumlah entitas yang berhubungan dengan sistem
secara langsung adalah 3 entitas, yaitu : kepala laboratorium, instruktur, dan
praktikan. Dimana masing- masing entitas mempunyai hak dan kepentingan
masing-masing.
pencarian data laporan 3 laporan nilai praktikum 3 pencarian data laporan 2
pencarian data laporan 1 data input nilai lapres
data input nilai demo prak data input nilai disiplin
data input nilai tupen
laporan nilai praktikum 2
laporan nilai praktikum 1 0 Sistem Penilaian + Instruktur Praktikum Kepala Laboratorium Praktikan
Gambar 3.3 Context Diagram
b. DFD Level 0
Dalam penggambaran DFD level 0 ini, tidak meletakkan beberapa
simbol database karena harus melalui proses selanjutnya terlebih dahulu.
Ada beberapa proses dalam DFD level 0 yang dibutuhkan, yaitu: proses
olah nilai dan proses olah laporan. Kedua proses tersebut akan berlanjut ke proses olah fungsi web service. Proses selengkapnya dapat dilihat pada
(52)
pencarian data laporan 3
laporan nilai praktikum 3
response pencarian laporan
request fungsi cari laporan
request fungsi update nilai pencarian data laporan 2
data input nilai tupen
data input nilai disiplin data input nilai demo prak
data input nilai lapres laporan nilai praktikum 2 pencarian data laporan 1
laporan nilai praktikum 1 Kepala Laboratorium
Instruktur Praktikum 1
Proses Olah Nilai 2
Proses Olah Fungsi Web Service
+
3
Proses Olah Laporan
Praktikan
Gambar 3.4 DFD level 0
c. DFD Level 1 Olah Fungsi Web Service
Pada DFD level 1, terdapat dua proses yang menuju ke proses olah
fungsi web service, proses pertama adalah proses olah nilai dan proses
(53)
lanjutan yaitu proses fungsi update nilai. Dalam proses ini membutuhkan
detail data pada tabel praktikan, pengguna, dan sesi prak. Setelah itu
melakukan eksekusi data pada tabel nilai. Untuk proses kedua menuju ke
proses lanjutan yaitu proses fungsi tampil laporan. Dalam proses ini pertama
kali akan melakukan pencarian data berdasarkan sesi dan juga modul.
Selanjutnya data yang dicari akan diterima dan kemudian akan merespon
kembali ke proses olah laporan. Proses selengkapnya dapat dilihat pada
Gambar 3.5.
data pencarian modul data pencarian sesi praktikum
data pencarian praktikan
data pencarian penjadwalan
data pencarian pengajar data pencarian nilai
[response pencarian laporan][request fungsi cari laporan]
execute update nilai
[request fungsi update nilai]
Proses Olah Nilai
Proses Olah Laporan
2.1
Proses Fungsi Update Nilai
2.2
Proses Fungsi Tampil Laporan
1 nilai 2 pengajar
3 pengguna
4 praktikan 5 penjadwalan
6 praktikum 7 sesi_praktikum
8 modul
(54)
3.2.3 Entity Relationship Diagram
Entity Relationship Diagram (ERD) dari Sistem Informasi Penilaian dan
Absensi terdiri dari Conceptual Data Model (CDM) dan Physical Data Model
(PDM). Gambaran CDM dan PDM dapat dilihat pada Gambar 3.6 dan Gambar
3.7.
a. Conceptual Data Modelling (CDM)
Gambar 3.6 merupakan Conceptual Data Model (CDM) digunakan
dalam perancangan database sistem. Dalam CDM ini terdapat total 8 tabel
dengan rincian 6 tabel master dan 2 tabel relasi. Diagram dan relasi lebih
lengkapnya dapat dilihat pada Gambar 3.6.
menginput memiliki3 mempunyai2 mempunyai jadwal_sesi memiliki2 memiliki mendapatkan mengajar praktikan npm_praktikan nama_praktikan peng ajar id_peng ajar nama_pengajar praktikum id_prak nama_prak semester status penjadwalan hari tahun_ajaran nilai nilai_tupen nilai_disiplin nilai_demo_prak nilai_lapres status _nilai tgl_nilai sesi_praktikum id_s esi nama_s es i
peng guna id_peng g una kata_sandi jabatan modul id_mdl nama_mdl status _mdl
(55)
b. Physical Data Model (PDM)
Gambar 3.7 merupakan Physical Data Model pada Sistem Penilaian
Praktikum. PDM merepresentasikan table-tabel yang digunakan beserta
dengan tipe data dan panjang karakter dari masing field.
ID_PENGAJAR = ID_PENGAJAR
ID_MDL = ID_MDL ID_PENGGUNA = ID_PENGGUNA
ID_PENGGUNA = ID_PENGGUNA
ID_SESI = ID_SESI
ID_PRAK = ID_PRAK
NPM_PRAKTIKAN = NPM_PRAKTIKAN
NPM_PRAKTIKAN = NPM_PRAKTIKAN ID_PENGAJAR = ID_PENGAJAR
PRAKTIKAN NPM_PRAKTIKAN varchar(10) NAMA_PRAKTIKAN varchar(50) ID_PENGGUNA varchar(25) PENGAJAR ID_PENGAJAR varchar(20) NAMA_PENGAJAR varchar(50) ID_PENGGUNA varchar(25) PRAKTIKUM ID_PRAK varchar(10) NAMA_PRAK varchar(20) SEM ESTER int STATUS varchar(5) PENJADWALAN ID_SESI varchar(10) HARI varchar(10) TAHUN_AJARAN varchar(10) ID_PENGAJAR varchar(20)
NPM_PRAKTIKAN varchar(10) NILAI
NPM_PRAKTIKAN varchar(10) NILAI_TUPEN decimal NILAI_DISIPLIN decimal NILAI_DEM O_PRAK decimal NILAI_LAPRES decimal ID_MDL varchar(5) ID_PENGAJAR varchar(20) STATUS_NILAI int TGL_NILAI datetime SESI_PRAKTIKUM ID_PRAK varchar(10) NAMA_SESI varchar(10) ID_SESI varchar(10) PENGGUNA ID_PENGGUNA varchar(25) KATA_SANDI varchar(20) JABATAN varchar(10) MODUL ID_MDL varchar(5) NAMA_MDL varchar(5) STATUS_MDL varchar(10)
Gambar 3.7 PDM (Physical Data Modelling)
c. Struktur Database
Adapun perancangan tabel yang terdapat dalam pembuatan aplikasi
(56)
pada laboratorium basis data UPN “Veteran” JATIM adalah sebagai
berikut:
1. Nama Tabel : pengguna
Primary Key : id_pengguna
Foreign Key : -
Fungsi : menyimpan data pengguna
Tabel 3.1 Struktur Tabel Pengguna
KETERANGAN
NO NAMA TIPE PANJANG
PK FK TABEL
1 id_pengguna VARCHAR 25 √
2 kata_sandi VARCHAR 20
3 jabatan VARCHAR 10
2. Nama Tabel : praktikan
Primary Key : npm_praktikan
Foreign Key : id_pengguna
Fungsi : menyimpan data praktikan
Tabel 3.2 Struktur Tabel Praktikan
KETERANGAN
NO NAMA TIPE PANJANG
PK FK TABEL
1 npm_praktikan VARCHAR 10 √
2 nama_praktikan VARCHAR 50
3 id_pengguna VARCHAR 25 √ pengguna
3. Nama Tabel : nilai
Primary Key : -
Foreign Key : npm_praktikan, id_mdl, id_pengajar
(57)
Tabel 3.3 Struktur Tabel Nilai
KETERANGAN
NO NAMA TIPE PANJANG
PK FK TABEL
1 npm_praktikan VARCHAR 10 √ praktikan
2 nilai_tupen DECIMAL
3 nilai_disiplin DECIMAL
4 nilai_demo_prak DECIMAL
5 nilai_lapres DECIMAL
6 id_mdl VARCHAR 5 √ modul
7 id_pengajar VARCHAR 20 √ pengajar
8 status_nilai INTEGER
9 tgl_nilai DATETIME
4. Nama Tabel : modul
Primary Key : id_mdl
Foreign Key : -
Fungsi : menyimpan data detail modul
Tabel 3.4 Struktur Tabel Modul
KETERANGAN
NO NAMA TIPE PANJANG
PK FK TABEL
1 id_mdl VARCHAR 5 √
2 nama_mdl VARCHAR 5
3 status_mdl VARCHAR 10
5. Nama Tabel : penjadwalan
Primary Key : -
Foreign Key : id_sesi, id_pengajar, npm_praktikan
(58)
Tabel 3.5 Struktur Tabel Penjadwalan
KETERANGAN
NO NAMA TIPE PANJANG
PK FK TABEL
1 id_sesi VARCHAR 10 √ sesi_praktikum
2 hari VARCHAR 10
3 tahun_ajaran VARCHAR 10
4 id_pengajar VARCHAR 20 √ pengajar
5 npm_praktikan VARCHAR 10 √ praktikan
6. Nama Tabel : pengajar
Primary Key : id_pengajar
Foreign Key : pengguna
Fungsi : menyimpan data detail pengajar
Tabel 3.6 Struktur Tabel Pengajar
KETERANGAN
NO NAMA TIPE PANJANG
PK FK TABEL
1 id_pengajar VARCHAR 20 √
2 nama_pengajar VARCHAR 50
3 id_pengguna VARCHAR 25 √ pengguna
7. Nama Tabel : sesi_praktikum Primary Key : id_sesi
Foreign Key : id_prak
Fungsi : menyimpan data detail sesi praktikum
Tabel 3.7 Struktur Tabel Sesi Praktikum
KETERANGAN
NO NAMA TIPE PANJANG
PK FK TABEL
1 id_prak VARCHAR 10 √ praktikum
2 nama_sesi VARCHAR 10
(59)
8. Nama Tabel : praktikum
Primary Key : id_prak
Foreign Key : -
Fungsi : menyimpan data detail praktikum
Tabel 3.8 Struktur Tabel Praktikum
KETERANGAN
NO NAMA TIPE PANJANG
PK FK TABEL
1 id_prak VARCHAR 10 √
2 nama_prak VARCHAR 20
3 semester INTEGER 10
4 status VARCHAR 5
3.2.4 Desain Interface
Sebelum menuju ke proses pemrograman, hal yang akan dilakukan pertama
adalah merancang desain interface. Desain interface yang akan dibuat ini
bukanlah desain matang yang sudah jadi, melainkan desain yang akan menjadi
patokan dasar form aplikasi. Dalam merancang desain interface akan bergantung kepada hasil akhir sysflow (aliran sistem) yang telah dibuat. Jika dalam mendesain
antarmuka aplikasi tanpa adanya desain sysflow, maka yang terjadi adalah
perulangan yang tidak perlu dalam mendesain karena akan muncul banyak
kebutuhan yang tak terduga. Berikut adalah desain interface untuk keseluruhan
form aplikasi baik yang berbasis desktop maupun web:
a. Form Aplikasi Berbasis Desktop
Untuk form aplikasi berbasis desktop akan dibangun empat form, antara
(60)
dan form modul. Form lengkap aplikasi berbasis desktop dapat dilihat pada
Gambar 3.8 hingga Gambar 3.12.
1. Form Login
Gambar 3.8 Desain InterfaceFormLogin
Desain form login diperuntukkan sebagai form awal untuk verifikasi user
yang berhak mengakses ke dalam form utama. Form login ini sangat
dibutuhkan untuk mencegah penyalahgunaan aplikasi dari pihak-pihak diluar
pihak internal (instruktur praktikum dan kepala laboratorium).
2. FormInput Nilai Praktikum
(61)
Desain form input nilai praktikum dirancang untuk kegiatan input nilai
praktikum. Dalam desain ini dimaksimalkan untuk kemudahan user dalam
memahami cara kerja input nilai praktikum.
3. FormLog Nilai (Khusus Kalab)
Gambar 3.10 Desain InterfaceFormLog Nilai
Desain log nilai dirancang untuk melihat update data nilai praktikum.
Dalam desain ini diberikan pilihan untuk melihat update data nilai
berdasarkan tanggal yang dipilih.
4. Form Cek Laporan
Gambar 3.11 Desain InterfaceForm Cek Laporan
Desain cek laporan dirancang untuk proses menampilkan data nilai
(62)
pilihan untuk menampilkan nilai total, rata-rata, serta grade (nilai huruf) dan
pilihan kedua untuk menampilkan nilai tupen, disiplin, demo praktikum, serta
lapres.
5. Form Modul (Khusus Kalab)
Gambar 3.12 Desain InterfaceForm Modul
Desain modul dirancang untuk melakukan proses update modul yang bisa
di akses oleh asisten maupun instruktur. Dalam desain ini diberikan pilihan
untuk melakukan proses update modul berdasarkan modul dan status modul
yang dipilih.
b. Form Aplikasi Berbasis Web
Untuk form aplikasi berbasis web juga akan dibangun empat form, antara
lain : form menu utama, form menu laporan user, form menu laporan admin,
dan form menu aktivasi. Form lengkap aplikasi berbasis web dapat dilihat
pada Gambar 3.13 hingga Gambar 3.16.
1. Form Menu Aktivasi
(63)
Desain menu aktivasi dirancang untuk proses mengubah status praktikum
yang akan aktif pada semester saat ini. Dalam desain ini hanya diberikan
pilihan praktikum yang akan dipilih kepala laboratorium sebagai praktikum
aktif.
2. Form Menu Utama
Gambar 3.14 Desain InterfaceForm Menu Utama
Desain menu utama dirancang untuk halaman pembuka aplikasi berbasis
web. Dalam desain ini terdapat pilihan untuk login (khusus kepala
laboratorium) dan juga pilihan untuk melihat nilai praktikum untuk praktikan.
3. Form Menu Laporan User
(64)
Desain menu laporan user dirancang untuk menampilkan data nilai
praktikum untuk user (praktikan). Dalam desain ini hanya diberikan pilihan
menampilkan data nilai praktikum berdasarkan sesi praktikum yang dipilih.
4. Form Menu Laporan Admin
Gambar 3.16 Desain InterfaceForm Menu Laporan Admin
Desain menu laporan admin dirancang untuk menampilkan data nilai
praktikum untuk kepala laboratorium. Dalam desain ini diberikan pilihan
menampilkan data nilai praktikum berdasarkan sesi praktikum dan modul
yang dipilih.
3.2.5 Pseudo-code Program
Pseudo-code adalah kode atau tanda yang menyerupai (pseudo) atau
merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering
digunakan untuk menuliskan algoritma dari suatu permasalahan. Pseudo-code
berisikan langkah-langkah untuk menyelesaikan suatu permasalahan (hampir
sama dengan algoritma), hanya saja bentuknya sedikit berbeda dengan algoritma.
(65)
permrograman. Selain itu biasanya pseudo-code menggunakan bahasa yang
mudah dipahami secara universal dan juga lebih ringkas daripada algoritma.
Berikut adalah pseudo-code dari aplikasi berbasis desktop dan web :
a. Pseudo-code Aplikasi Berbasis Desktop
Prosedur Login
Input username. Input password.
Tekan tombol “submit”.
IF username dan password = Cocok THEN Form Input Nilai Praktikum muncul. ELSE
Input ulang username dan password. Prosedur Tampil Nilai Admin
Pilih Sesi.
Pilih Modul.
Tekan tombol “submit”. Prosedur Tampil Nilai User
Pilih Sesi.
Tekan tombol “submit”.
b. Pseudo-code Aplikasi Berbasis Desktop
Prosedur Login
Input username.
Input password.
Tekan tombol “submit”.
IF username dan password = Cocok THEN Form Input Nilai Praktikum muncul. ELSE
Input ulang username dan password.
Prosedur Utama Input Nilai Praktikum
Pilih Sesi
Pilih Jenis Nilai
Pilih Modul
Tekan tombol “tampilkan”.
IF pilih input nilai praktikan per orang = TRUE THEN
Pilih praktikan.
Input Nilai.
Tekan “enter”.
ELSE
Centang check box “semua nilai praktikan”.
(66)
Tekan “enter”. Prosedur Update Nilai
IF update nilai per modul = TRUE THEN
Pilih modul 1, 2, 3, 4, 5, 6, 7, 8, FP ELSE IF update nilai total, rata2, dan grade nilai = TRUE THEN
Pilih Sesi.
Pilih NPM.
ELSE
Tutup Form Data Laporan. Prosedur Cek Laporan
IF radio button “nilai total, rata2, dan grade” = TRUE THEN
Pilih Sesi.
Tekan tombol “submit”.
ELSE
Pilih Sesi.
Pilih Modul.
(67)
Pada bab IV ini akan di bahas tentang implementasi sistem dari desain sistem yang telah dibangun. Isi dari bab IV ini antara lain kebutuhan sistem, penjelasan pengguna program, serta rancangan form secara keseluruhan.
4.1 Kebutuhan Sistem
Agar sistem berjalan sesuai yang diharapkan, maka dibutuhkan spesifikasi standar minimum kebutuhan piranti lunak dan piranti keras.
a. Kebutuhan Perangkat Lunak
Perangkat lunak minimum yang digunakan untuk menjalankan sistem ini adalah :
1. Microsoft Windows XP/Vista/7; sistem operasi program.
2. Microsoft SQL Server 2005; database untuk menyimpan data.
3. Microsoft Visual Studio 2005; aplikasi untuk membangun program.
4. Sybase Power Designer 6 32-bit dan Microsoft Visio 2007; aplikasi
untuk membuat desain.
b. Kebutuhan Perangkat Keras
Perangkat keras minimum yang digunakan untuk menjalankan sistem ini adalah :
1. CPU : Prosesor setara Intel Pentium IV atau yang lebih tinggi.
2. RAM : 256 MB (direkomendasikan 512 MB).
(68)
4. Keyboard dan mouse.
5. Hardisk minimum 10 GB
6. Monitor
4.2 Penjelasan Pengguna Program
Berikut ini akan dijelaskan implementasi program sistem penilaian praktikum laboratorium Basis Data UPN “VETERAN” JATIM.
Tabel 4.1 Hak Akses
Jabatan Hak Akses Jenis Aplikasi Menu Utama Web
Menu Laporan (Admin) Web Menu Aktifasi Web Form Login Desktop Form Input Nilai Desktop Form Modul Desktop Kalab
Form Log Nilai Desktop Menu Utama Web Menu Laporan (Admin) Web Form Login Desktop Asisten / Instruktur
Form Input Nilai Desktop Menu Utama Web Praktikan
Menu Laporan (User) Web
1. FormLogin (Desktop)
Form login digunakan untuk user yang dalam hal ini adalah asisten
praktikum. Untuk mendapat hak akses sesuai dengan porsi kebutuhan masing – masing jabatan dengan proses pengecekan terhadap jabatan
(69)
berdasar username pada tabel . Contoh akan digambarkan dalam gambar
berikut.
Gambar 4.1 Form Login
2. Form Input Nilai Praktikum (Desktop)
Form input nilai praktikum digunakan untuk mengisi nilai
praktikum tiap praktikan mulai dari nilai tupen (tugas pendahuluan), nilai disiplin, nilai demo praktikum, nilai lapres (laporan resmi), hingga nilai FP (final project). Contoh akan digambarkan dalam gambar berikut.
(70)
3. FormLog Nilai (Desktop)
Form log nilai digunakan untuk melihat proses update nilai yang
terjadi. Contoh akan digambarkan dalam gambar berikut.
Gambar 4.3 Form Log Nilai
4. Form Cek Laporan (Desktop)
Form cek laporan digunakan untuk melakukan pengecekan nilai
praktikum. Fungsi dalam form ini sama persis dengan fungsi menampilkan nilai praktikum pada aplikasi berbasis web yang telah dibuat, hanya saja menjadi satu paket. Contoh akan digambarkan dalam gambar berikut.
(71)
5. Form Modul (Desktop)
Form modul digunakan untuk melakukan proses update modul
yang bisa diakses oleh instrutktur maupun asisten. Contoh akan digambarkan dalam gambar berikut.
Gambar 4.5 Form Modul
6. Menu Utama (Web)
Menu utama adalah menu dimana user akan menentukan pilihan untuk melihat informasi nilai atau menuju ke menu yang lain.
(72)
Gambar 4.6 Menu Utama
7. Menu Laporan User (Web)
Menu laporan user adalah menu untuk user dalam hal ini praktikan agar dapat melihat nilai praktikum.
Gambar 4.7 Menu Laporan User
8. Menu Laporan Admin (Web)
Menu laporan admin adalah menu untuk user dalam hal ini kepala laboratorium agar dapat melihat hasil nilai praktikum tiap sesi dan modul.
(73)
Gambar 4.8 Menu Laporan Admin
9. Menu Aktivasi (Web)
Menu aktivasi adalah menu kepala laboratorium untuk mengubah status praktikum yang akan diaktifkan.
Gambar 4.9 Menu Aktivasi
4.3 Source Code Program
Berikut ini akan dijelaskan beberapa source code program sistem penilaian praktikum yang diterapkan pada laboratorium Basis Data UPN “VETERAN” JATIM.
a. Menampilkan nilai berdasarkan sesi, jenis nilai, dan modul pada form
input nilai praktikum. Berikut ini adalah kutipan kode menampilkan nilai dengan pilihan jenis nilai adalah tugas pendahuluan (tupen) :
Dim AXEcess As New localhost.Service
Dim du, dut As String
Sub viewtp()
du = "nilai_tupen" dut = "Nilai Tupen"
(1)
73
Gambar 5.6 Pelaporan Eksternal Aplikasi Web
5.2 Penerapan JSON dan XML Web Service pada Sistem Penilaian
Praktikum
Teknis penerapan web service sepenuhnya tergantung kebutuhan dan kreatifitas pihak pengembang, dengan mempertimbangkan sistem yang dibuat. Berikut beberapa contoh penerapan web service berbasis JSON dan XML :
a. Menampilkan Data Nilai Praktikum pada Proses Input Nilai
Pada proses menampilkan data nilai praktikum ini memanggil satu fungsi web service dengan nama “tampilnilai”. Fungsi dengan nama “tampilnilai” ini membutuhkan empat parameter untuk melengkapi string query yang ada di dalam fungsi. Dengan adanya parameter ini, fungsi “tampilnilai” dapat menampilkan data nilai praktikan berdasarkan pilihan jenis nilai, sesi, dan juga modul. Setelah nilai parameter didapatkan, selanjutnya web service mengambil data dari database yang kemudian mengubah format data menjadi XML. Selanjutnya format data
(2)
XML tersebut dikirim ke pihak request (aplikasi penilaian praktikum berbasis desktop) dan menampungnya ke dalam datagrid.
b. Menyimpan Data Nilai Praktikan pada Proses Input Nilai
Menyimpan data nilai praktikum merupakan proses lanjutan dari proses menampilkan data nilai praktikum. Pada proses ini, fungsi web service yang digunakan adalah “svdtapil”. Fungsi “svdtapil” membutuhkan empat parameter untuk melengkapi string query yang ada di dalam fungsi. Karena fungsi “svdtapil” ini adalah fungsi untuk meng-update nilai, maka format data yang akan digunakan adalah format data JSON. Dengan format data JSON yang kecil ini, proses update nilai menjadi lebih cepat daripada format data XML.
5.3 Evaluasi Sistem
Dari penelitian yang telah dilakukan, didapat beberapa keuntungan dan kerugian dalam mengimplementasi web service, antara lain :
a. Keuntungan Web Service :
1. Web Service menyediakan interoperabilitas antar berbagai aplikasi perangkat lunak yang berjalan pada platform yang berbeda.
2. Dengan pemanfaatan HTTP, Web Service dapat bekerja melalui banyak pengukuran keamanan firewall yang umum tanpa menuntut perubahan bagi aturan firewall filtering.
3. Web Service mengijinkan penggunaan kembali suatu service dan komponen didalam suatu infrastruktur.
Hak Cipta © milik UPN "Veteran" Jatim :
(3)
75
b. Kekurangan Web Service :
1. Standarisasi Web Service belum lengkap atau belum final, karena masih dalam tahap pengembangan.
2. Web Service dapat saja memiliki kinerja yang lemah dibandingkan dengan pendekatan komputasi terdistribusi lain seperti RMI, CORBA, atau DCOM. Ini merupakan suatu trade-off yang umum ketika memilih format yang text-based.
(4)
76
6.1 Simpulan
Berdasarkan evaluasi sistem yang telah dilakukan dapat diperoleh hasil sebagai berikut :
a. Sistem penilaian praktikum berbasis JSON web service dibangun dengan menggunakan aplikasi Microsoft Visual Studio 2005 dan manajemen database dengan Microsoft SQL Server 2005.
b. Aplikasi penilaian praktikum berbasis desktop dan web yang dapat berkomunikasi dengan JSON web service melalui fungsi-fungsi yang terdapat dalam web service itu sendiri sehingga dapat saling bertukar data satu dengan yang lainnya.
6.2 Saran
Beberapa saran yang digunakan untuk pengembangan sistem penilaian praktikum berbasis JSON Web Service pada Lab. Basis Data UPN “Veteran” Jatim antara lain :
a. Sistem penilaian praktikum berbasis JSON web service ini dapat dikembangkan menjadi sistem penilaian yang lebih baik dengan mengimplementasikan JSON sepenuhnya apabila metode tersebut telah dikembangkan oleh pihak JSON itu sendiri.
b. Karena sistem penilaian praktikum ini tidak membahas tentang pendaftaran praktikum oleh praktikan, maka dalam pengembangan
Hak Cipta © milik UPN "Veteran" Jatim :
(5)
77
ke depan sistem penilaian ini dapat menambahkan proses input praktikan dari sesi praktikum yang berbeda-beda.
c. Karena interface proses input nilai praktikum masih dalam standart IMK (Interaksi Manusia Komputer), pihak yang ingin mengembangkan sistem ini dapat menambahkan fitur yang jauh memudahkan user dalam proses input nilai dengan ide-ide atau kreatifitas yang lebih cemerlang.
(6)
78
Crockford, D., 2006, Introducing JSON, (Online): http://www.json.org/, (diakses tanggal 04 Juli 2011)
Gottschalk, Karl, 2000, Web Services Architecture Overview, (Online): http://www.ibm.com/developerworks/webservices/library/w‐ovr/, (diakses tanggal 08 September 2011)
Martin, Joe; Tomson, Brett, 2004, Belajar Sendiri ASP .NET, Penerbit ANDI, Yogyakarta
Siswoutomo, Wiwit, 2009, The Secret Of VB .NET, Elex Media Komputindo, Yogyakarta
Utama, Yadi, 2010, Web Service PHP Dengan NuSOAP Toolkit, Penerbit ANDI, Yogyakarta
W3C Working Group, 2004, Web Services Architecture, (Online): http://www.w3.org/TR/ws‐arch/, (diakses tanggal 30 Juli 2011)
Hak Cipta © milik UPN "Veteran" Jatim :