HALAMAN JUDUL TEKNIK PEMBENTUKAN CITRA GRAFIS YANG DINAMIS DENGAN WEB SERVICE SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
HALAMAN JUDUL
TEKNIK PEMBENTUKAN CITRA GRAFIS YANG DINAMIS
DENGAN WEB SERVICE
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
Disusun Oleh :
Benidiktus
045314001
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2008
TEKNIK PEMBENTUKAN CITRA GRAFIS YANG DINAMIS DENGAN
WEB SERVICE
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana
Teknik Program Studi Teknik Informatika
Disusun Oleh :
Benidiktus
045314001
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2008
GENERATING A DYNAMIC GRAPHIC IMAGE TECHNIQUE USING
WEB SERVICE
SKRIPSI
Presented as partial of The Requirements to Obtain Sarjana Teknik Degree
in Informatic Engineering
by :
Benidiktus
045314001
DEPARTMENT OF INFORMATIC ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2008
HALAMAN PERSETUJUAN
HALAMAN PENGESAHAN
HALAMAN PERSEMBAHAN
Saatputus asa melingkupiku ....aku memilih tetap maju.
Saat aku tak paham maksud Tuhan..... ....aku memilih percaya. Saat aku tertekan oleh kekecewaan...
....aku memilih bersyukur. i dedicated my best work especially to :
FATHER IN HEAVEN My lovely family :
My father and My mother,
My brother Kristianus Eko My sister Agatha Rita My little angel : Vicka Manuhutu
My all friends and almamater Have mercy on us
HALAMAN MOTTO
MOTTO
Give up is all
you can left
behindLEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
PERNYATAAN KEASLIAN KARYA
ABSTRAKSI
Pada saat ini, banyak situs yang menggunakan diagram dan grafik untuk menggantikan data dengan tipe numeris. Diagram atau grafik yang dinamis mampu merepresentasikan perubahan data dengan baik dan lebih jelas secara visual. Citra grafis yang dinamis merupakan suatu bentuk gambar yang komponen penyusunnya dapat berubah sewaktu-waktu mengikuti perubahan yang terjadi. Citra dinamis banyak diterapkan dalam bentuk grafik atau diagram untuk memperjelas pemahaman terhadap data bertipe numeris.
Contoh kasus yang dipilih untuk penerapan citra grafis yang dinamis adalah monitoring perkembangan akademik mahasiswa. Pemantauan atau
monitoring terhadap keadaan akademik mahasiswa dapat diperoleh melalui
informasi dalam bentuk grafik yang dinamis. Grafik monitoring akademik dibangun berdasarkan perkembangan akademik yang telah dicapai oleh mahasiswa bersangkutan sejak semester pertama hingga saat ini dan dapat menentukan apakah mahasiswa tersebut berada di kategori kritis, normal atau berprestasi.
Metode yang digunakan adalah dengan teknik pembentukan gambar dinamis dari data numerik di database. Teknologi multi-tier dipilih untuk mendukung sistem ini dengan penggunaan arsitektur three-tier. Arsitektur ini sangat baik digunakan untuk skala enterprise karena kelebihannya dalam membagi kerja sistem menjadi lapisan-lapisan sehingga kinerja sistem secara umum menjadi lebih maksimal. Sistem ini akan terdiri dari 3 bagian yaitu, Aplikasi Web Client pada lapisan presentasi, Aplikasi Server yang terdiri dari web
service dan engine yang meng-generate grafik akademik pada lapisan logik serta
server databasepada lapisan data untuk menyimpan data akademik. Piranti lunak yang digunakan untuk membangun sistem ini adalah dengan Java sebagai bahasa pemrograman, platform yang digunakan jdk 1.6,
Netbeans IDE 5.5.1 sebagai editor, JAX-WS sebagai web service yang merupakan bawaan dari Netbean, serta JSP servlet untuk pengembangan aplikasi web client.
Web Server yang digunakan adalah Sun Java Application Server PE 9.
Hasil pengujian yang diperoleh adalah, teknik pembentukan citra grafis yang dinamis berhasil diimplementasikan dalam pembentukan gambar grafik perkembangan akademik mahasiswa. Pengujian ini dilakukan dengan menggunakan 3 komputer client untuk menampilkan grafik secara bersamaan.
Waktu generate gambar rata-rata adalah 1,509 detik. Gambar yang dihasilkan memiliki format PNG(Portable Network Graphic) dan berukuran 640 x 480 pixel.
ABSTRACT
At the present time, many web site use chart and graphic to represent numeric data. Dynamic chart or graph have an ability to representate and perform the change of data clearly and dinamically. Dynamic image graph is an image form which the formed component can be changed anytime depend on the difference that happen. Dynamic image often implemented in form of chart or graph to clear the meaning of numeric data.
Study case that being choosen to implement dynamic image graphic is through student academic progress monitoring system. Academic observation or monitoring can be informed or display in form of dynamic graph. The graph develop based on academic progress the student gained since first semester until present time and can be categorized into a critical, normal or excellent level .
Method that being used are image construction technique from numeric data in database. Multi-tier technology, with three-tier architecture is selected to support this system. This architecture well known as preferrable architecture for enterprise application because its ability to divide system works into layers since it maximize system performance commonly. This system also divide into 3 section, Web Client Application on presentation layer, Server Application that consists of web service and graphic engine generator on logic bussiness layer, and database server on the data layer to keep the academic data.
Softwares that used are Java as the programming language, the platform is jdk 1.6, the editor used are Netbeans IDE 5.5.1, JAX-WS is used as web service, JSP servlet use as web site development language, and the web server are Sun Java System Application Server PE 9.
Testing result showed that generating dynamic image technique succesfully implemented in generate chart image of student academic progress.
This test using 3 client computer to show academic chart at the same time. The result is 1,509 second average time. Image produced on PNG (Portable Network Graphics) format and 640 x 480 pixel sized.
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Kuasa karena berkat, rahmat serta karunia-Nya yang berlimpah sehingga Penulis dapat menyelesaikan Laporan Tugas Akhir ini dengan baik. Laporan Tugas Akhir ini berjudul TEKNIK PEMBENTUKAN CITRA GRAFIS YANG DINAMIS DENGAN WEB SERVICE .
Penulisan Tugas Akhir ini ditujukan sebagai pemenuhan salah satu syarat memperoleh gelar Sarjana Teknik Jurusan Teknik Informatika Universitas Sanata Dharma Yogyakarta.
Proses penyusunan Tugas Akhir ini juga tidak mungkin terlaksana tanpa bimbingan, dukungan, petunjuk, kritik, saran serta kerjasama dari berbagai pihak, baik secara langsung maupun secara tidak langsung. Pada kesempatan ini, Penulis secara khusus menyampaikan terima kasih yang sebesar-besarnya atas segala bentuk bantuan moril dan materiil kepada :
1. Tuhan Yesus Kristus, karena berkat kasih-Mu yang berlimpah dan tiada habisnya pada hamba-Mu ini.
2. Bapak J.B. Budi Darmawan, S.T., M.Sc. selaku Dosen Pembimbing Tugas Akhir yang selalu memberikan bantuan dan pengarahan selama penyusunan skripsi ini.
3. Ibu Agnes Maria Polina, S.Kom., M.Sc. selaku Dosen Pembimbing Akademik Angkatan 2004 Teknik Informatika Universitas Sanata Dharma.
4. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T., selaku Ketua Jurusan Teknik Informatika Universitas Sanata Dharma.
5. Bapak Iwan Binanto, S.T., M.Cs., selaku dosen penguji pada ujian pendadaran.
6. Bapa’ dan Mama’-ku tercinta serta abang dan adikku terkasih Eko dan Ita terima kasih atas doa, semangat dan keceriaan yang kalian berikan.
7. Octaviana Manuhutu. Terima kasih atas senyuman dan kerianganmu dari hari ke hari yang selalu menyemangatkanku. Tetap semangat dan berjuanglah untuk skripsimu.
8. Teman-teman Teknik Informatika USD angkatan 2004 : Rio, Arif, Dony, Anton, Angga, Poy, Jumpret dan lain-lain....Maaf tidak bisa dituliskan satu- persatu.
9. Yudi......terima kasih buat dasinya.
10. My very very best friend, Danang. Terima kasih atas kesabaranmu, semangat, keceriaan, pesan-pesan serta kata-katamu yang selalu menggugah semangat dan hatiku.
11. Pak Belle dan Mas Danang selaku laboran di Lab Basis Data dan Lab Jaringan Komputer serta Mbak Dhea, terima kasih atas dukungannya selama ini.
12. Pak Dar, terima kasih atas sapaan dan senyumanmu sehari-hari.
13. Pihak lain yang tidak dapat disebutkan satu-persatu, penulis mohon maaf dan terima kasih sebesar-besarnya.
Demikian Laporan Tugas Akhir dengan judul TEKNIK PEMBENTUKAN CITRA GRAFIS YANG DINAMIS DENGAN WEB
SERVICE ini. Semoga hasil penelitian ini dapat berguna bagi kita semua. Sistem
DAFTAR ISI
DAFTAR TABEL
DAFTAR GAMBAR
DAFTAR LISTING
BAB I PENDAHULUAN I. PENDAHULUAN I.1. LATAR BELAKANG MASALAH Dalam kehidupan sehari-hari, kita sering menghadapi situasi
dimana terdapat perubahan data yang cepat seperti pada pasar saham, data akademik mahasiswa yang berubah tiap semester, kurs mata uang dan lain- lain. Data tersebut merupakan data dinamis, karena perubahan yang selalu terjadi pada nilainya. Terkadang kita sulit memahami data dinamis yang tertera dalam bentuk data numerik di dalam tabel, terutama untuk melihat perubahan yang terjadi. Grafik dinamis merupakan pilihan yang tepat untuk merepresentasikan data dinamis tersebut agar lebih mudah untuk dipahami secara visual.
Perkembangan akademik mahasiswa yang disajikan pada sistem yang saat ini digunakan di BAPSI (Badan Administrasi dan Perencanaan Sistem Informasi) untuk mahasiswa, dosen maupun sekretariat menggunakan tampilan tabel dan angka numerik. Hal ini mungkin akan meyebabkan kesulitan bagi mahasiswa, dosen, jurusan dan pihak lain yang berkepentingan dalam memahami data yang disajikan. Melihat keadaan tersebut, dibutuhkan suatu sistem yang mampu menampilkan data akademik dalam bentuk grafik yang dinamis dengan tujuan agar lebih mudah dipahami. Pemahaman tersebut kemudian dapat ditindaklanjuti dengan tindakan yang membangun seperti dukungan dan motivasi terhadap mahasiswa bersangkutan. Sistem ini juga didukung oleh teknologi multi-tier sehingga perubahan data yang terjadi dapat ter-update dengan cepat, misalnya perubahan pada tiap semester.
Teknologi multi-tier merupakan teknologi yang diterapkan untuk membangun sistem pada tingkat enterprise dengan tujuan untuk peningkatan performa. Salah satu penerapan teknologi ini adalah arsitektur
three-tier . Pada arsitektur three-tier, sistem secara keseluruhan dibagi
menjadi 3 lapisan, yaitu lapisan antarmuka pengguna, lapisan logika bisnis dan lapisan database. Pembagian kerja menurut lapisannya masing-masing akan meningkatkan kinerja sistem secara umum. Selain itu perubahan pada salah satu lapisan tidak akan mempengaruhi lapisan lain. Pembentukan grafik yang dinamis terletak pada lapisan logika bisnis.
Dalam penyusunan Tugas Akhir ini penulis bermaksud memanfaatkan keunggulan dari teknologi three-tier untuk membangun aplikasi berbasis web yang mampu memonitor perkembangan akademik mahasiswa dengan mengimplementasikan teknik pembentukan grafik yang dinamis dimana komponen penyusun gambarnya dapat berubah mengikuti perubahan yang terjadi. Data yang disajikan dalam sistem ini antara lain adalah pencapaian jumlah sks lulus serta perkembangan Indeks Prestasi Kumulatif mahasiswa dari tiap semester.
Teknologi yang dibutuhkan untuk mengembangkan sistem ini dibagi ke dalam 3 lapisan yang terdapat pada arsitektur three-tier. Pada lapisan antamuka pengguna, teknologi yang digunakan adalah JSP Servlet. Lapisan logika bisnis menggunakan beberapa teknologi yaitu : JDBC untuk koneksi dengan database, JFreeChart untuk membentuk grafik, penggunaan kelas Java Image untuk menghasilkan gambar dinamis dari grafik serta JAX-WS untuk melayani transportasi data dari atau ke client. Lapisan
database menggunakan database server MySQL untuk melayani penyimpanan data di storage.
I.2. RUMUSAN MASALAH
Inti permasalahan yang muncul adalah bagaimana mengimplementasikan teknik pembentukan grafik yang dinamis dengan memanfaatkan teknologi multi-tier dalam membangun piranti lunak untuk memonitor perkembangan akademik mahasiswa ?
I.3. BATASAN MASALAH
Piranti lunak ini akan dibangun dengan batasan sebagai berikut :
a. Sistem monitoring perkembangan akademik mahasiswa ini menggunakan syarat-syarat yang berdasarkan pada Buku Panduan Akademik 2007, Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma, Jogjakarta.
b. Sistem monitoring ini hanya menampilkan contoh visualisasi perkembangan akademik mahasiswa dalam bentuk grafik.
c. Data yang disajikan adalah pencapaian jumlah sks yang lulus per semester dilengkapi dengan perkembangan IPK dari mahasiswa Teknik
Informatika angkatan 2003, 2004 dan 2005 sejak semester ganjil tahun 2003 sampai semester genap tahun 2006.
d. Data jumlah sks lulus, serta IPK tiap semesternya menggunakan data riil dari BAPSI. Dalam penerapannya akan digunakan format NIM yang sesuai namun data NIM tersebut yang tidak dipakai pada setiap angkatan.
e. Grafik monitoring akademik akan menempatkan hasil pencapaian akademik, yaitu jumlah sks lulus, ke dalam 3 kelompok yaitu “Kritis”, “Normal”, dan “Berprestasi”.
f. Sistem ini tidak menangani kondisi khusus seperti cuti atau perpanjangan studi lebih dari 10 semester.
I.4. TUJUAN DAN MANFAAT PENELITIAN
I.4.1. Tujuan Penelitian
Menerapkan teknik pembentukan grafik dinamis yang dipadu dengan teknologi multi-tier untuk mengembangkan Sistem Monitoring Perkembangan Akademik Mahasiswa.
I.4.2. Manfaat Penelitian
Manfaat yang diharapkan dari penelitian adalah : sistem ini dapat membantu pihak terkait dalam hal ini mahasiswa, dosen pembimbing akademik, petugas sekretariat serta kaprodi dalam memantau perkembangan akademik mahasiswa.
I.5. METODOLOGI PENELITIAN
Metodologi yang digunakan dalam pengembangan sistem ini adalah Information Engineering (IE) (Whitten, 2004) dan Rational Unified
Process (RUP) (Whitten, 2004) karena proses analisis dan desain yang
digunakan menitik beratkan pada data (data centered) namun sensitif terhadap proses serta berorientasi objek.
I.5.1. Pencarian Kebutuhan I.5.1.1. Observasi dan Pengumpulan Data
a. Melakukan observasi dan wawancara BAPSI Universitas Sanata Dharma.
b. Mengumpulkan data yang dibutuhkan antara lain NIM, jumlah sks lulus kumulatif, serta IPK per semester.
c. Menganalisis dan memahami data yang telah terkumpul.
I.5.1.2. Studi Literatur a. Memahami dan mendalami konsep sistem yang akan dibangun.
b. Mempelajari dan mendalami Java Server Pages dan Java Web Service secara optimal.
c. Mempelajari komponen-komponen penting yang akan digunakan seperti eXtensible Markup Language(XML), Database, Remote Method Invocation(RMI), dan Enterprise Java Beans(EJB). d. Melakukan penelitian untuk mengembangkan teknik pembentukan gambar dinamis dengan web service.
I.5.2. Analisa Dan Desain Sistem
I.5.2.1. Analisa Sistem
Dalam analisis dan desain sistem ini model yang digunakan adalah Object Oriented Analysis (OOA) dengan menggunakan alat bantu analisis Unified Modelling Language (UML). Langkah-langkahnya adalah melakukan tahap analisis kebutuhan (Requirement Analysis) yang terdiri dari perancangan Use Case Diagram serta tahap pemodelan proses (Modelling Process) yang terdiri dari Activity Diagram dan Sequence Diagram .
I.5.2.2. Desain Sistem
Melakukan perancangan dan desain yang terdiri dari Design
Application Architecture , Design System Databases, Design System Interface yang terdiri dari desain antarmuka input dan output.
I.5.2.3. Implementasi Sistem
Pada tahap ini dilakukan instalasi dan pengujian Sistem
Monitoring
Perkembangan Akademik Mahasiswa yang terdiri dari Web Service dan antarmuka berbasis web.
I.6. SISTEMATIKA PENULISAN
a. Bab I Pendahuluan
Bab ini berisi tentang penjelasan singkat mengenai latar belakang penggunaan teknologi multi-tier, Web Service dan JSP, rumusan masalah yang dapat diselesaikan dengan teknologi Web Service dan JSP, batasan dari sistem yang dibangun, tujuan dan manfaat dari penelitian dan pengembangan sistem, motodologi pengembangan sistem, serta sistematika penulisan Tugas Akhir.
b. Bab II Landasan Teori
Bab ini berisi penjelasan mengenai landasan teori yang digunakan dalam penelitian yang menjadi dasar dalam proses pengembangan, analisis hasil serta pengambilan kesimpulan dari penelitian yang dilakukan.
c. Bab III Analisis dan Perancangan Sistem
Bab ini berisi tentang fase definisi, fase analisis masalah,
requirement analysis , logical design, dan decision analysis. Bab ini juga
berisi penjelasan mengenai desain sistem yaitu application architecture, desain database, desain output, desain input, desain user interface untuk Sistem Monitoring Perkembangan Akademik Mahasiswa.
d. Bab IV Implementasi
Bab ini berisi penjelasan mengenai analisis dan desain dari piranti lunak yang akan dikembangkan. e. Bab V Analisis Hasil
Bab ini menyajikan penjelasan mengenai analisis hasil implementasi Sistem Monitoring Perkembangan Akademik Mahasiswa.
f. Bab VI Kesimpulan dan Saran
Bab ini berisi penjelasan mengenai kesimpulan yang diperoleh selama penelitian dan pengembangan sistem serta saran-saran yang ada untuk pengembangan sistem ke depan.
BAB II LANDASAN TEORI II. LANDASAN TEORI Bagian ini secara garis besar akan menjelaskan teori-teori yang
digunakan dalam penelitian ini. Landasan teori ini mencakup gambaran umum mengenai metodologi, teknologi multi-tier dan komponennya serta monitoring..
II.1. METODOLOGI PENGEMBANGAN SISTEM
II.1.1. Pendekatan Model-Driven-Information Engineering
Model Information Engineering (IE) merupakan suatu model yang berfokus pada data. Model ini dapat digunakan untuk tahap perencanaan, analisa, dan desain sistem informasi. IE menggambarkan sinkronisasi data dan proses namun tidak mencukupi untuk disain sistem karena harus dibarengi dengan metode-metode yang lain (Irwin, 2004).
Salah satu tools yang umum digunakan untuk melakukan pendekatan ini adalah dengan menggunakan UML (Unified Modelling
Language
). Tools ini dipilih karena memiliki struktur dan langkah kerja yang lengkap serta telah memiliki standar internasional.
II.1.2. Unified Modelling Language (UML)
Unified Modelling Language (UML) merupakan sistem arsitektur yang bekerja dalam object oriented analysis dan object oriented design (OOA/D) dengan satu bahasa yang konsisten untuk menentukan, memvisualisasikan, mengkonstruksi dan mendokumentasikan artifact yang terdapat dalam sistem perangkat lunak. Artifact adalah sepotong informasi yang digunakan atau dihasilkan dalam suatu proses rekayasa perangkat lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak.
II.1.2.1. UML Artifact
Dalam pembuatan suatu model dengan UML, terdapat suatu susunan diagram grafis yang menjadi langkah dalam pengembangan sistem. Diagram grafis tersebut tersusun sebagai berikut :
1) Use-case diagram 2) Activity diagram 3) Sequence diagram 4) Class diagram
II.1.2.2. Use-Case Diagram Use Case Diagram menjelaskan manfaat sistem jika dilihat menurut sudut pandang orang yang berada di luar sistem (actor).
Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem berinteraksi dengan dunia luar. Use-Case Diagram digunakan selama proses analisis untuk menangkap semua kebutuhan sistem serta memahami bagaimana sistem seharusnya bekerja. Dalam sebuah model mungkin terdapat satu atau beberapa use-case diagram.
II.1.2.3. Activity Diagram Activity Diagram memodelkan alur kerja (workflow) sebuah
proses bisnis dan urutan aktivitas dalam suatu proses. Diagram ini memodelkan sebuah alur kerja dari satu aktivitas ke aktivitas lainnya atau ke dalam keadaan sesaat (state). Diagram ini berguna dalam menggambarkan perilaku interaksi dari berbagai use case.
II.1.2.4. Sequence Diagram Sequence Diagram
menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini secara khusus berasosiasi dengan use-case. Sequence diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu di dalam use case.
II.1.2.5. Class Diagram Class Diagram dapat digunakan untuk memvisualisasikan
struktur kelas-kelas dari suatu sistem. Class Diagram memperlihatkan hubungan antar kelas dan penjelasan detail dari tiap-tiap kelas di dalam model desain dari suatu sistem. Pada proses analisis, class diagram memperlihatkan aturan serta tanggung jawab entitas yang menentukan perilaku sistem. Class diagram menampilkan struktur dari semua kelas yang terbentuk dalam arsitektur sistem yang dibuat.
II.1.2.6. Simbol UML
Simbol-simbol UML yang digunakan dalam pengembangan sistem ini dibuat menggunakan Microsoft Office Visio 2003 yang menggunakan standar komponen UML internasional (Unified Modeling Language: Superstructure, 2002).
a. Use Case Diagram Pada use case diagram terdapat dua simbol utama yaitu actor dan
use case seperti pada Gambar II.1 di bawah ini.
(i) (ii) (iii)
Gambar II.1 Simbol aktor (i), use case (ii) dan label (iii) (Microsoft Office Visio, 2003)
b. Activity Diagram Pada activity diagram terdapat 5 simbol utama yang digunakan seperti pada Gambar II.2 di bawah ini.
(i) (ii) (iii) (iv) (v)
Gambar II.2 Simbol start (i), proses (ii), kondisi (iii), stop (iv) dan aliran proses (v) (Microsoft Office Visio, 2003)
c. Sequence Diagram Pada sequence diagram terdapat 4 simbol utama seperti pada Gambar II.3 di bawah ini.
(i) (ii) (iii) (iv)
Gambar II.3 Simbol antarmuka (i), proses (ii), database(iii), pemanggilan fungsi(iv) (Microsof Office Visio, 2003)
d. Object Analysis Diagram Pada object analysis diagram, terdapat 5 simbol utama yang digunakan seperti pada Gambar II.4 di bawah ini.
(i) (ii) (iii) (iv) (v)
Gambar II.4 Simbol objek entitas (i), objek control (ii), objek boundary (iii), garis hubungan agregasi (iv), garis hubungan turunan (v) (Microsof Office Visio, 2003)
e. Use Case Realisasi Pada use case realization digunakan symbol-simbol seperti pada Gambar II.5 dibawah ini.
(i) (ii) (iii) (iv)
Gambar II.5 Simbol kelas (i), objek instansiasi kelas (ii), panah arah realisasi (iii), hubungan include(iv) (Microsof Office Visio, 2003) f. Class Diagram Pada class diagram digunakan simbol-simbol seperti pada
Gambar II.6
dibawah ini : (i) (ii) (iii)
Gambar II.6 Simbol kelas (i), symbol turunan (ii), symbol one to many (iii) (Microsof
Office Visio, 2003)
II.1.3. PENDEKATAN BERORIENTASI OBJEK
Teknik desain berorientasi objek digunakan untuk menyaring definisi kebutuhan objek yang diidentifikasi di awal selama analisis.
Teknik ini juga digunakan untuk mendefinisikan objek-objek yang spesifik (Irwin, 2004).
II.2. ARSITEKTUR THREE-TIER
Dalam pengembangan piranti lunak, salah satu arsitektur multi-tier (sering disebut sebagai arsitektur n-tier) yang umum digunakan adalah arsitektur three-tier. Arsitektur three-tier adalah sebuah arsitektur client-
server dimana antarmuka, proses logik fungsional (aturan bisnis),
penyimpanan data komputer dan akses data dikembangkan serta dipertahankan sebagai modul yang independen, kebanyakan pada platform terpisah (Eckerson, 1995). Pada arsitektur three-tier terdapat tiga lapisan yaitu lapisan antarmuka pengguna, lapisan logika bisnis dan lapisan
database seperti pada Gambar II.7. di bawah ini :
Gambar II.7 Arsitektur three-tier (Green, 2007)
Pada gambar diatas, setiap lapisan memiliki tugas pada bagiannya masing-masing. Keuntungan dari arsitektur three-tier adalah : a. Perubahan pada tiap lapisan tidak saling mempengaruhi satu sama lain yang dapat meningkatkan kemudahan berevolusi dalam menemukan kebutuhan baru.
b. Network bottleneck dapat diminimalkan karena lapisan bussines logic hanya mentransmisikan data yang diperlukan oleh client saja.
c. Client terisolasi dari basisdata dan operasi jaringan. Hal ini akan meningkatkan segi keamanan sistem.
Arsitektur aplikasi dari three-tier dapat dilihat pada Gambar II.8 di bawah ini :
Gambar II.8 Arsitektur Aplikasi dalam sistem three-tier (Daniels, 2001)
Pada gambar di atas dapat dilihat bahwa Web Server dan Web Client beserta komponen web lain seperti javascript, Ext JS berada pada layer
Presentation , Web Service berada pada layer Service atau logika bisnis
dan Database Server berada pada layer Data. Penjelasan mengenai tiap lapisan akan dijelaskan pada subbab-subbab selanjutnya.
II.2.1. Lapisan Antarmuka Pengguna (User Interface)
Lapisan antarmuka pengguna merupakan lapisan pada level teratas karena secara langsung menangani urusan input-output dengan pengguna. Lapisan ini berkomunikasi dengan lapisan lain melalui output yang dihasilkan serta menerima hasil input untuk diolah kembali sebelum ditampilkan pada pengguna (Khawar, 2001).
Komponen dari lapisan antarmuka pengguna yang digunakan dalam sistem ini antara lain adalah Java Server Pages, Ext-JS dan Web
Server .
II.2.1.1. Java Server Pages (JSP)
Suatu teknologi web ekstensibel yang menggunakan template data, elemen-elemen yang bervariasi, bahasa skrip dan objek Java pada sisi server yang akan mengembalikan konten dinamis ke klien. Secara tipikal, template dari data adalah elemen HTML atau XML. Klien biasanya adalah sebuah web browser. Java Servlet adalah sebuah program java yang menurunkan fungsionalitas dari sebuah Web Server, meng-generate konten dinamis dan berinteraksi dengan web client menggunakan paradigma request-response.
a. Konten Statis dan Dinamis Suatu konten statis biasanya merupakan sebuah halaman
HTML
statis dan menampilkan suatu tampilan yang sama bagi semua pihak. Contoh dari konten statis : HTML, XML, teks. Konten yang dinamis, biasanya di-generate berdasarkan pada kondisi. Dimana kondisi tersebut dapat tergantung pada beberapa hal seperti identitas user, waktu atau inputan user melalui pilihan pada form.
Contoh konten dinamis adalah : kode Java, tampilan properti dari
Java bean , invoke logika bisnis yang didefinisikan di tag-tag untuk kustomisasi.
b. Pengertian Java Server Pages (JSP)
Java Server Pages (JSP) adalah sebuah dokumen berbasis
teks yang berkemampuan untuk mengembalikan konten statis maupun dinamis ke web browser di sisi client. Konten statis dan dinamis dapat dicampur. Contoh sederhana dari halaman JSP dapat dilihat pada kode program di Listing II.1 dibawah ini :
<html> <body> Halo Dunia! <br>
Waktu sekarang adalah <%= new java.util.Date() %>
</body> </html>Listing II.1 Listing contoh kode program halam JSP sederhana
Pada listing di atas kode program dengan warna biru merupakan konten statis, sedangkan yang berwarna merah adalah konten dinamis
c. Keuntungan JSP Beberapa keuntungan dari Java Server Pages adalah konten dan tampilan logika di pisahkan, menyederhanakan pembangunan aplikasi web dengan JSP, JavaBeans dan tag-tag kustom, mendukung penggunaan kembali perangkat lunak melalui penggunaan komponen-komponen, deploy otomatis (kompilasi ulang otomatis ketika perubahan dibuat pada halaman JSP), kemudahan bagi perancang halaman web, serta platform- independent .
d. Langkah Kerja JSP Langkah kerja dari Java Server Page, seperti pada Gambar
II.9 , dapat dijelaskan sebagai berikut :
1) pengguna melakukan request terhadap suatu layanan 2) server menangkap request tersebut 3) pada JSP dilakukan pengecekan kondisi apakah terjadi perubahan file atau tidak 4a) jika ya maka dilakukan pembuatan source dan proses
Kompilasi dan langkah selanjutnya mengeksekusi Servlet 4b) jika tidak maka langsung dilanjutkan pengeksekusian Servlet.
Gambar II.9 Langkah kerja JSP (Bodoff, 2007)
II.2.1.2. Ext JS
Ext JS adalah library JavaScript multi browser yang dapat digunakan untuk membangun aplikasi internet yang kaya dan dinamis.
Beberapa fitur dari Ext JS adalah performa yang tinggi, antarmuka pengguna yang bisa dikustomisasi, dirancang, didokumentasikan serta memiliki model komponen ekstensibel yang baik, berlisensi komersial dan open source. Kelas-kelas yang sering digunakan dalam library Ext JS antara lain adalah :
a. Ext.Viewport Kelas yang berfungsi sebagai layout atau tampilan utama bagi suatu halaman web. Layout ini dapat menampung komponen-komponen yang berisi konten web (Ext 2.0 API Documentation, 2008).
b. Ext.BoxComponent Kelas yang digunakan sebagai komponen yang mengisi layout seperti pada kelas Ext.Viewport. Kelas ini dapat menampung panel-panel pada halaman web (Ext 2.0 API Documentation, 2008).
c. Ext.TabPanel Kelas ini merupakan kelas untuk membentuk panel dalam bentuk tab- tab. Panel dapat berisi tabel, gambar, teks dan konten-konten halaman web lainnya (Ext 2.0 API Documentation, 2008).
d. Ext.form.FormPanel Kelas ini merupakan panel untuk membuat form seperti form html.
Kelas ini memiliki komponen seperti label, teksfield, teksarea, checkbox, radiobutton, button dan komponen form lainnya (Ext 2.0 API Documentation, 2008).
e. Ext.data.SimpleStore Kelas ini berfungsi sebagai penampung data. Data diperoleh dari variabel lokal. Data yang ditampung bisa berasal dari query dan dapat digunakan oleh tabel (Ext 2.0 API Documentation, 2008).
f. Ext.data.JsonStore Kelas ini berfungsi untuk menampung data dengan format JSON.
Kelebihan kelas ini adalah data dapat diambil dari url tertentu dan dapat digunakan sebagai penyedia data tabel dan gambar. Data yang disediakan lebih fleksibel dan dinamis (Ext 2.0 API Documentation, 2008).
g. Ext.grid.GridPanel Kelas ini berfungsi untuk membentuk tabel. Data dari kelas ini dapat diperoleh dari berbagai sumber penyedia data seperti Ext.data.SimpleStore dan Ext.data.JsonStore (Ext 2.0 API Documentation, 2008).
h. Ext.DataView Kelas ini berfungsi untuk menampilkan data gambar dari sumber penyedia data tertentu (Ext 2.0 API Documentation, 2008). i. Ext.MessageBox
Kelas ini berfungsi untuk menampilkan pesan seperti informasi, kesalahan, dan pesan lainnya (Ext 2.0 API Documentation, 2008).
II.2.1.3. Web Server
Server web adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML. Server web yang terkenal diantaranya adalah Apache Jakarta Tomcat, Microsoft Internet Information Service (IIS) dan Sun Java Application Server. Apache merupakan server web antar platform, sedangkan IIS hanya dapat beroperasi di sistem operasi Windows. Pada pengembangan sistem ini web server yang dipilih adalah Sun Java Application Server. Hal ini dikarenakan kompatibilitasnya serta fasilitas-fasilitas yang disediakan dengan JSP untuk aplikasi client serta JAX-WS sebagai web service nya.
II.2.2. Lapisan Logika Bisnis ( Bussiness Logic / Logic Tier)
Lapisan logika bisnis adalah lapisan yang menangani proses- proses utama dalam sistem secara keseluruhan. Logika bisnis adalah kondisi non teknis yang umum digunakan untuk mendeskripsikan algoritma-algoritma fungsional yang menangani pertukaran informasi antara dua lapisan lainnya, antarmuka pengguna dengan database. Lapisan ini dapat dilihat dengan jelas dari input / output nya yaitu data hasil validasi dari client dan produk logika. (Khawar, 2001)
Pada sistem ini lapisan logika bisnis memiliki beberapa komponen yaitu Web Service, JFreeChart dan Java Image.
II.2.2.1. Web Service
a. Sejarah Web Service Pada tahun 1999 divisi dari Hewlett-Packard's yaitu e-Speak menjadi sebuah penyedia layanan e-service. Layanan ini memberikan fasilitas bagi pengguna produk Hewlett-Packard untuk informasi dan komplain. Selanjutnya, Microsoft memperkenalkan nama web services pada Juni 2000. Web Service ini telah mendekati dengan apa yang sudah kita kenal sekarang yaitu suatu bentuk service yang siap melayani request data serta transportasi data di web (Wikipedia, 2007).
b. Komponen dan Standar Web Service Ada empat komponen dasar pada web service yaitu :
1) WSDL (Web Service Description Language ) 2) UDDI (Universal Description, Discovery and Integration) 3) SOAP (Simple Object Access Protokol) 4) Protokol transport komunikasi antar web service (WSRP, WSIA, WXL).
Web Service
disusun dan dibentuk sepenuhnya berdasarkan pada standar web dan xml. Web Service dapat berfungsi sebagai pembantu atau penolong dalam :
1) perantara pada integrasi platform sepanjang eksekusi mesin virtual.
2) integrasi antara Web dan middleware Object Oriented 3) integrasi dari aliran kerja terisolasi dan layanan-layanan (Web
Services Flow Language-WSFL) 4) pertukaran data pada aplikasi yang berbeda-beda (X-Schema, XSLT ++).
c. WSDL (Web Service Description Language) WSDL (Web Services Description Language) adalah sebuah tata bahasa XML untuk mendeskripsikan antarmuka web service, protokol yang disupport web service serta lokasinya. Spesifikasi WSDL Versi 1.1 dibuat oleh IBM Research dan Microsoft. Walaupun WSDL bukan standar W3C ataupun bagian yang harus ada dalam membuat dan memanggil web service, tetapi didukung di berbagai implementasi klien SOAP dan development tools. WSDL merupakan format XML yang diterbitkan untuk menerangkan suatu web service.
Fungsi dari WSDL yaitu untuk mendefinisikan : 1) pesan-pesan (baik yang abstrak dan kongkrit) yang dikirim ke dan menuju web service 2) koleksi-koleksi digital dari pesan-pesan (tipe port, antarmuka) 3) bagaimana port type yang ditentukan dijadikan wire protokol 4) di mana layanan ditempatkan.
WSDL dapat diartikan sebagai sebuah mesin yang dapat dibaca, yaitu dapat berupa sebuah file XML, tool-tool dan infrastrukturnya dapat dengan mudah dibuat. Tipe semacam ini dapat menyembunyikan detil-detil yang tidak perlu dalam pengiriman dan penerimaan pesan-pesan SOAP pada protokol-protokol yang berbeda- beda. Apache axis menggunakan utilitas bernama WSDL2Java pada kelas-kelas di Java untuk melakukan fungsi generasi kelas-kelas dari definisi WSDL, misalnya generasi satu kelas untuk menggunakan service dan fungsi lain untuk mengimplementasikan service. Kelas- kelas yang digenerasi dari definisi WSDL yang sama harus mampu berkomunikasi dengan yang lain sepanjang antarmuka WSDL yang tersedia, tanpa memperhatikan bahasa pemrograman yang digunakan.
Versi WSDL terdaftar yang terakhir adalah WSDL 1.2 (Wikipedia, 2007).
d. UDDI (Universal Description, Discovery and Integration) Lebih dikenal dengan sebutan skema XML yaitu kemampuan atribut metadata untuk menjalankan service-service yang didaftarkan pada UDDI, kemudian menjalankan queri-queri berdasarkan pada metadata tersebut dan untuk mencapai tujuan dari UDDI baik pada waktu desain maupun waktu pengeksekusian. Tugas dari UDDI adalah sebagai bentuk deskripsi pemrograman dari bisnis dan service yang didukung oleh deskripsi pemrograman dari spesifikasi web
service , model pemrograman dan skema (Wikipedia, 2007). e. SOAP (Simple Object Access Protocol) Merupakan protokol standar untuk bertukar pesan-pesan berbasis XML melalui jaringan komputer. SOAP menjadi sebuah jalan bagi program yang berjalan pada suatu sistem operasi (OS) untuk berkomunikasi dengan program lain baik pada OS yang sama maupun berbeda dengan menggunakan HTTP dan XML sebagai mekanisme untuk pertukaran data. SOAP menspesifikan secara jelas bagaimana cara untuk meng-encode header HTTP dan file XML sehingga program pada suatu komputer dapat memanggil program pada komputer lain untuk saling bertukar informasi, serta mengatur bagaimana program yang dipanggil memberikan tanggapan. Fungsi dari SOAP adalah :
1) menentukan format XML, 2) cara data diproses, 3) menentukan aturan untuk mengenkode, untuk standar dan tipe data yang didefinisikan oleh aplikasi, 4) konvensi yang merepresentasikan remote procedure call, dan
response .
SOAP adalah protokol ringan yang ditujukan untuk pertukaran informasi struktur pada lingkup desentralisasi, dan terdistribusi. SOAP menggunakan teknologi XML untuk mendefinisikan rangka kerja pemesanan terekstensi di mana menyediakan konstruksi pesan yang dapat dipertukarkan pada protokol berbeda. Rangka kerja dirancang bebas dari model pemrograman dan spesifikasi implementasi semantik (Wikipedia, 2007).
II.2.2.2. JFreeChart
JFreeChart adalah library grafik tak berbayar yang diperuntukan bagi platform Java dan dirancang untuk digunakan dalam aplikasi, applet, servlet dan JSP (JFreeChart Class Library v1.0.10, 2008). JFreeChart dapat membangkitkan atau menghasilkan grafik roda, grafik batang (reguler dan bertumpuk, dengan efek 3D), grafik garis, grafik titik hamburan, grafik berbasis waktu (termasuk pergerakan rata- rata, grafik high-low-open-close(untuk saham) dan candlestick plots), grafik Gantt, grafik ukur(dial, compass and thermometer), grafik simbol, wind plots, dan grafik kombinasi. Kelas-kelas utama yang digunakan antara lain adalah (JFreeChart Class Library v1.0.10, 2008) :
a. JFreeChart Merupakan kelas grafik yang diimplementasikan menggunakan API Java 2D. JFreeChart mengkoordinasi beberapa objek sehingga dapat digambar menggunakan grafik Java 2D. Kelas ini menampung komponen utama grafik yaitu Plot.
b. XYPlot Kelas umum yang digunakan sebagai area untuk menggambar data dalam bentuk pasangan koordinat x dan y. Plot ini dapat menggunakan data dari semua kelas yang mengimplementasikan interface XYDataset.
XYPlot memakai fungsi dari XYItemRenderer untuk menggambar setiap titik pada plot. Dengan menggunakan berbagai renderer yang berbeda bermacam-macam tipe grafik dapat dihasilkan.
c. ChartPanel Kelas ini merupakan komponen Swing GUI untuk menampilkan objek JFreeChart. Panel ini ditunjuk bersama grafik untuk menerima notifikasi untuk setiap perubahan komponen grafik. Grafik akan digambar ulang secara otomatis setiap kali notifikasi diterima.
d. XYDataset
XYDataset merupakan sub interface dari interface Dataset yang khusus menangani penyimpanan dan pengaksesan data dalam bentuk koordinat x dan y. Interface ini dapat diisi komponen berupa XYSeriesCollection.
e. XYSeries Kelas ini mewakili urutan data 0 atau lebih dalam bentuk koordinat x dan y (x,y). Secara otomatis, komponen dalam series akan diurutkan dari kecil ke besar berdasarkan nilai x dimana duplikasi nilai x diijinkan. Aturan pengurutan dan duplikasi dapat diubah melalui konstruktor. Nilai y dapat berupa null untuk mewakili nilai yang hilang.
f. XYSeriesCollection Interface ini merepresentasikan koleksi dari beberapa objek XYSeries yang dapat digunakan sebagai dataset. g. XYItemRenderer
XYItemRenderer adalah sub interface yang merupakan turunan dari LegendItemSource. Interface ini digunakan untuk merender representasi visual dari sebuah item tunggal (x, y) pada suatu XYPlot.
h. XYLineAndShapeRenderer Kelas ini merupakan turunan dari kelas abstrak AbstractXYItemRenderer. Kelas ini berfungsi sebagai alat untuk merender yang menghubungkan titik-titik data dengan garis dan / atau menggambar bentuk pada setiap titik data. i. XYAreaRenderer Kelas ini merupakan turunan dari kelas abstrak XYAreaItemRenderer.
Kelas ini berfungsi untuk merender grafik berbentuk area pada XYPlot. Kelas ini mampu menggambar bangun datar pada tiap titik, garis antar titik, bangun datar dan garis, mengisi suatu area, serta mengisi area dan bangun datar. j. ValueAxis